def de_json(cls, data, client): if not data: return None data = super(Operation, cls).de_json(data, client) data['metadata'] = OperationMetadata.de_json( universal_obj_hook(data.get('metadata')), client) data['error'] = OperationError.de_json( universal_obj_hook(data.get('error')), client) return cls(client=client, **data)
def de_json(cls, data: dict, client): if not data: return None data = super(Challenges, cls).de_json(data, client) data['dns_challenge'] = DnsChallenges.de_json( universal_obj_hook(data.get('dns_challenge')), client) data['http_challenge'] = HttpChallenges.de_json( universal_obj_hook(data.get('http_challenge')), client) return cls(client=client, **data)
def de_json(cls, data: dict, client): if not data: return None data = super(Certificate, cls).de_json(data, client) data['challenges'] = Challenges.de_list( universal_obj_hook(data.get('challenges')), client) return cls(client=client, **data)
def de_json(cls, data: dict, client): if not data: return None data = super(Address, cls).de_json(data, client) data['one_to_one_nat'] = OneToOneNat.de_json( universal_obj_hook(data.get('one_to_one_nat')), client) return cls(client=client, **data)
def de_json(cls, data: dict, client): if not data: return None data = super(Instance, cls).de_json(data, client) data['boot_disk'].update({'attached_to': data.get('id', None)}) data['boot_disk'].update({'folder_id': data.get('folder_id', None)}) data['boot_disk'] = AttachedDisk.de_json( universal_obj_hook(data.get('boot_disk')), client) # add folder id and source instance id as attr to disks for disk in data.get('secondary_disks', []): if disk is not None: disk.update({'attached_to': data.get('id', None)}) disk.update({'folder_id': data.get('folder_id', None)}) data['secondary_disks'] = AttachedDisk.de_list( universal_obj_hook(data.get('secondary_disks')), client) data['network_interfaces'] = NetworkInterface.de_list( universal_obj_hook(data.get('network_interfaces')), client) data['resources'] = Resources.de_json( universal_obj_hook(data.get('resources')), client) data['metadata'] = Metadata.de_json( universal_obj_hook(data.get('metadata')), client) data['scheduling_policy'] = SchedulingPolicy.de_json( universal_obj_hook(data.get('scheduling_policy')), client) data['network_settings'] = NetworkSettings.de_json( universal_obj_hook(data.get('network_settings')), client) return cls(client=client, **data)