from toscaparser.elements.policytype import PolicyType
from toscaparser.elements.relationshiptype import RelationshipType
from toscaparser.properties import Property
+from toscaparser.unsupportedtype import UnsupportedType
from toscaparser.utils.gettextutils import _
self.entity_tpl = template
self.custom_def = custom_def
self._validate_field(self.entity_tpl)
+ type = self.entity_tpl.get('type')
+ UnsupportedType.validate_type(type)
if entity_name == 'node_type':
- type = self.entity_tpl.get('type')
self.type_definition = NodeType(type, custom_def) \
if type is not None else None
if entity_name == 'relationship_type':
type = self.entity_tpl['relationship']
else:
type = self.entity_tpl['type']
+ UnsupportedType.validate_type(type)
self.type_definition = RelationshipType(type,
None, custom_def)
if entity_name == 'policy_type':
- type = self.entity_tpl.get('type')
if not type:
msg = (_('Policy definition of "%(pname)s" must have'
' a "type" ''attribute.') % dict(pname=name))
ExceptionCollector.appendException(
ValidationError(msg))
-
self.type_definition = PolicyType(type, custom_def)
if entity_name == 'group_type':
- type = self.entity_tpl.get('type')
self.type_definition = GroupType(type, custom_def) \
if type is not None else None
self._properties = None
def type(self):
if self.type_definition:
return self.type_definition.type
- else:
- return None
@property
def parent_type(self):
if self.type_definition:
return self.type_definition.parent_type
- else:
- return None
@property
def requirements(self):
def _validate_capabilities_properties(self, capabilities):
for cap, props in capabilities.items():
- capabilitydef = self.get_capability(cap).definition
+ capability = self.get_capability(cap)
+ if not capability:
+ continue
+ capabilitydef = capability.definition
self._common_validate_properties(capabilitydef,
props[self.PROPERTIES])