in python3.10/event-bridge/{{cookiecutter.project_name}}/hello_world_function/model/aws/ec2/marshaller.py [0:0]
def unmarshall(cls, data, typeName):
if data is None:
return None
if type(typeName) == str:
if typeName.startswith('list['):
sub_kls = re.match(r'list\[(.*)\]', typeName).group(1)
return [cls.unmarshall(sub_data, sub_kls)
for sub_data in data]
if typeName.startswith('dict('):
sub_kls = re.match(r'dict\(([^,]*), (.*)\)', typeName).group(2)
return {k: cls.unmarshall(v, sub_kls)
for k, v in six.iteritems(data)}
if typeName in cls.NATIVE_TYPES_MAPPING:
typeName = cls.NATIVE_TYPES_MAPPING[typeName]
else:
typeName = getattr(model.aws.ec2, typeName)
if typeName in cls.PRIMITIVE_TYPES:
return cls.__unmarshall_primitive(data, typeName)
elif typeName == object:
return cls.__unmarshall_object(data)
elif typeName == datetime.date:
return cls.__unmarshall_date(data)
elif typeName == datetime.datetime:
return cls.__unmarshall_datatime(data)
else:
return cls.__unmarshall_model(data, typeName)