vm_types = []
for k2, v2 in resource["properties"].items():
- if k2 not in key_values:
- continue
- if "get_param" not in v2:
+ if not isinstance(v2, dict) or any(
+ [k2 not in key_values, "get_param" not in v2]
+ ):
continue
formats = [v for v in key_value_formats if v[0] == k2]
for v3 in formats:
def is_nova_server(resource):
- return isinstance(resource, dict) and "type" in resource and "properties" in resource and resource.get("type") == "OS::Nova::Server"
+ return (
+ isinstance(resource, dict)
+ and "type" in resource
+ and "properties" in resource
+ and resource.get("type") == "OS::Nova::Server"
+ )
def get_vm_type_for_nova_server(resource):
vm_types = get_vm_types_for_resource(resource)
# if more than one vm_type was identified, return None
- if len(vm_types) > 1:
+ if not vm_types or len(vm_types) > 1:
return None
return vm_types.pop()