| from designatev2 import common |
| from designatev2 import lists |
| return str(uuid.UUID(val)).replace('-', '') == val |
| except (TypeError, ValueError, AttributeError): |
| def get_by_name_or_uuid_multiple(resource_arg_name_pairs): |
| def wrapped_f(*args, **kwargs): |
| for index, (resource, arg_name) in enumerate( |
| resource_arg_name_pairs): |
| ref = kwargs.pop(arg_name, None) |
| cloud_name = kwargs['cloud_name'] |
| if checker.check_id(ref): |
| # Then we have name not uuid |
| resp_key = response_keys[resource] |
| resp = resource_lists[resource]( |
| name=ref, cloud_name=cloud_name)[resp_key] |
| raise common.ResourceNotFound(resp_key, ref) |
| raise common.MultipleResourcesFound(resp_key, ref) |
| results.append(resp[0]['id']) |
| results.extend(args[args_start:]) |
| return func(*results, **kwargs) |