Merge "Add audit-template name checking in CLI"
This commit is contained in:
@@ -19,6 +19,7 @@ from __future__ import print_function
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
|
import uuid
|
||||||
|
|
||||||
from oslo_utils import importutils
|
from oslo_utils import importutils
|
||||||
|
|
||||||
@@ -178,3 +179,16 @@ def common_filters(limit=None, sort_key=None, sort_dir=None):
|
|||||||
if sort_dir is not None:
|
if sort_dir is not None:
|
||||||
filters.append('sort_dir=%s' % sort_dir)
|
filters.append('sort_dir=%s' % sort_dir)
|
||||||
return filters
|
return filters
|
||||||
|
|
||||||
|
|
||||||
|
def is_uuid_like(val):
|
||||||
|
"""Returns validation of a value as a UUID.
|
||||||
|
|
||||||
|
For our purposes, a UUID is a canonical form string:
|
||||||
|
aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
||||||
|
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
return str(uuid.UUID(val)) == val
|
||||||
|
except (TypeError, ValueError, AttributeError):
|
||||||
|
return False
|
||||||
|
@@ -115,6 +115,10 @@ def do_audit_create(cc, args):
|
|||||||
field_list = ['audit_template_uuid', 'type', 'deadline']
|
field_list = ['audit_template_uuid', 'type', 'deadline']
|
||||||
fields = dict((k, v) for (k, v) in vars(args).items()
|
fields = dict((k, v) for (k, v) in vars(args).items()
|
||||||
if k in field_list and not (v is None))
|
if k in field_list and not (v is None))
|
||||||
|
if fields.get('audit_template_uuid'):
|
||||||
|
if not utils.is_uuid_like(fields['audit_template_uuid']):
|
||||||
|
fields['audit_template_uuid'] = cc.audit_template.get(
|
||||||
|
fields['audit_template'])
|
||||||
audit = cc.audit.create(**fields)
|
audit = cc.audit.create(**fields)
|
||||||
field_list.append('uuid')
|
field_list.append('uuid')
|
||||||
data = dict([(f, getattr(audit, f, '')) for f in field_list])
|
data = dict([(f, getattr(audit, f, '')) for f in field_list])
|
||||||
|
Reference in New Issue
Block a user