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 json
|
||||
import uuid
|
||||
|
||||
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:
|
||||
filters.append('sort_dir=%s' % sort_dir)
|
||||
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']
|
||||
fields = dict((k, v) for (k, v) in vars(args).items()
|
||||
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)
|
||||
field_list.append('uuid')
|
||||
data = dict([(f, getattr(audit, f, '')) for f in field_list])
|
||||
|
Reference in New Issue
Block a user