diff options
Diffstat (limited to 'Testcases/vnc_api/gen/resource_common.py')
-rw-r--r-- | Testcases/vnc_api/gen/resource_common.py | 15559 |
1 files changed, 0 insertions, 15559 deletions
diff --git a/Testcases/vnc_api/gen/resource_common.py b/Testcases/vnc_api/gen/resource_common.py deleted file mode 100644 index 72f7824..0000000 --- a/Testcases/vnc_api/gen/resource_common.py +++ /dev/null @@ -1,15559 +0,0 @@ - -# AUTO-GENERATED file from IFMapApiGenerator. Do Not Edit! - -""" -This module defines the classes for every configuration element managed by the system -""" - -class Domain(object): - """ - Represents domain configuration representation. - - Child of: - :class:`.ConfigRoot` object OR - - Properties: - * domain-limits (:class:`.DomainLimitsType` type) - * api-access-list (:class:`.ApiAccessListType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.Project` objects - * list of :class:`.Namespace` objects - * list of :class:`.ServiceTemplate` objects - * list of :class:`.VirtualDns` objects - - References to: - - Referred by: - """ - - prop_fields = set([u'domain_limits', u'api_access_list', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'config_root_back_refs']) - children_fields = set([u'projects', u'namespaces', 'service_templates', u'virtual_DNSs']) - - def __init__(self, name = None, parent_obj = None, domain_limits = None, api_access_list = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'domain' - if not name: - name = u'default-domain' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.fq_name = [name] - - # property fields - if domain_limits: - self._domain_limits = domain_limits - if api_access_list: - self._api_access_list = api_access_list - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (domain).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of domain in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of domain as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of domain's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of domain's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def domain_limits(self): - """Get domain-limits for domain. - - :returns: DomainLimitsType object - - """ - return getattr(self, '_domain_limits', None) - #end domain_limits - - @domain_limits.setter - def domain_limits(self, domain_limits): - """Set domain-limits for domain. - - :param domain_limits: DomainLimitsType object - - """ - self._domain_limits = domain_limits - #end domain_limits - - def set_domain_limits(self, value): - self.domain_limits = value - #end set_domain_limits - - def get_domain_limits(self): - return self.domain_limits - #end get_domain_limits - - @property - def api_access_list(self): - """Get api-access-list for domain. - - :returns: ApiAccessListType object - - """ - return getattr(self, '_api_access_list', None) - #end api_access_list - - @api_access_list.setter - def api_access_list(self, api_access_list): - """Set api-access-list for domain. - - :param api_access_list: ApiAccessListType object - - """ - self._api_access_list = api_access_list - #end api_access_list - - def set_api_access_list(self, value): - self.api_access_list = value - #end set_api_access_list - - def get_api_access_list(self): - return self.api_access_list - #end get_api_access_list - - @property - def id_perms(self): - """Get id-perms for domain. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for domain. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for domain. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for domain. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_domain_limits'): - self._serialize_field_to_json(serialized, field_names, 'domain_limits') - if hasattr(self, '_api_access_list'): - self._serialize_field_to_json(serialized, field_names, 'api_access_list') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_projects(self): - return getattr(self, 'projects', None) - #end get_projects - - def get_namespaces(self): - return getattr(self, 'namespaces', None) - #end get_namespaces - - def get_service_templates(self): - return getattr(self, 'service_templates', None) - #end get_service_templates - - def get_virtual_DNSs(self): - return getattr(self, 'virtual_DNSs', None) - #end get_virtual_DNSs - - def get_config_root_back_refs(self): - """Return list of all config-roots using this domain""" - return getattr(self, 'config_root_back_refs', None) - #end get_config_root_back_refs - - def dump(self): - """Display domain object in compact form.""" - print '------------ domain ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P domain_limits = ', self.get_domain_limits() - print 'P api_access_list = ', self.get_api_access_list() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS project = ', self.get_projects() - print 'HAS namespace = ', self.get_namespaces() - print 'HAS service_template = ', self.get_service_templates() - print 'HAS virtual_DNS = ', self.get_virtual_DNSs() - #end dump - -#end class Domain - -class GlobalVrouterConfig(object): - """ - Represents global-vrouter-config configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * linklocal-services (:class:`.LinklocalServicesTypes` type) - * encapsulation-priorities (:class:`.EncapsulationPrioritiesType` type) - * vxlan-network-identifier-mode (VxlanNetworkIdentifierModeType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'linklocal_services', u'encapsulation_priorities', u'vxlan_network_identifier_mode', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'global_system_config_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, linklocal_services = None, encapsulation_priorities = None, vxlan_network_identifier_mode = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'global-vrouter-config' - if not name: - name = u'default-global-vrouter-config' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if linklocal_services: - self._linklocal_services = linklocal_services - if encapsulation_priorities: - self._encapsulation_priorities = encapsulation_priorities - if vxlan_network_identifier_mode: - self._vxlan_network_identifier_mode = vxlan_network_identifier_mode - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (global-vrouter-config).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of global-vrouter-config in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of global-vrouter-config as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of global-vrouter-config's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of global-vrouter-config's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def linklocal_services(self): - """Get linklocal-services for global-vrouter-config. - - :returns: LinklocalServicesTypes object - - """ - return getattr(self, '_linklocal_services', None) - #end linklocal_services - - @linklocal_services.setter - def linklocal_services(self, linklocal_services): - """Set linklocal-services for global-vrouter-config. - - :param linklocal_services: LinklocalServicesTypes object - - """ - self._linklocal_services = linklocal_services - #end linklocal_services - - def set_linklocal_services(self, value): - self.linklocal_services = value - #end set_linklocal_services - - def get_linklocal_services(self): - return self.linklocal_services - #end get_linklocal_services - - @property - def encapsulation_priorities(self): - """Get encapsulation-priorities for global-vrouter-config. - - :returns: EncapsulationPrioritiesType object - - """ - return getattr(self, '_encapsulation_priorities', None) - #end encapsulation_priorities - - @encapsulation_priorities.setter - def encapsulation_priorities(self, encapsulation_priorities): - """Set encapsulation-priorities for global-vrouter-config. - - :param encapsulation_priorities: EncapsulationPrioritiesType object - - """ - self._encapsulation_priorities = encapsulation_priorities - #end encapsulation_priorities - - def set_encapsulation_priorities(self, value): - self.encapsulation_priorities = value - #end set_encapsulation_priorities - - def get_encapsulation_priorities(self): - return self.encapsulation_priorities - #end get_encapsulation_priorities - - @property - def vxlan_network_identifier_mode(self): - """Get vxlan-network-identifier-mode for global-vrouter-config. - - :returns: VxlanNetworkIdentifierModeType object - - """ - return getattr(self, '_vxlan_network_identifier_mode', None) - #end vxlan_network_identifier_mode - - @vxlan_network_identifier_mode.setter - def vxlan_network_identifier_mode(self, vxlan_network_identifier_mode): - """Set vxlan-network-identifier-mode for global-vrouter-config. - - :param vxlan_network_identifier_mode: VxlanNetworkIdentifierModeType object - - """ - self._vxlan_network_identifier_mode = vxlan_network_identifier_mode - #end vxlan_network_identifier_mode - - def set_vxlan_network_identifier_mode(self, value): - self.vxlan_network_identifier_mode = value - #end set_vxlan_network_identifier_mode - - def get_vxlan_network_identifier_mode(self): - return self.vxlan_network_identifier_mode - #end get_vxlan_network_identifier_mode - - @property - def id_perms(self): - """Get id-perms for global-vrouter-config. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for global-vrouter-config. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for global-vrouter-config. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for global-vrouter-config. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_linklocal_services'): - self._serialize_field_to_json(serialized, field_names, 'linklocal_services') - if hasattr(self, '_encapsulation_priorities'): - self._serialize_field_to_json(serialized, field_names, 'encapsulation_priorities') - if hasattr(self, '_vxlan_network_identifier_mode'): - self._serialize_field_to_json(serialized, field_names, 'vxlan_network_identifier_mode') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this global-vrouter-config""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def dump(self): - """Display global-vrouter-config object in compact form.""" - print '------------ global-vrouter-config ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P linklocal_services = ', self.get_linklocal_services() - print 'P encapsulation_priorities = ', self.get_encapsulation_priorities() - print 'P vxlan_network_identifier_mode = ', self.get_vxlan_network_identifier_mode() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class GlobalVrouterConfig - -class InstanceIp(object): - """ - Represents instance-ip configuration representation. - - Properties: - * instance-ip-address (IpAddressType type) - * instance-ip-family (IpAddressFamilyType type) - * instance-ip-mode (AddressMode type) - * subnet-uuid (xsd:string type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualNetwork` objects - * list of :class:`.VirtualMachineInterface` objects - - Referred by: - """ - - prop_fields = set([u'instance_ip_address', u'instance_ip_family', u'instance_ip_mode', u'subnet_uuid', u'id_perms', u'display_name']) - ref_fields = set([u'virtual_network_refs', 'virtual_machine_interface_refs']) - backref_fields = set([]) - children_fields = set([]) - - def __init__(self, name = None, instance_ip_address = None, instance_ip_family = None, instance_ip_mode = None, subnet_uuid = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'instance-ip' - if not name: - name = u'default-instance-ip' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if instance_ip_address: - self._instance_ip_address = instance_ip_address - if instance_ip_family: - self._instance_ip_family = instance_ip_family - if instance_ip_mode: - self._instance_ip_mode = instance_ip_mode - if subnet_uuid: - self._subnet_uuid = subnet_uuid - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (instance-ip).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of instance-ip in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of instance-ip as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def instance_ip_address(self): - """Get instance-ip-address for instance-ip. - - :returns: IpAddressType object - - """ - return getattr(self, '_instance_ip_address', None) - #end instance_ip_address - - @instance_ip_address.setter - def instance_ip_address(self, instance_ip_address): - """Set instance-ip-address for instance-ip. - - :param instance_ip_address: IpAddressType object - - """ - self._instance_ip_address = instance_ip_address - #end instance_ip_address - - def set_instance_ip_address(self, value): - self.instance_ip_address = value - #end set_instance_ip_address - - def get_instance_ip_address(self): - return self.instance_ip_address - #end get_instance_ip_address - - @property - def instance_ip_family(self): - """Get instance-ip-family for instance-ip. - - :returns: IpAddressFamilyType object - - """ - return getattr(self, '_instance_ip_family', None) - #end instance_ip_family - - @instance_ip_family.setter - def instance_ip_family(self, instance_ip_family): - """Set instance-ip-family for instance-ip. - - :param instance_ip_family: IpAddressFamilyType object - - """ - self._instance_ip_family = instance_ip_family - #end instance_ip_family - - def set_instance_ip_family(self, value): - self.instance_ip_family = value - #end set_instance_ip_family - - def get_instance_ip_family(self): - return self.instance_ip_family - #end get_instance_ip_family - - @property - def instance_ip_mode(self): - """Get instance-ip-mode for instance-ip. - - :returns: AddressMode object - - """ - return getattr(self, '_instance_ip_mode', None) - #end instance_ip_mode - - @instance_ip_mode.setter - def instance_ip_mode(self, instance_ip_mode): - """Set instance-ip-mode for instance-ip. - - :param instance_ip_mode: AddressMode object - - """ - self._instance_ip_mode = instance_ip_mode - #end instance_ip_mode - - def set_instance_ip_mode(self, value): - self.instance_ip_mode = value - #end set_instance_ip_mode - - def get_instance_ip_mode(self): - return self.instance_ip_mode - #end get_instance_ip_mode - - @property - def subnet_uuid(self): - """Get subnet-uuid for instance-ip. - - :returns: xsd:string object - - """ - return getattr(self, '_subnet_uuid', None) - #end subnet_uuid - - @subnet_uuid.setter - def subnet_uuid(self, subnet_uuid): - """Set subnet-uuid for instance-ip. - - :param subnet_uuid: xsd:string object - - """ - self._subnet_uuid = subnet_uuid - #end subnet_uuid - - def set_subnet_uuid(self, value): - self.subnet_uuid = value - #end set_subnet_uuid - - def get_subnet_uuid(self): - return self.subnet_uuid - #end get_subnet_uuid - - @property - def id_perms(self): - """Get id-perms for instance-ip. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for instance-ip. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for instance-ip. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for instance-ip. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_instance_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'instance_ip_address') - if hasattr(self, '_instance_ip_family'): - self._serialize_field_to_json(serialized, field_names, 'instance_ip_family') - if hasattr(self, '_instance_ip_mode'): - self._serialize_field_to_json(serialized, field_names, 'instance_ip_mode') - if hasattr(self, '_subnet_uuid'): - self._serialize_field_to_json(serialized, field_names, 'subnet_uuid') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_network_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_refs') - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - return serialized - #end serialize_to_json - - def set_virtual_network(self, ref_obj): - """Set virtual-network for instance-ip. - - :param ref_obj: VirtualNetwork object - - """ - self.virtual_network_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_network_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_network - - def add_virtual_network(self, ref_obj): - """Add virtual-network to instance-ip. - - :param ref_obj: VirtualNetwork object - - """ - refs = getattr(self, 'virtual_network_refs', []) - if not refs: - self.virtual_network_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_network_refs.append(ref_info) - #end add_virtual_network - - def del_virtual_network(self, ref_obj): - refs = self.get_virtual_network_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_network_refs.remove(ref) - return - #end del_virtual_network - - def set_virtual_network_list(self, ref_obj_list): - """Set virtual-network list for instance-ip. - - :param ref_obj_list: list of VirtualNetwork object - - """ - self.virtual_network_refs = ref_obj_list - #end set_virtual_network_list - - def get_virtual_network_refs(self): - """Return virtual-network list for instance-ip. - - :returns: list of <VirtualNetwork> - - """ - return getattr(self, 'virtual_network_refs', None) - #end get_virtual_network_refs - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for instance-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to instance-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for instance-ip. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for instance-ip. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def dump(self): - """Display instance-ip object in compact form.""" - print '------------ instance-ip ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P instance_ip_address = ', self.get_instance_ip_address() - print 'P instance_ip_family = ', self.get_instance_ip_family() - print 'P instance_ip_mode = ', self.get_instance_ip_mode() - print 'P subnet_uuid = ', self.get_subnet_uuid() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_network = ', self.get_virtual_network_refs() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - #end dump - -#end class InstanceIp - -class NetworkPolicy(object): - """ - Represents network-policy configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * network-policy-entries (:class:`.PolicyEntriesType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.VirtualNetwork` objects - """ - - prop_fields = set([u'network_policy_entries', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', u'virtual_network_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, network_policy_entries = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'network-policy' - if not name: - name = u'default-network-policy' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if network_policy_entries: - self._network_policy_entries = network_policy_entries - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (network-policy).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of network-policy in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of network-policy as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of network-policy's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of network-policy's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def network_policy_entries(self): - """Get network-policy-entries for network-policy. - - :returns: PolicyEntriesType object - - """ - return getattr(self, '_network_policy_entries', None) - #end network_policy_entries - - @network_policy_entries.setter - def network_policy_entries(self, network_policy_entries): - """Set network-policy-entries for network-policy. - - :param network_policy_entries: PolicyEntriesType object - - """ - self._network_policy_entries = network_policy_entries - #end network_policy_entries - - def set_network_policy_entries(self, value): - self.network_policy_entries = value - #end set_network_policy_entries - - def get_network_policy_entries(self): - return self.network_policy_entries - #end get_network_policy_entries - - @property - def id_perms(self): - """Get id-perms for network-policy. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for network-policy. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for network-policy. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for network-policy. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_network_policy_entries'): - self._serialize_field_to_json(serialized, field_names, 'network_policy_entries') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_project_back_refs(self): - """Return list of all projects using this network-policy""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this network-policy""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def dump(self): - """Display network-policy object in compact form.""" - print '------------ network-policy ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P network_policy_entries = ', self.get_network_policy_entries() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK virtual_network = ', self.get_virtual_network_back_refs() - #end dump - -#end class NetworkPolicy - -class LoadbalancerPool(object): - """ - Represents loadbalancer-pool configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * loadbalancer-pool-properties (:class:`.LoadbalancerPoolType` type) - * loadbalancer-pool-provider (xsd:string type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.LoadbalancerMember` objects - - References to: - * list of :class:`.ServiceInstance` objects - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.ServiceApplianceSet` objects - * list of :class:`.LoadbalancerHealthmonitor` objects - - Referred by: - * list of :class:`.VirtualIp` objects - """ - - prop_fields = set([u'loadbalancer_pool_properties', u'loadbalancer_pool_provider', u'id_perms', u'display_name']) - ref_fields = set([u'service_instance_refs', 'virtual_machine_interface_refs', u'service_appliance_set_refs', u'loadbalancer_healthmonitor_refs']) - backref_fields = set([u'project_back_refs', u'virtual_ip_back_refs']) - children_fields = set([u'loadbalancer_members']) - - def __init__(self, name = None, parent_obj = None, loadbalancer_pool_properties = None, loadbalancer_pool_provider = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'loadbalancer-pool' - if not name: - name = u'default-loadbalancer-pool' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if loadbalancer_pool_properties: - self._loadbalancer_pool_properties = loadbalancer_pool_properties - if loadbalancer_pool_provider: - self._loadbalancer_pool_provider = loadbalancer_pool_provider - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (loadbalancer-pool).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of loadbalancer-pool in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of loadbalancer-pool as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of loadbalancer-pool's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of loadbalancer-pool's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def loadbalancer_pool_properties(self): - """Get loadbalancer-pool-properties for loadbalancer-pool. - - :returns: LoadbalancerPoolType object - - """ - return getattr(self, '_loadbalancer_pool_properties', None) - #end loadbalancer_pool_properties - - @loadbalancer_pool_properties.setter - def loadbalancer_pool_properties(self, loadbalancer_pool_properties): - """Set loadbalancer-pool-properties for loadbalancer-pool. - - :param loadbalancer_pool_properties: LoadbalancerPoolType object - - """ - self._loadbalancer_pool_properties = loadbalancer_pool_properties - #end loadbalancer_pool_properties - - def set_loadbalancer_pool_properties(self, value): - self.loadbalancer_pool_properties = value - #end set_loadbalancer_pool_properties - - def get_loadbalancer_pool_properties(self): - return self.loadbalancer_pool_properties - #end get_loadbalancer_pool_properties - - @property - def loadbalancer_pool_provider(self): - """Get loadbalancer-pool-provider for loadbalancer-pool. - - :returns: xsd:string object - - """ - return getattr(self, '_loadbalancer_pool_provider', None) - #end loadbalancer_pool_provider - - @loadbalancer_pool_provider.setter - def loadbalancer_pool_provider(self, loadbalancer_pool_provider): - """Set loadbalancer-pool-provider for loadbalancer-pool. - - :param loadbalancer_pool_provider: xsd:string object - - """ - self._loadbalancer_pool_provider = loadbalancer_pool_provider - #end loadbalancer_pool_provider - - def set_loadbalancer_pool_provider(self, value): - self.loadbalancer_pool_provider = value - #end set_loadbalancer_pool_provider - - def get_loadbalancer_pool_provider(self): - return self.loadbalancer_pool_provider - #end get_loadbalancer_pool_provider - - @property - def id_perms(self): - """Get id-perms for loadbalancer-pool. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for loadbalancer-pool. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for loadbalancer-pool. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for loadbalancer-pool. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_loadbalancer_pool_properties'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_pool_properties') - if hasattr(self, '_loadbalancer_pool_provider'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_pool_provider') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'service_instance_refs'): - self._serialize_field_to_json(serialized, field_names, 'service_instance_refs') - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - if hasattr(self, 'service_appliance_set_refs'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_set_refs') - if hasattr(self, 'loadbalancer_healthmonitor_refs'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_healthmonitor_refs') - return serialized - #end serialize_to_json - - def get_loadbalancer_members(self): - return getattr(self, 'loadbalancer_members', None) - #end get_loadbalancer_members - - def set_service_instance(self, ref_obj): - """Set service-instance for loadbalancer-pool. - - :param ref_obj: ServiceInstance object - - """ - self.service_instance_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.service_instance_refs[0]['uuid'] = ref_obj.uuid - - #end set_service_instance - - def add_service_instance(self, ref_obj): - """Add service-instance to loadbalancer-pool. - - :param ref_obj: ServiceInstance object - - """ - refs = getattr(self, 'service_instance_refs', []) - if not refs: - self.service_instance_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.service_instance_refs.append(ref_info) - #end add_service_instance - - def del_service_instance(self, ref_obj): - refs = self.get_service_instance_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.service_instance_refs.remove(ref) - return - #end del_service_instance - - def set_service_instance_list(self, ref_obj_list): - """Set service-instance list for loadbalancer-pool. - - :param ref_obj_list: list of ServiceInstance object - - """ - self.service_instance_refs = ref_obj_list - #end set_service_instance_list - - def get_service_instance_refs(self): - """Return service-instance list for loadbalancer-pool. - - :returns: list of <ServiceInstance> - - """ - return getattr(self, 'service_instance_refs', None) - #end get_service_instance_refs - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for loadbalancer-pool. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to loadbalancer-pool. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for loadbalancer-pool. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for loadbalancer-pool. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def set_service_appliance_set(self, ref_obj): - """Set service-appliance-set for loadbalancer-pool. - - :param ref_obj: ServiceApplianceSet object - - """ - self.service_appliance_set_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.service_appliance_set_refs[0]['uuid'] = ref_obj.uuid - - #end set_service_appliance_set - - def add_service_appliance_set(self, ref_obj): - """Add service-appliance-set to loadbalancer-pool. - - :param ref_obj: ServiceApplianceSet object - - """ - refs = getattr(self, 'service_appliance_set_refs', []) - if not refs: - self.service_appliance_set_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.service_appliance_set_refs.append(ref_info) - #end add_service_appliance_set - - def del_service_appliance_set(self, ref_obj): - refs = self.get_service_appliance_set_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.service_appliance_set_refs.remove(ref) - return - #end del_service_appliance_set - - def set_service_appliance_set_list(self, ref_obj_list): - """Set service-appliance-set list for loadbalancer-pool. - - :param ref_obj_list: list of ServiceApplianceSet object - - """ - self.service_appliance_set_refs = ref_obj_list - #end set_service_appliance_set_list - - def get_service_appliance_set_refs(self): - """Return service-appliance-set list for loadbalancer-pool. - - :returns: list of <ServiceApplianceSet> - - """ - return getattr(self, 'service_appliance_set_refs', None) - #end get_service_appliance_set_refs - - def set_loadbalancer_healthmonitor(self, ref_obj): - """Set loadbalancer-healthmonitor for loadbalancer-pool. - - :param ref_obj: LoadbalancerHealthmonitor object - - """ - self.loadbalancer_healthmonitor_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.loadbalancer_healthmonitor_refs[0]['uuid'] = ref_obj.uuid - - #end set_loadbalancer_healthmonitor - - def add_loadbalancer_healthmonitor(self, ref_obj): - """Add loadbalancer-healthmonitor to loadbalancer-pool. - - :param ref_obj: LoadbalancerHealthmonitor object - - """ - refs = getattr(self, 'loadbalancer_healthmonitor_refs', []) - if not refs: - self.loadbalancer_healthmonitor_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.loadbalancer_healthmonitor_refs.append(ref_info) - #end add_loadbalancer_healthmonitor - - def del_loadbalancer_healthmonitor(self, ref_obj): - refs = self.get_loadbalancer_healthmonitor_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.loadbalancer_healthmonitor_refs.remove(ref) - return - #end del_loadbalancer_healthmonitor - - def set_loadbalancer_healthmonitor_list(self, ref_obj_list): - """Set loadbalancer-healthmonitor list for loadbalancer-pool. - - :param ref_obj_list: list of LoadbalancerHealthmonitor object - - """ - self.loadbalancer_healthmonitor_refs = ref_obj_list - #end set_loadbalancer_healthmonitor_list - - def get_loadbalancer_healthmonitor_refs(self): - """Return loadbalancer-healthmonitor list for loadbalancer-pool. - - :returns: list of <LoadbalancerHealthmonitor> - - """ - return getattr(self, 'loadbalancer_healthmonitor_refs', None) - #end get_loadbalancer_healthmonitor_refs - - def get_project_back_refs(self): - """Return list of all projects using this loadbalancer-pool""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_ip_back_refs(self): - """Return list of all virtual-ips using this loadbalancer-pool""" - return getattr(self, 'virtual_ip_back_refs', None) - #end get_virtual_ip_back_refs - - def dump(self): - """Display loadbalancer-pool object in compact form.""" - print '------------ loadbalancer-pool ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P loadbalancer_pool_properties = ', self.get_loadbalancer_pool_properties() - print 'P loadbalancer_pool_provider = ', self.get_loadbalancer_pool_provider() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF service_instance = ', self.get_service_instance_refs() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - print 'REF service_appliance_set = ', self.get_service_appliance_set_refs() - print 'HAS loadbalancer_member = ', self.get_loadbalancer_members() - print 'REF loadbalancer_healthmonitor = ', self.get_loadbalancer_healthmonitor_refs() - print 'BCK virtual_ip = ', self.get_virtual_ip_back_refs() - #end dump - -#end class LoadbalancerPool - -class VirtualDnsRecord(object): - """ - Represents virtual-DNS-record configuration representation. - - Child of: - :class:`.VirtualDns` object OR - - Properties: - * virtual-DNS-record-data (:class:`.VirtualDnsRecordType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'virtual_DNS_record_data', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'virtual_DNS_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, virtual_DNS_record_data = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-DNS-record' - if not name: - name = u'default-virtual-DNS-record' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'virtual-DNS' - self.fq_name = [u'default-domain', u'default-virtual-DNS'] - self.fq_name.append(name) - - - # property fields - if virtual_DNS_record_data: - self._virtual_DNS_record_data = virtual_DNS_record_data - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-DNS-record).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-DNS-record in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-DNS-record as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-DNS-record's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-DNS-record's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_DNS_record_data(self): - """Get virtual-DNS-record-data for virtual-DNS-record. - - :returns: VirtualDnsRecordType object - - """ - return getattr(self, '_virtual_DNS_record_data', None) - #end virtual_DNS_record_data - - @virtual_DNS_record_data.setter - def virtual_DNS_record_data(self, virtual_DNS_record_data): - """Set virtual-DNS-record-data for virtual-DNS-record. - - :param virtual_DNS_record_data: VirtualDnsRecordType object - - """ - self._virtual_DNS_record_data = virtual_DNS_record_data - #end virtual_DNS_record_data - - def set_virtual_DNS_record_data(self, value): - self.virtual_DNS_record_data = value - #end set_virtual_DNS_record_data - - def get_virtual_DNS_record_data(self): - return self.virtual_DNS_record_data - #end get_virtual_DNS_record_data - - @property - def id_perms(self): - """Get id-perms for virtual-DNS-record. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-DNS-record. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-DNS-record. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-DNS-record. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_DNS_record_data'): - self._serialize_field_to_json(serialized, field_names, 'virtual_DNS_record_data') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_virtual_DNS_back_refs(self): - """Return list of all virtual-DNSs using this virtual-DNS-record""" - return getattr(self, 'virtual_DNS_back_refs', None) - #end get_virtual_DNS_back_refs - - def dump(self): - """Display virtual-DNS-record object in compact form.""" - print '------------ virtual-DNS-record ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_DNS_record_data = ', self.get_virtual_DNS_record_data() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class VirtualDnsRecord - -class RouteTarget(object): - """ - Represents route-target configuration representation. - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.LogicalRouter` objects - * list of :class:`.RoutingInstance` objects - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'logical_router_back_refs', 'routing_instance_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'route-target' - if not name: - name = u'default-route-target' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (route-target).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of route-target in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of route-target as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for route-target. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for route-target. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for route-target. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for route-target. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_logical_router_back_refs(self): - """Return list of all logical-routers using this route-target""" - return getattr(self, 'logical_router_back_refs', None) - #end get_logical_router_back_refs - - def get_routing_instance_back_refs(self): - """Return list of all routing-instances using this route-target""" - return getattr(self, 'routing_instance_back_refs', None) - #end get_routing_instance_back_refs - - def dump(self): - """Display route-target object in compact form.""" - print '------------ route-target ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK logical_router = ', self.get_logical_router_back_refs() - print 'BCK routing_instance = ', self.get_routing_instance_back_refs() - #end dump - -#end class RouteTarget - -class FloatingIp(object): - """ - Represents floating-ip configuration representation. - - Child of: - :class:`.FloatingIpPool` object OR - - Properties: - * floating-ip-address (IpAddressType type) - * floating-ip-is-virtual-ip (xsd:boolean type) - * floating-ip-fixed-ip-address (IpAddressType type) - * floating-ip-address-family (IpAddressFamilyType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.Project` objects - * list of :class:`.VirtualMachineInterface` objects - - Referred by: - * list of :class:`.CustomerAttachment` objects - """ - - prop_fields = set([u'floating_ip_address', u'floating_ip_is_virtual_ip', u'floating_ip_fixed_ip_address', u'floating_ip_address_family', u'id_perms', u'display_name']) - ref_fields = set([u'project_refs', 'virtual_machine_interface_refs']) - backref_fields = set([u'floating_ip_pool_back_refs', 'customer_attachment_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, floating_ip_address = None, floating_ip_is_virtual_ip = None, floating_ip_fixed_ip_address = None, floating_ip_address_family = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'floating-ip' - if not name: - name = u'default-floating-ip' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'floating-ip-pool' - self.fq_name = [u'default-domain', u'default-project', u'default-virtual-network', u'default-floating-ip-pool'] - self.fq_name.append(name) - - - # property fields - if floating_ip_address: - self._floating_ip_address = floating_ip_address - if floating_ip_is_virtual_ip: - self._floating_ip_is_virtual_ip = floating_ip_is_virtual_ip - if floating_ip_fixed_ip_address: - self._floating_ip_fixed_ip_address = floating_ip_fixed_ip_address - if floating_ip_address_family: - self._floating_ip_address_family = floating_ip_address_family - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (floating-ip).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of floating-ip in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of floating-ip as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of floating-ip's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of floating-ip's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def floating_ip_address(self): - """Get floating-ip-address for floating-ip. - - :returns: IpAddressType object - - """ - return getattr(self, '_floating_ip_address', None) - #end floating_ip_address - - @floating_ip_address.setter - def floating_ip_address(self, floating_ip_address): - """Set floating-ip-address for floating-ip. - - :param floating_ip_address: IpAddressType object - - """ - self._floating_ip_address = floating_ip_address - #end floating_ip_address - - def set_floating_ip_address(self, value): - self.floating_ip_address = value - #end set_floating_ip_address - - def get_floating_ip_address(self): - return self.floating_ip_address - #end get_floating_ip_address - - @property - def floating_ip_is_virtual_ip(self): - """Get floating-ip-is-virtual-ip for floating-ip. - - :returns: xsd:boolean object - - """ - return getattr(self, '_floating_ip_is_virtual_ip', None) - #end floating_ip_is_virtual_ip - - @floating_ip_is_virtual_ip.setter - def floating_ip_is_virtual_ip(self, floating_ip_is_virtual_ip): - """Set floating-ip-is-virtual-ip for floating-ip. - - :param floating_ip_is_virtual_ip: xsd:boolean object - - """ - self._floating_ip_is_virtual_ip = floating_ip_is_virtual_ip - #end floating_ip_is_virtual_ip - - def set_floating_ip_is_virtual_ip(self, value): - self.floating_ip_is_virtual_ip = value - #end set_floating_ip_is_virtual_ip - - def get_floating_ip_is_virtual_ip(self): - return self.floating_ip_is_virtual_ip - #end get_floating_ip_is_virtual_ip - - @property - def floating_ip_fixed_ip_address(self): - """Get floating-ip-fixed-ip-address for floating-ip. - - :returns: IpAddressType object - - """ - return getattr(self, '_floating_ip_fixed_ip_address', None) - #end floating_ip_fixed_ip_address - - @floating_ip_fixed_ip_address.setter - def floating_ip_fixed_ip_address(self, floating_ip_fixed_ip_address): - """Set floating-ip-fixed-ip-address for floating-ip. - - :param floating_ip_fixed_ip_address: IpAddressType object - - """ - self._floating_ip_fixed_ip_address = floating_ip_fixed_ip_address - #end floating_ip_fixed_ip_address - - def set_floating_ip_fixed_ip_address(self, value): - self.floating_ip_fixed_ip_address = value - #end set_floating_ip_fixed_ip_address - - def get_floating_ip_fixed_ip_address(self): - return self.floating_ip_fixed_ip_address - #end get_floating_ip_fixed_ip_address - - @property - def floating_ip_address_family(self): - """Get floating-ip-address-family for floating-ip. - - :returns: IpAddressFamilyType object - - """ - return getattr(self, '_floating_ip_address_family', None) - #end floating_ip_address_family - - @floating_ip_address_family.setter - def floating_ip_address_family(self, floating_ip_address_family): - """Set floating-ip-address-family for floating-ip. - - :param floating_ip_address_family: IpAddressFamilyType object - - """ - self._floating_ip_address_family = floating_ip_address_family - #end floating_ip_address_family - - def set_floating_ip_address_family(self, value): - self.floating_ip_address_family = value - #end set_floating_ip_address_family - - def get_floating_ip_address_family(self): - return self.floating_ip_address_family - #end get_floating_ip_address_family - - @property - def id_perms(self): - """Get id-perms for floating-ip. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for floating-ip. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for floating-ip. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for floating-ip. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_floating_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_address') - if hasattr(self, '_floating_ip_is_virtual_ip'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_is_virtual_ip') - if hasattr(self, '_floating_ip_fixed_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_fixed_ip_address') - if hasattr(self, '_floating_ip_address_family'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_address_family') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'project_refs'): - self._serialize_field_to_json(serialized, field_names, 'project_refs') - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - return serialized - #end serialize_to_json - - def set_project(self, ref_obj): - """Set project for floating-ip. - - :param ref_obj: Project object - - """ - self.project_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.project_refs[0]['uuid'] = ref_obj.uuid - - #end set_project - - def add_project(self, ref_obj): - """Add project to floating-ip. - - :param ref_obj: Project object - - """ - refs = getattr(self, 'project_refs', []) - if not refs: - self.project_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.project_refs.append(ref_info) - #end add_project - - def del_project(self, ref_obj): - refs = self.get_project_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.project_refs.remove(ref) - return - #end del_project - - def set_project_list(self, ref_obj_list): - """Set project list for floating-ip. - - :param ref_obj_list: list of Project object - - """ - self.project_refs = ref_obj_list - #end set_project_list - - def get_project_refs(self): - """Return project list for floating-ip. - - :returns: list of <Project> - - """ - return getattr(self, 'project_refs', None) - #end get_project_refs - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for floating-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to floating-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for floating-ip. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for floating-ip. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def get_floating_ip_pool_back_refs(self): - """Return list of all floating-ip-pools using this floating-ip""" - return getattr(self, 'floating_ip_pool_back_refs', None) - #end get_floating_ip_pool_back_refs - - def get_customer_attachment_back_refs(self): - """Return list of all customer-attachments using this floating-ip""" - return getattr(self, 'customer_attachment_back_refs', None) - #end get_customer_attachment_back_refs - - def dump(self): - """Display floating-ip object in compact form.""" - print '------------ floating-ip ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P floating_ip_address = ', self.get_floating_ip_address() - print 'P floating_ip_is_virtual_ip = ', self.get_floating_ip_is_virtual_ip() - print 'P floating_ip_fixed_ip_address = ', self.get_floating_ip_fixed_ip_address() - print 'P floating_ip_address_family = ', self.get_floating_ip_address_family() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF project = ', self.get_project_refs() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - print 'BCK customer_attachment = ', self.get_customer_attachment_back_refs() - #end dump - -#end class FloatingIp - -class FloatingIpPool(object): - """ - Represents floating-ip-pool configuration representation. - - Child of: - :class:`.VirtualNetwork` object OR - - Properties: - * floating-ip-pool-prefixes (:class:`.FloatingIpPoolType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.FloatingIp` objects - - References to: - - Referred by: - * list of :class:`.Project` objects - """ - - prop_fields = set([u'floating_ip_pool_prefixes', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'virtual_network_back_refs', u'project_back_refs']) - children_fields = set([u'floating_ips']) - - def __init__(self, name = None, parent_obj = None, floating_ip_pool_prefixes = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'floating-ip-pool' - if not name: - name = u'default-floating-ip-pool' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'virtual-network' - self.fq_name = [u'default-domain', u'default-project', u'default-virtual-network'] - self.fq_name.append(name) - - - # property fields - if floating_ip_pool_prefixes: - self._floating_ip_pool_prefixes = floating_ip_pool_prefixes - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (floating-ip-pool).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of floating-ip-pool in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of floating-ip-pool as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of floating-ip-pool's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of floating-ip-pool's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def floating_ip_pool_prefixes(self): - """Get floating-ip-pool-prefixes for floating-ip-pool. - - :returns: FloatingIpPoolType object - - """ - return getattr(self, '_floating_ip_pool_prefixes', None) - #end floating_ip_pool_prefixes - - @floating_ip_pool_prefixes.setter - def floating_ip_pool_prefixes(self, floating_ip_pool_prefixes): - """Set floating-ip-pool-prefixes for floating-ip-pool. - - :param floating_ip_pool_prefixes: FloatingIpPoolType object - - """ - self._floating_ip_pool_prefixes = floating_ip_pool_prefixes - #end floating_ip_pool_prefixes - - def set_floating_ip_pool_prefixes(self, value): - self.floating_ip_pool_prefixes = value - #end set_floating_ip_pool_prefixes - - def get_floating_ip_pool_prefixes(self): - return self.floating_ip_pool_prefixes - #end get_floating_ip_pool_prefixes - - @property - def id_perms(self): - """Get id-perms for floating-ip-pool. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for floating-ip-pool. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for floating-ip-pool. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for floating-ip-pool. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_floating_ip_pool_prefixes'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_pool_prefixes') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_floating_ips(self): - return getattr(self, 'floating_ips', None) - #end get_floating_ips - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this floating-ip-pool""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def get_project_back_refs(self): - """Return list of all projects using this floating-ip-pool""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def dump(self): - """Display floating-ip-pool object in compact form.""" - print '------------ floating-ip-pool ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P floating_ip_pool_prefixes = ', self.get_floating_ip_pool_prefixes() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS floating_ip = ', self.get_floating_ips() - print 'BCK project = ', self.get_project_back_refs() - #end dump - -#end class FloatingIpPool - -class PhysicalRouter(object): - """ - Represents physical-router configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * physical-router-management-ip (IpAddress type) - * physical-router-dataplane-ip (IpAddress type) - * physical-router-vendor-name (xsd:string type) - * physical-router-product-name (xsd:string type) - * physical-router-vnc-managed (xsd:boolean type) - * physical-router-user-credentials (:class:`.UserCredentials` type) - * physical-router-snmp-credentials (:class:`.SNMPCredentials` type) - * physical-router-junos-service-ports (:class:`.JunosServicePorts` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.PhysicalInterface` objects - * list of :class:`.LogicalInterface` objects - - References to: - * list of :class:`.VirtualRouter` objects - * list of :class:`.BgpRouter` objects - * list of :class:`.VirtualNetwork` objects - - Referred by: - """ - - prop_fields = set([u'physical_router_management_ip', u'physical_router_dataplane_ip', u'physical_router_vendor_name', u'physical_router_product_name', u'physical_router_vnc_managed', u'physical_router_user_credentials', u'physical_router_snmp_credentials', u'physical_router_junos_service_ports', u'id_perms', u'display_name']) - ref_fields = set(['virtual_router_refs', 'bgp_router_refs', u'virtual_network_refs']) - backref_fields = set([u'global_system_config_back_refs']) - children_fields = set([u'physical_interfaces', u'logical_interfaces']) - - def __init__(self, name = None, parent_obj = None, physical_router_management_ip = None, physical_router_dataplane_ip = None, physical_router_vendor_name = None, physical_router_product_name = None, physical_router_vnc_managed = None, physical_router_user_credentials = None, physical_router_snmp_credentials = None, physical_router_junos_service_ports = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'physical-router' - if not name: - name = u'default-physical-router' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if physical_router_management_ip: - self._physical_router_management_ip = physical_router_management_ip - if physical_router_dataplane_ip: - self._physical_router_dataplane_ip = physical_router_dataplane_ip - if physical_router_vendor_name: - self._physical_router_vendor_name = physical_router_vendor_name - if physical_router_product_name: - self._physical_router_product_name = physical_router_product_name - if physical_router_vnc_managed: - self._physical_router_vnc_managed = physical_router_vnc_managed - if physical_router_user_credentials: - self._physical_router_user_credentials = physical_router_user_credentials - if physical_router_snmp_credentials: - self._physical_router_snmp_credentials = physical_router_snmp_credentials - if physical_router_junos_service_ports: - self._physical_router_junos_service_ports = physical_router_junos_service_ports - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (physical-router).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of physical-router in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of physical-router as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of physical-router's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of physical-router's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def physical_router_management_ip(self): - """Get physical-router-management-ip for physical-router. - - :returns: IpAddress object - - """ - return getattr(self, '_physical_router_management_ip', None) - #end physical_router_management_ip - - @physical_router_management_ip.setter - def physical_router_management_ip(self, physical_router_management_ip): - """Set physical-router-management-ip for physical-router. - - :param physical_router_management_ip: IpAddress object - - """ - self._physical_router_management_ip = physical_router_management_ip - #end physical_router_management_ip - - def set_physical_router_management_ip(self, value): - self.physical_router_management_ip = value - #end set_physical_router_management_ip - - def get_physical_router_management_ip(self): - return self.physical_router_management_ip - #end get_physical_router_management_ip - - @property - def physical_router_dataplane_ip(self): - """Get physical-router-dataplane-ip for physical-router. - - :returns: IpAddress object - - """ - return getattr(self, '_physical_router_dataplane_ip', None) - #end physical_router_dataplane_ip - - @physical_router_dataplane_ip.setter - def physical_router_dataplane_ip(self, physical_router_dataplane_ip): - """Set physical-router-dataplane-ip for physical-router. - - :param physical_router_dataplane_ip: IpAddress object - - """ - self._physical_router_dataplane_ip = physical_router_dataplane_ip - #end physical_router_dataplane_ip - - def set_physical_router_dataplane_ip(self, value): - self.physical_router_dataplane_ip = value - #end set_physical_router_dataplane_ip - - def get_physical_router_dataplane_ip(self): - return self.physical_router_dataplane_ip - #end get_physical_router_dataplane_ip - - @property - def physical_router_vendor_name(self): - """Get physical-router-vendor-name for physical-router. - - :returns: xsd:string object - - """ - return getattr(self, '_physical_router_vendor_name', None) - #end physical_router_vendor_name - - @physical_router_vendor_name.setter - def physical_router_vendor_name(self, physical_router_vendor_name): - """Set physical-router-vendor-name for physical-router. - - :param physical_router_vendor_name: xsd:string object - - """ - self._physical_router_vendor_name = physical_router_vendor_name - #end physical_router_vendor_name - - def set_physical_router_vendor_name(self, value): - self.physical_router_vendor_name = value - #end set_physical_router_vendor_name - - def get_physical_router_vendor_name(self): - return self.physical_router_vendor_name - #end get_physical_router_vendor_name - - @property - def physical_router_product_name(self): - """Get physical-router-product-name for physical-router. - - :returns: xsd:string object - - """ - return getattr(self, '_physical_router_product_name', None) - #end physical_router_product_name - - @physical_router_product_name.setter - def physical_router_product_name(self, physical_router_product_name): - """Set physical-router-product-name for physical-router. - - :param physical_router_product_name: xsd:string object - - """ - self._physical_router_product_name = physical_router_product_name - #end physical_router_product_name - - def set_physical_router_product_name(self, value): - self.physical_router_product_name = value - #end set_physical_router_product_name - - def get_physical_router_product_name(self): - return self.physical_router_product_name - #end get_physical_router_product_name - - @property - def physical_router_vnc_managed(self): - """Get physical-router-vnc-managed for physical-router. - - :returns: xsd:boolean object - - """ - return getattr(self, '_physical_router_vnc_managed', None) - #end physical_router_vnc_managed - - @physical_router_vnc_managed.setter - def physical_router_vnc_managed(self, physical_router_vnc_managed): - """Set physical-router-vnc-managed for physical-router. - - :param physical_router_vnc_managed: xsd:boolean object - - """ - self._physical_router_vnc_managed = physical_router_vnc_managed - #end physical_router_vnc_managed - - def set_physical_router_vnc_managed(self, value): - self.physical_router_vnc_managed = value - #end set_physical_router_vnc_managed - - def get_physical_router_vnc_managed(self): - return self.physical_router_vnc_managed - #end get_physical_router_vnc_managed - - @property - def physical_router_user_credentials(self): - """Get physical-router-user-credentials for physical-router. - - :returns: UserCredentials object - - """ - return getattr(self, '_physical_router_user_credentials', None) - #end physical_router_user_credentials - - @physical_router_user_credentials.setter - def physical_router_user_credentials(self, physical_router_user_credentials): - """Set physical-router-user-credentials for physical-router. - - :param physical_router_user_credentials: UserCredentials object - - """ - self._physical_router_user_credentials = physical_router_user_credentials - #end physical_router_user_credentials - - def set_physical_router_user_credentials(self, value): - self.physical_router_user_credentials = value - #end set_physical_router_user_credentials - - def get_physical_router_user_credentials(self): - return self.physical_router_user_credentials - #end get_physical_router_user_credentials - - @property - def physical_router_snmp_credentials(self): - """Get physical-router-snmp-credentials for physical-router. - - :returns: SNMPCredentials object - - """ - return getattr(self, '_physical_router_snmp_credentials', None) - #end physical_router_snmp_credentials - - @physical_router_snmp_credentials.setter - def physical_router_snmp_credentials(self, physical_router_snmp_credentials): - """Set physical-router-snmp-credentials for physical-router. - - :param physical_router_snmp_credentials: SNMPCredentials object - - """ - self._physical_router_snmp_credentials = physical_router_snmp_credentials - #end physical_router_snmp_credentials - - def set_physical_router_snmp_credentials(self, value): - self.physical_router_snmp_credentials = value - #end set_physical_router_snmp_credentials - - def get_physical_router_snmp_credentials(self): - return self.physical_router_snmp_credentials - #end get_physical_router_snmp_credentials - - @property - def physical_router_junos_service_ports(self): - """Get physical-router-junos-service-ports for physical-router. - - :returns: JunosServicePorts object - - """ - return getattr(self, '_physical_router_junos_service_ports', None) - #end physical_router_junos_service_ports - - @physical_router_junos_service_ports.setter - def physical_router_junos_service_ports(self, physical_router_junos_service_ports): - """Set physical-router-junos-service-ports for physical-router. - - :param physical_router_junos_service_ports: JunosServicePorts object - - """ - self._physical_router_junos_service_ports = physical_router_junos_service_ports - #end physical_router_junos_service_ports - - def set_physical_router_junos_service_ports(self, value): - self.physical_router_junos_service_ports = value - #end set_physical_router_junos_service_ports - - def get_physical_router_junos_service_ports(self): - return self.physical_router_junos_service_ports - #end get_physical_router_junos_service_ports - - @property - def id_perms(self): - """Get id-perms for physical-router. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for physical-router. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for physical-router. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for physical-router. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_physical_router_management_ip'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_management_ip') - if hasattr(self, '_physical_router_dataplane_ip'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_dataplane_ip') - if hasattr(self, '_physical_router_vendor_name'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_vendor_name') - if hasattr(self, '_physical_router_product_name'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_product_name') - if hasattr(self, '_physical_router_vnc_managed'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_vnc_managed') - if hasattr(self, '_physical_router_user_credentials'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_user_credentials') - if hasattr(self, '_physical_router_snmp_credentials'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_snmp_credentials') - if hasattr(self, '_physical_router_junos_service_ports'): - self._serialize_field_to_json(serialized, field_names, 'physical_router_junos_service_ports') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_router_refs') - if hasattr(self, 'bgp_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'bgp_router_refs') - if hasattr(self, 'virtual_network_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_refs') - return serialized - #end serialize_to_json - - def get_physical_interfaces(self): - return getattr(self, 'physical_interfaces', None) - #end get_physical_interfaces - - def get_logical_interfaces(self): - return getattr(self, 'logical_interfaces', None) - #end get_logical_interfaces - - def set_virtual_router(self, ref_obj): - """Set virtual-router for physical-router. - - :param ref_obj: VirtualRouter object - - """ - self.virtual_router_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_router - - def add_virtual_router(self, ref_obj): - """Add virtual-router to physical-router. - - :param ref_obj: VirtualRouter object - - """ - refs = getattr(self, 'virtual_router_refs', []) - if not refs: - self.virtual_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_router_refs.append(ref_info) - #end add_virtual_router - - def del_virtual_router(self, ref_obj): - refs = self.get_virtual_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_router_refs.remove(ref) - return - #end del_virtual_router - - def set_virtual_router_list(self, ref_obj_list): - """Set virtual-router list for physical-router. - - :param ref_obj_list: list of VirtualRouter object - - """ - self.virtual_router_refs = ref_obj_list - #end set_virtual_router_list - - def get_virtual_router_refs(self): - """Return virtual-router list for physical-router. - - :returns: list of <VirtualRouter> - - """ - return getattr(self, 'virtual_router_refs', None) - #end get_virtual_router_refs - - def set_bgp_router(self, ref_obj): - """Set bgp-router for physical-router. - - :param ref_obj: BgpRouter object - - """ - self.bgp_router_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.bgp_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_bgp_router - - def add_bgp_router(self, ref_obj): - """Add bgp-router to physical-router. - - :param ref_obj: BgpRouter object - - """ - refs = getattr(self, 'bgp_router_refs', []) - if not refs: - self.bgp_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.bgp_router_refs.append(ref_info) - #end add_bgp_router - - def del_bgp_router(self, ref_obj): - refs = self.get_bgp_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.bgp_router_refs.remove(ref) - return - #end del_bgp_router - - def set_bgp_router_list(self, ref_obj_list): - """Set bgp-router list for physical-router. - - :param ref_obj_list: list of BgpRouter object - - """ - self.bgp_router_refs = ref_obj_list - #end set_bgp_router_list - - def get_bgp_router_refs(self): - """Return bgp-router list for physical-router. - - :returns: list of <BgpRouter> - - """ - return getattr(self, 'bgp_router_refs', None) - #end get_bgp_router_refs - - def set_virtual_network(self, ref_obj): - """Set virtual-network for physical-router. - - :param ref_obj: VirtualNetwork object - - """ - self.virtual_network_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_network_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_network - - def add_virtual_network(self, ref_obj): - """Add virtual-network to physical-router. - - :param ref_obj: VirtualNetwork object - - """ - refs = getattr(self, 'virtual_network_refs', []) - if not refs: - self.virtual_network_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_network_refs.append(ref_info) - #end add_virtual_network - - def del_virtual_network(self, ref_obj): - refs = self.get_virtual_network_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_network_refs.remove(ref) - return - #end del_virtual_network - - def set_virtual_network_list(self, ref_obj_list): - """Set virtual-network list for physical-router. - - :param ref_obj_list: list of VirtualNetwork object - - """ - self.virtual_network_refs = ref_obj_list - #end set_virtual_network_list - - def get_virtual_network_refs(self): - """Return virtual-network list for physical-router. - - :returns: list of <VirtualNetwork> - - """ - return getattr(self, 'virtual_network_refs', None) - #end get_virtual_network_refs - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this physical-router""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def dump(self): - """Display physical-router object in compact form.""" - print '------------ physical-router ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P physical_router_management_ip = ', self.get_physical_router_management_ip() - print 'P physical_router_dataplane_ip = ', self.get_physical_router_dataplane_ip() - print 'P physical_router_vendor_name = ', self.get_physical_router_vendor_name() - print 'P physical_router_product_name = ', self.get_physical_router_product_name() - print 'P physical_router_vnc_managed = ', self.get_physical_router_vnc_managed() - print 'P physical_router_user_credentials = ', self.get_physical_router_user_credentials() - print 'P physical_router_snmp_credentials = ', self.get_physical_router_snmp_credentials() - print 'P physical_router_junos_service_ports = ', self.get_physical_router_junos_service_ports() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_router = ', self.get_virtual_router_refs() - print 'REF bgp_router = ', self.get_bgp_router_refs() - print 'REF virtual_network = ', self.get_virtual_network_refs() - print 'HAS physical_interface = ', self.get_physical_interfaces() - print 'HAS logical_interface = ', self.get_logical_interfaces() - #end dump - -#end class PhysicalRouter - -class BgpRouter(object): - """ - Represents bgp-router configuration representation. - - Child of: - :class:`.RoutingInstance` object OR - - Properties: - * bgp-router-parameters (:class:`.BgpRouterParams` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of (:class:`.BgpRouter` object, :class:`.BgpPeeringAttributes` attribute) - - Referred by: - * list of :class:`.GlobalSystemConfig` objects - * list of :class:`.PhysicalRouter` objects - * list of :class:`.VirtualRouter` objects - * list of :class:`.BgpRouter` objects - """ - - prop_fields = set([u'bgp_router_parameters', u'id_perms', u'display_name']) - ref_fields = set(['bgp_router_refs']) - backref_fields = set([u'global_system_config_back_refs', u'physical_router_back_refs', 'virtual_router_back_refs', 'routing_instance_back_refs', 'bgp_router_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, bgp_router_parameters = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'bgp-router' - if not name: - name = u'default-bgp-router' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'routing-instance' - self.fq_name = [u'default-domain', u'default-project', u'default-virtual-network', 'default-routing-instance'] - self.fq_name.append(name) - - - # property fields - if bgp_router_parameters: - self._bgp_router_parameters = bgp_router_parameters - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (bgp-router).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of bgp-router in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of bgp-router as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of bgp-router's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of bgp-router's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def bgp_router_parameters(self): - """Get bgp-router-parameters for bgp-router. - - :returns: BgpRouterParams object - - """ - return getattr(self, '_bgp_router_parameters', None) - #end bgp_router_parameters - - @bgp_router_parameters.setter - def bgp_router_parameters(self, bgp_router_parameters): - """Set bgp-router-parameters for bgp-router. - - :param bgp_router_parameters: BgpRouterParams object - - """ - self._bgp_router_parameters = bgp_router_parameters - #end bgp_router_parameters - - def set_bgp_router_parameters(self, value): - self.bgp_router_parameters = value - #end set_bgp_router_parameters - - def get_bgp_router_parameters(self): - return self.bgp_router_parameters - #end get_bgp_router_parameters - - @property - def id_perms(self): - """Get id-perms for bgp-router. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for bgp-router. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for bgp-router. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for bgp-router. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_bgp_router_parameters'): - self._serialize_field_to_json(serialized, field_names, 'bgp_router_parameters') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'bgp_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'bgp_router_refs') - return serialized - #end serialize_to_json - - def set_bgp_router(self, ref_obj, ref_data): - """Set bgp-router for bgp-router. - - :param ref_obj: BgpRouter object - :param ref_data: BgpPeeringAttributes object - - """ - self.bgp_router_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.bgp_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_bgp_router - - def add_bgp_router(self, ref_obj, ref_data): - """Add bgp-router to bgp-router. - - :param ref_obj: BgpRouter object - :param ref_data: BgpPeeringAttributes object - - """ - refs = getattr(self, 'bgp_router_refs', []) - if not refs: - self.bgp_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.bgp_router_refs.append(ref_info) - #end add_bgp_router - - def del_bgp_router(self, ref_obj): - refs = self.get_bgp_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.bgp_router_refs.remove(ref) - return - #end del_bgp_router - - def set_bgp_router_list(self, ref_obj_list, ref_data_list): - """Set bgp-router list for bgp-router. - - :param ref_obj_list: list of BgpRouter object - :param ref_data_list: list of BgpPeeringAttributes object - - """ - self.bgp_router_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_bgp_router_list - - def get_bgp_router_refs(self): - """Return bgp-router list for bgp-router. - - :returns: list of tuple <BgpRouter, BgpPeeringAttributes> - - """ - return getattr(self, 'bgp_router_refs', None) - #end get_bgp_router_refs - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this bgp-router""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def get_physical_router_back_refs(self): - """Return list of all physical-routers using this bgp-router""" - return getattr(self, 'physical_router_back_refs', None) - #end get_physical_router_back_refs - - def get_virtual_router_back_refs(self): - """Return list of all virtual-routers using this bgp-router""" - return getattr(self, 'virtual_router_back_refs', None) - #end get_virtual_router_back_refs - - def get_routing_instance_back_refs(self): - """Return list of all routing-instances using this bgp-router""" - return getattr(self, 'routing_instance_back_refs', None) - #end get_routing_instance_back_refs - - def get_bgp_router_back_refs(self): - """Return list of all bgp-routers using this bgp-router""" - return getattr(self, 'bgp_router_back_refs', None) - #end get_bgp_router_back_refs - - def dump(self): - """Display bgp-router object in compact form.""" - print '------------ bgp-router ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P bgp_router_parameters = ', self.get_bgp_router_parameters() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF bgp_router = ', self.get_bgp_router_refs() - print 'BCK global_system_config = ', self.get_global_system_config_back_refs() - print 'BCK physical_router = ', self.get_physical_router_back_refs() - print 'BCK virtual_router = ', self.get_virtual_router_back_refs() - print 'BCK bgp_router = ', self.get_bgp_router_back_refs() - #end dump - -#end class BgpRouter - -class VirtualRouter(object): - """ - Represents virtual-router configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * virtual-router-type (VirtualRouterType type) - * virtual-router-ip-address (IpAddressType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.BgpRouter` objects - * list of :class:`.VirtualMachine` objects - - Referred by: - * list of :class:`.PhysicalRouter` objects - * list of :class:`.ProviderAttachment` objects - """ - - prop_fields = set([u'virtual_router_type', u'virtual_router_ip_address', u'id_perms', u'display_name']) - ref_fields = set(['bgp_router_refs', u'virtual_machine_refs']) - backref_fields = set([u'physical_router_back_refs', u'global_system_config_back_refs', 'provider_attachment_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, virtual_router_type = None, virtual_router_ip_address = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-router' - if not name: - name = u'default-virtual-router' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if virtual_router_type: - self._virtual_router_type = virtual_router_type - if virtual_router_ip_address: - self._virtual_router_ip_address = virtual_router_ip_address - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-router).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-router in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-router as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-router's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-router's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_router_type(self): - """Get virtual-router-type for virtual-router. - - :returns: VirtualRouterType object - - """ - return getattr(self, '_virtual_router_type', None) - #end virtual_router_type - - @virtual_router_type.setter - def virtual_router_type(self, virtual_router_type): - """Set virtual-router-type for virtual-router. - - :param virtual_router_type: VirtualRouterType object - - """ - self._virtual_router_type = virtual_router_type - #end virtual_router_type - - def set_virtual_router_type(self, value): - self.virtual_router_type = value - #end set_virtual_router_type - - def get_virtual_router_type(self): - return self.virtual_router_type - #end get_virtual_router_type - - @property - def virtual_router_ip_address(self): - """Get virtual-router-ip-address for virtual-router. - - :returns: IpAddressType object - - """ - return getattr(self, '_virtual_router_ip_address', None) - #end virtual_router_ip_address - - @virtual_router_ip_address.setter - def virtual_router_ip_address(self, virtual_router_ip_address): - """Set virtual-router-ip-address for virtual-router. - - :param virtual_router_ip_address: IpAddressType object - - """ - self._virtual_router_ip_address = virtual_router_ip_address - #end virtual_router_ip_address - - def set_virtual_router_ip_address(self, value): - self.virtual_router_ip_address = value - #end set_virtual_router_ip_address - - def get_virtual_router_ip_address(self): - return self.virtual_router_ip_address - #end get_virtual_router_ip_address - - @property - def id_perms(self): - """Get id-perms for virtual-router. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-router. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-router. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-router. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_router_type'): - self._serialize_field_to_json(serialized, field_names, 'virtual_router_type') - if hasattr(self, '_virtual_router_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'virtual_router_ip_address') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'bgp_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'bgp_router_refs') - if hasattr(self, 'virtual_machine_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_refs') - return serialized - #end serialize_to_json - - def set_bgp_router(self, ref_obj): - """Set bgp-router for virtual-router. - - :param ref_obj: BgpRouter object - - """ - self.bgp_router_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.bgp_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_bgp_router - - def add_bgp_router(self, ref_obj): - """Add bgp-router to virtual-router. - - :param ref_obj: BgpRouter object - - """ - refs = getattr(self, 'bgp_router_refs', []) - if not refs: - self.bgp_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.bgp_router_refs.append(ref_info) - #end add_bgp_router - - def del_bgp_router(self, ref_obj): - refs = self.get_bgp_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.bgp_router_refs.remove(ref) - return - #end del_bgp_router - - def set_bgp_router_list(self, ref_obj_list): - """Set bgp-router list for virtual-router. - - :param ref_obj_list: list of BgpRouter object - - """ - self.bgp_router_refs = ref_obj_list - #end set_bgp_router_list - - def get_bgp_router_refs(self): - """Return bgp-router list for virtual-router. - - :returns: list of <BgpRouter> - - """ - return getattr(self, 'bgp_router_refs', None) - #end get_bgp_router_refs - - def set_virtual_machine(self, ref_obj): - """Set virtual-machine for virtual-router. - - :param ref_obj: VirtualMachine object - - """ - self.virtual_machine_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine - - def add_virtual_machine(self, ref_obj): - """Add virtual-machine to virtual-router. - - :param ref_obj: VirtualMachine object - - """ - refs = getattr(self, 'virtual_machine_refs', []) - if not refs: - self.virtual_machine_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_refs.append(ref_info) - #end add_virtual_machine - - def del_virtual_machine(self, ref_obj): - refs = self.get_virtual_machine_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_refs.remove(ref) - return - #end del_virtual_machine - - def set_virtual_machine_list(self, ref_obj_list): - """Set virtual-machine list for virtual-router. - - :param ref_obj_list: list of VirtualMachine object - - """ - self.virtual_machine_refs = ref_obj_list - #end set_virtual_machine_list - - def get_virtual_machine_refs(self): - """Return virtual-machine list for virtual-router. - - :returns: list of <VirtualMachine> - - """ - return getattr(self, 'virtual_machine_refs', None) - #end get_virtual_machine_refs - - def get_physical_router_back_refs(self): - """Return list of all physical-routers using this virtual-router""" - return getattr(self, 'physical_router_back_refs', None) - #end get_physical_router_back_refs - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this virtual-router""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def get_provider_attachment_back_refs(self): - """Return list of all provider-attachments using this virtual-router""" - return getattr(self, 'provider_attachment_back_refs', None) - #end get_provider_attachment_back_refs - - def dump(self): - """Display virtual-router object in compact form.""" - print '------------ virtual-router ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_router_type = ', self.get_virtual_router_type() - print 'P virtual_router_ip_address = ', self.get_virtual_router_ip_address() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF bgp_router = ', self.get_bgp_router_refs() - print 'REF virtual_machine = ', self.get_virtual_machine_refs() - print 'BCK physical_router = ', self.get_physical_router_back_refs() - print 'BCK provider_attachment = ', self.get_provider_attachment_back_refs() - #end dump - -#end class VirtualRouter - -class ConfigRoot(object): - """ - Represents config-root configuration representation. - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.GlobalSystemConfig` objects - * list of :class:`.Domain` objects - - References to: - - Referred by: - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([]) - children_fields = set([u'global_system_configs', u'domains']) - - def __init__(self, name = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'config-root' - if not name: - name = u'default-config-root' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (config-root).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of config-root in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of config-root as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for config-root. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for config-root. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for config-root. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for config-root. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_global_system_configs(self): - return getattr(self, 'global_system_configs', None) - #end get_global_system_configs - - def get_domains(self): - return getattr(self, 'domains', None) - #end get_domains - - def dump(self): - """Display config-root object in compact form.""" - print '------------ config-root ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS global_system_config = ', self.get_global_system_configs() - print 'HAS domain = ', self.get_domains() - #end dump - -#end class ConfigRoot - -class Subnet(object): - """ - Represents subnet configuration representation. - - Properties: - * subnet-ip-prefix (:class:`.SubnetType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualMachineInterface` objects - - Referred by: - """ - - prop_fields = set([u'subnet_ip_prefix', u'id_perms', u'display_name']) - ref_fields = set(['virtual_machine_interface_refs']) - backref_fields = set([]) - children_fields = set([]) - - def __init__(self, name = None, subnet_ip_prefix = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'subnet' - if not name: - name = u'default-subnet' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if subnet_ip_prefix: - self._subnet_ip_prefix = subnet_ip_prefix - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (subnet).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of subnet in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of subnet as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def subnet_ip_prefix(self): - """Get subnet-ip-prefix for subnet. - - :returns: SubnetType object - - """ - return getattr(self, '_subnet_ip_prefix', None) - #end subnet_ip_prefix - - @subnet_ip_prefix.setter - def subnet_ip_prefix(self, subnet_ip_prefix): - """Set subnet-ip-prefix for subnet. - - :param subnet_ip_prefix: SubnetType object - - """ - self._subnet_ip_prefix = subnet_ip_prefix - #end subnet_ip_prefix - - def set_subnet_ip_prefix(self, value): - self.subnet_ip_prefix = value - #end set_subnet_ip_prefix - - def get_subnet_ip_prefix(self): - return self.subnet_ip_prefix - #end get_subnet_ip_prefix - - @property - def id_perms(self): - """Get id-perms for subnet. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for subnet. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for subnet. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for subnet. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_subnet_ip_prefix'): - self._serialize_field_to_json(serialized, field_names, 'subnet_ip_prefix') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - return serialized - #end serialize_to_json - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for subnet. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to subnet. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for subnet. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for subnet. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def dump(self): - """Display subnet object in compact form.""" - print '------------ subnet ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P subnet_ip_prefix = ', self.get_subnet_ip_prefix() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - #end dump - -#end class Subnet - -class GlobalSystemConfig(object): - """ - Represents global-system-config configuration representation. - - Child of: - :class:`.ConfigRoot` object OR - - Properties: - * autonomous-system (AutonomousSystemType type) - * config-version (xsd:string type) - * plugin-tuning (:class:`.PluginProperties` type) - * ibgp-auto-mesh (xsd:boolean type) - * ip-fabric-subnets (:class:`.SubnetListType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.GlobalVrouterConfig` objects - * list of :class:`.PhysicalRouter` objects - * list of :class:`.VirtualRouter` objects - * list of :class:`.ConfigNode` objects - * list of :class:`.AnalyticsNode` objects - * list of :class:`.DatabaseNode` objects - * list of :class:`.ServiceApplianceSet` objects - - References to: - * list of :class:`.BgpRouter` objects - - Referred by: - """ - - prop_fields = set([u'autonomous_system', u'config_version', u'plugin_tuning', u'ibgp_auto_mesh', u'ip_fabric_subnets', u'id_perms', u'display_name']) - ref_fields = set(['bgp_router_refs']) - backref_fields = set([u'config_root_back_refs']) - children_fields = set([u'global_vrouter_configs', u'physical_routers', 'virtual_routers', u'config_nodes', u'analytics_nodes', u'database_nodes', u'service_appliance_sets']) - - def __init__(self, name = None, parent_obj = None, autonomous_system = None, config_version = None, plugin_tuning = None, ibgp_auto_mesh = None, ip_fabric_subnets = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'global-system-config' - if not name: - name = u'default-global-system-config' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.fq_name = [name] - - # property fields - if autonomous_system: - self._autonomous_system = autonomous_system - if config_version: - self._config_version = config_version - if plugin_tuning: - self._plugin_tuning = plugin_tuning - if ibgp_auto_mesh: - self._ibgp_auto_mesh = ibgp_auto_mesh - if ip_fabric_subnets: - self._ip_fabric_subnets = ip_fabric_subnets - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (global-system-config).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of global-system-config in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of global-system-config as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of global-system-config's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of global-system-config's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def autonomous_system(self): - """Get autonomous-system for global-system-config. - - :returns: AutonomousSystemType object - - """ - return getattr(self, '_autonomous_system', None) - #end autonomous_system - - @autonomous_system.setter - def autonomous_system(self, autonomous_system): - """Set autonomous-system for global-system-config. - - :param autonomous_system: AutonomousSystemType object - - """ - self._autonomous_system = autonomous_system - #end autonomous_system - - def set_autonomous_system(self, value): - self.autonomous_system = value - #end set_autonomous_system - - def get_autonomous_system(self): - return self.autonomous_system - #end get_autonomous_system - - @property - def config_version(self): - """Get config-version for global-system-config. - - :returns: xsd:string object - - """ - return getattr(self, '_config_version', None) - #end config_version - - @config_version.setter - def config_version(self, config_version): - """Set config-version for global-system-config. - - :param config_version: xsd:string object - - """ - self._config_version = config_version - #end config_version - - def set_config_version(self, value): - self.config_version = value - #end set_config_version - - def get_config_version(self): - return self.config_version - #end get_config_version - - @property - def plugin_tuning(self): - """Get plugin-tuning for global-system-config. - - :returns: PluginProperties object - - """ - return getattr(self, '_plugin_tuning', None) - #end plugin_tuning - - @plugin_tuning.setter - def plugin_tuning(self, plugin_tuning): - """Set plugin-tuning for global-system-config. - - :param plugin_tuning: PluginProperties object - - """ - self._plugin_tuning = plugin_tuning - #end plugin_tuning - - def set_plugin_tuning(self, value): - self.plugin_tuning = value - #end set_plugin_tuning - - def get_plugin_tuning(self): - return self.plugin_tuning - #end get_plugin_tuning - - @property - def ibgp_auto_mesh(self): - """Get ibgp-auto-mesh for global-system-config. - - :returns: xsd:boolean object - - """ - return getattr(self, '_ibgp_auto_mesh', None) - #end ibgp_auto_mesh - - @ibgp_auto_mesh.setter - def ibgp_auto_mesh(self, ibgp_auto_mesh): - """Set ibgp-auto-mesh for global-system-config. - - :param ibgp_auto_mesh: xsd:boolean object - - """ - self._ibgp_auto_mesh = ibgp_auto_mesh - #end ibgp_auto_mesh - - def set_ibgp_auto_mesh(self, value): - self.ibgp_auto_mesh = value - #end set_ibgp_auto_mesh - - def get_ibgp_auto_mesh(self): - return self.ibgp_auto_mesh - #end get_ibgp_auto_mesh - - @property - def ip_fabric_subnets(self): - """Get ip-fabric-subnets for global-system-config. - - :returns: SubnetListType object - - """ - return getattr(self, '_ip_fabric_subnets', None) - #end ip_fabric_subnets - - @ip_fabric_subnets.setter - def ip_fabric_subnets(self, ip_fabric_subnets): - """Set ip-fabric-subnets for global-system-config. - - :param ip_fabric_subnets: SubnetListType object - - """ - self._ip_fabric_subnets = ip_fabric_subnets - #end ip_fabric_subnets - - def set_ip_fabric_subnets(self, value): - self.ip_fabric_subnets = value - #end set_ip_fabric_subnets - - def get_ip_fabric_subnets(self): - return self.ip_fabric_subnets - #end get_ip_fabric_subnets - - @property - def id_perms(self): - """Get id-perms for global-system-config. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for global-system-config. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for global-system-config. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for global-system-config. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_autonomous_system'): - self._serialize_field_to_json(serialized, field_names, 'autonomous_system') - if hasattr(self, '_config_version'): - self._serialize_field_to_json(serialized, field_names, 'config_version') - if hasattr(self, '_plugin_tuning'): - self._serialize_field_to_json(serialized, field_names, 'plugin_tuning') - if hasattr(self, '_ibgp_auto_mesh'): - self._serialize_field_to_json(serialized, field_names, 'ibgp_auto_mesh') - if hasattr(self, '_ip_fabric_subnets'): - self._serialize_field_to_json(serialized, field_names, 'ip_fabric_subnets') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'bgp_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'bgp_router_refs') - return serialized - #end serialize_to_json - - def get_global_vrouter_configs(self): - return getattr(self, 'global_vrouter_configs', None) - #end get_global_vrouter_configs - - def get_physical_routers(self): - return getattr(self, 'physical_routers', None) - #end get_physical_routers - - def get_virtual_routers(self): - return getattr(self, 'virtual_routers', None) - #end get_virtual_routers - - def get_config_nodes(self): - return getattr(self, 'config_nodes', None) - #end get_config_nodes - - def get_analytics_nodes(self): - return getattr(self, 'analytics_nodes', None) - #end get_analytics_nodes - - def get_database_nodes(self): - return getattr(self, 'database_nodes', None) - #end get_database_nodes - - def get_service_appliance_sets(self): - return getattr(self, 'service_appliance_sets', None) - #end get_service_appliance_sets - - def set_bgp_router(self, ref_obj): - """Set bgp-router for global-system-config. - - :param ref_obj: BgpRouter object - - """ - self.bgp_router_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.bgp_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_bgp_router - - def add_bgp_router(self, ref_obj): - """Add bgp-router to global-system-config. - - :param ref_obj: BgpRouter object - - """ - refs = getattr(self, 'bgp_router_refs', []) - if not refs: - self.bgp_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.bgp_router_refs.append(ref_info) - #end add_bgp_router - - def del_bgp_router(self, ref_obj): - refs = self.get_bgp_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.bgp_router_refs.remove(ref) - return - #end del_bgp_router - - def set_bgp_router_list(self, ref_obj_list): - """Set bgp-router list for global-system-config. - - :param ref_obj_list: list of BgpRouter object - - """ - self.bgp_router_refs = ref_obj_list - #end set_bgp_router_list - - def get_bgp_router_refs(self): - """Return bgp-router list for global-system-config. - - :returns: list of <BgpRouter> - - """ - return getattr(self, 'bgp_router_refs', None) - #end get_bgp_router_refs - - def get_config_root_back_refs(self): - """Return list of all config-roots using this global-system-config""" - return getattr(self, 'config_root_back_refs', None) - #end get_config_root_back_refs - - def dump(self): - """Display global-system-config object in compact form.""" - print '------------ global-system-config ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P autonomous_system = ', self.get_autonomous_system() - print 'P config_version = ', self.get_config_version() - print 'P plugin_tuning = ', self.get_plugin_tuning() - print 'P ibgp_auto_mesh = ', self.get_ibgp_auto_mesh() - print 'P ip_fabric_subnets = ', self.get_ip_fabric_subnets() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF bgp_router = ', self.get_bgp_router_refs() - print 'HAS global_vrouter_config = ', self.get_global_vrouter_configs() - print 'HAS physical_router = ', self.get_physical_routers() - print 'HAS virtual_router = ', self.get_virtual_routers() - print 'HAS config_node = ', self.get_config_nodes() - print 'HAS analytics_node = ', self.get_analytics_nodes() - print 'HAS database_node = ', self.get_database_nodes() - print 'HAS service_appliance_set = ', self.get_service_appliance_sets() - #end dump - -#end class GlobalSystemConfig - -class ServiceAppliance(object): - """ - Represents service-appliance configuration representation. - - Child of: - :class:`.ServiceApplianceSet` object OR - - Properties: - * service-appliance-user-credentials (:class:`.UserCredentials` type) - * service-appliance-ip-address (IpAddressType type) - * service-appliance-properties (:class:`.KeyValuePairs` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'service_appliance_user_credentials', u'service_appliance_ip_address', u'service_appliance_properties', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'service_appliance_set_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, service_appliance_user_credentials = None, service_appliance_ip_address = None, service_appliance_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'service-appliance' - if not name: - name = u'default-service-appliance' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'service-appliance-set' - self.fq_name = [u'default-global-system-config', u'default-service-appliance-set'] - self.fq_name.append(name) - - - # property fields - if service_appliance_user_credentials: - self._service_appliance_user_credentials = service_appliance_user_credentials - if service_appliance_ip_address: - self._service_appliance_ip_address = service_appliance_ip_address - if service_appliance_properties: - self._service_appliance_properties = service_appliance_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (service-appliance).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of service-appliance in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of service-appliance as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of service-appliance's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of service-appliance's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def service_appliance_user_credentials(self): - """Get service-appliance-user-credentials for service-appliance. - - :returns: UserCredentials object - - """ - return getattr(self, '_service_appliance_user_credentials', None) - #end service_appliance_user_credentials - - @service_appliance_user_credentials.setter - def service_appliance_user_credentials(self, service_appliance_user_credentials): - """Set service-appliance-user-credentials for service-appliance. - - :param service_appliance_user_credentials: UserCredentials object - - """ - self._service_appliance_user_credentials = service_appliance_user_credentials - #end service_appliance_user_credentials - - def set_service_appliance_user_credentials(self, value): - self.service_appliance_user_credentials = value - #end set_service_appliance_user_credentials - - def get_service_appliance_user_credentials(self): - return self.service_appliance_user_credentials - #end get_service_appliance_user_credentials - - @property - def service_appliance_ip_address(self): - """Get service-appliance-ip-address for service-appliance. - - :returns: IpAddressType object - - """ - return getattr(self, '_service_appliance_ip_address', None) - #end service_appliance_ip_address - - @service_appliance_ip_address.setter - def service_appliance_ip_address(self, service_appliance_ip_address): - """Set service-appliance-ip-address for service-appliance. - - :param service_appliance_ip_address: IpAddressType object - - """ - self._service_appliance_ip_address = service_appliance_ip_address - #end service_appliance_ip_address - - def set_service_appliance_ip_address(self, value): - self.service_appliance_ip_address = value - #end set_service_appliance_ip_address - - def get_service_appliance_ip_address(self): - return self.service_appliance_ip_address - #end get_service_appliance_ip_address - - @property - def service_appliance_properties(self): - """Get service-appliance-properties for service-appliance. - - :returns: KeyValuePairs object - - """ - return getattr(self, '_service_appliance_properties', None) - #end service_appliance_properties - - @service_appliance_properties.setter - def service_appliance_properties(self, service_appliance_properties): - """Set service-appliance-properties for service-appliance. - - :param service_appliance_properties: KeyValuePairs object - - """ - self._service_appliance_properties = service_appliance_properties - #end service_appliance_properties - - def set_service_appliance_properties(self, value): - self.service_appliance_properties = value - #end set_service_appliance_properties - - def get_service_appliance_properties(self): - return self.service_appliance_properties - #end get_service_appliance_properties - - @property - def id_perms(self): - """Get id-perms for service-appliance. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for service-appliance. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for service-appliance. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for service-appliance. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_service_appliance_user_credentials'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_user_credentials') - if hasattr(self, '_service_appliance_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_ip_address') - if hasattr(self, '_service_appliance_properties'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_service_appliance_set_back_refs(self): - """Return list of all service-appliance-sets using this service-appliance""" - return getattr(self, 'service_appliance_set_back_refs', None) - #end get_service_appliance_set_back_refs - - def dump(self): - """Display service-appliance object in compact form.""" - print '------------ service-appliance ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P service_appliance_user_credentials = ', self.get_service_appliance_user_credentials() - print 'P service_appliance_ip_address = ', self.get_service_appliance_ip_address() - print 'P service_appliance_properties = ', self.get_service_appliance_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class ServiceAppliance - -class ServiceInstance(object): - """ - Represents service-instance configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * service-instance-properties (:class:`.ServiceInstanceType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.ServiceTemplate` objects - - Referred by: - * list of :class:`.VirtualMachine` objects - * list of :class:`.LogicalRouter` objects - * list of :class:`.LoadbalancerPool` objects - """ - - prop_fields = set([u'service_instance_properties', u'id_perms', u'display_name']) - ref_fields = set(['service_template_refs']) - backref_fields = set([u'project_back_refs', u'virtual_machine_back_refs', u'logical_router_back_refs', u'loadbalancer_pool_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, service_instance_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'service-instance' - if not name: - name = u'default-service-instance' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if service_instance_properties: - self._service_instance_properties = service_instance_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (service-instance).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of service-instance in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of service-instance as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of service-instance's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of service-instance's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def service_instance_properties(self): - """Get service-instance-properties for service-instance. - - :returns: ServiceInstanceType object - - """ - return getattr(self, '_service_instance_properties', None) - #end service_instance_properties - - @service_instance_properties.setter - def service_instance_properties(self, service_instance_properties): - """Set service-instance-properties for service-instance. - - :param service_instance_properties: ServiceInstanceType object - - """ - self._service_instance_properties = service_instance_properties - #end service_instance_properties - - def set_service_instance_properties(self, value): - self.service_instance_properties = value - #end set_service_instance_properties - - def get_service_instance_properties(self): - return self.service_instance_properties - #end get_service_instance_properties - - @property - def id_perms(self): - """Get id-perms for service-instance. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for service-instance. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for service-instance. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for service-instance. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_service_instance_properties'): - self._serialize_field_to_json(serialized, field_names, 'service_instance_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'service_template_refs'): - self._serialize_field_to_json(serialized, field_names, 'service_template_refs') - return serialized - #end serialize_to_json - - def set_service_template(self, ref_obj): - """Set service-template for service-instance. - - :param ref_obj: ServiceTemplate object - - """ - self.service_template_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.service_template_refs[0]['uuid'] = ref_obj.uuid - - #end set_service_template - - def add_service_template(self, ref_obj): - """Add service-template to service-instance. - - :param ref_obj: ServiceTemplate object - - """ - refs = getattr(self, 'service_template_refs', []) - if not refs: - self.service_template_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.service_template_refs.append(ref_info) - #end add_service_template - - def del_service_template(self, ref_obj): - refs = self.get_service_template_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.service_template_refs.remove(ref) - return - #end del_service_template - - def set_service_template_list(self, ref_obj_list): - """Set service-template list for service-instance. - - :param ref_obj_list: list of ServiceTemplate object - - """ - self.service_template_refs = ref_obj_list - #end set_service_template_list - - def get_service_template_refs(self): - """Return service-template list for service-instance. - - :returns: list of <ServiceTemplate> - - """ - return getattr(self, 'service_template_refs', None) - #end get_service_template_refs - - def get_project_back_refs(self): - """Return list of all projects using this service-instance""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_machine_back_refs(self): - """Return list of all virtual-machines using this service-instance""" - return getattr(self, 'virtual_machine_back_refs', None) - #end get_virtual_machine_back_refs - - def get_logical_router_back_refs(self): - """Return list of all logical-routers using this service-instance""" - return getattr(self, 'logical_router_back_refs', None) - #end get_logical_router_back_refs - - def get_loadbalancer_pool_back_refs(self): - """Return list of all loadbalancer-pools using this service-instance""" - return getattr(self, 'loadbalancer_pool_back_refs', None) - #end get_loadbalancer_pool_back_refs - - def dump(self): - """Display service-instance object in compact form.""" - print '------------ service-instance ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P service_instance_properties = ', self.get_service_instance_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF service_template = ', self.get_service_template_refs() - print 'BCK virtual_machine = ', self.get_virtual_machine_back_refs() - print 'BCK logical_router = ', self.get_logical_router_back_refs() - print 'BCK loadbalancer_pool = ', self.get_loadbalancer_pool_back_refs() - #end dump - -#end class ServiceInstance - -class Namespace(object): - """ - Represents namespace configuration representation. - - Child of: - :class:`.Domain` object OR - - Properties: - * namespace-cidr (:class:`.SubnetType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.Project` objects - """ - - prop_fields = set([u'namespace_cidr', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'domain_back_refs', u'project_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, namespace_cidr = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'namespace' - if not name: - name = u'default-namespace' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'domain' - self.fq_name = [u'default-domain'] - self.fq_name.append(name) - - - # property fields - if namespace_cidr: - self._namespace_cidr = namespace_cidr - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (namespace).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of namespace in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of namespace as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of namespace's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of namespace's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def namespace_cidr(self): - """Get namespace-cidr for namespace. - - :returns: SubnetType object - - """ - return getattr(self, '_namespace_cidr', None) - #end namespace_cidr - - @namespace_cidr.setter - def namespace_cidr(self, namespace_cidr): - """Set namespace-cidr for namespace. - - :param namespace_cidr: SubnetType object - - """ - self._namespace_cidr = namespace_cidr - #end namespace_cidr - - def set_namespace_cidr(self, value): - self.namespace_cidr = value - #end set_namespace_cidr - - def get_namespace_cidr(self): - return self.namespace_cidr - #end get_namespace_cidr - - @property - def id_perms(self): - """Get id-perms for namespace. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for namespace. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for namespace. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for namespace. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_namespace_cidr'): - self._serialize_field_to_json(serialized, field_names, 'namespace_cidr') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_domain_back_refs(self): - """Return list of all domains using this namespace""" - return getattr(self, 'domain_back_refs', None) - #end get_domain_back_refs - - def get_project_back_refs(self): - """Return list of all projects using this namespace""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def dump(self): - """Display namespace object in compact form.""" - print '------------ namespace ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P namespace_cidr = ', self.get_namespace_cidr() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK project = ', self.get_project_back_refs() - #end dump - -#end class Namespace - -class LogicalInterface(object): - """ - Represents logical-interface configuration representation. - - Child of: - :class:`.PhysicalRouter` object OR - :class:`.PhysicalInterface` object OR - - Properties: - * logical-interface-vlan-tag (xsd:integer type) - * logical-interface-type (LogicalInterfaceType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualMachineInterface` objects - - Referred by: - """ - - prop_fields = set([u'logical_interface_vlan_tag', u'logical_interface_type', u'id_perms', u'display_name']) - ref_fields = set(['virtual_machine_interface_refs']) - backref_fields = set([u'physical_router_back_refs', u'physical_interface_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, logical_interface_vlan_tag = None, logical_interface_type = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'logical-interface' - if not name: - name = u'default-logical-interface' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - # if obj constructed from within server, ignore if parent not specified - if not kwargs['parent_type']: - raise AmbiguousParentError("[[u'default-global-system-config', u'default-physical-router'], [u'default-global-system-config', u'default-physical-router', u'default-physical-interface']]") - - # property fields - if logical_interface_vlan_tag: - self._logical_interface_vlan_tag = logical_interface_vlan_tag - if logical_interface_type: - self._logical_interface_type = logical_interface_type - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (logical-interface).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of logical-interface in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of logical-interface as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of logical-interface's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of logical-interface's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def logical_interface_vlan_tag(self): - """Get logical-interface-vlan-tag for logical-interface. - - :returns: xsd:integer object - - """ - return getattr(self, '_logical_interface_vlan_tag', None) - #end logical_interface_vlan_tag - - @logical_interface_vlan_tag.setter - def logical_interface_vlan_tag(self, logical_interface_vlan_tag): - """Set logical-interface-vlan-tag for logical-interface. - - :param logical_interface_vlan_tag: xsd:integer object - - """ - self._logical_interface_vlan_tag = logical_interface_vlan_tag - #end logical_interface_vlan_tag - - def set_logical_interface_vlan_tag(self, value): - self.logical_interface_vlan_tag = value - #end set_logical_interface_vlan_tag - - def get_logical_interface_vlan_tag(self): - return self.logical_interface_vlan_tag - #end get_logical_interface_vlan_tag - - @property - def logical_interface_type(self): - """Get logical-interface-type for logical-interface. - - :returns: LogicalInterfaceType object - - """ - return getattr(self, '_logical_interface_type', None) - #end logical_interface_type - - @logical_interface_type.setter - def logical_interface_type(self, logical_interface_type): - """Set logical-interface-type for logical-interface. - - :param logical_interface_type: LogicalInterfaceType object - - """ - self._logical_interface_type = logical_interface_type - #end logical_interface_type - - def set_logical_interface_type(self, value): - self.logical_interface_type = value - #end set_logical_interface_type - - def get_logical_interface_type(self): - return self.logical_interface_type - #end get_logical_interface_type - - @property - def id_perms(self): - """Get id-perms for logical-interface. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for logical-interface. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for logical-interface. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for logical-interface. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_logical_interface_vlan_tag'): - self._serialize_field_to_json(serialized, field_names, 'logical_interface_vlan_tag') - if hasattr(self, '_logical_interface_type'): - self._serialize_field_to_json(serialized, field_names, 'logical_interface_type') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - return serialized - #end serialize_to_json - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for logical-interface. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to logical-interface. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for logical-interface. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for logical-interface. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def get_physical_router_back_refs(self): - """Return list of all physical-routers using this logical-interface""" - return getattr(self, 'physical_router_back_refs', None) - #end get_physical_router_back_refs - - def get_physical_interface_back_refs(self): - """Return list of all physical-interfaces using this logical-interface""" - return getattr(self, 'physical_interface_back_refs', None) - #end get_physical_interface_back_refs - - def dump(self): - """Display logical-interface object in compact form.""" - print '------------ logical-interface ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P logical_interface_vlan_tag = ', self.get_logical_interface_vlan_tag() - print 'P logical_interface_type = ', self.get_logical_interface_type() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - #end dump - -#end class LogicalInterface - -class RouteTable(object): - """ - Represents route-table configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * routes (:class:`.RouteTableType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.VirtualNetwork` objects - """ - - prop_fields = set([u'routes', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', u'virtual_network_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, routes = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'route-table' - if not name: - name = u'default-route-table' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if routes: - self._routes = routes - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (route-table).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of route-table in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of route-table as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of route-table's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of route-table's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def routes(self): - """Get routes for route-table. - - :returns: RouteTableType object - - """ - return getattr(self, '_routes', None) - #end routes - - @routes.setter - def routes(self, routes): - """Set routes for route-table. - - :param routes: RouteTableType object - - """ - self._routes = routes - #end routes - - def set_routes(self, value): - self.routes = value - #end set_routes - - def get_routes(self): - return self.routes - #end get_routes - - @property - def id_perms(self): - """Get id-perms for route-table. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for route-table. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for route-table. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for route-table. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_routes'): - self._serialize_field_to_json(serialized, field_names, 'routes') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_project_back_refs(self): - """Return list of all projects using this route-table""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this route-table""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def dump(self): - """Display route-table object in compact form.""" - print '------------ route-table ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P routes = ', self.get_routes() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK virtual_network = ', self.get_virtual_network_back_refs() - #end dump - -#end class RouteTable - -class PhysicalInterface(object): - """ - Represents physical-interface configuration representation. - - Child of: - :class:`.PhysicalRouter` object OR - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.LogicalInterface` objects - - References to: - - Referred by: - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'physical_router_back_refs']) - children_fields = set([u'logical_interfaces']) - - def __init__(self, name = None, parent_obj = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'physical-interface' - if not name: - name = u'default-physical-interface' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'physical-router' - self.fq_name = [u'default-global-system-config', u'default-physical-router'] - self.fq_name.append(name) - - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (physical-interface).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of physical-interface in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of physical-interface as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of physical-interface's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of physical-interface's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for physical-interface. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for physical-interface. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for physical-interface. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for physical-interface. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_logical_interfaces(self): - return getattr(self, 'logical_interfaces', None) - #end get_logical_interfaces - - def get_physical_router_back_refs(self): - """Return list of all physical-routers using this physical-interface""" - return getattr(self, 'physical_router_back_refs', None) - #end get_physical_router_back_refs - - def dump(self): - """Display physical-interface object in compact form.""" - print '------------ physical-interface ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS logical_interface = ', self.get_logical_interfaces() - #end dump - -#end class PhysicalInterface - -class AccessControlList(object): - """ - Represents access-control-list configuration representation. - - Child of: - :class:`.VirtualNetwork` object OR - :class:`.SecurityGroup` object OR - - Properties: - * access-control-list-entries (:class:`.AclEntriesType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'access_control_list_entries', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'virtual_network_back_refs', u'security_group_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, access_control_list_entries = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'access-control-list' - if not name: - name = u'default-access-control-list' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - # if obj constructed from within server, ignore if parent not specified - if not kwargs['parent_type']: - raise AmbiguousParentError("[[u'default-domain', u'default-project', u'default-virtual-network'], [u'default-domain', u'default-project', u'default-security-group']]") - - # property fields - if access_control_list_entries: - self._access_control_list_entries = access_control_list_entries - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (access-control-list).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of access-control-list in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of access-control-list as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of access-control-list's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of access-control-list's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def access_control_list_entries(self): - """Get access-control-list-entries for access-control-list. - - :returns: AclEntriesType object - - """ - return getattr(self, '_access_control_list_entries', None) - #end access_control_list_entries - - @access_control_list_entries.setter - def access_control_list_entries(self, access_control_list_entries): - """Set access-control-list-entries for access-control-list. - - :param access_control_list_entries: AclEntriesType object - - """ - self._access_control_list_entries = access_control_list_entries - #end access_control_list_entries - - def set_access_control_list_entries(self, value): - self.access_control_list_entries = value - #end set_access_control_list_entries - - def get_access_control_list_entries(self): - return self.access_control_list_entries - #end get_access_control_list_entries - - @property - def id_perms(self): - """Get id-perms for access-control-list. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for access-control-list. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for access-control-list. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for access-control-list. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_access_control_list_entries'): - self._serialize_field_to_json(serialized, field_names, 'access_control_list_entries') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this access-control-list""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def get_security_group_back_refs(self): - """Return list of all security-groups using this access-control-list""" - return getattr(self, 'security_group_back_refs', None) - #end get_security_group_back_refs - - def dump(self): - """Display access-control-list object in compact form.""" - print '------------ access-control-list ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P access_control_list_entries = ', self.get_access_control_list_entries() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class AccessControlList - -class AnalyticsNode(object): - """ - Represents analytics-node configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * analytics-node-ip-address (IpAddressType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'analytics_node_ip_address', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'global_system_config_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, analytics_node_ip_address = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'analytics-node' - if not name: - name = u'default-analytics-node' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if analytics_node_ip_address: - self._analytics_node_ip_address = analytics_node_ip_address - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (analytics-node).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of analytics-node in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of analytics-node as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of analytics-node's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of analytics-node's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def analytics_node_ip_address(self): - """Get analytics-node-ip-address for analytics-node. - - :returns: IpAddressType object - - """ - return getattr(self, '_analytics_node_ip_address', None) - #end analytics_node_ip_address - - @analytics_node_ip_address.setter - def analytics_node_ip_address(self, analytics_node_ip_address): - """Set analytics-node-ip-address for analytics-node. - - :param analytics_node_ip_address: IpAddressType object - - """ - self._analytics_node_ip_address = analytics_node_ip_address - #end analytics_node_ip_address - - def set_analytics_node_ip_address(self, value): - self.analytics_node_ip_address = value - #end set_analytics_node_ip_address - - def get_analytics_node_ip_address(self): - return self.analytics_node_ip_address - #end get_analytics_node_ip_address - - @property - def id_perms(self): - """Get id-perms for analytics-node. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for analytics-node. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for analytics-node. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for analytics-node. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_analytics_node_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'analytics_node_ip_address') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this analytics-node""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def dump(self): - """Display analytics-node object in compact form.""" - print '------------ analytics-node ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P analytics_node_ip_address = ', self.get_analytics_node_ip_address() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class AnalyticsNode - -class VirtualDns(object): - """ - Represents virtual-DNS configuration representation. - - Child of: - :class:`.Domain` object OR - - Properties: - * virtual-DNS-data (:class:`.VirtualDnsType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.VirtualDnsRecord` objects - - References to: - - Referred by: - * list of :class:`.NetworkIpam` objects - """ - - prop_fields = set([u'virtual_DNS_data', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'domain_back_refs', u'network_ipam_back_refs']) - children_fields = set([u'virtual_DNS_records']) - - def __init__(self, name = None, parent_obj = None, virtual_DNS_data = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-DNS' - if not name: - name = u'default-virtual-DNS' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'domain' - self.fq_name = [u'default-domain'] - self.fq_name.append(name) - - - # property fields - if virtual_DNS_data: - self._virtual_DNS_data = virtual_DNS_data - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-DNS).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-DNS in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-DNS as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-DNS's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-DNS's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_DNS_data(self): - """Get virtual-DNS-data for virtual-DNS. - - :returns: VirtualDnsType object - - """ - return getattr(self, '_virtual_DNS_data', None) - #end virtual_DNS_data - - @virtual_DNS_data.setter - def virtual_DNS_data(self, virtual_DNS_data): - """Set virtual-DNS-data for virtual-DNS. - - :param virtual_DNS_data: VirtualDnsType object - - """ - self._virtual_DNS_data = virtual_DNS_data - #end virtual_DNS_data - - def set_virtual_DNS_data(self, value): - self.virtual_DNS_data = value - #end set_virtual_DNS_data - - def get_virtual_DNS_data(self): - return self.virtual_DNS_data - #end get_virtual_DNS_data - - @property - def id_perms(self): - """Get id-perms for virtual-DNS. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-DNS. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-DNS. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-DNS. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_DNS_data'): - self._serialize_field_to_json(serialized, field_names, 'virtual_DNS_data') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_virtual_DNS_records(self): - return getattr(self, 'virtual_DNS_records', None) - #end get_virtual_DNS_records - - def get_domain_back_refs(self): - """Return list of all domains using this virtual-DNS""" - return getattr(self, 'domain_back_refs', None) - #end get_domain_back_refs - - def get_network_ipam_back_refs(self): - """Return list of all network-ipams using this virtual-DNS""" - return getattr(self, 'network_ipam_back_refs', None) - #end get_network_ipam_back_refs - - def dump(self): - """Display virtual-DNS object in compact form.""" - print '------------ virtual-DNS ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_DNS_data = ', self.get_virtual_DNS_data() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS virtual_DNS_record = ', self.get_virtual_DNS_records() - print 'BCK network_ipam = ', self.get_network_ipam_back_refs() - #end dump - -#end class VirtualDns - -class CustomerAttachment(object): - """ - Represents customer-attachment configuration representation. - - Properties: - * attachment-address (:class:`.AttachmentAddressType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.FloatingIp` objects - - Referred by: - """ - - prop_fields = set([u'attachment_address', u'id_perms', u'display_name']) - ref_fields = set(['virtual_machine_interface_refs', u'floating_ip_refs']) - backref_fields = set([]) - children_fields = set([]) - - def __init__(self, name = None, attachment_address = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'customer-attachment' - if not name: - name = u'default-customer-attachment' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if attachment_address: - self._attachment_address = attachment_address - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (customer-attachment).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of customer-attachment in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of customer-attachment as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def attachment_address(self): - """Get attachment-address for customer-attachment. - - :returns: AttachmentAddressType object - - """ - return getattr(self, '_attachment_address', None) - #end attachment_address - - @attachment_address.setter - def attachment_address(self, attachment_address): - """Set attachment-address for customer-attachment. - - :param attachment_address: AttachmentAddressType object - - """ - self._attachment_address = attachment_address - #end attachment_address - - def set_attachment_address(self, value): - self.attachment_address = value - #end set_attachment_address - - def get_attachment_address(self): - return self.attachment_address - #end get_attachment_address - - @property - def id_perms(self): - """Get id-perms for customer-attachment. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for customer-attachment. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for customer-attachment. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for customer-attachment. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_attachment_address'): - self._serialize_field_to_json(serialized, field_names, 'attachment_address') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - if hasattr(self, 'floating_ip_refs'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_refs') - return serialized - #end serialize_to_json - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for customer-attachment. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to customer-attachment. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for customer-attachment. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for customer-attachment. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def set_floating_ip(self, ref_obj): - """Set floating-ip for customer-attachment. - - :param ref_obj: FloatingIp object - - """ - self.floating_ip_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.floating_ip_refs[0]['uuid'] = ref_obj.uuid - - #end set_floating_ip - - def add_floating_ip(self, ref_obj): - """Add floating-ip to customer-attachment. - - :param ref_obj: FloatingIp object - - """ - refs = getattr(self, 'floating_ip_refs', []) - if not refs: - self.floating_ip_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.floating_ip_refs.append(ref_info) - #end add_floating_ip - - def del_floating_ip(self, ref_obj): - refs = self.get_floating_ip_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.floating_ip_refs.remove(ref) - return - #end del_floating_ip - - def set_floating_ip_list(self, ref_obj_list): - """Set floating-ip list for customer-attachment. - - :param ref_obj_list: list of FloatingIp object - - """ - self.floating_ip_refs = ref_obj_list - #end set_floating_ip_list - - def get_floating_ip_refs(self): - """Return floating-ip list for customer-attachment. - - :returns: list of <FloatingIp> - - """ - return getattr(self, 'floating_ip_refs', None) - #end get_floating_ip_refs - - def dump(self): - """Display customer-attachment object in compact form.""" - print '------------ customer-attachment ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P attachment_address = ', self.get_attachment_address() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - print 'REF floating_ip = ', self.get_floating_ip_refs() - print 'HAS routing_instance = ', self.get_routing_instances() - print 'HAS provider_attachment = ', self.get_provider_attachments() - #end dump - -#end class CustomerAttachment - -class ServiceApplianceSet(object): - """ - Represents service-appliance-set configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * service-appliance-set-properties (:class:`.KeyValuePairs` type) - * service-appliance-driver (xsd:string type) - * service-appliance-ha-mode (xsd:string type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.ServiceAppliance` objects - - References to: - - Referred by: - * list of :class:`.LoadbalancerPool` objects - """ - - prop_fields = set([u'service_appliance_set_properties', u'service_appliance_driver', u'service_appliance_ha_mode', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'global_system_config_back_refs', u'loadbalancer_pool_back_refs']) - children_fields = set([u'service_appliances']) - - def __init__(self, name = None, parent_obj = None, service_appliance_set_properties = None, service_appliance_driver = None, service_appliance_ha_mode = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'service-appliance-set' - if not name: - name = u'default-service-appliance-set' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if service_appliance_set_properties: - self._service_appliance_set_properties = service_appliance_set_properties - if service_appliance_driver: - self._service_appliance_driver = service_appliance_driver - if service_appliance_ha_mode: - self._service_appliance_ha_mode = service_appliance_ha_mode - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (service-appliance-set).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of service-appliance-set in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of service-appliance-set as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of service-appliance-set's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of service-appliance-set's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def service_appliance_set_properties(self): - """Get service-appliance-set-properties for service-appliance-set. - - :returns: KeyValuePairs object - - """ - return getattr(self, '_service_appliance_set_properties', None) - #end service_appliance_set_properties - - @service_appliance_set_properties.setter - def service_appliance_set_properties(self, service_appliance_set_properties): - """Set service-appliance-set-properties for service-appliance-set. - - :param service_appliance_set_properties: KeyValuePairs object - - """ - self._service_appliance_set_properties = service_appliance_set_properties - #end service_appliance_set_properties - - def set_service_appliance_set_properties(self, value): - self.service_appliance_set_properties = value - #end set_service_appliance_set_properties - - def get_service_appliance_set_properties(self): - return self.service_appliance_set_properties - #end get_service_appliance_set_properties - - @property - def service_appliance_driver(self): - """Get service-appliance-driver for service-appliance-set. - - :returns: xsd:string object - - """ - return getattr(self, '_service_appliance_driver', None) - #end service_appliance_driver - - @service_appliance_driver.setter - def service_appliance_driver(self, service_appliance_driver): - """Set service-appliance-driver for service-appliance-set. - - :param service_appliance_driver: xsd:string object - - """ - self._service_appliance_driver = service_appliance_driver - #end service_appliance_driver - - def set_service_appliance_driver(self, value): - self.service_appliance_driver = value - #end set_service_appliance_driver - - def get_service_appliance_driver(self): - return self.service_appliance_driver - #end get_service_appliance_driver - - @property - def service_appliance_ha_mode(self): - """Get service-appliance-ha-mode for service-appliance-set. - - :returns: xsd:string object - - """ - return getattr(self, '_service_appliance_ha_mode', None) - #end service_appliance_ha_mode - - @service_appliance_ha_mode.setter - def service_appliance_ha_mode(self, service_appliance_ha_mode): - """Set service-appliance-ha-mode for service-appliance-set. - - :param service_appliance_ha_mode: xsd:string object - - """ - self._service_appliance_ha_mode = service_appliance_ha_mode - #end service_appliance_ha_mode - - def set_service_appliance_ha_mode(self, value): - self.service_appliance_ha_mode = value - #end set_service_appliance_ha_mode - - def get_service_appliance_ha_mode(self): - return self.service_appliance_ha_mode - #end get_service_appliance_ha_mode - - @property - def id_perms(self): - """Get id-perms for service-appliance-set. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for service-appliance-set. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for service-appliance-set. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for service-appliance-set. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_service_appliance_set_properties'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_set_properties') - if hasattr(self, '_service_appliance_driver'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_driver') - if hasattr(self, '_service_appliance_ha_mode'): - self._serialize_field_to_json(serialized, field_names, 'service_appliance_ha_mode') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_service_appliances(self): - return getattr(self, 'service_appliances', None) - #end get_service_appliances - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this service-appliance-set""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def get_loadbalancer_pool_back_refs(self): - """Return list of all loadbalancer-pools using this service-appliance-set""" - return getattr(self, 'loadbalancer_pool_back_refs', None) - #end get_loadbalancer_pool_back_refs - - def dump(self): - """Display service-appliance-set object in compact form.""" - print '------------ service-appliance-set ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P service_appliance_set_properties = ', self.get_service_appliance_set_properties() - print 'P service_appliance_driver = ', self.get_service_appliance_driver() - print 'P service_appliance_ha_mode = ', self.get_service_appliance_ha_mode() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS service_appliance = ', self.get_service_appliances() - print 'BCK loadbalancer_pool = ', self.get_loadbalancer_pool_back_refs() - #end dump - -#end class ServiceApplianceSet - -class ConfigNode(object): - """ - Represents config-node configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * config-node-ip-address (IpAddressType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'config_node_ip_address', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'global_system_config_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, config_node_ip_address = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'config-node' - if not name: - name = u'default-config-node' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if config_node_ip_address: - self._config_node_ip_address = config_node_ip_address - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (config-node).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of config-node in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of config-node as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of config-node's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of config-node's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def config_node_ip_address(self): - """Get config-node-ip-address for config-node. - - :returns: IpAddressType object - - """ - return getattr(self, '_config_node_ip_address', None) - #end config_node_ip_address - - @config_node_ip_address.setter - def config_node_ip_address(self, config_node_ip_address): - """Set config-node-ip-address for config-node. - - :param config_node_ip_address: IpAddressType object - - """ - self._config_node_ip_address = config_node_ip_address - #end config_node_ip_address - - def set_config_node_ip_address(self, value): - self.config_node_ip_address = value - #end set_config_node_ip_address - - def get_config_node_ip_address(self): - return self.config_node_ip_address - #end get_config_node_ip_address - - @property - def id_perms(self): - """Get id-perms for config-node. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for config-node. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for config-node. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for config-node. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_config_node_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'config_node_ip_address') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this config-node""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def dump(self): - """Display config-node object in compact form.""" - print '------------ config-node ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P config_node_ip_address = ', self.get_config_node_ip_address() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class ConfigNode - -class QosQueue(object): - """ - Represents qos-queue configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * min-bandwidth (xsd:integer type) - * max-bandwidth (xsd:integer type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.QosForwardingClass` objects - """ - - prop_fields = set([u'min_bandwidth', u'max_bandwidth', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', u'qos_forwarding_class_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, min_bandwidth = None, max_bandwidth = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'qos-queue' - if not name: - name = u'default-qos-queue' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if min_bandwidth: - self._min_bandwidth = min_bandwidth - if max_bandwidth: - self._max_bandwidth = max_bandwidth - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (qos-queue).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of qos-queue in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of qos-queue as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of qos-queue's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of qos-queue's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def min_bandwidth(self): - """Get min-bandwidth for qos-queue. - - :returns: xsd:integer object - - """ - return getattr(self, '_min_bandwidth', None) - #end min_bandwidth - - @min_bandwidth.setter - def min_bandwidth(self, min_bandwidth): - """Set min-bandwidth for qos-queue. - - :param min_bandwidth: xsd:integer object - - """ - self._min_bandwidth = min_bandwidth - #end min_bandwidth - - def set_min_bandwidth(self, value): - self.min_bandwidth = value - #end set_min_bandwidth - - def get_min_bandwidth(self): - return self.min_bandwidth - #end get_min_bandwidth - - @property - def max_bandwidth(self): - """Get max-bandwidth for qos-queue. - - :returns: xsd:integer object - - """ - return getattr(self, '_max_bandwidth', None) - #end max_bandwidth - - @max_bandwidth.setter - def max_bandwidth(self, max_bandwidth): - """Set max-bandwidth for qos-queue. - - :param max_bandwidth: xsd:integer object - - """ - self._max_bandwidth = max_bandwidth - #end max_bandwidth - - def set_max_bandwidth(self, value): - self.max_bandwidth = value - #end set_max_bandwidth - - def get_max_bandwidth(self): - return self.max_bandwidth - #end get_max_bandwidth - - @property - def id_perms(self): - """Get id-perms for qos-queue. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for qos-queue. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for qos-queue. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for qos-queue. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_min_bandwidth'): - self._serialize_field_to_json(serialized, field_names, 'min_bandwidth') - if hasattr(self, '_max_bandwidth'): - self._serialize_field_to_json(serialized, field_names, 'max_bandwidth') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_project_back_refs(self): - """Return list of all projects using this qos-queue""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_qos_forwarding_class_back_refs(self): - """Return list of all qos-forwarding-classs using this qos-queue""" - return getattr(self, 'qos_forwarding_class_back_refs', None) - #end get_qos_forwarding_class_back_refs - - def dump(self): - """Display qos-queue object in compact form.""" - print '------------ qos-queue ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P min_bandwidth = ', self.get_min_bandwidth() - print 'P max_bandwidth = ', self.get_max_bandwidth() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK qos_forwarding_class = ', self.get_qos_forwarding_class_back_refs() - #end dump - -#end class QosQueue - -class VirtualMachine(object): - """ - Represents virtual-machine configuration representation. - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.VirtualMachineInterface` objects - - References to: - * list of :class:`.ServiceInstance` objects - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.VirtualRouter` objects - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set([u'service_instance_refs']) - backref_fields = set(['virtual_machine_interface_back_refs', 'virtual_router_back_refs']) - children_fields = set(['virtual_machine_interfaces']) - - def __init__(self, name = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-machine' - if not name: - name = u'default-virtual-machine' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-machine).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-machine in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-machine as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for virtual-machine. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-machine. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-machine. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-machine. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'service_instance_refs'): - self._serialize_field_to_json(serialized, field_names, 'service_instance_refs') - return serialized - #end serialize_to_json - - def get_virtual_machine_interfaces(self): - return getattr(self, 'virtual_machine_interfaces', None) - #end get_virtual_machine_interfaces - - def set_service_instance(self, ref_obj): - """Set service-instance for virtual-machine. - - :param ref_obj: ServiceInstance object - - """ - self.service_instance_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.service_instance_refs[0]['uuid'] = ref_obj.uuid - - #end set_service_instance - - def add_service_instance(self, ref_obj): - """Add service-instance to virtual-machine. - - :param ref_obj: ServiceInstance object - - """ - refs = getattr(self, 'service_instance_refs', []) - if not refs: - self.service_instance_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.service_instance_refs.append(ref_info) - #end add_service_instance - - def del_service_instance(self, ref_obj): - refs = self.get_service_instance_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.service_instance_refs.remove(ref) - return - #end del_service_instance - - def set_service_instance_list(self, ref_obj_list): - """Set service-instance list for virtual-machine. - - :param ref_obj_list: list of ServiceInstance object - - """ - self.service_instance_refs = ref_obj_list - #end set_service_instance_list - - def get_service_instance_refs(self): - """Return service-instance list for virtual-machine. - - :returns: list of <ServiceInstance> - - """ - return getattr(self, 'service_instance_refs', None) - #end get_service_instance_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this virtual-machine""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def get_virtual_router_back_refs(self): - """Return list of all virtual-routers using this virtual-machine""" - return getattr(self, 'virtual_router_back_refs', None) - #end get_virtual_router_back_refs - - def dump(self): - """Display virtual-machine object in compact form.""" - print '------------ virtual-machine ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS virtual_machine_interface = ', self.get_virtual_machine_interfaces() - print 'REF service_instance = ', self.get_service_instance_refs() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - print 'BCK virtual_router = ', self.get_virtual_router_back_refs() - #end dump - -#end class VirtualMachine - -class InterfaceRouteTable(object): - """ - Represents interface-route-table configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * interface-route-table-routes (:class:`.RouteTableType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - """ - - prop_fields = set([u'interface_route_table_routes', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', 'virtual_machine_interface_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, interface_route_table_routes = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'interface-route-table' - if not name: - name = u'default-interface-route-table' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if interface_route_table_routes: - self._interface_route_table_routes = interface_route_table_routes - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (interface-route-table).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of interface-route-table in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of interface-route-table as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of interface-route-table's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of interface-route-table's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def interface_route_table_routes(self): - """Get interface-route-table-routes for interface-route-table. - - :returns: RouteTableType object - - """ - return getattr(self, '_interface_route_table_routes', None) - #end interface_route_table_routes - - @interface_route_table_routes.setter - def interface_route_table_routes(self, interface_route_table_routes): - """Set interface-route-table-routes for interface-route-table. - - :param interface_route_table_routes: RouteTableType object - - """ - self._interface_route_table_routes = interface_route_table_routes - #end interface_route_table_routes - - def set_interface_route_table_routes(self, value): - self.interface_route_table_routes = value - #end set_interface_route_table_routes - - def get_interface_route_table_routes(self): - return self.interface_route_table_routes - #end get_interface_route_table_routes - - @property - def id_perms(self): - """Get id-perms for interface-route-table. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for interface-route-table. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for interface-route-table. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for interface-route-table. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_interface_route_table_routes'): - self._serialize_field_to_json(serialized, field_names, 'interface_route_table_routes') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_project_back_refs(self): - """Return list of all projects using this interface-route-table""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this interface-route-table""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def dump(self): - """Display interface-route-table object in compact form.""" - print '------------ interface-route-table ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P interface_route_table_routes = ', self.get_interface_route_table_routes() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - #end dump - -#end class InterfaceRouteTable - -class ServiceTemplate(object): - """ - Represents service-template configuration representation. - - Child of: - :class:`.Domain` object OR - - Properties: - * service-template-properties (:class:`.ServiceTemplateType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.ServiceInstance` objects - """ - - prop_fields = set([u'service_template_properties', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'domain_back_refs', u'service_instance_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, service_template_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'service-template' - if not name: - name = u'default-service-template' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'domain' - self.fq_name = [u'default-domain'] - self.fq_name.append(name) - - - # property fields - if service_template_properties: - self._service_template_properties = service_template_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (service-template).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of service-template in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of service-template as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of service-template's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of service-template's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def service_template_properties(self): - """Get service-template-properties for service-template. - - :returns: ServiceTemplateType object - - """ - return getattr(self, '_service_template_properties', None) - #end service_template_properties - - @service_template_properties.setter - def service_template_properties(self, service_template_properties): - """Set service-template-properties for service-template. - - :param service_template_properties: ServiceTemplateType object - - """ - self._service_template_properties = service_template_properties - #end service_template_properties - - def set_service_template_properties(self, value): - self.service_template_properties = value - #end set_service_template_properties - - def get_service_template_properties(self): - return self.service_template_properties - #end get_service_template_properties - - @property - def id_perms(self): - """Get id-perms for service-template. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for service-template. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for service-template. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for service-template. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_service_template_properties'): - self._serialize_field_to_json(serialized, field_names, 'service_template_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_domain_back_refs(self): - """Return list of all domains using this service-template""" - return getattr(self, 'domain_back_refs', None) - #end get_domain_back_refs - - def get_service_instance_back_refs(self): - """Return list of all service-instances using this service-template""" - return getattr(self, 'service_instance_back_refs', None) - #end get_service_instance_back_refs - - def dump(self): - """Display service-template object in compact form.""" - print '------------ service-template ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P service_template_properties = ', self.get_service_template_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK service_instance = ', self.get_service_instance_back_refs() - #end dump - -#end class ServiceTemplate - -class VirtualIp(object): - """ - Represents virtual-ip configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * virtual-ip-properties (:class:`.VirtualIpType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.LoadbalancerPool` objects - * list of :class:`.VirtualMachineInterface` objects - - Referred by: - """ - - prop_fields = set([u'virtual_ip_properties', u'id_perms', u'display_name']) - ref_fields = set([u'loadbalancer_pool_refs', 'virtual_machine_interface_refs']) - backref_fields = set([u'project_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, virtual_ip_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-ip' - if not name: - name = u'default-virtual-ip' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if virtual_ip_properties: - self._virtual_ip_properties = virtual_ip_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-ip).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-ip in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-ip as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-ip's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-ip's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_ip_properties(self): - """Get virtual-ip-properties for virtual-ip. - - :returns: VirtualIpType object - - """ - return getattr(self, '_virtual_ip_properties', None) - #end virtual_ip_properties - - @virtual_ip_properties.setter - def virtual_ip_properties(self, virtual_ip_properties): - """Set virtual-ip-properties for virtual-ip. - - :param virtual_ip_properties: VirtualIpType object - - """ - self._virtual_ip_properties = virtual_ip_properties - #end virtual_ip_properties - - def set_virtual_ip_properties(self, value): - self.virtual_ip_properties = value - #end set_virtual_ip_properties - - def get_virtual_ip_properties(self): - return self.virtual_ip_properties - #end get_virtual_ip_properties - - @property - def id_perms(self): - """Get id-perms for virtual-ip. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-ip. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-ip. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-ip. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_ip_properties'): - self._serialize_field_to_json(serialized, field_names, 'virtual_ip_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'loadbalancer_pool_refs'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_pool_refs') - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - return serialized - #end serialize_to_json - - def set_loadbalancer_pool(self, ref_obj): - """Set loadbalancer-pool for virtual-ip. - - :param ref_obj: LoadbalancerPool object - - """ - self.loadbalancer_pool_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.loadbalancer_pool_refs[0]['uuid'] = ref_obj.uuid - - #end set_loadbalancer_pool - - def add_loadbalancer_pool(self, ref_obj): - """Add loadbalancer-pool to virtual-ip. - - :param ref_obj: LoadbalancerPool object - - """ - refs = getattr(self, 'loadbalancer_pool_refs', []) - if not refs: - self.loadbalancer_pool_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.loadbalancer_pool_refs.append(ref_info) - #end add_loadbalancer_pool - - def del_loadbalancer_pool(self, ref_obj): - refs = self.get_loadbalancer_pool_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.loadbalancer_pool_refs.remove(ref) - return - #end del_loadbalancer_pool - - def set_loadbalancer_pool_list(self, ref_obj_list): - """Set loadbalancer-pool list for virtual-ip. - - :param ref_obj_list: list of LoadbalancerPool object - - """ - self.loadbalancer_pool_refs = ref_obj_list - #end set_loadbalancer_pool_list - - def get_loadbalancer_pool_refs(self): - """Return loadbalancer-pool list for virtual-ip. - - :returns: list of <LoadbalancerPool> - - """ - return getattr(self, 'loadbalancer_pool_refs', None) - #end get_loadbalancer_pool_refs - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for virtual-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to virtual-ip. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for virtual-ip. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for virtual-ip. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def get_project_back_refs(self): - """Return list of all projects using this virtual-ip""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def dump(self): - """Display virtual-ip object in compact form.""" - print '------------ virtual-ip ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_ip_properties = ', self.get_virtual_ip_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF loadbalancer_pool = ', self.get_loadbalancer_pool_refs() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - #end dump - -#end class VirtualIp - -class LoadbalancerMember(object): - """ - Represents loadbalancer-member configuration representation. - - Child of: - :class:`.LoadbalancerPool` object OR - - Properties: - * loadbalancer-member-properties (:class:`.LoadbalancerMemberType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'loadbalancer_member_properties', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'loadbalancer_pool_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, loadbalancer_member_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'loadbalancer-member' - if not name: - name = u'default-loadbalancer-member' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'loadbalancer-pool' - self.fq_name = [u'default-domain', u'default-project', u'default-loadbalancer-pool'] - self.fq_name.append(name) - - - # property fields - if loadbalancer_member_properties: - self._loadbalancer_member_properties = loadbalancer_member_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (loadbalancer-member).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of loadbalancer-member in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of loadbalancer-member as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of loadbalancer-member's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of loadbalancer-member's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def loadbalancer_member_properties(self): - """Get loadbalancer-member-properties for loadbalancer-member. - - :returns: LoadbalancerMemberType object - - """ - return getattr(self, '_loadbalancer_member_properties', None) - #end loadbalancer_member_properties - - @loadbalancer_member_properties.setter - def loadbalancer_member_properties(self, loadbalancer_member_properties): - """Set loadbalancer-member-properties for loadbalancer-member. - - :param loadbalancer_member_properties: LoadbalancerMemberType object - - """ - self._loadbalancer_member_properties = loadbalancer_member_properties - #end loadbalancer_member_properties - - def set_loadbalancer_member_properties(self, value): - self.loadbalancer_member_properties = value - #end set_loadbalancer_member_properties - - def get_loadbalancer_member_properties(self): - return self.loadbalancer_member_properties - #end get_loadbalancer_member_properties - - @property - def id_perms(self): - """Get id-perms for loadbalancer-member. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for loadbalancer-member. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for loadbalancer-member. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for loadbalancer-member. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_loadbalancer_member_properties'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_member_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_loadbalancer_pool_back_refs(self): - """Return list of all loadbalancer-pools using this loadbalancer-member""" - return getattr(self, 'loadbalancer_pool_back_refs', None) - #end get_loadbalancer_pool_back_refs - - def dump(self): - """Display loadbalancer-member object in compact form.""" - print '------------ loadbalancer-member ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P loadbalancer_member_properties = ', self.get_loadbalancer_member_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class LoadbalancerMember - -class SecurityGroup(object): - """ - Represents security-group configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * security-group-id (xsd:string type) - * configured-security-group-id (xsd:integer type) - * security-group-entries (:class:`.PolicyEntriesType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.AccessControlList` objects - - References to: - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - """ - - prop_fields = set([u'security_group_id', u'configured_security_group_id', u'security_group_entries', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', 'virtual_machine_interface_back_refs']) - children_fields = set([u'access_control_lists']) - - def __init__(self, name = None, parent_obj = None, security_group_id = None, configured_security_group_id = None, security_group_entries = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'security-group' - if not name: - name = u'default-security-group' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if security_group_id: - self._security_group_id = security_group_id - if configured_security_group_id: - self._configured_security_group_id = configured_security_group_id - if security_group_entries: - self._security_group_entries = security_group_entries - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (security-group).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of security-group in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of security-group as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of security-group's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of security-group's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def security_group_id(self): - """Get security-group-id for security-group. - - :returns: xsd:string object - - """ - return getattr(self, '_security_group_id', None) - #end security_group_id - - @security_group_id.setter - def security_group_id(self, security_group_id): - """Set security-group-id for security-group. - - :param security_group_id: xsd:string object - - """ - self._security_group_id = security_group_id - #end security_group_id - - def set_security_group_id(self, value): - self.security_group_id = value - #end set_security_group_id - - def get_security_group_id(self): - return self.security_group_id - #end get_security_group_id - - @property - def configured_security_group_id(self): - """Get configured-security-group-id for security-group. - - :returns: xsd:integer object - - """ - return getattr(self, '_configured_security_group_id', None) - #end configured_security_group_id - - @configured_security_group_id.setter - def configured_security_group_id(self, configured_security_group_id): - """Set configured-security-group-id for security-group. - - :param configured_security_group_id: xsd:integer object - - """ - self._configured_security_group_id = configured_security_group_id - #end configured_security_group_id - - def set_configured_security_group_id(self, value): - self.configured_security_group_id = value - #end set_configured_security_group_id - - def get_configured_security_group_id(self): - return self.configured_security_group_id - #end get_configured_security_group_id - - @property - def security_group_entries(self): - """Get security-group-entries for security-group. - - :returns: PolicyEntriesType object - - """ - return getattr(self, '_security_group_entries', None) - #end security_group_entries - - @security_group_entries.setter - def security_group_entries(self, security_group_entries): - """Set security-group-entries for security-group. - - :param security_group_entries: PolicyEntriesType object - - """ - self._security_group_entries = security_group_entries - #end security_group_entries - - def set_security_group_entries(self, value): - self.security_group_entries = value - #end set_security_group_entries - - def get_security_group_entries(self): - return self.security_group_entries - #end get_security_group_entries - - @property - def id_perms(self): - """Get id-perms for security-group. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for security-group. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for security-group. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for security-group. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_security_group_id'): - self._serialize_field_to_json(serialized, field_names, 'security_group_id') - if hasattr(self, '_configured_security_group_id'): - self._serialize_field_to_json(serialized, field_names, 'configured_security_group_id') - if hasattr(self, '_security_group_entries'): - self._serialize_field_to_json(serialized, field_names, 'security_group_entries') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_access_control_lists(self): - return getattr(self, 'access_control_lists', None) - #end get_access_control_lists - - def get_project_back_refs(self): - """Return list of all projects using this security-group""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this security-group""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def dump(self): - """Display security-group object in compact form.""" - print '------------ security-group ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P security_group_id = ', self.get_security_group_id() - print 'P configured_security_group_id = ', self.get_configured_security_group_id() - print 'P security_group_entries = ', self.get_security_group_entries() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS access_control_list = ', self.get_access_control_lists() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - #end dump - -#end class SecurityGroup - -class ProviderAttachment(object): - """ - Represents provider-attachment configuration representation. - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualRouter` objects - - Referred by: - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set(['virtual_router_refs']) - backref_fields = set(['customer_attachment_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'provider-attachment' - if not name: - name = u'default-provider-attachment' - self.name = name - self._uuid = None - self.fq_name = [name] - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (provider-attachment).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of provider-attachment in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of provider-attachment as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for provider-attachment. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for provider-attachment. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for provider-attachment. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for provider-attachment. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_router_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_router_refs') - return serialized - #end serialize_to_json - - def set_virtual_router(self, ref_obj): - """Set virtual-router for provider-attachment. - - :param ref_obj: VirtualRouter object - - """ - self.virtual_router_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_router_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_router - - def add_virtual_router(self, ref_obj): - """Add virtual-router to provider-attachment. - - :param ref_obj: VirtualRouter object - - """ - refs = getattr(self, 'virtual_router_refs', []) - if not refs: - self.virtual_router_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_router_refs.append(ref_info) - #end add_virtual_router - - def del_virtual_router(self, ref_obj): - refs = self.get_virtual_router_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_router_refs.remove(ref) - return - #end del_virtual_router - - def set_virtual_router_list(self, ref_obj_list): - """Set virtual-router list for provider-attachment. - - :param ref_obj_list: list of VirtualRouter object - - """ - self.virtual_router_refs = ref_obj_list - #end set_virtual_router_list - - def get_virtual_router_refs(self): - """Return virtual-router list for provider-attachment. - - :returns: list of <VirtualRouter> - - """ - return getattr(self, 'virtual_router_refs', None) - #end get_virtual_router_refs - - def get_customer_attachment_back_refs(self): - """Return list of all customer-attachments using this provider-attachment""" - return getattr(self, 'customer_attachment_back_refs', None) - #end get_customer_attachment_back_refs - - def dump(self): - """Display provider-attachment object in compact form.""" - print '------------ provider-attachment ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_router = ', self.get_virtual_router_refs() - #end dump - -#end class ProviderAttachment - -class VirtualMachineInterface(object): - """ - Represents virtual-machine-interface configuration representation. - - Child of: - :class:`.VirtualMachine` object OR - :class:`.Project` object OR - - Properties: - * virtual-machine-interface-mac-addresses (:class:`.MacAddressesType` type) - * virtual-machine-interface-dhcp-option-list (:class:`.DhcpOptionsListType` type) - * virtual-machine-interface-host-routes (:class:`.RouteTableType` type) - * virtual-machine-interface-allowed-address-pairs (:class:`.AllowedAddressPairs` type) - * vrf-assign-table (:class:`.VrfAssignTableType` type) - * virtual-machine-interface-device-owner (xsd:string type) - * virtual-machine-interface-properties (:class:`.VirtualMachineInterfacePropertiesType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.QosForwardingClass` objects - * list of :class:`.SecurityGroup` objects - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.VirtualMachine` objects - * list of :class:`.VirtualNetwork` objects - * list of (:class:`.RoutingInstance` object, :class:`.PolicyBasedForwardingRuleType` attribute) - * list of :class:`.InterfaceRouteTable` objects - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.InstanceIp` objects - * list of :class:`.Subnet` objects - * list of :class:`.FloatingIp` objects - * list of :class:`.LogicalInterface` objects - * list of :class:`.CustomerAttachment` objects - * list of :class:`.LogicalRouter` objects - * list of :class:`.LoadbalancerPool` objects - * list of :class:`.VirtualIp` objects - """ - - prop_fields = set([u'virtual_machine_interface_mac_addresses', u'virtual_machine_interface_dhcp_option_list', u'virtual_machine_interface_host_routes', u'virtual_machine_interface_allowed_address_pairs', u'vrf_assign_table', u'virtual_machine_interface_device_owner', u'virtual_machine_interface_properties', u'id_perms', u'display_name']) - ref_fields = set([u'qos_forwarding_class_refs', u'security_group_refs', 'virtual_machine_interface_refs', u'virtual_machine_refs', u'virtual_network_refs', 'routing_instance_refs', u'interface_route_table_refs']) - backref_fields = set(['virtual_machine_interface_back_refs', u'virtual_machine_back_refs', u'project_back_refs', u'instance_ip_back_refs', u'subnet_back_refs', u'floating_ip_back_refs', u'logical_interface_back_refs', 'customer_attachment_back_refs', u'logical_router_back_refs', u'loadbalancer_pool_back_refs', u'virtual_ip_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, virtual_machine_interface_mac_addresses = None, virtual_machine_interface_dhcp_option_list = None, virtual_machine_interface_host_routes = None, virtual_machine_interface_allowed_address_pairs = None, vrf_assign_table = None, virtual_machine_interface_device_owner = None, virtual_machine_interface_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-machine-interface' - if not name: - name = u'default-virtual-machine-interface' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - # if obj constructed from within server, ignore if parent not specified - if not kwargs['parent_type']: - raise AmbiguousParentError("[[u'default-virtual-machine'], [u'default-domain', u'default-project']]") - - # property fields - if virtual_machine_interface_mac_addresses: - self._virtual_machine_interface_mac_addresses = virtual_machine_interface_mac_addresses - if virtual_machine_interface_dhcp_option_list: - self._virtual_machine_interface_dhcp_option_list = virtual_machine_interface_dhcp_option_list - if virtual_machine_interface_host_routes: - self._virtual_machine_interface_host_routes = virtual_machine_interface_host_routes - if virtual_machine_interface_allowed_address_pairs: - self._virtual_machine_interface_allowed_address_pairs = virtual_machine_interface_allowed_address_pairs - if vrf_assign_table: - self._vrf_assign_table = vrf_assign_table - if virtual_machine_interface_device_owner: - self._virtual_machine_interface_device_owner = virtual_machine_interface_device_owner - if virtual_machine_interface_properties: - self._virtual_machine_interface_properties = virtual_machine_interface_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-machine-interface).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-machine-interface in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-machine-interface as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-machine-interface's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-machine-interface's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_machine_interface_mac_addresses(self): - """Get virtual-machine-interface-mac-addresses for virtual-machine-interface. - - :returns: MacAddressesType object - - """ - return getattr(self, '_virtual_machine_interface_mac_addresses', None) - #end virtual_machine_interface_mac_addresses - - @virtual_machine_interface_mac_addresses.setter - def virtual_machine_interface_mac_addresses(self, virtual_machine_interface_mac_addresses): - """Set virtual-machine-interface-mac-addresses for virtual-machine-interface. - - :param virtual_machine_interface_mac_addresses: MacAddressesType object - - """ - self._virtual_machine_interface_mac_addresses = virtual_machine_interface_mac_addresses - #end virtual_machine_interface_mac_addresses - - def set_virtual_machine_interface_mac_addresses(self, value): - self.virtual_machine_interface_mac_addresses = value - #end set_virtual_machine_interface_mac_addresses - - def get_virtual_machine_interface_mac_addresses(self): - return self.virtual_machine_interface_mac_addresses - #end get_virtual_machine_interface_mac_addresses - - @property - def virtual_machine_interface_dhcp_option_list(self): - """Get virtual-machine-interface-dhcp-option-list for virtual-machine-interface. - - :returns: DhcpOptionsListType object - - """ - return getattr(self, '_virtual_machine_interface_dhcp_option_list', None) - #end virtual_machine_interface_dhcp_option_list - - @virtual_machine_interface_dhcp_option_list.setter - def virtual_machine_interface_dhcp_option_list(self, virtual_machine_interface_dhcp_option_list): - """Set virtual-machine-interface-dhcp-option-list for virtual-machine-interface. - - :param virtual_machine_interface_dhcp_option_list: DhcpOptionsListType object - - """ - self._virtual_machine_interface_dhcp_option_list = virtual_machine_interface_dhcp_option_list - #end virtual_machine_interface_dhcp_option_list - - def set_virtual_machine_interface_dhcp_option_list(self, value): - self.virtual_machine_interface_dhcp_option_list = value - #end set_virtual_machine_interface_dhcp_option_list - - def get_virtual_machine_interface_dhcp_option_list(self): - return self.virtual_machine_interface_dhcp_option_list - #end get_virtual_machine_interface_dhcp_option_list - - @property - def virtual_machine_interface_host_routes(self): - """Get virtual-machine-interface-host-routes for virtual-machine-interface. - - :returns: RouteTableType object - - """ - return getattr(self, '_virtual_machine_interface_host_routes', None) - #end virtual_machine_interface_host_routes - - @virtual_machine_interface_host_routes.setter - def virtual_machine_interface_host_routes(self, virtual_machine_interface_host_routes): - """Set virtual-machine-interface-host-routes for virtual-machine-interface. - - :param virtual_machine_interface_host_routes: RouteTableType object - - """ - self._virtual_machine_interface_host_routes = virtual_machine_interface_host_routes - #end virtual_machine_interface_host_routes - - def set_virtual_machine_interface_host_routes(self, value): - self.virtual_machine_interface_host_routes = value - #end set_virtual_machine_interface_host_routes - - def get_virtual_machine_interface_host_routes(self): - return self.virtual_machine_interface_host_routes - #end get_virtual_machine_interface_host_routes - - @property - def virtual_machine_interface_allowed_address_pairs(self): - """Get virtual-machine-interface-allowed-address-pairs for virtual-machine-interface. - - :returns: AllowedAddressPairs object - - """ - return getattr(self, '_virtual_machine_interface_allowed_address_pairs', None) - #end virtual_machine_interface_allowed_address_pairs - - @virtual_machine_interface_allowed_address_pairs.setter - def virtual_machine_interface_allowed_address_pairs(self, virtual_machine_interface_allowed_address_pairs): - """Set virtual-machine-interface-allowed-address-pairs for virtual-machine-interface. - - :param virtual_machine_interface_allowed_address_pairs: AllowedAddressPairs object - - """ - self._virtual_machine_interface_allowed_address_pairs = virtual_machine_interface_allowed_address_pairs - #end virtual_machine_interface_allowed_address_pairs - - def set_virtual_machine_interface_allowed_address_pairs(self, value): - self.virtual_machine_interface_allowed_address_pairs = value - #end set_virtual_machine_interface_allowed_address_pairs - - def get_virtual_machine_interface_allowed_address_pairs(self): - return self.virtual_machine_interface_allowed_address_pairs - #end get_virtual_machine_interface_allowed_address_pairs - - @property - def vrf_assign_table(self): - """Get vrf-assign-table for virtual-machine-interface. - - :returns: VrfAssignTableType object - - """ - return getattr(self, '_vrf_assign_table', None) - #end vrf_assign_table - - @vrf_assign_table.setter - def vrf_assign_table(self, vrf_assign_table): - """Set vrf-assign-table for virtual-machine-interface. - - :param vrf_assign_table: VrfAssignTableType object - - """ - self._vrf_assign_table = vrf_assign_table - #end vrf_assign_table - - def set_vrf_assign_table(self, value): - self.vrf_assign_table = value - #end set_vrf_assign_table - - def get_vrf_assign_table(self): - return self.vrf_assign_table - #end get_vrf_assign_table - - @property - def virtual_machine_interface_device_owner(self): - """Get virtual-machine-interface-device-owner for virtual-machine-interface. - - :returns: xsd:string object - - """ - return getattr(self, '_virtual_machine_interface_device_owner', None) - #end virtual_machine_interface_device_owner - - @virtual_machine_interface_device_owner.setter - def virtual_machine_interface_device_owner(self, virtual_machine_interface_device_owner): - """Set virtual-machine-interface-device-owner for virtual-machine-interface. - - :param virtual_machine_interface_device_owner: xsd:string object - - """ - self._virtual_machine_interface_device_owner = virtual_machine_interface_device_owner - #end virtual_machine_interface_device_owner - - def set_virtual_machine_interface_device_owner(self, value): - self.virtual_machine_interface_device_owner = value - #end set_virtual_machine_interface_device_owner - - def get_virtual_machine_interface_device_owner(self): - return self.virtual_machine_interface_device_owner - #end get_virtual_machine_interface_device_owner - - @property - def virtual_machine_interface_properties(self): - """Get virtual-machine-interface-properties for virtual-machine-interface. - - :returns: VirtualMachineInterfacePropertiesType object - - """ - return getattr(self, '_virtual_machine_interface_properties', None) - #end virtual_machine_interface_properties - - @virtual_machine_interface_properties.setter - def virtual_machine_interface_properties(self, virtual_machine_interface_properties): - """Set virtual-machine-interface-properties for virtual-machine-interface. - - :param virtual_machine_interface_properties: VirtualMachineInterfacePropertiesType object - - """ - self._virtual_machine_interface_properties = virtual_machine_interface_properties - #end virtual_machine_interface_properties - - def set_virtual_machine_interface_properties(self, value): - self.virtual_machine_interface_properties = value - #end set_virtual_machine_interface_properties - - def get_virtual_machine_interface_properties(self): - return self.virtual_machine_interface_properties - #end get_virtual_machine_interface_properties - - @property - def id_perms(self): - """Get id-perms for virtual-machine-interface. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-machine-interface. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-machine-interface. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-machine-interface. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_machine_interface_mac_addresses'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_mac_addresses') - if hasattr(self, '_virtual_machine_interface_dhcp_option_list'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_dhcp_option_list') - if hasattr(self, '_virtual_machine_interface_host_routes'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_host_routes') - if hasattr(self, '_virtual_machine_interface_allowed_address_pairs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_allowed_address_pairs') - if hasattr(self, '_vrf_assign_table'): - self._serialize_field_to_json(serialized, field_names, 'vrf_assign_table') - if hasattr(self, '_virtual_machine_interface_device_owner'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_device_owner') - if hasattr(self, '_virtual_machine_interface_properties'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'qos_forwarding_class_refs'): - self._serialize_field_to_json(serialized, field_names, 'qos_forwarding_class_refs') - if hasattr(self, 'security_group_refs'): - self._serialize_field_to_json(serialized, field_names, 'security_group_refs') - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - if hasattr(self, 'virtual_machine_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_refs') - if hasattr(self, 'virtual_network_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_refs') - if hasattr(self, 'routing_instance_refs'): - self._serialize_field_to_json(serialized, field_names, 'routing_instance_refs') - if hasattr(self, 'interface_route_table_refs'): - self._serialize_field_to_json(serialized, field_names, 'interface_route_table_refs') - return serialized - #end serialize_to_json - - def set_qos_forwarding_class(self, ref_obj): - """Set qos-forwarding-class for virtual-machine-interface. - - :param ref_obj: QosForwardingClass object - - """ - self.qos_forwarding_class_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.qos_forwarding_class_refs[0]['uuid'] = ref_obj.uuid - - #end set_qos_forwarding_class - - def add_qos_forwarding_class(self, ref_obj): - """Add qos-forwarding-class to virtual-machine-interface. - - :param ref_obj: QosForwardingClass object - - """ - refs = getattr(self, 'qos_forwarding_class_refs', []) - if not refs: - self.qos_forwarding_class_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.qos_forwarding_class_refs.append(ref_info) - #end add_qos_forwarding_class - - def del_qos_forwarding_class(self, ref_obj): - refs = self.get_qos_forwarding_class_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.qos_forwarding_class_refs.remove(ref) - return - #end del_qos_forwarding_class - - def set_qos_forwarding_class_list(self, ref_obj_list): - """Set qos-forwarding-class list for virtual-machine-interface. - - :param ref_obj_list: list of QosForwardingClass object - - """ - self.qos_forwarding_class_refs = ref_obj_list - #end set_qos_forwarding_class_list - - def get_qos_forwarding_class_refs(self): - """Return qos-forwarding-class list for virtual-machine-interface. - - :returns: list of <QosForwardingClass> - - """ - return getattr(self, 'qos_forwarding_class_refs', None) - #end get_qos_forwarding_class_refs - - def set_security_group(self, ref_obj): - """Set security-group for virtual-machine-interface. - - :param ref_obj: SecurityGroup object - - """ - self.security_group_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.security_group_refs[0]['uuid'] = ref_obj.uuid - - #end set_security_group - - def add_security_group(self, ref_obj): - """Add security-group to virtual-machine-interface. - - :param ref_obj: SecurityGroup object - - """ - refs = getattr(self, 'security_group_refs', []) - if not refs: - self.security_group_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.security_group_refs.append(ref_info) - #end add_security_group - - def del_security_group(self, ref_obj): - refs = self.get_security_group_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.security_group_refs.remove(ref) - return - #end del_security_group - - def set_security_group_list(self, ref_obj_list): - """Set security-group list for virtual-machine-interface. - - :param ref_obj_list: list of SecurityGroup object - - """ - self.security_group_refs = ref_obj_list - #end set_security_group_list - - def get_security_group_refs(self): - """Return security-group list for virtual-machine-interface. - - :returns: list of <SecurityGroup> - - """ - return getattr(self, 'security_group_refs', None) - #end get_security_group_refs - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for virtual-machine-interface. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to virtual-machine-interface. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for virtual-machine-interface. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for virtual-machine-interface. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def set_virtual_machine(self, ref_obj): - """Set virtual-machine for virtual-machine-interface. - - :param ref_obj: VirtualMachine object - - """ - self.virtual_machine_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine - - def add_virtual_machine(self, ref_obj): - """Add virtual-machine to virtual-machine-interface. - - :param ref_obj: VirtualMachine object - - """ - refs = getattr(self, 'virtual_machine_refs', []) - if not refs: - self.virtual_machine_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_refs.append(ref_info) - #end add_virtual_machine - - def del_virtual_machine(self, ref_obj): - refs = self.get_virtual_machine_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_refs.remove(ref) - return - #end del_virtual_machine - - def set_virtual_machine_list(self, ref_obj_list): - """Set virtual-machine list for virtual-machine-interface. - - :param ref_obj_list: list of VirtualMachine object - - """ - self.virtual_machine_refs = ref_obj_list - #end set_virtual_machine_list - - def get_virtual_machine_refs(self): - """Return virtual-machine list for virtual-machine-interface. - - :returns: list of <VirtualMachine> - - """ - return getattr(self, 'virtual_machine_refs', None) - #end get_virtual_machine_refs - - def set_virtual_network(self, ref_obj): - """Set virtual-network for virtual-machine-interface. - - :param ref_obj: VirtualNetwork object - - """ - self.virtual_network_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_network_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_network - - def add_virtual_network(self, ref_obj): - """Add virtual-network to virtual-machine-interface. - - :param ref_obj: VirtualNetwork object - - """ - refs = getattr(self, 'virtual_network_refs', []) - if not refs: - self.virtual_network_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_network_refs.append(ref_info) - #end add_virtual_network - - def del_virtual_network(self, ref_obj): - refs = self.get_virtual_network_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_network_refs.remove(ref) - return - #end del_virtual_network - - def set_virtual_network_list(self, ref_obj_list): - """Set virtual-network list for virtual-machine-interface. - - :param ref_obj_list: list of VirtualNetwork object - - """ - self.virtual_network_refs = ref_obj_list - #end set_virtual_network_list - - def get_virtual_network_refs(self): - """Return virtual-network list for virtual-machine-interface. - - :returns: list of <VirtualNetwork> - - """ - return getattr(self, 'virtual_network_refs', None) - #end get_virtual_network_refs - - def set_routing_instance(self, ref_obj, ref_data): - """Set routing-instance for virtual-machine-interface. - - :param ref_obj: RoutingInstance object - :param ref_data: PolicyBasedForwardingRuleType object - - """ - self.routing_instance_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.routing_instance_refs[0]['uuid'] = ref_obj.uuid - - #end set_routing_instance - - def add_routing_instance(self, ref_obj, ref_data): - """Add routing-instance to virtual-machine-interface. - - :param ref_obj: RoutingInstance object - :param ref_data: PolicyBasedForwardingRuleType object - - """ - refs = getattr(self, 'routing_instance_refs', []) - if not refs: - self.routing_instance_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.routing_instance_refs.append(ref_info) - #end add_routing_instance - - def del_routing_instance(self, ref_obj): - refs = self.get_routing_instance_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.routing_instance_refs.remove(ref) - return - #end del_routing_instance - - def set_routing_instance_list(self, ref_obj_list, ref_data_list): - """Set routing-instance list for virtual-machine-interface. - - :param ref_obj_list: list of RoutingInstance object - :param ref_data_list: list of PolicyBasedForwardingRuleType object - - """ - self.routing_instance_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_routing_instance_list - - def get_routing_instance_refs(self): - """Return routing-instance list for virtual-machine-interface. - - :returns: list of tuple <RoutingInstance, PolicyBasedForwardingRuleType> - - """ - return getattr(self, 'routing_instance_refs', None) - #end get_routing_instance_refs - - def set_interface_route_table(self, ref_obj): - """Set interface-route-table for virtual-machine-interface. - - :param ref_obj: InterfaceRouteTable object - - """ - self.interface_route_table_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.interface_route_table_refs[0]['uuid'] = ref_obj.uuid - - #end set_interface_route_table - - def add_interface_route_table(self, ref_obj): - """Add interface-route-table to virtual-machine-interface. - - :param ref_obj: InterfaceRouteTable object - - """ - refs = getattr(self, 'interface_route_table_refs', []) - if not refs: - self.interface_route_table_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.interface_route_table_refs.append(ref_info) - #end add_interface_route_table - - def del_interface_route_table(self, ref_obj): - refs = self.get_interface_route_table_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.interface_route_table_refs.remove(ref) - return - #end del_interface_route_table - - def set_interface_route_table_list(self, ref_obj_list): - """Set interface-route-table list for virtual-machine-interface. - - :param ref_obj_list: list of InterfaceRouteTable object - - """ - self.interface_route_table_refs = ref_obj_list - #end set_interface_route_table_list - - def get_interface_route_table_refs(self): - """Return interface-route-table list for virtual-machine-interface. - - :returns: list of <InterfaceRouteTable> - - """ - return getattr(self, 'interface_route_table_refs', None) - #end get_interface_route_table_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this virtual-machine-interface""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def get_virtual_machine_back_refs(self): - """Return list of all virtual-machines using this virtual-machine-interface""" - return getattr(self, 'virtual_machine_back_refs', None) - #end get_virtual_machine_back_refs - - def get_project_back_refs(self): - """Return list of all projects using this virtual-machine-interface""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_instance_ip_back_refs(self): - """Return list of all instance-ips using this virtual-machine-interface""" - return getattr(self, 'instance_ip_back_refs', None) - #end get_instance_ip_back_refs - - def get_subnet_back_refs(self): - """Return list of all subnets using this virtual-machine-interface""" - return getattr(self, 'subnet_back_refs', None) - #end get_subnet_back_refs - - def get_floating_ip_back_refs(self): - """Return list of all floating-ips using this virtual-machine-interface""" - return getattr(self, 'floating_ip_back_refs', None) - #end get_floating_ip_back_refs - - def get_logical_interface_back_refs(self): - """Return list of all logical-interfaces using this virtual-machine-interface""" - return getattr(self, 'logical_interface_back_refs', None) - #end get_logical_interface_back_refs - - def get_customer_attachment_back_refs(self): - """Return list of all customer-attachments using this virtual-machine-interface""" - return getattr(self, 'customer_attachment_back_refs', None) - #end get_customer_attachment_back_refs - - def get_logical_router_back_refs(self): - """Return list of all logical-routers using this virtual-machine-interface""" - return getattr(self, 'logical_router_back_refs', None) - #end get_logical_router_back_refs - - def get_loadbalancer_pool_back_refs(self): - """Return list of all loadbalancer-pools using this virtual-machine-interface""" - return getattr(self, 'loadbalancer_pool_back_refs', None) - #end get_loadbalancer_pool_back_refs - - def get_virtual_ip_back_refs(self): - """Return list of all virtual-ips using this virtual-machine-interface""" - return getattr(self, 'virtual_ip_back_refs', None) - #end get_virtual_ip_back_refs - - def dump(self): - """Display virtual-machine-interface object in compact form.""" - print '------------ virtual-machine-interface ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_machine_interface_mac_addresses = ', self.get_virtual_machine_interface_mac_addresses() - print 'P virtual_machine_interface_dhcp_option_list = ', self.get_virtual_machine_interface_dhcp_option_list() - print 'P virtual_machine_interface_host_routes = ', self.get_virtual_machine_interface_host_routes() - print 'P virtual_machine_interface_allowed_address_pairs = ', self.get_virtual_machine_interface_allowed_address_pairs() - print 'P vrf_assign_table = ', self.get_vrf_assign_table() - print 'P virtual_machine_interface_device_owner = ', self.get_virtual_machine_interface_device_owner() - print 'P virtual_machine_interface_properties = ', self.get_virtual_machine_interface_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF qos_forwarding_class = ', self.get_qos_forwarding_class_refs() - print 'REF security_group = ', self.get_security_group_refs() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - print 'REF virtual_machine = ', self.get_virtual_machine_refs() - print 'REF virtual_network = ', self.get_virtual_network_refs() - print 'REF routing_instance = ', self.get_routing_instance_refs() - print 'REF interface_route_table = ', self.get_interface_route_table_refs() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - print 'BCK instance_ip = ', self.get_instance_ip_back_refs() - print 'BCK subnet = ', self.get_subnet_back_refs() - print 'BCK floating_ip = ', self.get_floating_ip_back_refs() - print 'BCK logical_interface = ', self.get_logical_interface_back_refs() - print 'BCK customer_attachment = ', self.get_customer_attachment_back_refs() - print 'BCK logical_router = ', self.get_logical_router_back_refs() - print 'BCK loadbalancer_pool = ', self.get_loadbalancer_pool_back_refs() - print 'BCK virtual_ip = ', self.get_virtual_ip_back_refs() - #end dump - -#end class VirtualMachineInterface - -class LoadbalancerHealthmonitor(object): - """ - Represents loadbalancer-healthmonitor configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * loadbalancer-healthmonitor-properties (:class:`.LoadbalancerHealthmonitorType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - * list of :class:`.LoadbalancerPool` objects - """ - - prop_fields = set([u'loadbalancer_healthmonitor_properties', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'project_back_refs', u'loadbalancer_pool_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, loadbalancer_healthmonitor_properties = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'loadbalancer-healthmonitor' - if not name: - name = u'default-loadbalancer-healthmonitor' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if loadbalancer_healthmonitor_properties: - self._loadbalancer_healthmonitor_properties = loadbalancer_healthmonitor_properties - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (loadbalancer-healthmonitor).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of loadbalancer-healthmonitor in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of loadbalancer-healthmonitor as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of loadbalancer-healthmonitor's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of loadbalancer-healthmonitor's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def loadbalancer_healthmonitor_properties(self): - """Get loadbalancer-healthmonitor-properties for loadbalancer-healthmonitor. - - :returns: LoadbalancerHealthmonitorType object - - """ - return getattr(self, '_loadbalancer_healthmonitor_properties', None) - #end loadbalancer_healthmonitor_properties - - @loadbalancer_healthmonitor_properties.setter - def loadbalancer_healthmonitor_properties(self, loadbalancer_healthmonitor_properties): - """Set loadbalancer-healthmonitor-properties for loadbalancer-healthmonitor. - - :param loadbalancer_healthmonitor_properties: LoadbalancerHealthmonitorType object - - """ - self._loadbalancer_healthmonitor_properties = loadbalancer_healthmonitor_properties - #end loadbalancer_healthmonitor_properties - - def set_loadbalancer_healthmonitor_properties(self, value): - self.loadbalancer_healthmonitor_properties = value - #end set_loadbalancer_healthmonitor_properties - - def get_loadbalancer_healthmonitor_properties(self): - return self.loadbalancer_healthmonitor_properties - #end get_loadbalancer_healthmonitor_properties - - @property - def id_perms(self): - """Get id-perms for loadbalancer-healthmonitor. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for loadbalancer-healthmonitor. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for loadbalancer-healthmonitor. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for loadbalancer-healthmonitor. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_loadbalancer_healthmonitor_properties'): - self._serialize_field_to_json(serialized, field_names, 'loadbalancer_healthmonitor_properties') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_project_back_refs(self): - """Return list of all projects using this loadbalancer-healthmonitor""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_loadbalancer_pool_back_refs(self): - """Return list of all loadbalancer-pools using this loadbalancer-healthmonitor""" - return getattr(self, 'loadbalancer_pool_back_refs', None) - #end get_loadbalancer_pool_back_refs - - def dump(self): - """Display loadbalancer-healthmonitor object in compact form.""" - print '------------ loadbalancer-healthmonitor ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P loadbalancer_healthmonitor_properties = ', self.get_loadbalancer_healthmonitor_properties() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'BCK loadbalancer_pool = ', self.get_loadbalancer_pool_back_refs() - #end dump - -#end class LoadbalancerHealthmonitor - -class VirtualNetwork(object): - """ - Represents virtual-network configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * virtual-network-properties (:class:`.VirtualNetworkType` type) - * virtual-network-network-id (xsd:integer type) - * route-target-list (:class:`.RouteTargetList` type) - * router-external (xsd:boolean type) - * is-shared (xsd:boolean type) - * external-ipam (xsd:boolean type) - * flood-unknown-unicast (xsd:boolean type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.AccessControlList` objects - * list of :class:`.FloatingIpPool` objects - * list of :class:`.RoutingInstance` objects - - References to: - * list of :class:`.QosForwardingClass` objects - * list of (:class:`.NetworkIpam` object, :class:`.VnSubnetsType` attribute) - * list of (:class:`.NetworkPolicy` object, :class:`.VirtualNetworkPolicyType` attribute) - * list of :class:`.RouteTable` objects - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.InstanceIp` objects - * list of :class:`.PhysicalRouter` objects - * list of :class:`.LogicalRouter` objects - """ - - prop_fields = set([u'virtual_network_properties', u'virtual_network_network_id', u'route_target_list', u'router_external', u'is_shared', u'external_ipam', u'flood_unknown_unicast', u'id_perms', u'display_name']) - ref_fields = set([u'qos_forwarding_class_refs', u'network_ipam_refs', u'network_policy_refs', u'route_table_refs']) - backref_fields = set([u'project_back_refs', 'virtual_machine_interface_back_refs', u'instance_ip_back_refs', u'physical_router_back_refs', u'logical_router_back_refs']) - children_fields = set([u'access_control_lists', u'floating_ip_pools', 'routing_instances']) - - def __init__(self, name = None, parent_obj = None, virtual_network_properties = None, virtual_network_network_id = None, route_target_list = None, router_external = None, is_shared = None, external_ipam = None, flood_unknown_unicast = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'virtual-network' - if not name: - name = u'default-virtual-network' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if virtual_network_properties: - self._virtual_network_properties = virtual_network_properties - if virtual_network_network_id: - self._virtual_network_network_id = virtual_network_network_id - if route_target_list: - self._route_target_list = route_target_list - if router_external: - self._router_external = router_external - if is_shared: - self._is_shared = is_shared - if external_ipam: - self._external_ipam = external_ipam - if flood_unknown_unicast: - self._flood_unknown_unicast = flood_unknown_unicast - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (virtual-network).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of virtual-network in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of virtual-network as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of virtual-network's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of virtual-network's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def virtual_network_properties(self): - """Get virtual-network-properties for virtual-network. - - :returns: VirtualNetworkType object - - """ - return getattr(self, '_virtual_network_properties', None) - #end virtual_network_properties - - @virtual_network_properties.setter - def virtual_network_properties(self, virtual_network_properties): - """Set virtual-network-properties for virtual-network. - - :param virtual_network_properties: VirtualNetworkType object - - """ - self._virtual_network_properties = virtual_network_properties - #end virtual_network_properties - - def set_virtual_network_properties(self, value): - self.virtual_network_properties = value - #end set_virtual_network_properties - - def get_virtual_network_properties(self): - return self.virtual_network_properties - #end get_virtual_network_properties - - @property - def virtual_network_network_id(self): - """Get virtual-network-network-id for virtual-network. - - :returns: xsd:integer object - - """ - return getattr(self, '_virtual_network_network_id', None) - #end virtual_network_network_id - - @virtual_network_network_id.setter - def virtual_network_network_id(self, virtual_network_network_id): - """Set virtual-network-network-id for virtual-network. - - :param virtual_network_network_id: xsd:integer object - - """ - self._virtual_network_network_id = virtual_network_network_id - #end virtual_network_network_id - - def set_virtual_network_network_id(self, value): - self.virtual_network_network_id = value - #end set_virtual_network_network_id - - def get_virtual_network_network_id(self): - return self.virtual_network_network_id - #end get_virtual_network_network_id - - @property - def route_target_list(self): - """Get route-target-list for virtual-network. - - :returns: RouteTargetList object - - """ - return getattr(self, '_route_target_list', None) - #end route_target_list - - @route_target_list.setter - def route_target_list(self, route_target_list): - """Set route-target-list for virtual-network. - - :param route_target_list: RouteTargetList object - - """ - self._route_target_list = route_target_list - #end route_target_list - - def set_route_target_list(self, value): - self.route_target_list = value - #end set_route_target_list - - def get_route_target_list(self): - return self.route_target_list - #end get_route_target_list - - @property - def router_external(self): - """Get router-external for virtual-network. - - :returns: xsd:boolean object - - """ - return getattr(self, '_router_external', None) - #end router_external - - @router_external.setter - def router_external(self, router_external): - """Set router-external for virtual-network. - - :param router_external: xsd:boolean object - - """ - self._router_external = router_external - #end router_external - - def set_router_external(self, value): - self.router_external = value - #end set_router_external - - def get_router_external(self): - return self.router_external - #end get_router_external - - @property - def is_shared(self): - """Get is-shared for virtual-network. - - :returns: xsd:boolean object - - """ - return getattr(self, '_is_shared', None) - #end is_shared - - @is_shared.setter - def is_shared(self, is_shared): - """Set is-shared for virtual-network. - - :param is_shared: xsd:boolean object - - """ - self._is_shared = is_shared - #end is_shared - - def set_is_shared(self, value): - self.is_shared = value - #end set_is_shared - - def get_is_shared(self): - return self.is_shared - #end get_is_shared - - @property - def external_ipam(self): - """Get external-ipam for virtual-network. - - :returns: xsd:boolean object - - """ - return getattr(self, '_external_ipam', None) - #end external_ipam - - @external_ipam.setter - def external_ipam(self, external_ipam): - """Set external-ipam for virtual-network. - - :param external_ipam: xsd:boolean object - - """ - self._external_ipam = external_ipam - #end external_ipam - - def set_external_ipam(self, value): - self.external_ipam = value - #end set_external_ipam - - def get_external_ipam(self): - return self.external_ipam - #end get_external_ipam - - @property - def flood_unknown_unicast(self): - """Get flood-unknown-unicast for virtual-network. - - :returns: xsd:boolean object - - """ - return getattr(self, '_flood_unknown_unicast', None) - #end flood_unknown_unicast - - @flood_unknown_unicast.setter - def flood_unknown_unicast(self, flood_unknown_unicast): - """Set flood-unknown-unicast for virtual-network. - - :param flood_unknown_unicast: xsd:boolean object - - """ - self._flood_unknown_unicast = flood_unknown_unicast - #end flood_unknown_unicast - - def set_flood_unknown_unicast(self, value): - self.flood_unknown_unicast = value - #end set_flood_unknown_unicast - - def get_flood_unknown_unicast(self): - return self.flood_unknown_unicast - #end get_flood_unknown_unicast - - @property - def id_perms(self): - """Get id-perms for virtual-network. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for virtual-network. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for virtual-network. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for virtual-network. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_virtual_network_properties'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_properties') - if hasattr(self, '_virtual_network_network_id'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_network_id') - if hasattr(self, '_route_target_list'): - self._serialize_field_to_json(serialized, field_names, 'route_target_list') - if hasattr(self, '_router_external'): - self._serialize_field_to_json(serialized, field_names, 'router_external') - if hasattr(self, '_is_shared'): - self._serialize_field_to_json(serialized, field_names, 'is_shared') - if hasattr(self, '_external_ipam'): - self._serialize_field_to_json(serialized, field_names, 'external_ipam') - if hasattr(self, '_flood_unknown_unicast'): - self._serialize_field_to_json(serialized, field_names, 'flood_unknown_unicast') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'qos_forwarding_class_refs'): - self._serialize_field_to_json(serialized, field_names, 'qos_forwarding_class_refs') - if hasattr(self, 'network_ipam_refs'): - self._serialize_field_to_json(serialized, field_names, 'network_ipam_refs') - if hasattr(self, 'network_policy_refs'): - self._serialize_field_to_json(serialized, field_names, 'network_policy_refs') - if hasattr(self, 'route_table_refs'): - self._serialize_field_to_json(serialized, field_names, 'route_table_refs') - return serialized - #end serialize_to_json - - def get_access_control_lists(self): - return getattr(self, 'access_control_lists', None) - #end get_access_control_lists - - def get_floating_ip_pools(self): - return getattr(self, 'floating_ip_pools', None) - #end get_floating_ip_pools - - def get_routing_instances(self): - return getattr(self, 'routing_instances', None) - #end get_routing_instances - - def set_qos_forwarding_class(self, ref_obj): - """Set qos-forwarding-class for virtual-network. - - :param ref_obj: QosForwardingClass object - - """ - self.qos_forwarding_class_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.qos_forwarding_class_refs[0]['uuid'] = ref_obj.uuid - - #end set_qos_forwarding_class - - def add_qos_forwarding_class(self, ref_obj): - """Add qos-forwarding-class to virtual-network. - - :param ref_obj: QosForwardingClass object - - """ - refs = getattr(self, 'qos_forwarding_class_refs', []) - if not refs: - self.qos_forwarding_class_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.qos_forwarding_class_refs.append(ref_info) - #end add_qos_forwarding_class - - def del_qos_forwarding_class(self, ref_obj): - refs = self.get_qos_forwarding_class_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.qos_forwarding_class_refs.remove(ref) - return - #end del_qos_forwarding_class - - def set_qos_forwarding_class_list(self, ref_obj_list): - """Set qos-forwarding-class list for virtual-network. - - :param ref_obj_list: list of QosForwardingClass object - - """ - self.qos_forwarding_class_refs = ref_obj_list - #end set_qos_forwarding_class_list - - def get_qos_forwarding_class_refs(self): - """Return qos-forwarding-class list for virtual-network. - - :returns: list of <QosForwardingClass> - - """ - return getattr(self, 'qos_forwarding_class_refs', None) - #end get_qos_forwarding_class_refs - - def set_network_ipam(self, ref_obj, ref_data): - """Set network-ipam for virtual-network. - - :param ref_obj: NetworkIpam object - :param ref_data: VnSubnetsType object - - """ - self.network_ipam_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.network_ipam_refs[0]['uuid'] = ref_obj.uuid - - #end set_network_ipam - - def add_network_ipam(self, ref_obj, ref_data): - """Add network-ipam to virtual-network. - - :param ref_obj: NetworkIpam object - :param ref_data: VnSubnetsType object - - """ - refs = getattr(self, 'network_ipam_refs', []) - if not refs: - self.network_ipam_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.network_ipam_refs.append(ref_info) - #end add_network_ipam - - def del_network_ipam(self, ref_obj): - refs = self.get_network_ipam_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.network_ipam_refs.remove(ref) - return - #end del_network_ipam - - def set_network_ipam_list(self, ref_obj_list, ref_data_list): - """Set network-ipam list for virtual-network. - - :param ref_obj_list: list of NetworkIpam object - :param ref_data_list: list of VnSubnetsType object - - """ - self.network_ipam_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_network_ipam_list - - def get_network_ipam_refs(self): - """Return network-ipam list for virtual-network. - - :returns: list of tuple <NetworkIpam, VnSubnetsType> - - """ - return getattr(self, 'network_ipam_refs', None) - #end get_network_ipam_refs - - def set_network_policy(self, ref_obj, ref_data): - """Set network-policy for virtual-network. - - :param ref_obj: NetworkPolicy object - :param ref_data: VirtualNetworkPolicyType object - - """ - self.network_policy_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.network_policy_refs[0]['uuid'] = ref_obj.uuid - - #end set_network_policy - - def add_network_policy(self, ref_obj, ref_data): - """Add network-policy to virtual-network. - - :param ref_obj: NetworkPolicy object - :param ref_data: VirtualNetworkPolicyType object - - """ - refs = getattr(self, 'network_policy_refs', []) - if not refs: - self.network_policy_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.network_policy_refs.append(ref_info) - #end add_network_policy - - def del_network_policy(self, ref_obj): - refs = self.get_network_policy_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.network_policy_refs.remove(ref) - return - #end del_network_policy - - def set_network_policy_list(self, ref_obj_list, ref_data_list): - """Set network-policy list for virtual-network. - - :param ref_obj_list: list of NetworkPolicy object - :param ref_data_list: list of VirtualNetworkPolicyType object - - """ - self.network_policy_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_network_policy_list - - def get_network_policy_refs(self): - """Return network-policy list for virtual-network. - - :returns: list of tuple <NetworkPolicy, VirtualNetworkPolicyType> - - """ - return getattr(self, 'network_policy_refs', None) - #end get_network_policy_refs - - def set_route_table(self, ref_obj): - """Set route-table for virtual-network. - - :param ref_obj: RouteTable object - - """ - self.route_table_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.route_table_refs[0]['uuid'] = ref_obj.uuid - - #end set_route_table - - def add_route_table(self, ref_obj): - """Add route-table to virtual-network. - - :param ref_obj: RouteTable object - - """ - refs = getattr(self, 'route_table_refs', []) - if not refs: - self.route_table_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.route_table_refs.append(ref_info) - #end add_route_table - - def del_route_table(self, ref_obj): - refs = self.get_route_table_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.route_table_refs.remove(ref) - return - #end del_route_table - - def set_route_table_list(self, ref_obj_list): - """Set route-table list for virtual-network. - - :param ref_obj_list: list of RouteTable object - - """ - self.route_table_refs = ref_obj_list - #end set_route_table_list - - def get_route_table_refs(self): - """Return route-table list for virtual-network. - - :returns: list of <RouteTable> - - """ - return getattr(self, 'route_table_refs', None) - #end get_route_table_refs - - def get_project_back_refs(self): - """Return list of all projects using this virtual-network""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this virtual-network""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def get_instance_ip_back_refs(self): - """Return list of all instance-ips using this virtual-network""" - return getattr(self, 'instance_ip_back_refs', None) - #end get_instance_ip_back_refs - - def get_physical_router_back_refs(self): - """Return list of all physical-routers using this virtual-network""" - return getattr(self, 'physical_router_back_refs', None) - #end get_physical_router_back_refs - - def get_logical_router_back_refs(self): - """Return list of all logical-routers using this virtual-network""" - return getattr(self, 'logical_router_back_refs', None) - #end get_logical_router_back_refs - - def dump(self): - """Display virtual-network object in compact form.""" - print '------------ virtual-network ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P virtual_network_properties = ', self.get_virtual_network_properties() - print 'P virtual_network_network_id = ', self.get_virtual_network_network_id() - print 'P route_target_list = ', self.get_route_target_list() - print 'P router_external = ', self.get_router_external() - print 'P is_shared = ', self.get_is_shared() - print 'P external_ipam = ', self.get_external_ipam() - print 'P flood_unknown_unicast = ', self.get_flood_unknown_unicast() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF qos_forwarding_class = ', self.get_qos_forwarding_class_refs() - print 'REF network_ipam = ', self.get_network_ipam_refs() - print 'REF network_policy = ', self.get_network_policy_refs() - print 'HAS access_control_list = ', self.get_access_control_lists() - print 'HAS floating_ip_pool = ', self.get_floating_ip_pools() - print 'HAS routing_instance = ', self.get_routing_instances() - print 'REF route_table = ', self.get_route_table_refs() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - print 'BCK instance_ip = ', self.get_instance_ip_back_refs() - print 'BCK physical_router = ', self.get_physical_router_back_refs() - print 'BCK logical_router = ', self.get_logical_router_back_refs() - #end dump - -#end class VirtualNetwork - -class Project(object): - """ - Represents project configuration representation. - - Child of: - :class:`.Domain` object OR - - Properties: - * quota (:class:`.QuotaType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.SecurityGroup` objects - * list of :class:`.VirtualNetwork` objects - * list of :class:`.QosQueue` objects - * list of :class:`.QosForwardingClass` objects - * list of :class:`.NetworkIpam` objects - * list of :class:`.NetworkPolicy` objects - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.ServiceInstance` objects - * list of :class:`.RouteTable` objects - * list of :class:`.InterfaceRouteTable` objects - * list of :class:`.LogicalRouter` objects - * list of :class:`.LoadbalancerPool` objects - * list of :class:`.LoadbalancerHealthmonitor` objects - * list of :class:`.VirtualIp` objects - - References to: - * list of (:class:`.Namespace` object, :class:`.SubnetType` attribute) - * list of :class:`.FloatingIpPool` objects - - Referred by: - * list of :class:`.FloatingIp` objects - """ - - prop_fields = set([u'quota', u'id_perms', u'display_name']) - ref_fields = set([u'namespace_refs', u'floating_ip_pool_refs']) - backref_fields = set([u'domain_back_refs', u'floating_ip_back_refs']) - children_fields = set([u'security_groups', u'virtual_networks', u'qos_queues', u'qos_forwarding_classs', u'network_ipams', u'network_policys', 'virtual_machine_interfaces', u'service_instances', u'route_tables', u'interface_route_tables', u'logical_routers', u'loadbalancer_pools', u'loadbalancer_healthmonitors', u'virtual_ips']) - - def __init__(self, name = None, parent_obj = None, quota = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'project' - if not name: - name = u'default-project' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'domain' - self.fq_name = [u'default-domain'] - self.fq_name.append(name) - - - # property fields - if quota: - self._quota = quota - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (project).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of project in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of project as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of project's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of project's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def quota(self): - """Get quota for project. - - :returns: QuotaType object - - """ - return getattr(self, '_quota', None) - #end quota - - @quota.setter - def quota(self, quota): - """Set quota for project. - - :param quota: QuotaType object - - """ - self._quota = quota - #end quota - - def set_quota(self, value): - self.quota = value - #end set_quota - - def get_quota(self): - return self.quota - #end get_quota - - @property - def id_perms(self): - """Get id-perms for project. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for project. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for project. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for project. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_quota'): - self._serialize_field_to_json(serialized, field_names, 'quota') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'namespace_refs'): - self._serialize_field_to_json(serialized, field_names, 'namespace_refs') - if hasattr(self, 'floating_ip_pool_refs'): - self._serialize_field_to_json(serialized, field_names, 'floating_ip_pool_refs') - return serialized - #end serialize_to_json - - def get_security_groups(self): - return getattr(self, 'security_groups', None) - #end get_security_groups - - def get_virtual_networks(self): - return getattr(self, 'virtual_networks', None) - #end get_virtual_networks - - def get_qos_queues(self): - return getattr(self, 'qos_queues', None) - #end get_qos_queues - - def get_qos_forwarding_classs(self): - return getattr(self, 'qos_forwarding_classs', None) - #end get_qos_forwarding_classs - - def get_network_ipams(self): - return getattr(self, 'network_ipams', None) - #end get_network_ipams - - def get_network_policys(self): - return getattr(self, 'network_policys', None) - #end get_network_policys - - def get_virtual_machine_interfaces(self): - return getattr(self, 'virtual_machine_interfaces', None) - #end get_virtual_machine_interfaces - - def get_service_instances(self): - return getattr(self, 'service_instances', None) - #end get_service_instances - - def get_route_tables(self): - return getattr(self, 'route_tables', None) - #end get_route_tables - - def get_interface_route_tables(self): - return getattr(self, 'interface_route_tables', None) - #end get_interface_route_tables - - def get_logical_routers(self): - return getattr(self, 'logical_routers', None) - #end get_logical_routers - - def get_loadbalancer_pools(self): - return getattr(self, 'loadbalancer_pools', None) - #end get_loadbalancer_pools - - def get_loadbalancer_healthmonitors(self): - return getattr(self, 'loadbalancer_healthmonitors', None) - #end get_loadbalancer_healthmonitors - - def get_virtual_ips(self): - return getattr(self, 'virtual_ips', None) - #end get_virtual_ips - - def set_namespace(self, ref_obj, ref_data): - """Set namespace for project. - - :param ref_obj: Namespace object - :param ref_data: SubnetType object - - """ - self.namespace_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.namespace_refs[0]['uuid'] = ref_obj.uuid - - #end set_namespace - - def add_namespace(self, ref_obj, ref_data): - """Add namespace to project. - - :param ref_obj: Namespace object - :param ref_data: SubnetType object - - """ - refs = getattr(self, 'namespace_refs', []) - if not refs: - self.namespace_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.namespace_refs.append(ref_info) - #end add_namespace - - def del_namespace(self, ref_obj): - refs = self.get_namespace_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.namespace_refs.remove(ref) - return - #end del_namespace - - def set_namespace_list(self, ref_obj_list, ref_data_list): - """Set namespace list for project. - - :param ref_obj_list: list of Namespace object - :param ref_data_list: list of SubnetType object - - """ - self.namespace_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_namespace_list - - def get_namespace_refs(self): - """Return namespace list for project. - - :returns: list of tuple <Namespace, SubnetType> - - """ - return getattr(self, 'namespace_refs', None) - #end get_namespace_refs - - def set_floating_ip_pool(self, ref_obj): - """Set floating-ip-pool for project. - - :param ref_obj: FloatingIpPool object - - """ - self.floating_ip_pool_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.floating_ip_pool_refs[0]['uuid'] = ref_obj.uuid - - #end set_floating_ip_pool - - def add_floating_ip_pool(self, ref_obj): - """Add floating-ip-pool to project. - - :param ref_obj: FloatingIpPool object - - """ - refs = getattr(self, 'floating_ip_pool_refs', []) - if not refs: - self.floating_ip_pool_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.floating_ip_pool_refs.append(ref_info) - #end add_floating_ip_pool - - def del_floating_ip_pool(self, ref_obj): - refs = self.get_floating_ip_pool_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.floating_ip_pool_refs.remove(ref) - return - #end del_floating_ip_pool - - def set_floating_ip_pool_list(self, ref_obj_list): - """Set floating-ip-pool list for project. - - :param ref_obj_list: list of FloatingIpPool object - - """ - self.floating_ip_pool_refs = ref_obj_list - #end set_floating_ip_pool_list - - def get_floating_ip_pool_refs(self): - """Return floating-ip-pool list for project. - - :returns: list of <FloatingIpPool> - - """ - return getattr(self, 'floating_ip_pool_refs', None) - #end get_floating_ip_pool_refs - - def get_domain_back_refs(self): - """Return list of all domains using this project""" - return getattr(self, 'domain_back_refs', None) - #end get_domain_back_refs - - def get_floating_ip_back_refs(self): - """Return list of all floating-ips using this project""" - return getattr(self, 'floating_ip_back_refs', None) - #end get_floating_ip_back_refs - - def dump(self): - """Display project object in compact form.""" - print '------------ project ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P quota = ', self.get_quota() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF namespace = ', self.get_namespace_refs() - print 'HAS security_group = ', self.get_security_groups() - print 'HAS virtual_network = ', self.get_virtual_networks() - print 'HAS qos_queue = ', self.get_qos_queues() - print 'HAS qos_forwarding_class = ', self.get_qos_forwarding_classs() - print 'HAS network_ipam = ', self.get_network_ipams() - print 'HAS network_policy = ', self.get_network_policys() - print 'HAS virtual_machine_interface = ', self.get_virtual_machine_interfaces() - print 'REF floating_ip_pool = ', self.get_floating_ip_pool_refs() - print 'HAS service_instance = ', self.get_service_instances() - print 'HAS route_table = ', self.get_route_tables() - print 'HAS interface_route_table = ', self.get_interface_route_tables() - print 'HAS logical_router = ', self.get_logical_routers() - print 'HAS loadbalancer_pool = ', self.get_loadbalancer_pools() - print 'HAS loadbalancer_healthmonitor = ', self.get_loadbalancer_healthmonitors() - print 'HAS virtual_ip = ', self.get_virtual_ips() - print 'BCK floating_ip = ', self.get_floating_ip_back_refs() - #end dump - -#end class Project - -class QosForwardingClass(object): - """ - Represents qos-forwarding-class configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * dscp (xsd:integer type) - * trusted (xsd:boolean type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.QosQueue` objects - - Referred by: - * list of :class:`.VirtualNetwork` objects - * list of :class:`.VirtualMachineInterface` objects - """ - - prop_fields = set([u'dscp', u'trusted', u'id_perms', u'display_name']) - ref_fields = set([u'qos_queue_refs']) - backref_fields = set([u'project_back_refs', u'virtual_network_back_refs', 'virtual_machine_interface_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, dscp = None, trusted = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'qos-forwarding-class' - if not name: - name = u'default-qos-forwarding-class' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if dscp: - self._dscp = dscp - if trusted: - self._trusted = trusted - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (qos-forwarding-class).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of qos-forwarding-class in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of qos-forwarding-class as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of qos-forwarding-class's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of qos-forwarding-class's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def dscp(self): - """Get dscp for qos-forwarding-class. - - :returns: xsd:integer object - - """ - return getattr(self, '_dscp', None) - #end dscp - - @dscp.setter - def dscp(self, dscp): - """Set dscp for qos-forwarding-class. - - :param dscp: xsd:integer object - - """ - self._dscp = dscp - #end dscp - - def set_dscp(self, value): - self.dscp = value - #end set_dscp - - def get_dscp(self): - return self.dscp - #end get_dscp - - @property - def trusted(self): - """Get trusted for qos-forwarding-class. - - :returns: xsd:boolean object - - """ - return getattr(self, '_trusted', None) - #end trusted - - @trusted.setter - def trusted(self, trusted): - """Set trusted for qos-forwarding-class. - - :param trusted: xsd:boolean object - - """ - self._trusted = trusted - #end trusted - - def set_trusted(self, value): - self.trusted = value - #end set_trusted - - def get_trusted(self): - return self.trusted - #end get_trusted - - @property - def id_perms(self): - """Get id-perms for qos-forwarding-class. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for qos-forwarding-class. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for qos-forwarding-class. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for qos-forwarding-class. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_dscp'): - self._serialize_field_to_json(serialized, field_names, 'dscp') - if hasattr(self, '_trusted'): - self._serialize_field_to_json(serialized, field_names, 'trusted') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'qos_queue_refs'): - self._serialize_field_to_json(serialized, field_names, 'qos_queue_refs') - return serialized - #end serialize_to_json - - def set_qos_queue(self, ref_obj): - """Set qos-queue for qos-forwarding-class. - - :param ref_obj: QosQueue object - - """ - self.qos_queue_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.qos_queue_refs[0]['uuid'] = ref_obj.uuid - - #end set_qos_queue - - def add_qos_queue(self, ref_obj): - """Add qos-queue to qos-forwarding-class. - - :param ref_obj: QosQueue object - - """ - refs = getattr(self, 'qos_queue_refs', []) - if not refs: - self.qos_queue_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.qos_queue_refs.append(ref_info) - #end add_qos_queue - - def del_qos_queue(self, ref_obj): - refs = self.get_qos_queue_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.qos_queue_refs.remove(ref) - return - #end del_qos_queue - - def set_qos_queue_list(self, ref_obj_list): - """Set qos-queue list for qos-forwarding-class. - - :param ref_obj_list: list of QosQueue object - - """ - self.qos_queue_refs = ref_obj_list - #end set_qos_queue_list - - def get_qos_queue_refs(self): - """Return qos-queue list for qos-forwarding-class. - - :returns: list of <QosQueue> - - """ - return getattr(self, 'qos_queue_refs', None) - #end get_qos_queue_refs - - def get_project_back_refs(self): - """Return list of all projects using this qos-forwarding-class""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this qos-forwarding-class""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this qos-forwarding-class""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def dump(self): - """Display qos-forwarding-class object in compact form.""" - print '------------ qos-forwarding-class ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P dscp = ', self.get_dscp() - print 'P trusted = ', self.get_trusted() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF qos_queue = ', self.get_qos_queue_refs() - print 'BCK virtual_network = ', self.get_virtual_network_back_refs() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - #end dump - -#end class QosForwardingClass - -class DatabaseNode(object): - """ - Represents database-node configuration representation. - - Child of: - :class:`.GlobalSystemConfig` object OR - - Properties: - * database-node-ip-address (IpAddressType type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - - Referred by: - """ - - prop_fields = set([u'database_node_ip_address', u'id_perms', u'display_name']) - ref_fields = set([]) - backref_fields = set([u'global_system_config_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, database_node_ip_address = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'database-node' - if not name: - name = u'default-database-node' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'global-system-config' - self.fq_name = [u'default-global-system-config'] - self.fq_name.append(name) - - - # property fields - if database_node_ip_address: - self._database_node_ip_address = database_node_ip_address - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (database-node).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of database-node in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of database-node as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of database-node's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of database-node's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def database_node_ip_address(self): - """Get database-node-ip-address for database-node. - - :returns: IpAddressType object - - """ - return getattr(self, '_database_node_ip_address', None) - #end database_node_ip_address - - @database_node_ip_address.setter - def database_node_ip_address(self, database_node_ip_address): - """Set database-node-ip-address for database-node. - - :param database_node_ip_address: IpAddressType object - - """ - self._database_node_ip_address = database_node_ip_address - #end database_node_ip_address - - def set_database_node_ip_address(self, value): - self.database_node_ip_address = value - #end set_database_node_ip_address - - def get_database_node_ip_address(self): - return self.database_node_ip_address - #end get_database_node_ip_address - - @property - def id_perms(self): - """Get id-perms for database-node. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for database-node. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for database-node. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for database-node. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_database_node_ip_address'): - self._serialize_field_to_json(serialized, field_names, 'database_node_ip_address') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - return serialized - #end serialize_to_json - - def get_global_system_config_back_refs(self): - """Return list of all global-system-configs using this database-node""" - return getattr(self, 'global_system_config_back_refs', None) - #end get_global_system_config_back_refs - - def dump(self): - """Display database-node object in compact form.""" - print '------------ database-node ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P database_node_ip_address = ', self.get_database_node_ip_address() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - #end dump - -#end class DatabaseNode - -class RoutingInstance(object): - """ - Represents routing-instance configuration representation. - - Child of: - :class:`.VirtualNetwork` object OR - - Properties: - * service-chain-information (:class:`.ServiceChainInfo` type) - * routing-instance-is-default (xsd:boolean type) - * static-route-entries (:class:`.StaticRouteEntriesType` type) - * default-ce-protocol (:class:`.DefaultProtocolType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - * list of :class:`.BgpRouter` objects - - References to: - * list of (:class:`.RoutingInstance` object, :class:`.ConnectionType` attribute) - * list of (:class:`.RouteTarget` object, :class:`.InstanceTargetType` attribute) - - Referred by: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.RoutingInstance` objects - """ - - prop_fields = set([u'service_chain_information', u'routing_instance_is_default', u'static_route_entries', u'default_ce_protocol', u'id_perms', u'display_name']) - ref_fields = set(['routing_instance_refs', 'route_target_refs']) - backref_fields = set(['virtual_machine_interface_back_refs', u'virtual_network_back_refs', 'routing_instance_back_refs', 'customer_attachment_back_refs']) - children_fields = set(['bgp_routers']) - - def __init__(self, name = None, parent_obj = None, service_chain_information = None, routing_instance_is_default = None, static_route_entries = None, default_ce_protocol = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'routing-instance' - if not name: - name = u'default-routing-instance' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'virtual-network' - self.fq_name = [u'default-domain', u'default-project', u'default-virtual-network'] - self.fq_name.append(name) - - - # property fields - if service_chain_information: - self._service_chain_information = service_chain_information - if routing_instance_is_default: - self._routing_instance_is_default = routing_instance_is_default - if static_route_entries: - self._static_route_entries = static_route_entries - if default_ce_protocol: - self._default_ce_protocol = default_ce_protocol - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (routing-instance).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of routing-instance in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of routing-instance as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of routing-instance's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of routing-instance's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def service_chain_information(self): - """Get service-chain-information for routing-instance. - - :returns: ServiceChainInfo object - - """ - return getattr(self, '_service_chain_information', None) - #end service_chain_information - - @service_chain_information.setter - def service_chain_information(self, service_chain_information): - """Set service-chain-information for routing-instance. - - :param service_chain_information: ServiceChainInfo object - - """ - self._service_chain_information = service_chain_information - #end service_chain_information - - def set_service_chain_information(self, value): - self.service_chain_information = value - #end set_service_chain_information - - def get_service_chain_information(self): - return self.service_chain_information - #end get_service_chain_information - - @property - def routing_instance_is_default(self): - """Get routing-instance-is-default for routing-instance. - - :returns: xsd:boolean object - - """ - return getattr(self, '_routing_instance_is_default', None) - #end routing_instance_is_default - - @routing_instance_is_default.setter - def routing_instance_is_default(self, routing_instance_is_default): - """Set routing-instance-is-default for routing-instance. - - :param routing_instance_is_default: xsd:boolean object - - """ - self._routing_instance_is_default = routing_instance_is_default - #end routing_instance_is_default - - def set_routing_instance_is_default(self, value): - self.routing_instance_is_default = value - #end set_routing_instance_is_default - - def get_routing_instance_is_default(self): - return self.routing_instance_is_default - #end get_routing_instance_is_default - - @property - def static_route_entries(self): - """Get static-route-entries for routing-instance. - - :returns: StaticRouteEntriesType object - - """ - return getattr(self, '_static_route_entries', None) - #end static_route_entries - - @static_route_entries.setter - def static_route_entries(self, static_route_entries): - """Set static-route-entries for routing-instance. - - :param static_route_entries: StaticRouteEntriesType object - - """ - self._static_route_entries = static_route_entries - #end static_route_entries - - def set_static_route_entries(self, value): - self.static_route_entries = value - #end set_static_route_entries - - def get_static_route_entries(self): - return self.static_route_entries - #end get_static_route_entries - - @property - def default_ce_protocol(self): - """Get default-ce-protocol for routing-instance. - - :returns: DefaultProtocolType object - - """ - return getattr(self, '_default_ce_protocol', None) - #end default_ce_protocol - - @default_ce_protocol.setter - def default_ce_protocol(self, default_ce_protocol): - """Set default-ce-protocol for routing-instance. - - :param default_ce_protocol: DefaultProtocolType object - - """ - self._default_ce_protocol = default_ce_protocol - #end default_ce_protocol - - def set_default_ce_protocol(self, value): - self.default_ce_protocol = value - #end set_default_ce_protocol - - def get_default_ce_protocol(self): - return self.default_ce_protocol - #end get_default_ce_protocol - - @property - def id_perms(self): - """Get id-perms for routing-instance. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for routing-instance. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for routing-instance. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for routing-instance. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_service_chain_information'): - self._serialize_field_to_json(serialized, field_names, 'service_chain_information') - if hasattr(self, '_routing_instance_is_default'): - self._serialize_field_to_json(serialized, field_names, 'routing_instance_is_default') - if hasattr(self, '_static_route_entries'): - self._serialize_field_to_json(serialized, field_names, 'static_route_entries') - if hasattr(self, '_default_ce_protocol'): - self._serialize_field_to_json(serialized, field_names, 'default_ce_protocol') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'routing_instance_refs'): - self._serialize_field_to_json(serialized, field_names, 'routing_instance_refs') - if hasattr(self, 'route_target_refs'): - self._serialize_field_to_json(serialized, field_names, 'route_target_refs') - return serialized - #end serialize_to_json - - def get_bgp_routers(self): - return getattr(self, 'bgp_routers', None) - #end get_bgp_routers - - def set_routing_instance(self, ref_obj, ref_data): - """Set routing-instance for routing-instance. - - :param ref_obj: RoutingInstance object - :param ref_data: ConnectionType object - - """ - self.routing_instance_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.routing_instance_refs[0]['uuid'] = ref_obj.uuid - - #end set_routing_instance - - def add_routing_instance(self, ref_obj, ref_data): - """Add routing-instance to routing-instance. - - :param ref_obj: RoutingInstance object - :param ref_data: ConnectionType object - - """ - refs = getattr(self, 'routing_instance_refs', []) - if not refs: - self.routing_instance_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.routing_instance_refs.append(ref_info) - #end add_routing_instance - - def del_routing_instance(self, ref_obj): - refs = self.get_routing_instance_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.routing_instance_refs.remove(ref) - return - #end del_routing_instance - - def set_routing_instance_list(self, ref_obj_list, ref_data_list): - """Set routing-instance list for routing-instance. - - :param ref_obj_list: list of RoutingInstance object - :param ref_data_list: list of ConnectionType object - - """ - self.routing_instance_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_routing_instance_list - - def get_routing_instance_refs(self): - """Return routing-instance list for routing-instance. - - :returns: list of tuple <RoutingInstance, ConnectionType> - - """ - return getattr(self, 'routing_instance_refs', None) - #end get_routing_instance_refs - - def set_route_target(self, ref_obj, ref_data): - """Set route-target for routing-instance. - - :param ref_obj: RouteTarget object - :param ref_data: InstanceTargetType object - - """ - self.route_target_refs = [{'to':ref_obj.get_fq_name(), 'attr':ref_data}] - if ref_obj.uuid: - self.route_target_refs[0]['uuid'] = ref_obj.uuid - - #end set_route_target - - def add_route_target(self, ref_obj, ref_data): - """Add route-target to routing-instance. - - :param ref_obj: RouteTarget object - :param ref_data: InstanceTargetType object - - """ - refs = getattr(self, 'route_target_refs', []) - if not refs: - self.route_target_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name(), 'attr':ref_data} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.route_target_refs.append(ref_info) - #end add_route_target - - def del_route_target(self, ref_obj): - refs = self.get_route_target_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.route_target_refs.remove(ref) - return - #end del_route_target - - def set_route_target_list(self, ref_obj_list, ref_data_list): - """Set route-target list for routing-instance. - - :param ref_obj_list: list of RouteTarget object - :param ref_data_list: list of InstanceTargetType object - - """ - self.route_target_refs = [{'to':ref_obj_list[i], 'attr':ref_data_list[i]} for i in range(len(ref_obj_list))] - #end set_route_target_list - - def get_route_target_refs(self): - """Return route-target list for routing-instance. - - :returns: list of tuple <RouteTarget, InstanceTargetType> - - """ - return getattr(self, 'route_target_refs', None) - #end get_route_target_refs - - def get_virtual_machine_interface_back_refs(self): - """Return list of all virtual-machine-interfaces using this routing-instance""" - return getattr(self, 'virtual_machine_interface_back_refs', None) - #end get_virtual_machine_interface_back_refs - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this routing-instance""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def get_routing_instance_back_refs(self): - """Return list of all routing-instances using this routing-instance""" - return getattr(self, 'routing_instance_back_refs', None) - #end get_routing_instance_back_refs - - def get_customer_attachment_back_refs(self): - """Return list of all customer-attachments using this routing-instance""" - return getattr(self, 'customer_attachment_back_refs', None) - #end get_customer_attachment_back_refs - - def dump(self): - """Display routing-instance object in compact form.""" - print '------------ routing-instance ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P service_chain_information = ', self.get_service_chain_information() - print 'P routing_instance_is_default = ', self.get_routing_instance_is_default() - print 'P static_route_entries = ', self.get_static_route_entries() - print 'P default_ce_protocol = ', self.get_default_ce_protocol() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'HAS bgp_router = ', self.get_bgp_routers() - print 'REF routing_instance = ', self.get_routing_instance_refs() - print 'REF route_target = ', self.get_route_target_refs() - print 'BCK virtual_machine_interface = ', self.get_virtual_machine_interface_back_refs() - print 'BCK routing_instance = ', self.get_routing_instance_back_refs() - #end dump - -#end class RoutingInstance - -class NetworkIpam(object): - """ - Represents network-ipam configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * network-ipam-mgmt (:class:`.IpamType` type) - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualDns` objects - - Referred by: - * list of :class:`.VirtualNetwork` objects - """ - - prop_fields = set([u'network_ipam_mgmt', u'id_perms', u'display_name']) - ref_fields = set([u'virtual_DNS_refs']) - backref_fields = set([u'project_back_refs', u'virtual_network_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, network_ipam_mgmt = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'network-ipam' - if not name: - name = u'default-network-ipam' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if network_ipam_mgmt: - self._network_ipam_mgmt = network_ipam_mgmt - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (network-ipam).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of network-ipam in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of network-ipam as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of network-ipam's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of network-ipam's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def network_ipam_mgmt(self): - """Get network-ipam-mgmt for network-ipam. - - :returns: IpamType object - - """ - return getattr(self, '_network_ipam_mgmt', None) - #end network_ipam_mgmt - - @network_ipam_mgmt.setter - def network_ipam_mgmt(self, network_ipam_mgmt): - """Set network-ipam-mgmt for network-ipam. - - :param network_ipam_mgmt: IpamType object - - """ - self._network_ipam_mgmt = network_ipam_mgmt - #end network_ipam_mgmt - - def set_network_ipam_mgmt(self, value): - self.network_ipam_mgmt = value - #end set_network_ipam_mgmt - - def get_network_ipam_mgmt(self): - return self.network_ipam_mgmt - #end get_network_ipam_mgmt - - @property - def id_perms(self): - """Get id-perms for network-ipam. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for network-ipam. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for network-ipam. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for network-ipam. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_network_ipam_mgmt'): - self._serialize_field_to_json(serialized, field_names, 'network_ipam_mgmt') - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_DNS_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_DNS_refs') - return serialized - #end serialize_to_json - - def set_virtual_DNS(self, ref_obj): - """Set virtual-DNS for network-ipam. - - :param ref_obj: VirtualDns object - - """ - self.virtual_DNS_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_DNS_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_DNS - - def add_virtual_DNS(self, ref_obj): - """Add virtual-DNS to network-ipam. - - :param ref_obj: VirtualDns object - - """ - refs = getattr(self, 'virtual_DNS_refs', []) - if not refs: - self.virtual_DNS_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_DNS_refs.append(ref_info) - #end add_virtual_DNS - - def del_virtual_DNS(self, ref_obj): - refs = self.get_virtual_DNS_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_DNS_refs.remove(ref) - return - #end del_virtual_DNS - - def set_virtual_DNS_list(self, ref_obj_list): - """Set virtual-DNS list for network-ipam. - - :param ref_obj_list: list of VirtualDns object - - """ - self.virtual_DNS_refs = ref_obj_list - #end set_virtual_DNS_list - - def get_virtual_DNS_refs(self): - """Return virtual-DNS list for network-ipam. - - :returns: list of <VirtualDns> - - """ - return getattr(self, 'virtual_DNS_refs', None) - #end get_virtual_DNS_refs - - def get_project_back_refs(self): - """Return list of all projects using this network-ipam""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def get_virtual_network_back_refs(self): - """Return list of all virtual-networks using this network-ipam""" - return getattr(self, 'virtual_network_back_refs', None) - #end get_virtual_network_back_refs - - def dump(self): - """Display network-ipam object in compact form.""" - print '------------ network-ipam ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P network_ipam_mgmt = ', self.get_network_ipam_mgmt() - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_DNS = ', self.get_virtual_DNS_refs() - print 'BCK virtual_network = ', self.get_virtual_network_back_refs() - #end dump - -#end class NetworkIpam - -class LogicalRouter(object): - """ - Represents logical-router configuration representation. - - Child of: - :class:`.Project` object OR - - Properties: - * id-perms (:class:`.IdPermsType` type) - * display-name (xsd:string type) - - Children: - - References to: - * list of :class:`.VirtualMachineInterface` objects - * list of :class:`.RouteTarget` objects - * list of :class:`.VirtualNetwork` objects - * list of :class:`.ServiceInstance` objects - - Referred by: - """ - - prop_fields = set([u'id_perms', u'display_name']) - ref_fields = set(['virtual_machine_interface_refs', 'route_target_refs', u'virtual_network_refs', u'service_instance_refs']) - backref_fields = set([u'project_back_refs']) - children_fields = set([]) - - def __init__(self, name = None, parent_obj = None, id_perms = None, display_name = None, *args, **kwargs): - # type-independent fields - self._type = 'logical-router' - if not name: - name = u'default-logical-router' - self.name = name - self._uuid = None - # Determine parent type and fq_name - kwargs_parent_type = kwargs.get('parent_type', None) - kwargs_fq_name = kwargs.get('fq_name', None) - if parent_obj: - self.parent_type = parent_obj._type - # copy parent's fq_name - self.fq_name = list(parent_obj.fq_name) - self.fq_name.append(name) - elif kwargs_parent_type and kwargs_fq_name: - self.parent_type = kwargs_parent_type - self.fq_name = kwargs_fq_name - else: # No parent obj specified - self.parent_type = 'project' - self.fq_name = [u'default-domain', u'default-project'] - self.fq_name.append(name) - - - # property fields - if id_perms: - self._id_perms = id_perms - if display_name: - self._display_name = display_name - #end __init__ - - def get_type(self): - """Return object type (logical-router).""" - return self._type - #end get_type - - def get_fq_name(self): - """Return FQN of logical-router in list form.""" - return self.fq_name - #end get_fq_name - - def get_fq_name_str(self): - """Return FQN of logical-router as colon delimited string.""" - return ':'.join(self.fq_name) - #end get_fq_name_str - - @property - def parent_name(self): - return self.fq_name[:-1][-1] - #end parent_name - - def get_parent_fq_name(self): - """Return FQN of logical-router's parent in list form.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return self.fq_name[:-1] - #end get_parent_fq_name - - def get_parent_fq_name_str(self): - """Return FQN of logical-router's parent as colon delimted string.""" - if not hasattr(self, 'parent_type'): - # child of config-root - return None - - return ':'.join(self.fq_name[:-1]) - #end get_parent_fq_name_str - - @property - def uuid(self): - return getattr(self, '_uuid', None) - #end uuid - - @uuid.setter - def uuid(self, uuid_val): - self._uuid = uuid_val - #end uuid - - def set_uuid(self, uuid_val): - self.uuid = uuid_val - #end set_uuid - - def get_uuid(self): - return self.uuid - #end get_uuid - - @property - def id_perms(self): - """Get id-perms for logical-router. - - :returns: IdPermsType object - - """ - return getattr(self, '_id_perms', None) - #end id_perms - - @id_perms.setter - def id_perms(self, id_perms): - """Set id-perms for logical-router. - - :param id_perms: IdPermsType object - - """ - self._id_perms = id_perms - #end id_perms - - def set_id_perms(self, value): - self.id_perms = value - #end set_id_perms - - def get_id_perms(self): - return self.id_perms - #end get_id_perms - - @property - def display_name(self): - """Get display-name for logical-router. - - :returns: xsd:string object - - """ - return getattr(self, '_display_name', None) - #end display_name - - @display_name.setter - def display_name(self, display_name): - """Set display-name for logical-router. - - :param display_name: xsd:string object - - """ - self._display_name = display_name - #end display_name - - def set_display_name(self, value): - self.display_name = value - #end set_display_name - - def get_display_name(self): - return self.display_name - #end get_display_name - - def _serialize_field_to_json(self, serialized, fields_to_serialize, field_name): - if fields_to_serialize is None: # all fields are serialized - serialized[field_name] = getattr(self, field_name) - elif field_name in fields_to_serialize: - serialized[field_name] = getattr(self, field_name) - #end _serialize_field_to_json - - def serialize_to_json(self, field_names = None): - serialized = {} - - # serialize common fields - self._serialize_field_to_json(serialized, ['uuid'], 'uuid') - self._serialize_field_to_json(serialized, field_names, 'fq_name') - if hasattr(self, 'parent_type'): - self._serialize_field_to_json(serialized, field_names, 'parent_type') - - # serialize property fields - if hasattr(self, '_id_perms'): - self._serialize_field_to_json(serialized, field_names, 'id_perms') - if hasattr(self, '_display_name'): - self._serialize_field_to_json(serialized, field_names, 'display_name') - - # serialize reference fields - if hasattr(self, 'virtual_machine_interface_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_machine_interface_refs') - if hasattr(self, 'route_target_refs'): - self._serialize_field_to_json(serialized, field_names, 'route_target_refs') - if hasattr(self, 'virtual_network_refs'): - self._serialize_field_to_json(serialized, field_names, 'virtual_network_refs') - if hasattr(self, 'service_instance_refs'): - self._serialize_field_to_json(serialized, field_names, 'service_instance_refs') - return serialized - #end serialize_to_json - - def set_virtual_machine_interface(self, ref_obj): - """Set virtual-machine-interface for logical-router. - - :param ref_obj: VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_machine_interface_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_machine_interface - - def add_virtual_machine_interface(self, ref_obj): - """Add virtual-machine-interface to logical-router. - - :param ref_obj: VirtualMachineInterface object - - """ - refs = getattr(self, 'virtual_machine_interface_refs', []) - if not refs: - self.virtual_machine_interface_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_machine_interface_refs.append(ref_info) - #end add_virtual_machine_interface - - def del_virtual_machine_interface(self, ref_obj): - refs = self.get_virtual_machine_interface_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_machine_interface_refs.remove(ref) - return - #end del_virtual_machine_interface - - def set_virtual_machine_interface_list(self, ref_obj_list): - """Set virtual-machine-interface list for logical-router. - - :param ref_obj_list: list of VirtualMachineInterface object - - """ - self.virtual_machine_interface_refs = ref_obj_list - #end set_virtual_machine_interface_list - - def get_virtual_machine_interface_refs(self): - """Return virtual-machine-interface list for logical-router. - - :returns: list of <VirtualMachineInterface> - - """ - return getattr(self, 'virtual_machine_interface_refs', None) - #end get_virtual_machine_interface_refs - - def set_route_target(self, ref_obj): - """Set route-target for logical-router. - - :param ref_obj: RouteTarget object - - """ - self.route_target_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.route_target_refs[0]['uuid'] = ref_obj.uuid - - #end set_route_target - - def add_route_target(self, ref_obj): - """Add route-target to logical-router. - - :param ref_obj: RouteTarget object - - """ - refs = getattr(self, 'route_target_refs', []) - if not refs: - self.route_target_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.route_target_refs.append(ref_info) - #end add_route_target - - def del_route_target(self, ref_obj): - refs = self.get_route_target_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.route_target_refs.remove(ref) - return - #end del_route_target - - def set_route_target_list(self, ref_obj_list): - """Set route-target list for logical-router. - - :param ref_obj_list: list of RouteTarget object - - """ - self.route_target_refs = ref_obj_list - #end set_route_target_list - - def get_route_target_refs(self): - """Return route-target list for logical-router. - - :returns: list of <RouteTarget> - - """ - return getattr(self, 'route_target_refs', None) - #end get_route_target_refs - - def set_virtual_network(self, ref_obj): - """Set virtual-network for logical-router. - - :param ref_obj: VirtualNetwork object - - """ - self.virtual_network_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.virtual_network_refs[0]['uuid'] = ref_obj.uuid - - #end set_virtual_network - - def add_virtual_network(self, ref_obj): - """Add virtual-network to logical-router. - - :param ref_obj: VirtualNetwork object - - """ - refs = getattr(self, 'virtual_network_refs', []) - if not refs: - self.virtual_network_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.virtual_network_refs.append(ref_info) - #end add_virtual_network - - def del_virtual_network(self, ref_obj): - refs = self.get_virtual_network_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.virtual_network_refs.remove(ref) - return - #end del_virtual_network - - def set_virtual_network_list(self, ref_obj_list): - """Set virtual-network list for logical-router. - - :param ref_obj_list: list of VirtualNetwork object - - """ - self.virtual_network_refs = ref_obj_list - #end set_virtual_network_list - - def get_virtual_network_refs(self): - """Return virtual-network list for logical-router. - - :returns: list of <VirtualNetwork> - - """ - return getattr(self, 'virtual_network_refs', None) - #end get_virtual_network_refs - - def set_service_instance(self, ref_obj): - """Set service-instance for logical-router. - - :param ref_obj: ServiceInstance object - - """ - self.service_instance_refs = [{'to':ref_obj.get_fq_name()}] - if ref_obj.uuid: - self.service_instance_refs[0]['uuid'] = ref_obj.uuid - - #end set_service_instance - - def add_service_instance(self, ref_obj): - """Add service-instance to logical-router. - - :param ref_obj: ServiceInstance object - - """ - refs = getattr(self, 'service_instance_refs', []) - if not refs: - self.service_instance_refs = [] - - # if ref already exists, update any attr with it - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - ref = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref['uuid'] = ref_obj.uuid - return - - # ref didn't exist before - ref_info = {'to':ref_obj.get_fq_name()} - if ref_obj.uuid: - ref_info['uuid'] = ref_obj.uuid - - self.service_instance_refs.append(ref_info) - #end add_service_instance - - def del_service_instance(self, ref_obj): - refs = self.get_service_instance_refs() - if not refs: - return - - for ref in refs: - if ref['to'] == ref_obj.get_fq_name(): - self.service_instance_refs.remove(ref) - return - #end del_service_instance - - def set_service_instance_list(self, ref_obj_list): - """Set service-instance list for logical-router. - - :param ref_obj_list: list of ServiceInstance object - - """ - self.service_instance_refs = ref_obj_list - #end set_service_instance_list - - def get_service_instance_refs(self): - """Return service-instance list for logical-router. - - :returns: list of <ServiceInstance> - - """ - return getattr(self, 'service_instance_refs', None) - #end get_service_instance_refs - - def get_project_back_refs(self): - """Return list of all projects using this logical-router""" - return getattr(self, 'project_back_refs', None) - #end get_project_back_refs - - def dump(self): - """Display logical-router object in compact form.""" - print '------------ logical-router ------------' - print 'Name = ', self.get_fq_name() - print 'Uuid = ', self.uuid - if hasattr(self, 'parent_type'): # non config-root children - print 'Parent Type = ', self.parent_type - print 'P id_perms = ', self.get_id_perms() - print 'P display_name = ', self.get_display_name() - print 'REF virtual_machine_interface = ', self.get_virtual_machine_interface_refs() - print 'REF route_target = ', self.get_route_target_refs() - print 'REF virtual_network = ', self.get_virtual_network_refs() - print 'REF service_instance = ', self.get_service_instance_refs() - #end dump - -#end class LogicalRouter - |