in python3.10/event-bridge/{{cookiecutter.project_name}}/hello_world_function/model/aws/ec2/marshaller.py [0:0]
def marshall(cls, obj):
if obj is None:
return None
elif isinstance(obj, cls.PRIMITIVE_TYPES):
return obj
elif isinstance(obj, list):
return [cls.marshall(sub_obj)
for sub_obj in obj]
elif isinstance(obj, tuple):
return tuple(cls.marshall(sub_obj)
for sub_obj in obj)
elif isinstance(obj, (datetime.datetime, datetime.date)):
return obj.isoformat()
if isinstance(obj, dict):
obj_dict = obj
else:
obj_dict = {obj._attribute_map[attr]: getattr(obj, attr)
for attr, _ in six.iteritems(obj._types)
if getattr(obj, attr) is not None}
return {key: cls.marshall(val)
for key, val in six.iteritems(obj_dict)}