in cfn_policy_validator/cfn_tools/yaml_loader.py [0:0]
def multi_constructor(self, tag_suffix, node):
if tag_suffix not in UNCONVERTED_SUFFIXES:
tag_suffix = "{}{}".format(FN_PREFIX, tag_suffix)
if tag_suffix == "Fn::GetAtt":
constructor = self.construct_getatt
elif isinstance(node, yaml.ScalarNode):
constructor = self.construct_scalar
elif isinstance(node, yaml.SequenceNode):
constructor = self.construct_sequence
elif isinstance(node, yaml.MappingNode):
constructor = self.construct_mapping
else:
raise Exception("Bad tag: !{}".format(tag_suffix))
return CfnObject((
(tag_suffix, constructor(node)),
))