in rostran/core/resources.py [0:0]
def validate(self):
if not isinstance(self.resource_id, str):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"The type should be str",
)
if not self.resource_id:
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"ResourceId should not be empty",
)
if not isinstance(self.type, str):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"The type should be str",
)
if not self.type:
raise InvalidTemplateResource(
name=self.type,
reason=f"ResourceType should not be empty",
)
if self.depends_on is not None and not isinstance(self.depends_on, (str, list)):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"The type of {self.DEPENDS_ON} should be str or list",
)
if self.condition is not None and not isinstance(self.condition, str):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"The type of {self.CONDITION} should be str",
)
if (
self.deletion_policy is not None
and self.deletion_policy not in self.DELETION_POLICIES
):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"DeletionPolicy {self.deletion_policy} is not supported. "
f"Allowed types: {self.DELETION_POLICIES}",
)
if self.metadata is not None and not isinstance(self.metadata, dict):
raise InvalidTemplateResource(
name=self.resource_id,
reason=f"The type of {self.METADATA} should be dict",
)