Loading Readme.md +2 −2 Original line number Diff line number Diff line # NFV SOL002 and SOL003 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.3.1. for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.4.1. The APIs described in this repository are defined for the following reference points: Loading Loading @@ -51,7 +51,7 @@ See the recent builds from: ## License Copyright (c) ETSI 2020. Copyright (c) ETSI 2023. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file Loading src/SOL002/APIVersion/APIVersion.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ info: version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V4.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf description: ETSI GS NFV-SOL 002 V4.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf paths: /vnfconfig/api_versions: Loading src/SOL002/General_Definitions/SOL002_def.yaml +25 −99 Original line number Diff line number Diff line Loading @@ -185,91 +185,6 @@ definitions: items: type: string VimConnectionInfo: description: > This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance. This structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM. * NOTE 1: If applicable, this attribute also provides information about the resourceGroupIds that are accessible using a particular set of credentials. See definition of "resourceGroupId" in clause 9.5.3.3. * NOTE 2: Once the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the "accessInfo" JSON data structure, and the sensitive data related information ("username"/"password" as required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional encoding/encryption before transmitting it, making the sensitive data visible to the endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the interface endpoint of the VIM., CISM, CIR or MCIOP repository. type: object required: - vimType properties: vimId: description: > The identifier of the VIM, CISM, CIR or MCIOP repository instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM, CISM, CIR or MCIOP repository if such information has been configured into the VNFM by means outside the scope of the present document and should be absent otherwise. $ref: "#/definitions/Identifier" vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM., CISM, CIR or MCIOP repository. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information [i.3] provides access to information about VimConnectionInfo definitions for various VIM, CISM, CIR or MCIOP repository types. The structure of the registry is defined in annex C. type: string interfaceInfo: description: > Information about the interface or interfaces to the VIM, CISM, CIR or MCIOP repository, if applicable, such as the URI of an interface endpoint to communicate with the VIM, CISM, CIR or MCIOP repository. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. $ref: "#/definitions/KeyValuePairs" accessInfo: description: > Authentication credentials for accessing the VIM, CISM, CIR or MCIOP repository and other access-related information such as tenants or infrastructure resource groups (see note 1). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. See note 2. $ref: "#/definitions/KeyValuePairs" extra: description: > VIM, CISM, CIR or MCIOP repository type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType. $ref: "#/definitions/KeyValuePairs" ResourceHandle: required: - resourceId Loading Loading @@ -409,15 +324,14 @@ definitions: * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 1) Void. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: Loading Loading @@ -530,13 +444,6 @@ definitions: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange properties: macAddress: description: > Loading Loading @@ -571,6 +478,13 @@ definitions: type: object required: - type oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - addressRange properties: type: description: > Loading Loading @@ -622,14 +536,20 @@ definitions: VirtualCpAddressData: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. This type represents network address data for a virtual CP. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. * NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for Kubernetes® that supports configuration of address pools for load balancer services. * NOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time. type: object required: - type Loading @@ -645,8 +565,14 @@ definitions: loadBalancerIp: description: > Fixed address to assign to an external load balancer. See notes 1 and 2. See notes 1, 2 and 4. $ref: "#/definitions/IpAddress" addressPoolName : description: > Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4. type: string ExtVirtualLinkData: description: > Loading src/SOL002/VNFConfiguration/VNFConfiguration.yaml +3 −3 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 version: 1.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V4.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf description: ETSI GS NFV-SOL 002 V4.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf servers: - url: http://127.0.0.1/vnfconfig/v1 Loading src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +0 −5 Original line number Diff line number Diff line Loading @@ -112,11 +112,6 @@ definitions: type: array items: $ref: '#/definitions/CpConfiguration' dhcpServer: description: > IP address of the DHCP server that the VNF instance can use to obtain IP addresses to be assigned to its external CPs. $ref: '../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress' vnfcSpecificData: description: > Additional configurable properties of the VNFC instance declared in the Loading Loading
Readme.md +2 −2 Original line number Diff line number Diff line # NFV SOL002 and SOL003 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.3.1. for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.4.1. The APIs described in this repository are defined for the following reference points: Loading Loading @@ -51,7 +51,7 @@ See the recent builds from: ## License Copyright (c) ETSI 2020. Copyright (c) ETSI 2023. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file Loading
src/SOL002/APIVersion/APIVersion.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ info: version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V4.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf description: ETSI GS NFV-SOL 002 V4.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf paths: /vnfconfig/api_versions: Loading
src/SOL002/General_Definitions/SOL002_def.yaml +25 −99 Original line number Diff line number Diff line Loading @@ -185,91 +185,6 @@ definitions: items: type: string VimConnectionInfo: description: > This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance. This structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM. * NOTE 1: If applicable, this attribute also provides information about the resourceGroupIds that are accessible using a particular set of credentials. See definition of "resourceGroupId" in clause 9.5.3.3. * NOTE 2: Once the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the "accessInfo" JSON data structure, and the sensitive data related information ("username"/"password" as required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional encoding/encryption before transmitting it, making the sensitive data visible to the endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the interface endpoint of the VIM., CISM, CIR or MCIOP repository. type: object required: - vimType properties: vimId: description: > The identifier of the VIM, CISM, CIR or MCIOP repository instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM, CISM, CIR or MCIOP repository if such information has been configured into the VNFM by means outside the scope of the present document and should be absent otherwise. $ref: "#/definitions/Identifier" vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM., CISM, CIR or MCIOP repository. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information [i.3] provides access to information about VimConnectionInfo definitions for various VIM, CISM, CIR or MCIOP repository types. The structure of the registry is defined in annex C. type: string interfaceInfo: description: > Information about the interface or interfaces to the VIM, CISM, CIR or MCIOP repository, if applicable, such as the URI of an interface endpoint to communicate with the VIM, CISM, CIR or MCIOP repository. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. $ref: "#/definitions/KeyValuePairs" accessInfo: description: > Authentication credentials for accessing the VIM, CISM, CIR or MCIOP repository and other access-related information such as tenants or infrastructure resource groups (see note 1). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. See note 2. $ref: "#/definitions/KeyValuePairs" extra: description: > VIM, CISM, CIR or MCIOP repository type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType. $ref: "#/definitions/KeyValuePairs" ResourceHandle: required: - resourceId Loading Loading @@ -409,15 +324,14 @@ definitions: * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 1) Void. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: Loading Loading @@ -530,13 +444,6 @@ definitions: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange properties: macAddress: description: > Loading Loading @@ -571,6 +478,13 @@ definitions: type: object required: - type oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - addressRange properties: type: description: > Loading Loading @@ -622,14 +536,20 @@ definitions: VirtualCpAddressData: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. This type represents network address data for a virtual CP. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. * NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for Kubernetes® that supports configuration of address pools for load balancer services. * NOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time. type: object required: - type Loading @@ -645,8 +565,14 @@ definitions: loadBalancerIp: description: > Fixed address to assign to an external load balancer. See notes 1 and 2. See notes 1, 2 and 4. $ref: "#/definitions/IpAddress" addressPoolName : description: > Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4. type: string ExtVirtualLinkData: description: > Loading
src/SOL002/VNFConfiguration/VNFConfiguration.yaml +3 −3 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 version: 1.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V4.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf description: ETSI GS NFV-SOL 002 V4.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf servers: - url: http://127.0.0.1/vnfconfig/v1 Loading
src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +0 −5 Original line number Diff line number Diff line Loading @@ -112,11 +112,6 @@ definitions: type: array items: $ref: '#/definitions/CpConfiguration' dhcpServer: description: > IP address of the DHCP server that the VNF instance can use to obtain IP addresses to be assigned to its external CPs. $ref: '../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress' vnfcSpecificData: description: > Additional configurable properties of the VNFC instance declared in the Loading