ONAP SO VNFM Adapter API

Describes the API between SO (Service Orchestrator) and the adapter for VNFM (Virtual Network Function Manager)
More information: https://helloreverb.com
Contact Info: hello@helloreverb.com
Version: 1.0.0
BasePath:/so/vnfm-adapter/v1
All rights reserved
http://apache.org/licenses/LICENSE-2.0.html

Access

Methods

[ Jump to Models ]

Table of Contents

SOVNFMAdapter

SOVNFMAdapter

Up
get /healthcheck
Test VNFM adapter health (healthcheckGet)
Test VNFM adapter health

Consumes

This API call consumes the following media types via the Content-Type request header:

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

204

VNFM adapter is healthy

Up
get /jobs/{jobId}
Job query (jobQuery)
Query the status of a job.

Path parameters

jobId (required)
Path Parameter — The identifier of the Job.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request headers

Return type

QueryJobResponse

Example data

Content-Type: application/json
{
  "vnfInstanceId" : "vnfInstanceId",
  "stateEnteredTime" : "2000-01-23T04:56:07.000+00:00",
  "operationState" : { },
  "operationStatusRetrievalStatus" : { },
  "startTime" : "2000-01-23T04:56:07.000+00:00",
  "id" : "id",
  "operation" : { }
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

QueryJobResponse

404

A job with the specified ID was not found.

500

An error occurred in the VNFM adapter not relating to the given input, or an error is received from the VNFM.

Up
post /vnfs/{vnfId}
VNF create (vnfCreate)
Create a VNF instance using a VNFM.

Path parameters

vnfId (required)
Path Parameter — The identifier of the VNF. This must be the vnf-id of an existing generic-vnf in AAI.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body CreateVnfRequest (required)
Body Parameter — VNF creation parameters

Request headers

Return type

CreateVnfResponse

Example data

Content-Type: application/json
{
  "jobId" : "jobId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

202

The request was accepted for processing, but the processing has not been completed. CreateVnfResponse

400

An error occurred in the VNFM adapter relating to the given input, for example, if the definition of the given VNF in AAI does not included required information.

404

A VNF with the specified ID was not found in AAI.

500

An error occurred in the VNFM adapter not relating to the given input, or an error is received from the VNFM.

Up
delete /vnfs/{vnfId}
VNF delete (vnfDelete)
Delete an instance of a VNF using a VNFM.

Path parameters

vnfId (required)
Path Parameter — The identifier of the VNF. This must be the vnf-id of an existing generic-vnf in AAI

Consumes

This API call consumes the following media types via the Content-Type request header:

Request headers

Return type

DeleteVnfResponse

Example data

Content-Type: application/json
{
  "jobId" : "jobId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

202

The request was accepted for processing, but the processing has not been completed. DeleteVnfResponse

400

An error occurred in the VNFM adapter relating to the given input, for example, if the definition of the given VNF in AAI does not included required information.

404

A VNF with the specified ID was not found in AAI.

500

An error occurred in the VNFM adapter not relating to the given input, or an error is received from the VNFM.

Models

[ Jump to Methods ]

Table of Contents

  1. CreateVnfRequest -
  2. CreateVnfResponse -
  3. DeleteVnfResponse -
  4. ExternalVirtualLink -
  5. ExternalVirtualLink_cpConfig -
  6. ExternalVirtualLink_cpProtocolData -
  7. ExternalVirtualLink_extCps -
  8. ExternalVirtualLink_extLinkPorts -
  9. ExternalVirtualLink_ipOverEthernet -
  10. ExternalVirtualLink_ipOverEthernet_addressRange -
  11. ExternalVirtualLink_ipOverEthernet_ipAddresses -
  12. ExternalVirtualLink_resourceHandle -
  13. OperationEnum -
  14. OperationStateEnum -
  15. OperationStatusRetrievalStatusEnum -
  16. QueryJobResponse -
  17. Tenant -

CreateVnfRequest - Up

name
String The name to be applied to the VNF.
tenant
additionalParams (optional)
map[String, String] Additional input parameters for the instantiation process, specific to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig".
externalVirtualLinks (optional)
array[ExternalVirtualLink] Information about external VLs to connect the VNF to.

CreateVnfResponse - Up

jobId
String The ID of the job which can be used to query the status of the job

DeleteVnfResponse - Up

jobId
String The ID of the job which can be used to query the status of the delete job

ExternalVirtualLink - Up

This type represents an external VL.
id
String An identifier with the intention of being globally unique.
tenant (optional)
resourceId
String An identifier maintained by the VIM.
extCps
array[ExternalVirtualLink_extCps] External CPs of the VNF to be connected to this external VL.
extLinkPorts (optional)
array[ExternalVirtualLink_extLinkPorts] Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.

ExternalVirtualLink_cpConfig - Up

This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.
cpInstanceId (optional)
String An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
linkPortId (optional)
String An identifier with the intention of being globally unique.
cpProtocolData (optional)
array[ExternalVirtualLink_cpProtocolData]

Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": * The "linkPortId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId.

  • At least one of these attributes shall be present for a to-be-created external CP instance or an existing external CP instance.
  • If the "linkPortId" attribute is absent, the VNFM shall create a link port.
  • If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present document to obtain the pre-configured address information for the connection point from the resource representing the link port.
  • If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

ExternalVirtualLink_cpProtocolData - Up

This type represents network protocol data.
layerProtocol
String Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
Enum:
IP_OVER_ETHERNET
ipOverEthernet (optional)

ExternalVirtualLink_extCps - Up

This type represents configuration information for external CPs created from a CPD.
cpdId
String An identifier that is unique within a VNF descriptor.
cpConfig (optional)
array[ExternalVirtualLink_cpConfig] List of instance data that need to be configured on the CP instances created from the respective CPD.

ExternalVirtualLink_extLinkPorts - Up

This type represents an externally provided link port to be used to connect an external connection point to an external VL.
id
String An identifier with the intention of being globally unique.
resourceHandle

ExternalVirtualLink_ipOverEthernet - Up

This type represents network address data for IP over Ethernet.
macAddress (optional)
String A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. format: MAC
ipAddresses (optional)
array[ExternalVirtualLink_ipOverEthernet_ipAddresses] List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.

ExternalVirtualLink_ipOverEthernet_addressRange - Up

An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.
minAddress
String An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. format: IP
maxAddress
String An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. format: IP

ExternalVirtualLink_ipOverEthernet_ipAddresses - Up

type
String The type of the IP addresses. Permitted values: IPV4, IPV6.
Enum:
IPV4
IPV6
fixedAddresses (optional)
array[String] Fixed addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. format: IP
numDynamicAddresses (optional)
Integer Number of dynamic addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present.
addressRange (optional)
subnetId (optional)
String An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.

ExternalVirtualLink_resourceHandle - Up

This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.
tenant
resourceId
String An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
vimLevelResourceType (optional)
String Type of the resource in the scope of the VIM or the resource provider.

OperationEnum - Up

The operation

OperationStateEnum - Up

The status of the operation

OperationStatusRetrievalStatusEnum - Up

The status of the attempt to retrrieve the operation from the VNFM

QueryJobResponse - Up

operationStatusRetrievalStatus
id (optional)
operation (optional)
operationState (optional)
startTime (optional)
Date format: date-time
stateEnteredTime (optional)
Date format: date-time
vnfInstanceId (optional)

Tenant - Up

Details of the tenant that VNFs can be deployed into
cloudOwner
String The owner in AAI of the cloud to which the tenant belongs.
regionName
String The regionName in AAI of the cloud to which the tenant belongs.
tenantId
String The identifier of the tenant in the VIM.