Mapping IM (clean version) to SOL001 (data model).
This page shows the current agreement on the design time information model of resources for ONAP R2.
NOTE: Differences with ETSI IFA011 v2.3.2 (draft) are marked in orange.
The "SOL001 Mapping" column shows the mapping of each Attribute to SOL001 specification (TOSCA model). This mapping is based on SOL001 v0.5.0 + all of approved contribution from SOL WG#55. This table is work in progress.
- 1 Class: VNFD/VNFDesc
- 2 Class: VDU/VDUDesc
- 3 Class: SwImageDesc
- 4 Class: VirtualComputeDesc
- 5 Class: VirtualCpuData/VirtualCPUDesc
- 6 Class: VirtualMemoryData/VirtualMemoryDesc
- 7 Class: VirtualStorageDesc
- 8 Class: LogicalNodeData/LogicalNodeDesc
- 9 Class: Cpd/CPDesc
- 10 Class: VduCpd/VDUCPDesc
- 11 Class: VduProfile
- 12 Class: VirtualNetworkInterfaceRequirements
Class: VNFD/VNFDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
vnfdId | Identifier | 1 | Identifier of this VNFD information element. This attribute shall be globally unique. NOTE: The VNFD Identifier shall be used as the unique identifier of the VNF Package that contains this VNFD. Any modification of the content of the VNFD or the VNF Package shall result in a new VNFD Identifier. | support: MANDATORY | tosca.nodes.nfv.VNF as properties |
vnfProvider | String | 1 | Provider of the VNF and of the VNFD. | support: MANDATORY | tosca.nodes.nfv.VNF as properties |
vnfProductName | String | 1 | Name to identify the VNF Product. Invariant for the VNF Product lifetime. | support: MANDATORY | tosca.nodes.nfv.VNF as properties |
vnfSoftwareVersion | String | 1 | Software version of the VNF. This is changed when there is any change to the software that is included in the VNF Package. | support: MANDATORY | SOL001: tosca.nodes.nfv.VNF as properties Modeled as “string” |
vnfdVersion | String | 1 | Identifies the version of the VNFD. | support: MANDATORY | tosca.nodes.nfv.VNF as properties Modeled as “string” |
vnfProductInfoName | String | 0..1 | Human readable name for the VNF Product. Can change during the VNF Product lifetime. | support: MANDATORY | tosca.nodes.nfv.VNF as properties |
vnfProductInfoDescription | String | 0..1 | Human readable description of the VNF Product. Can change during the VNF Product lifetime. | support: MANDATORY | tosca.nodes.nfv.VNF as properties |
vnfmInfo | String | 0..N | Identifies VNFM(s) compatible with the VNF described in this version of the VNFD. | support: MANDATORY valueRange: use the name of micro-service of the vnfm drive. For vendor specific VNFM, the value composes of "vendorname" and "vnfmdriver", e.g. "mycompanyvnfmdriver"; for generic VNFM, the value is "gvnfmdriver". | tosca.nodes.nfv.VNF as properties |
localizationLanguage | String | 0..N | Information about localization languages of the VNF (includes e.g. strings in the VNFD). NOTE: This allows to provide one or more localization languages to support selecting a specific localization language at VNF instantiation time. | support: MANDATORY valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html | tosca.nodes.nfv.VNF as properties Modeled as “string” |
defaultLocalizationLanguage | String | 0..1 | Default localization language that is instantiated if no information about selected localization language is available. | support: MANDATORY valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise. | tosca.nodes.nfv.VNF as properties Modeled as “string” |
vdu | VDU/VDUDesc | 1..N | Virtualisation Deployment Unit. | support: MANDATORY | tosca.nodes.VDU.Compute |
virtualComputeDesc | VirtualComputeDesc | 1..N | Defines descriptors of virtual compute resources to be used by the VNF. | support: MANDATORY | tosca.nodes.VDU.Compute tosca.capabilities.nfv.VirtualCompute |
virtualStorageDesc | VirtualStorageDesc | 0..N | Defines descriptors of virtual storage resources to be used by the VNF. | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage |
intVirtualLinkDesc | VirtualLinkDesc/VnfVirtualLinkDesc | 0..N | Represents the type of network connectivity mandated by the VNF provider between two or more CPs which includes at least one internal CP. | support: MANDATORY | tosca.nodes.nfv.VnfVirtualLinkDesc |
vnfReservedCpd | VduCpd | 0..N | Reserved IP Address for VNF which is not bounded to any specific VNFC, but assigned manually from outside and potentially shared as a floating IP among VNFCs. | support: MANDATORY | N/A in SOL001 |
vnfExtCpd | VnfExtCpd/VNFExtCPDesc | 1..N | Describes external interface(s) exposed by this VNF enabling connection with a VL. | support: MANDATORY | tosca.nodes.nfv.VnfExtCpd |
deploymentFlavour | VnfDf/VNFDeploymentFlavor | 1..N | Describes specific DF(s) of a VNF with specific requirements for capacity and performance. | support: MANDATORY | TBD |
configurableProperties | VnfConfigurableProperties | 0..1 | Describes the configurable properties of the VNF (e.g. related to auto scaling and auto healing). | support: MANDATORY | tosca.datatypes.nfv.VnfConfigurableProperties |
modifiableAttributes | VnfInfoModifiableAttributes | 0..1 | Describes the modifiable attributes of the VNF. Editor's note: need check the usage of this attribute | support: MANDATORY | tosca.datatypes.nfv.VnfInfoModifiableAttributes |
lifeCycleManagementScript | LifeCycleManagementScript/ LifeCycleManagementOperationDesc | 0..N | Includes a list of events and corresponding management scripts performed for the VNF. | support: MANDATORY | tosca.interfaces.nfv.vnf.lifecycle.Nfv |
elementGroup | VnfdElementGroup | 0..N | Describes the associated elements of a VNFD for a certain purpose during VNF lifecycle management. | support: MANDATORY | tosca.groups.nfv.ElementGroup |
vnfIndicator | VnfIndicator | 0..N | Declares the VNF indicators that are supported by this VNF. | support: MANDATORY | TBD |
logo | String | 0..1 | File path of the vendor specified logo. | support: MANDATORY | N/A in SOL001 |
guide | String | 0..1 | UUID of the vendor guide/documentation which is attached to VNF and can be downloaded from the model. | support: MANDATORY | N/A in SOL001 |
Class: VDU/VDUDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
vduId | Identifier | 1 | Unique identifier of this Vdu in VNFD. | support: MANDATORY | not required |
name | String | 1 | Human readable name of the Vdu. | support: MANDATORY | tosca.nodes.VDU.Compute |
description | String | 1 | Human readable description of the Vdu. | support: MANDATORY | tosca.nodes.VDU.Compute |
vduCpd | VduCpd/VDUCPDesc | 1..N | Describes network connectivity between a VNFC instance (based on this Vdu) and an Virtual Link (VL). | support: MANDATORY | tosca.nodes.nfv.VduCpd tosca.nodes.nfv.Cpd |
virtualComputeDesc | Identifier (reference to VirtualComputeDesc) | 1 | Describes CPU, Memory and acceleration requirements of the Virtualisation Container realising this Vdu. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute |
virtualStorageDesc | Identifier (reference to VirtualStorageDesc) | 0..N | Describes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu. | support: MANDATORY | tosca.capabilities.nfv.VirtualStorage |
bootOrder | KeyValuePair/NameValuePair | 0..N | Boot order of valid boot devices. NOTE: If no boot order is defined the default boot order defined in the VIM or NFVI shall be used. | support: MANDATORY valueRange: "key/name" indicates the the boot index (lowest index defines highest boot priority). "value" references a descriptor from which a valid boot device is created e.g. VirtualStorageDesc from which a VirtualStorage instance is created. | tosca.nodes.VDU.Compute |
swImageDesc | SwImageDesc | 0..1 Editor's note: the scenario of using "0" needs to be clarified. | Describes the software image which is directly loaded on the virtualisation container realising this Vdu. NOTE: More software images can be attached to the virtualisation container using VirtualStorage resources. | support: MANDATORY | tosca.artifacts.nfv.SwImage |
nfviConstraint | KeyValuePair/NameValuePair | 0..N | Describes constraints on the NFVI for the VNFC instance(s) created from this Vdu. For example, aspects of a secure hosting environment for the VNFC instance that involve additional entities or processes. NOTE: These are constraints other than stipulating that a VNFC instance has access to a certain resource, as a prerequisite to instantiation. The attributes virtualComputeDesc and virtualStorageDesc define the resources required for instantiation of the VNFC instance. | support: MANDATORY valueRange: "key/name" includes "AvailabilityZone", "HostAggregates". | tosca.nodes.VDU.Compute |
monitoringParameter | MonitoringParameter | 0..N | Defines the virtualised resources monitoring parameters on VDU level. | support: MANDATORY | tosca.capabilities.nfv.Metric |
configurableProperties | VnfcConfigurableProperties | 1 | Describes the configurable properties of all VNFC instances based on this VDU. | support: MANDATORY | tosca.nodes.VDU.Compute: as properties: tosca.datatypes.nfv.VnfcConfigurableProperties |
injectFiles | String | 0..N | Describes the information (e.g. URL) about the scripts, config drive metadata, etc. which can be used during Vdu booting process. | support: MANDATORY | N/A in SOL001 |
Class: SwImageDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
id | Identifier | 1 | The identifier of this software image. | support: MANDATORY | Not required |
name | String | 1 | The name of this software image. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
version | String | 1 | The version of this software image. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
checksum | String | 1 | The checksum of the software image file. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
containerFormat | String | 1 | The container format describes the container file format in which software image is provided. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
diskFormat | String | 1 | The disk format of a software image is the format of the underlying disk image. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
minDisk | Number (recommended DM type: Scalar-Unit-Size) | 1 | The minimal disk size requirement for this software image. The value of the "size of storage" attribute of the VirtualStorageDesc referencing this SwImageDesc shall not be smaller than the value of minDisk. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
minRam | Number (recommended DM type: Scalar-Unit-Size) | 0..1 | The minimal RAM requirement for this software image. The value of the "size" attribute of VirtualMemoryData of the Vdu referencing this SwImageDesc shall not be smaller than the value of minRam. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
size | Number (recommended DM type: Scalar-Unit-Size) | 1 | The size of this software image. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
swImage | Identifier (Reference to a SwImage) | 1 | This is a reference to the actual software image. The reference can be relative to the root of the VNF Package or can be a URL. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
operatingSystem | String | 0..1 | Identifies the operating system used in the software image. This attribute may also identify if a 32 bit or 64 bit software image is used. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
supportedVirtualisationEnvironment | String | 0..N | Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image. | support: MANDATORY | tosca.artifacts.nfv.SwImage as properties |
Class: VirtualComputeDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
virtualComputeDescId | Identifier | 1 | Unique identifier of this VirtualComputeDesc in the VNFD. | support: MANDATORY | Not required |
logicalNode | LogicalNodeData/LogicialNodeDesc | 1..N | The logical Node requirements. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.LogicalNodeData |
requestAdditionalCapabilities | RequestedAdditionalCapabilityData | 0..N | Specifies requirements for additional capabilities. These may be for a range of purposes. One example is acceleration related capabilities. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.RequestedAdditionalCapability |
computeRequirements | KeyValuePair/NameValuePair | 0..N | Specifies compute requirements. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties |
virtualMemory | VirtualMemoryData/VirtualMemoryDesc | 1 | The virtual memory of the virtualised compute. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualMemory |
virtualCpu | VirtualCpuData/VirtualCPUDesc | 1 | The virtual CPU(s) of the virtualised compute. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
Class: VirtualCpuData/VirtualCPUDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
cpuArchitecture | String | 0..1 | CPU architecture type. Examples are x86, ARM. The cardinality can be 0 during the allocation request, if no particular CPU architecture type is requested. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
numVirtualCpu | Integer | 1 | Number of virtual CPUs. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
virtualCpuClock | Number (recommended DM type: Scalar-Unit-Freq) | 0..1 | Minimum virtual CPU clock rate (e.g. in MHz). The cardinality can be 0 during the allocation request, if no particular value is requested. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
virtualCpuOversubscriptionPolicy | String | 0..1 | The CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads. The cardinality can be 0 during the allocation request, if no particular value is requested. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
vduCpuRequirements | KeyValuePair/NameValuePair | 0..N | Array of key-value pair requirements on the Compute (CPU) for the VDU. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
virtualCpuPinning | VirtualCpuPinningData | 0..1 | The virtual CPU pinning configuration for the virtualised compute resource. | support: MANDATORY editor's note: need to check whether can be optional | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualCpu |
Class: VirtualMemoryData/VirtualMemoryDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
virtualMemSize | Number (recommended DM type: Scalar-Unit-Size) | 1 | Amount of virtual Memory (e.g. in MB). | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualMemory |
virtualMemOversubscriptionPolicy | String | 0..1 | The memory core oversubscription policy in terms of virtual memory to physical memory on the platform. The cardinality can be 0 during the allocation request, if no particular value is requested. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualMemory |
vduMemRequirements | KeyValuePair/NameValuePair | 0..N | Array of key-value pair requirements on the memory for the VDU. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualMemory |
numaEnabled | Boolean | 0..1 | It specifies the memory allocation to be cognisant of the relevant process/core allocation. The cardinality can be 0 during the allocation request, if no particular value is requested. | support: MANDATORY | tosca.capabilities.nfv.VirtualCompute as properties tosca.datatypes.nfv.VirtualMemory |
Class: VirtualStorageDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
id | Identifier | 1 | Unique identifier of this VirtualStorageDesc in the VNFD. | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage as properties |
typeOfStorage | String | 1 | Type of virtualised storage resource | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage as properties |
sizeOfStorage | Number (recommended DM type: Scalar-Unit-Size) | 1 | Size of virtualised storage resource | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage as properties |
vduStorageRequirements | KeyValuePair/NameValuePair | 0..N | An array of key-value pairs that articulate the storage deployment requirements. | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage as properties |
rdmaEnabled | Boolean | 0..1 | Indicate if the storage support RDMA. | support: MANDATORY | tosca.nodes.nfv.VDU.VirtualStorage as properties |
swImageDesc | Identifier (Reference to SwImageDesc) | 0..1 | Software image to be loaded on the VirtualStorage resource created based on this VirtualStorageDesc. | support: MANDATORY | tosca.artifacts.Deployment.Image |
Class: LogicalNodeData/LogicalNodeDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
logicalNodeRequirements | KeyValuePair/NameValuePair | 0..N | The logical node-level compute, memory and I/O requirements. An array of key-value pairs that articulate the deployment requirements. This could include the number of CPU cores on this logical node, a memory configuration specific to a logical node (e.g. such as available in the Linux kernel via the libnuma library) or a requirement related to the association of an I/O device with the logical node. | support: MANDATORY | tosca.datatypes.nfv.LogicalNodeData |
Class: Cpd/CPDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
cpdId | Identifier | 1 | Identifier of this Cpd information element. | support: MANDATORY | Not required |
cpRole | String | 0..1 | Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF. | support: MANDATORY | tosca.nodes.nfv.Cpd as Properties |
description | String | 0..1 | Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic). | support: MANDATORY | tosca.nodes.nfv.Cpd as Properties |
cpProtocol | CpProtocolData | 1..N | Identifies the protocol layering information the CP uses for connectivity purposes and associated information. There shall be one cpProtocol for each layer protocol as indicated by the attribute layerProtocol. Editor's note: the attribute "layerProtocol" still needs further discussion and not included in this table. | support: MANDATORY | tosca.nodes.nfv.Cpd as Properties |
trunkMode | Boolean | 1 | Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other). | support: MANDATORY | tosca.nodes.nfv.Cpd as Properties |
allowedAddressData | AddressData | 0..N | For specifying floating IP(s) to be shared among Cpds, which are reserved for vnfReservedCpd described in the VNFD. | support: MANDATORY | N/A in SOL001 |
Class: VduCpd/VDUCPDesc
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
bitrateRequirement | Number (recommended DM type: Scalar-Unit-Rate) | 0..1 | Bitrate requirement on this CP. | support: MANDATORY | tosca.nodes.nfv.VduCpd as properties |
vnicName | String | 0..1 | Describes the name of the vNIC this CP attaches to, e.g. eth0. It will be configured during the Vdu booting process. | support: MANDATORY | N/A in SOL001 |
vnicOrder | Integer | 0..1 | Describes the order to create the vNIC within the scope of this Vdu. | support: MANDATORY | N/A in SOL001 |
vnicType | Enum | 0..1 | Describes the type of the vNIC this CP attaches to. | support: MANDATORY valueRange: normal, macvtap, direct, baremetal, direct-physical and virtio-forwarder | N/A in SOL001 |
virtualNetworkInterfaceRequirements | VirtualNetworkInterfaceRequirements | 0..N | Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD. | support: MANDATORY | tosca.nodes.nfv.VduCpd as properties tosca.datatypes.nfv. VirtualNetworkInterfaceRequirements |
(inherited attributes) | All attributes inherited from Cpd. |
Class: VduProfile
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
vduId | Identifier (Reference to Vdu) | 1 | Uniquely identifies a VDU. | support: MANDATORY | |
minNumberOfInstances | Integer | 1 | Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour. | support: MANDATORY | tosca.datatypes.nfv.VduProfile as properties |
maxNumberOfInstances | Integer | 1 | Maximum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour. | support: MANDATORY | tosca.datatypes.nfv.VduProfile as properties |
localAffinityOrAntiAffinityRule | LocalAffinityOrAntiAffinityRule | 0..N | Specifies affinity or anti-affinity rules applicable between the virtualisation containers (e.g. virtual machines) to be created based on this VDU. When the cardinality is greater than 1, both affinity rule(s) and anti-affinity rule(s) with different scopes (e.g. "Affinity with the scope resource zone and anti-affinity with the scope NFVI node") are applicable to the virtualisation containers (e.g. virtual machines) to be created based on this VDU. | support: MANDATORY | modeled as policy types |
affinityOrAntiAffinityGroupId | Identifier | 0..N | Identifier(s) of the affinity or anti-affinity group(s) the VDU belongs to. NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationships between the virtualisation container(s) (e.g. virtual machine(s)) to be created using this VDU and the virtualisation container(s) (e.g. virtual machine(s)) to be created using other VDU(s) in the same group. | support: MANDATORY | modeled as policy types |
watchdog | String | 0..1 | Watchdog action to be triggered by the VIM for the VNF in case the heart beat fails, e.g. reset or hard shutdown, etc. | support: MANDATORY | N/A in SOL001 |
vmBootUpTimeOut | Integer | 0..1 | Timeout value for the VNFM to wait before the successful booting up of the VDU. | support: OPTIONAL | N/A in SOL001 |
Class: VirtualNetworkInterfaceRequirements
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | SOL001 Mapping |
---|---|---|---|---|---|
name | String | 0..1 | Provides a human readable name for the requirement. | support: MANDATORY | tosca.datatypes.nfv. VirtualNetworkInterfaceRequirements as properties |
description | String | 0..1 | Provides a human readable description of the requirement. | support: MANDATORY | tosca.datatypes.nfv. VirtualNetworkInterfaceRequirements as properties |
supportMandatory | Boolean | 1 | Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE). | support: MANDATORY | tosca.datatypes.nfv. VirtualNetworkInterfaceRequirements as properties |
networkInterfaceRequirements | KeyValuePair/NameValuePair | 0..N | The network interface requirements. An element from an array of key-value pairs that articulate the network interface deployment requirements. | support: MANDATORY | tosca.datatypes.nfv. VirtualNetworkInterfaceRequirements as properties |