class ResourceZone(Schema): zoneId = fields.Number(required=True, description='The identifier of the Resource Zone.') zoneName = fields.Str(required=True, description='The name of the Resource Zone.') zoneState = fields.Str( required=True, description='Information about the current state of the Resource ' 'Zone, e.g. if the Resource Zone is available.') nfviPopId = fields.Number( required=True, description='The identifier of the NFVI-PoP the Resource Zone belongs ' 'to.') zoneProperty = fields.Str( required=True, description='Set of properties that define the capabilities ' 'associated to the Resource Zone. Examples of ' 'capabilities may include: support of certain compute ' 'resource types (e.g. low performance, acceleration ' 'capabilities, etc. association to certain NFVI-PoP ' 'physical segregation (e.g. different power or network ' 'sub-systems, availability of redundancy power ' 'sub-systems), etc.') metadata = fields.Nested( KeyValuePair, required=False, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'Resource Zone.')
class OrbitSchema(Schema): """ "orbitCategory": "airportRide", "eventRef": "testeventref1", "userTicketPairs": { }, "chatroomRef": "testchatroomref1", "costEstimate": 987654321, "status": 1 TODO: implement """ orbitCategory = fields.String() chatroomRef = fields.String() costEstimate = fields.Number() status = fields.Number()
class VirtualNetworkPortData(Schema): portType = fields.Str( required=True, description='Type of network port. Examples of types are access ports ' '(layer 2 or 3), or trunk ports (layer 1) that become ' 'transport for multiple layer 2 or layer 3 networks.') networkId = fields.Str( required=True, description='Identifier of the network that the port belongs to. When ' 'creating a port, such port needs to be part of a ' 'network. Cardinality can be 0 when ' 'VirtualNetworkPortData is part of Update Virtualised ' 'Network Resource') segmentId = fields.Str( required=True, description='The isolated segment the network port belongs to. For ' 'instance, for a "vlan", it corresponds to the vlan ' 'identifier; and for a "gre", this corresponds to a gre ' 'key. The cardinality can be "0" to allow for flat ' 'networks without any specific segmentation.') bandwidth = fields.Number( required=True, description='The bandwidth of the virtual network port (in Mbps). ' 'Cardinality can be "0" to allow for virtual network ' 'ports without any specified bandwidth requirements.') metadata = fields.Nested( KeyValuePair, required=True, many=True, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'virtualised resource.')
class ReservedVirtualNetworkPort(Schema): portId = fields.Str( required=True, description='Identifier of the network port that has been reserved.') portType = fields.Str( required=True, description='Type of network port. Examples of types are access ' 'ports, or trunk ports (layer 1) that become transport ' 'for multiple layer 2 or layer 3 networks.') segmentId = fields.Str( required=True, description='The isolated segment the network port belongs to. For ' 'instance, for a "vlan", it corresponds to the vlan ' 'identifier; and for a "gre", this corresponds to a gre ' 'key. The cardinality can be 0 to allow for flat networks ' 'without any specific segmentation.') bandwidth = fields.Number( required=True, description='The bitrate of the virtual network port (in Mbps)') metadata = fields.Nested( KeyValuePair, many=True, description='List of metadata key-value pairs used by the consumer to ' 'associate meaningful metadata to the related virtualised ' 'resource.')
class VirtualNetwork(Schema): networkResourceId = fields.String( required=True, description='Identifier of the virtualised network resource.') networkResourceName = fields.String( required=True, description='Name of the virtualised network resource.') subnet = fields.String( required=True, many=True, description='Only present if the network provides layer 3 ' 'connectivity.') networkPort = fields.Nested( VirtualNetworkPort, required=True, many=True, description='Element providing information of an instantiated virtual ' 'network port.') bandwidth = fields.Number( required=True, description='Minimum network bandwidth (in Mbps).') networkType = fields.Str( required=True, description='The type of network that maps to the virtualised ' 'network. This list is extensible. Examples are: "local", ' '"vlan", "vxlan", "gre", "l3-vpn", etc. The cardinality ' 'can be "0" to cover the case where this attribute is not ' 'required to create the virtualised network.') segmentType = fields.Str( required=True, description='The isolated segment for the virtualised network. For ' 'instance, for a "vlan" networkType, it corresponds to ' 'the vlan identifier; and for a "gre" networkType, this ' 'corresponds to a gre key. The cardinality can be "0" to ' 'allow for flat networks without any specific ' 'segmentation.') networkQoS = fields.Nested( NetworkQoS, many=True, required=True, description='Element providing information about Quality of Service ' 'attributes that the network shall support. The ' 'cardinality can be "0" to allow for networks without any ' 'specified QoS requirements.') isShared = fields.Bool( required=True, description='It defines whether the virtualised network is shared ' 'among consumers.') sharingCriteria = fields.Str( required=True, description='Only present for shared networks. Indicate the sharing ' 'criteria for this network. This criteria might be a list ' 'of authorized consumers.') zoneId = fields.String( required=True, description='If present, it identifies the Resource Zone where the ' 'virtual network resources have been allocated.') operationalState = fields.String( required=True, description='The operational state of the virtualised network.')
class NfviPop(Schema): nfviPopId = fields.Number(required=True, description='Identification of the NFVI-PoP.') vimId = fields.Number(required=True, description='Identification of the VIM.') geographicalLocationInfo = fields.Str( required=True, description='It provides information about the geographic location ' '(e.g. geographic coordinates or address of the building, ' 'etc.) of the NFVI resources that the VIM manages.') networkConnectivityEndpoint = fields.Str( required=True, many=True, description='Information about network connectivity endpoints to the ' 'NFVI-PoP that the VIM manages which helps build topology ' 'information relative to NFVI-PoP connectivity to other ' 'NFVI-PoP or N-PoP.')
class VirtualCpuResourceInformation(Schema): cpuArchitecture = fields.Str( required=True, description='CPU architecture type. Examples are x86, ARM.') numVirtualCpu = fields.Number( required=True, description='Number of virtual CPUs. Cardinality "1" covers the case ' 'where a specific configuration for the consumable ' 'resource is advertised.') cpuClock = fields.Number( required=True, description='Minimum CPU clock rate (e.g. in MHz) available for the ' 'virtualised CPU resources.') virtualCpuOversubscriptionPolicy = fields.Str( required=True, description='The CPU core oversubscription policy, e.g. the relation ' 'of virtual CPU cores to physical CPU cores/threads. The ' 'cardinality can be 0 if no concrete policy is defined.') virtualCpuPinningSupported = fields.Bool( required=True, description='It defines whether CPU pinning capability is available ' 'on the consumable virtualised compute resource.')
class VirtualMemory(Schema): virtualMemSize = fields.Number( required=True, description='Amount of virtual Memory (e.g. in MB).') virtualMemOversubscriptionPolicy = fields.Str( required=True, description='The memory core oversubscription policy in terms of ' 'virtual memory to physical memory on the platform. The ' 'cardinality can be 0 if no policy has been defined ' 'during the allocation request.') numaEnabled = fields.Bool( required=True, description='It specifies the memory allocation to be cognisant of ' 'the relevant process/core allocation.')
class ComputePoolReservation(Schema): numCpuCores = fields.Int(required=True, description='Number of CPU cores to be reserved.') numVcInstances = fields.Int( required=True, description='Number of virtualised container instances to be ' 'reserved.') virtualMemSize = fields.Number( required=True, description='Size of virtual memory to be reserved.') computeAttributes = fields.Nested( VirtualComputeAttributesReservationData, required=True, description='Information specifying additional attributes of the ' 'compute resource to be reserved.')
class VirtualNetworkData(Schema): bandwidth = fields.Number( required=True, description='Minimum network bandwidth (in Mbps).') networkType = fields.Str( required=True, description='The type of network that maps to the virtualised ' 'network. This list is extensible. Examples are: "local", ' '"vlan", "vxlan", "gre", "l3-vpn", etc. The cardinality ' 'can be "0" to cover the case where this attribute is not ' 'required to create the virtualised network.') segmentType = fields.Str( required=True, description='The isolated segment for the virtualised network. For ' 'instance, for a "vlan" networkType, it corresponds to ' 'the vlan identifier; and for a "gre" networkType, this ' 'corresponds to a gre key. The cardinality can be "0" to ' 'allow for flat networks without any specific ' 'segmentation.') networkQoS = fields.Nested( NetworkQoS, many=True, required=True, description='Element providing information about Quality of Service ' 'attributes that the network shall support. The ' 'cardinality can be "0" to allow for networks without any ' 'specified QoS requirements.') isShared = fields.Bool( required=True, description='It defines whether the virtualised network is shared ' 'among consumers.') sharingCriteria = fields.Str( required=True, description='Only present for shared networks. Indicate the sharing ' 'criteria for this network. This criteria might be a list ' 'of authorized consumers.') layer3Attributes = fields.Nested( NetworkSubnetData, required=True, many=True, description='The attribute allows setting up a network providing ' 'defined layer 3 connectivity. See clause 8.4.4.4 for ' 'further information on the attributes required for layer ' '3 connectivity.') metadata = fields.Nested( KeyValuePair, required=False, many=True, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'virtualised ressource.')
class VirtualStorage(Schema): """VirtualStorage. The VirtualStorage information element encapsulates information of an instantiated virtualised storage resource. """ storageId = fields.Str( required=True, description='Identifier of the virtualised storage resource.') storageName = fields.Str( required=True, description='Name of the virtualised storage resource.') flavourId = fields.Str( required=True, description='Identifier of the storage flavour used to instantiate ' 'this virtual storage.') typeOfStorage = fields.Str( required=True, description='Type of virtualised storage resource (e.g. volume, ' 'object).') sizeOfStorage = fields.Number( required=True, description='Size of virtualised storage resource (e.g. size of ' 'volume, in GB).') rdmaEnabled = fields.Bool( required=False, description='Indicates if the storage supports RDMA.') ownerId = fields.Str( required=True, description='Identifier of the virtualised resource that owns and ' 'uses such a virtualised storage resource. The value can ' 'be NULL if the virtualised storage is not attached yet ' 'to any other resource (e.g. a virtual machine).') zoneId = fields.Str( required=True, description='If present, it identifies the Resource Zone where the ' 'virtual storage resources have been allocated.') hostId = fields.Str( required=True, description='Identifier of the host where the virtualised storage ' 'resource is allocated. A cardinality of 0 refers to ' 'distributed storage solutions.') operationalState = fields.Str( required=True, description='Operational state of the resource.') metadata = fields.Nested( KeyValuePair, required=False, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'virtualised resource.')
class VirtualMemoryResourceInformation(Schema): virtualMemSize = fields.Number( required=True, description='Amount of virtual memory (e.g. in MB). Cardinality "1" ' 'covers the case where a specific configuration for the ' 'consumable resource is advertised.') virtualMemOversubscriptionPolicy = fields.Str( required=True, description='The memory core oversubscription policy in terms of ' 'virtual memory to physical memory on the platform. The ' 'cardinality can be 0 if no concrete policy is defined.') numaSupported = fields.Bool( required=True, description='It specifies if the memory allocation can be cognisant ' 'of the relevant process/core allocation.')
class VirtualNetworkResourceInformation(Schema): networkResourceTypeId = fields.Str( required=True, description='Identifier of the network resource type.') bandwidth = fields.Number( required=True, description='Minimum network bandwidth (in Mbps).') networkType = fields.Str( required=True, description='The type of network that maps to the virtualised ' 'network. Examples are: "local", "vlan", "vxlan", "gre", ' 'etc.') networkQoS = fields.Nested( NetworkQoS, many=True, required=True, description='Element providing information about Quality of Service ' 'attributes that the network shall support.')
class VirtualNetworkPort(Schema): resourceId = fields.Str( required=True, description='Identifier of the virtual network port.') networkId = fields.Str( required=True, description='Identifier of the network that the port belongs to. When ' 'creating a port, such port needs to be part of a ' 'network.') attachedResourceId = fields.Str( required=True, description='Identifier of the attached resource to the network port ' '(e.g. a virtualised compute resource, or identifier of ' 'the virtual network interface). The cardinality can be ' '"0" if there is no specific resource connected to the ' 'network port.') portType = fields.Str( required=True, description='Type of network port. Examples of types are access ports ' '(layer 2 or 3), or trunk ports (layer 1) that become ' 'transport for multiple layer 2 or layer 3 networks.') segmentId = fields.Str( required=True, description='The isolated segment the network port belongs to. For ' 'instance, for a "vlan", it corresponds to the vlan ' 'identifier; and for a "gre", this corresponds to a gre ' 'key. The cardinality can be "0" for flat networks ' 'without any specific segmentation.') bandwidth = fields.Number( required=True, description='The bandwidth of the virtual network port (in Mbps). ' 'Cardinality can be "0" for virtual network ports without ' 'any specific allocated bandwidth.') operationalState = fields.Str( required=True, description='The operational state of the virtual network port.') metadata = fields.Nested( KeyValuePair, required=False, many=True, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'virtualised resource.')
class VirtualComputeQuotaData(Schema): numVCPUs = fields.Int( required=True, description='Number of CPU cores to be restricted by the quota. The ' 'cardinality can be 0 if no specific number of CPU cores ' 'is to be restricted by the quota or the quota for CPU ' 'cores is not to be update.') numVcInstances = fields.Int( required=True, description='Number of virtualisation container instances to be ' 'restricted by the quota. The cardinality can be 0 if no ' 'specific number of virtualisation container instances is ' 'to be restricted by the quota or the quota for ' 'virtualisation container instances is not to be update.') virtualMemSize = fields.Number( required=True, description='Size of virtual memory to be restricted by the quota. ' 'The cardinality can be 0 if no specific size of virtual ' 'memory is to be restricted by the quota or the quota for ' 'virtual memory is not to be update.')
class VirtualCpu(Schema): """The virtual CPU(s) of the virtualised compute.""" cpuArchitecture = fields.Str( required=True, description='CPU architecture type. Examples are x86, ARM.') numVirtualCpu = fields.Int(required=True, description='Number of virtual CPUs.') cpuClock = fields.Number( required=True, description='Minimum CPU clock rate (e.g. in MHz) available for the ' 'virtualised CPU resources.') virtualCpuOversubscriptionPolicy = fields.Str( required=True, description='The CPU core oversubscription policy, e.g. the relation ' 'of virtual CPU cores to physical CPU cores/threads. The ' 'cardinality can be 0 if no policy has been defined ' 'during the allocation request.') virtualCpuPinning = fields.Nested( VirtualCpuPinning, required=True, description='The virtual CPU pinning configuration for the ' 'virtualised compute resource.')
class ReservedComputePool(Schema): numCpuCores = fields.Int( required=True, description='Number of CPU cores that have been reserved.') numVcInstances = fields.Int( required=True, description='Number of virtual container instances that have been ' 'reserved.') virtualMemSize = fields.Number( required=True, description='Size of virtual memory that has been reserved.') computeAttributes = fields.Nested( ReservedVirtualComputeAttributes, required=True, description='Information specifying additional attributes of the ' 'virtual compute resource that have been reserved.') zoneId = fields.Str( required=True, description='References the resource zone where the virtual compute ' 'resources have been reserved. Cardinality can be 0 to ' 'cover the case where reserved compute resources are not ' 'bound to a specific resource zone.')
class VirtualComputeQuota(Schema): resourceGroupId = fields.Str( required=True, description='Unique identifier of the "infrastructure resource ' 'group", logical grouping of virtual resources assigned ' 'to a tenant within an Infrastructure Domain.') numVCPUs = fields.Int( required=True, description='Number of CPU cores that have been restricted by the ' 'quota. The cardinality can be 0 if no specific number of ' 'CPU cores has been requested to be restricted by the ' 'quota.') numVcInstances = fields.Int( required=True, description='Number of virtualisation container instances that have ' 'been restricted by the quota. The cardinality can be 0 ' 'if no specific number of CPU cores has been requested to ' 'be restricted by the quota.') virtualMemSize = fields.Number( required=True, description='Size of virtual memory that has been restricted by the ' 'quota. The cardinality can be 0 if no specific number of ' 'CPU cores has been requested to be restricted by the ' 'quota.')
class ReservedVirtualNetworkAttributes(Schema): bandwidth = fields.Number(required=True, description='Minimum network bitrate (in Mbps).') networkType = fields.Str( required=True, description='The type of network that maps to the virtualised network ' 'that has been reserved. Examples are: "local", "vlan", ' '"vxlan", "gre", etc.') segmentType = fields.Str( required=True, description='The isolated segment for the virtualised network that ' 'has been reserved. For instance, for a "vlan" ' 'networkType, it corresponds to the vlan identifier; and ' 'for a "gre" networkType, this corresponds to a gre key.') isShared = fields.Bool( required=True, description='It defines whether the virtualised network that has been ' 'reserved is shared among consumers.') metadata = fields.Nested( KeyValuePair, many=True, description='List of metadata key-value pairs used by the consumer to ' 'associate meaningful metadata to the related virtualised ' 'resource.')
class LuggageItemSchema(Schema): luggage_type = fields.Str() weight_in_lbs = fields.Number()
class VirtualNetworkInterface(Schema): """VirtualNetworkInterface. A virtual network interface resource is a communication endpoint under an instantiated compute resource. """ resourceId = fields.Str( required=True, description='Identifier of the virtual network interface.') ownerId = fields.Str( required=True, description='Identifier of the owner of the network interface (e.g. ' 'a virtualised compute resource). ') networkId = fields.Str( required=True, description='In the case when the virtual network interface is ' 'attached to the network, it identifies such a network. ' 'The cardinality can be 0 in the case that a network ' 'interface is created without being attached to any ' 'specific network.') networkPortId = fields.Str( required=True, description='If the virtual network interface is attached to a ' 'specific network port, it identifies such a network ' 'port. The cardinality can be 0 in the case that a ' 'network interface is created without any specific ' 'network port attachment.') ipAddress = fields.Str( required=True, many=True, description='The virtual network interface can be configured with ' 'specific IP address(es) associated to the network to be ' 'attached to. The cardinality can be 0 in the case that a ' 'network interface is created without being attached to ' 'any specific network, or when an IP address can be ' 'automatically configured, e.g. by DHCP.') typeVirtualNic = fields.Str( required=True, description='Type of network interface. The type allows for defining ' 'how such interface is to be realized, e.g. normal ' 'virtual NIC, with direct PCI passthrough, etc.') typeConfiguration = fields.Str( required=True, many=True, description='Extra configuration that the virtual network interface ' 'supports based on the type of virtual network interface, ' 'including support for SR-IOV with configuration of ' 'virtual functions (VF).') macAddress = fields.Str( required=True, description='The MAC address of the virtual network interface.') bandwidth = fields.Number( required=True, description='The bandwidth of the virtual network interface (in ' 'Mbps).') accelerationCapability = fields.Str( required=True, many=True, description='Shows the acceleration capabilities utilized by the ' 'virtual network interface. The cardinality can be 0, if ' 'no acceleration capability is utilized.') operationalState = fields.Str( required=True, description='The operational state of the virtual network interface.') metadata = fields.Nested( KeyValuePair, required=False, description='List of metadata key-value pairs used by the consumer ' 'to associate meaningful metadata to the related ' 'virtualised resource.')