def _xml_ele_to_obj(cls, element): image_dict = element.attrib if 'minDisk' in image_dict: image_dict['minDisk'] = image_dict.get('minDisk') \ and int(image_dict.get('minDisk')) if 'progress' in image_dict: image_dict['progress'] = image_dict.get('progress') \ and int(image_dict.get('progress')) if 'minRam' in image_dict: image_dict['minRam'] = image_dict.get('minRam') \ and int(image_dict.get('minRam')) links = None metadata = None server = None if element.find('link') is not None: links = Links._xml_ele_to_obj(element) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element) if element.find('server') is not None: '''To prevent circular import issue import just in time''' from cloudcafe.compute.servers_api.models.servers import ServerMin server = ServerMin._xml_ele_to_obj(element) image = Image(image_dict.get('diskConfig'), image_dict.get('id'), image_dict.get('name'), image_dict.get('status'), image_dict.get('updated'), image_dict.get('created'), image_dict.get('minDisk'), image_dict.get('minRam'), image_dict.get('progress'), links, metadata, server) return image
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Flavor instance.""" flavor_dict = element.attrib if 'vcpus' in flavor_dict: flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and int(flavor_dict.get('vcpus'))) if 'disk' in flavor_dict: flavor_dict['disk'] = (flavor_dict.get('disk') and int(flavor_dict.get('disk'))) if 'rxtx_factor' in flavor_dict: flavor_dict['rxtx_factor'] = flavor_dict.get('rxtx_factor') \ and float(flavor_dict.get('rxtx_factor')) if 'ram' in flavor_dict: flavor_dict['ram'] = flavor_dict.get('ram') \ and int(flavor_dict.get('ram')) if 'swap' in flavor_dict: flavor_dict['swap'] = flavor_dict.get('swap') \ and int(flavor_dict.get('swap')) links = Links._xml_ele_to_obj(element) flavor = Flavor(flavor_dict.get('id'), flavor_dict.get('name'), flavor_dict.get('ram'), flavor_dict.get('disk'), flavor_dict.get('vcpus'), flavor_dict.get('swap'), flavor_dict.get('rxtx_factor'), links) return flavor
def _xml_ele_to_obj(cls, element): image_dict = element.attrib if 'minDisk' in image_dict: image_dict['minDisk'] = image_dict.get('minDisk') \ and int(image_dict.get('minDisk')) if 'progress' in image_dict: image_dict['progress'] = image_dict.get('progress') \ and int(image_dict.get('progress')) if 'minRam' in image_dict: image_dict['minRam'] = image_dict.get('minRam') \ and int(image_dict.get('minRam')) links = None metadata = None server = None if element.find('link') is not None: links = Links._xml_ele_to_obj(element) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element) if element.find('server') is not None: '''To prevent circular import issue import just in time''' from cloudcafe.compute.servers_api.models.servers import ServerMin server = ServerMin._xml_ele_to_obj(element) image = Image(image_dict.get('diskConfig'), image_dict.get('size'), image_dict.get('id'), image_dict.get('name'), image_dict.get('status'), image_dict.get('updated'), image_dict.get('created'), image_dict.get('minDisk'), image_dict.get('minRam'), image_dict.get('progress'), links, metadata, server) return image
def _xml_ele_to_obj(cls, element): '''Helper method to turn ElementTree instance to Image instance.''' cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE) image_dict = element.attrib image_min = ImageMin(**image_dict) image_min.links = Links._xml_ele_to_obj(element) return image_min
def _xml_ele_to_obj(cls, element): flavor_dict = element.attrib links = Links._xml_ele_to_obj(element) flavor_min = FlavorMin(id=flavor_dict.get('id'), name=flavor_dict.get('name'), links=links) return flavor_min
def _xml_ele_to_obj(cls, element): image_dict = element.attrib if 'minDisk' in image_dict: image_dict['minDisk'] = (image_dict.get('minDisk') and int(image_dict.get('minDisk'))) if 'progress' in image_dict: image_dict['progress'] = (image_dict.get('progress') and int(image_dict.get('progress'))) if 'minRam' in image_dict: image_dict['minRam'] = (image_dict.get('minRam') and int(image_dict.get('minRam'))) links = None metadata = None server = None if element.find('link') is not None: links = Links._xml_ele_to_obj(element) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element.find('metadata')) if element.find('server') is not None: # Prevents circular import issue import just in time from cloudcafe.compute.servers_api.models.servers import ServerMin server = ServerMin._xml_ele_to_obj(element) image = Image( disk_config=image_dict.get('diskConfig'), size=image_dict.get('size'), id=image_dict.get('id'), name=image_dict.get('name'), status=image_dict.get('status'), updated=image_dict.get('updated'), created=image_dict.get('created'), min_disk=image_dict.get('minDisk'), min_ram=image_dict.get('minRam'), progress=image_dict.get('progress'), links=links, metadata=metadata, server=server) return image
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Server instance.""" flavor_dict = element.attrib flavor_min = FlavorMin(id=flavor_dict.get('id'), name=flavor_dict.get('name')) flavor_min.links = Links._xml_ele_to_obj(element) return flavor_min
def _xml_ele_to_obj(cls, element): server_dict = element.attrib links = Links._xml_ele_to_obj(element) server = ServerMin(id=server_dict.get('id'), name=server_dict.get('name'), links=links) return server
def _xml_ele_to_obj(cls, element): '''Helper method to turn ElementTree instance to Server instance.''' if element.find('server') is not None: element = element.find('server') server_dict = element.attrib servermin = ServerMin(**server_dict) servermin.links = Links._xml_ele_to_obj(element) return servermin
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Server instance.""" server = element.attrib addresses = None flavor = None image = None metadata = None links = Links._xml_ele_to_obj(element) if element.find("addresses") is not None: addresses = Addresses._xml_ele_to_obj(element.find("addresses")) if element.find("flavor") is not None: flavor = Flavor._xml_ele_to_obj(element.find("flavor")) if element.find("image") is not None: image = Image._xml_ele_to_obj(element.find("image")) if element.find("metadata") is not None: metadata = Metadata._xml_ele_to_obj(element.find("metadata")) if "progress" in server: progress = server.get("progress") and int(server.get("progress")) else: progress = None server = Server( id=server.get("id"), disk_config=server.get("diskConfig"), power_state=server.get("power_state"), progress=progress, task_state=server.get("task_state").lower(), vm_state=server.get("vm_state"), name=server.get("name"), tenant_id=server.get("tenant_id"), status=server.get("status"), updated=server.get("updated"), created=server.get("created"), host_id=server.get("hostId"), user_id=server.get("userId"), accessIPv4=server.get("accessIPv4"), config_drive=server.get("config_drive"), accessIPv6=server.get("accessIPv6"), addresses=addresses, flavor=flavor, image=image, links=links, metadata=metadata, admin_pass=server.get("adminPass"), key_name=server.get("key_name"), host=server.get("host"), instance_name=server.get("instance_name"), hypervisor_name=server.get("hypervisor_hostname"), ) return server
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Image instance.""" cls._remove_xml_etree_namespace(element, Constants.XML_API_NAMESPACE) image_dict = element.attrib if element.find('link') is not None: links = Links._xml_ele_to_obj(element) else: links = None image_min = ImageMin(id=image_dict.get('id'), name=image_dict.get('name'), links=links) return image_min
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Server instance.""" server = element.attrib addresses = None flavor = None image = None metadata = None links = Links._xml_ele_to_obj(element) if element.find('addresses') is not None: addresses = Addresses._xml_ele_to_obj(element.find('addresses')) if element.find('flavor') is not None: flavor = Flavor._xml_ele_to_obj(element.find('flavor')) if element.find('image'): image = Image._xml_ele_to_obj(element.find('image')) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element.find('metadata')) if 'progress' in server: progress = (server.get('progress') and int(server.get('progress'))) else: progress = None server = Server(id=server.get('id'), disk_config=server.get('diskConfig'), power_state=server.get('power_state'), progress=progress, task_state=server.get('task_state').lower(), vm_state=server.get('vm_state'), name=server.get('name'), tenant_id=server.get('tenant_id'), status=server.get('status'), updated=server.get('updated'), created=server.get('created'), host_id=server.get('hostId'), user_id=server.get('userId'), accessIPv4=server.get('accessIPv4'), config_drive=server.get('config_drive'), accessIPv6=server.get('accessIPv6'), addresses=addresses, flavor=flavor, image=image, links=links, metadata=metadata, admin_pass=server.get('adminPass'), key_name=server.get('key_name'), host=server.get('host'), instance_name=server.get('instance_name'), hypervisor_name=server.get('hypervisor_hostname')) return server
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Server instance.""" server_dict = element.attrib addresses = None flavor = None image = None links = None metadata = None links = Links._xml_ele_to_obj(element) if element.find("addresses") is not None: addresses = Addresses._xml_ele_to_obj(element.find("addresses")) if element.find("flavor") is not None: flavor = Flavor._xml_ele_to_obj(element.find("flavor")) if element.find("image") is not None: image = Image._xml_ele_to_obj(element.find("image")) if element.find("metadata") is not None: metadata = Metadata._xml_ele_to_obj(element) if "progress" in server_dict: progress = server_dict.get("progress") and int(server_dict.get("progress")) if "tenantId" in server_dict: tenant_id = server_dict.get("tenantId") if "userId" in server_dict: user_id = server_dict.get("userId") server = Server( server_dict["id"], server_dict["diskConfig"], server_dict["power_state"], progress, server_dict["task_state"], server_dict["vm_state"], server_dict["name"], tenant_id, server_dict["status"], server_dict["updated"], server_dict["created"], server_dict["hostId"], user_id, server_dict["accessIPv4"], server_dict["accessIPv6"], addresses, flavor, image, links, metadata, ) return server
def _xml_ele_to_obj(cls, element): """Helper method to turn ElementTree instance to Server instance.""" server = element.attrib addresses = None flavor = None image = None metadata = None fault = None links = Links._xml_ele_to_obj(element) if element.find('addresses') is not None: addresses = Addresses._xml_ele_to_obj(element.find('addresses')) if element.find('flavor') is not None: flavor = Flavor._xml_ele_to_obj(element.find('flavor')) if element.find('image'): image = Image._xml_ele_to_obj(element.find('image')) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element.find('metadata')) if element.find('fault') is not None: fault = Fault._xml_ele_to_obj(element.find('fault')) if 'progress' in server: progress = (server.get('progress') and int(server.get('progress'))) else: progress = None server = Server( id=server.get('id'), disk_config=server.get('diskConfig'), power_state=server.get('power_state'), progress=progress, task_state=server.get('task_state').lower(), vm_state=server.get('vm_state'), name=server.get('name'), tenant_id=server.get('tenant_id'), status=server.get('status'), updated=server.get('updated'), created=server.get('created'), host_id=server.get('hostId'), user_id=server.get('userId'), accessIPv4=server.get('accessIPv4'), config_drive=server.get('config_drive'), accessIPv6=server.get('accessIPv6'), addresses=addresses, flavor=flavor, image=image, links=links, metadata=metadata, admin_pass=server.get('adminPass'), key_name=server.get('key_name'), host=server.get('host'), instance_name=server.get('instance_name'), hypervisor_name=server.get('hypervisor_hostname'), security_groups=server.get('security_groups'), fault=fault) return server
def _xml_ele_to_obj(cls, element): '''Helper method to turn ElementTree instance to Server instance.''' server_dict = element.attrib addresses = None flavor = None image = None links = None metadata = None links = Links._xml_ele_to_obj(element) if element.find('addresses') is not None: addresses = Addresses._xml_ele_to_obj(element.find('addresses')) if element.find('flavor') is not None: flavor = Flavor._xml_ele_to_obj(element.find('flavor')) if element.find('image') is not None: image = Image._xml_ele_to_obj(element.find('image')) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element) if 'progress' in server_dict: progress = server_dict.get('progress') \ and int(server_dict.get('progress')) if 'tenantId' in server_dict: tenant_id = server_dict.get('tenantId') if 'userId' in server_dict: user_id = server_dict.get('userId') server = Server(server_dict['id'], server_dict['diskConfig'], server_dict['power_state'], progress, server_dict['task_state'], server_dict['vm_state'], server_dict['name'], tenant_id, server_dict['status'], server_dict['updated'], server_dict['created'], server_dict['hostId'], user_id, server_dict['accessIPv4'], server_dict['accessIPv6'], addresses, flavor, image, links, metadata) return server
def _xml_ele_to_obj(cls, element): flavor_dict = element.attrib # XML data types differ from JSON, so we normalize here if 'vcpus' in flavor_dict: flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and int(flavor_dict.get('vcpus'))) if 'disk' in flavor_dict: flavor_dict['disk'] = (flavor_dict.get('disk') and int(flavor_dict.get('disk'))) if 'rxtx_factor' in flavor_dict: flavor_dict['rxtx_factor'] = \ (flavor_dict.get('rxtx_factor') and float(flavor_dict.get('rxtx_factor'))) if 'ram' in flavor_dict: flavor_dict['ram'] = (flavor_dict.get('ram') and int(flavor_dict.get('ram'))) if 'swap' in flavor_dict: flavor_dict['swap'] = (flavor_dict.get('swap') and int(flavor_dict.get('swap'))) if 'ephemeral' in flavor_dict: flavor_dict['ephemeral'] = (flavor_dict.get('ephemeral') and int(flavor_dict.get('ephemeral'))) links = Links._xml_ele_to_obj(element) specs = element.find('extra_specs') extra_specs = (FlavorExtraSpecs._xml_ele_to_obj(specs) if specs is not None else None) flavor = Flavor(id=flavor_dict.get('id'), name=flavor_dict.get('name'), ram=flavor_dict.get('ram'), disk=flavor_dict.get('disk'), vcpus=flavor_dict.get('vcpus'), swap=flavor_dict.get('swap'), rxtx_factor=flavor_dict.get('rxtx_factor'), links=links, ephemeral_disk=flavor_dict.get('ephemeral'), extra_specs=extra_specs) return flavor
def _xml_ele_to_obj(cls, element): '''Helper method to turn ElementTree instance to Server instance.''' server = element.attrib addresses = None flavor = None image = None metadata = None links = Links._xml_ele_to_obj(element) if element.find('addresses') is not None: addresses = Addresses._xml_ele_to_obj(element.find('addresses')) if element.find('flavor') is not None: flavor = Flavor._xml_ele_to_obj(element.find('flavor')) if element.find('image') is not None: image = Image._xml_ele_to_obj(element.find('image')) if element.find('metadata') is not None: metadata = Metadata._xml_ele_to_obj(element) if 'progress' in server: progress = server.get('progress') \ and int(server.get('progress')) else: progress = None server = Server( id=server.get('id'), disk_config=server.get('diskConfig'), power_state=server.get('power_state'), progress=progress, task_state=server.get('task_state'), vm_state=server.get('vm_state'), name=server.get('name'), tenant_id=server.get('tenant_id'), status=server.get('status'), updated=server.get('updated'), created=server.get('created'), host_id=server.get('hostId'), user_id=server.get('user_id'), accessIPv4=server.get('accessIPv4'), accessIPv6=server.get('accessIPv6'), addresses=addresses, flavor=flavor, image=image, links=links, metadata=metadata, admin_pass=server.get('adminPass')) return server
def _xml_ele_to_obj(cls, element): flavor_dict = element.attrib # XML data types differ from JSON, so we normalize here if 'vcpus' in flavor_dict: flavor_dict['vcpus'] = (flavor_dict.get('vcpus') and int(flavor_dict.get('vcpus'))) if 'disk' in flavor_dict: flavor_dict['disk'] = (flavor_dict.get('disk') and int(flavor_dict.get('disk'))) if 'rxtx_factor' in flavor_dict: flavor_dict['rxtx_factor'] = \ (flavor_dict.get('rxtx_factor') and float(flavor_dict.get('rxtx_factor'))) if 'ram' in flavor_dict: flavor_dict['ram'] = (flavor_dict.get('ram') and int(flavor_dict.get('ram'))) if 'swap' in flavor_dict: flavor_dict['swap'] = (flavor_dict.get('swap') and int(flavor_dict.get('swap'))) if 'ephemeral' in flavor_dict: flavor_dict['ephemeral'] = (flavor_dict.get('ephemeral') and int(flavor_dict.get('ephemeral'))) links = Links._xml_ele_to_obj(element) specs = element.find('extra_specs') extra_specs = (FlavorExtraSpecs._xml_ele_to_obj(specs) if specs is not None else None) flavor = Flavor( id=flavor_dict.get('id'), name=flavor_dict.get('name'), ram=flavor_dict.get('ram'), disk=flavor_dict.get('disk'), vcpus=flavor_dict.get('vcpus'), swap=flavor_dict.get('swap'), rxtx_factor=flavor_dict.get('rxtx_factor'), links=links, ephemeral_disk=flavor_dict.get('ephemeral'), extra_specs=extra_specs) return flavor