ONAP SO VNFM Adapter API
Describes the API between SO (Service Orchestrator) and the adapter for VNFM (Virtual Network Function Manager)
Version: 1.0.0
BasePath:/so/vnfm-adapter/v1
All rights reserved
http://apache.org/licenses/LICENSE-2.0.html
Access
[ Jump to Models ]
Table of Contents
Test VNFM adapter health (healthcheckGet)
Test VNFM adapter health
Consumes
This API call consumes the following media types via the request header:
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
204
VNFM adapter is healthy
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 request header:
Request headers
Return type
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 request header;
the media type will be conveyed by the 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.
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 request header:
Request body
Body Parameter — VNF creation parameters
Request headers
Return type
Example data
Content-Type: application/json
{
"jobId" : "jobId"
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the 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.
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 request header:
Request headers
Return type
Example data
Content-Type: application/json
{
"jobId" : "jobId"
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the 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.
[ Jump to Methods ]
Table of Contents
CreateVnfRequest
-
CreateVnfResponse
-
DeleteVnfResponse
-
ExternalVirtualLink
-
ExternalVirtualLink_cpConfig
-
ExternalVirtualLink_cpProtocolData
-
ExternalVirtualLink_extCps
-
ExternalVirtualLink_extLinkPorts
-
ExternalVirtualLink_ipOverEthernet
-
ExternalVirtualLink_ipOverEthernet_addressRange
-
ExternalVirtualLink_ipOverEthernet_ipAddresses
-
ExternalVirtualLink_resourceHandle
-
OperationEnum
-
OperationStateEnum
-
OperationStatusRetrievalStatusEnum
-
QueryJobResponse
-
Tenant
-
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)
jobId
String The ID of the job which can be used to query the status of the job
jobId
String The ID of the job which can be used to query the status of the delete job
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
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.
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".
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.
IP_OVER_ETHERNET
ipOverEthernet (optional)
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)
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
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)
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
type
String The type of the IP addresses. Permitted values: IPV4, IPV6.
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.
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.
The status of the operation
The status of the attempt to retrrieve the operation from the VNFM
operationStatusRetrievalStatus
id (optional)
operation (optional)
operationState (optional)
startTime (optional)
stateEnteredTime (optional)
vnfInstanceId (optional)
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.