in footmark/ecs/instance.py [0:0]
def __setattr__(self, name, value):
if name == 'status':
value = value.lower()
# instance public ip contains public_ip_address and eip_address
if name in ('public_ip_address', 'inner_ip_address'):
if isinstance(value, dict):
if value['ip_address']:
value = value['ip_address'][0]
else:
value = ""
if name == 'public_ip_address' and not value:
eip = getattr(self, 'eip_address', None)
if eip and eip["ip_address"]:
value = eip["ip_address"]
if name == 'tags' and value:
v = {}
for tag in value['tag']:
if tag.get('tag_key'):
v[tag.get('tag_key')] = tag.get('tag_value', None)
value = v
super(TaggedECSObject, self).__setattr__(name, value)