4 title: ONAP SO VNFM Adapter API
6 Describes the API between SO (Service Orchestrator) and the adapter for VNFM
7 (Virtual Network Function Manager)
8 basePath: /so/vnfm-adapter/v1
22 description: Create a VNF instance using a VNFM.
23 operationId: vnf_create
30 The identifier of the VNF. This must be the vnf-id of an existing
36 description: VNF creation parameters
39 $ref: '#/definitions/CreateVnfRequest'
40 - name: X-ONAP-RequestID
42 Used to track REST requests for logging purposes. Identifies a
43 single top level invocation of ONAP
47 - name: X-InvocationID
49 Used to track REST requests for logging purposes. Identifies a
50 single invocation of a single component
57 The request was accepted for processing, but the processing has not
60 $ref: '#/definitions/CreateVnfResponse'
63 An error occurred in the VNFM adapter relating to the given input,
64 for example, if the definition of the given VNF in AAI does not
65 included required information.
67 description: A VNF with the specified ID was not found in AAI.
70 An error occurred in the VNFM adapter not relating to the given
71 input, or an error is received from the VNFM.
76 description: Delete an instance of a VNF using a VNFM.
77 operationId: vnf_delete
84 The identifier of the VNF. This must be the vnf-id of an existing
88 - name: X-ONAP-RequestID
90 Used to track REST requests for logging purposes. Identifies a
91 single top level invocation of ONAP
95 - name: X-InvocationID
97 Used to track REST requests for logging purposes. Identifies a
98 single invocation of a single component
105 The request was accepted for processing, but the processing has not
108 $ref: '#/definitions/DeleteVnfResponse'
111 An error occurred in the VNFM adapter relating to the given input,
112 for example, if the definition of the given VNF in AAI does not
113 included required information.
115 description: A VNF with the specified ID was not found in AAI.
118 An error occurred in the VNFM adapter not relating to the given
119 input, or an error is received from the VNFM.
125 description: Query the status of a job.
126 operationId: job_query
134 description: The identifier of the Job.
137 - name: X-ONAP-RequestID
139 Used to track REST requests for logging purposes. Identifies a
140 single top level invocation of ONAP
144 - name: X-InvocationID
146 Used to track REST requests for logging purposes. Identifies a
147 single invocation of a single component
155 $ref: '#/definitions/QueryJobResponse'
157 description: A job with the specified ID was not found.
160 An error occurred in the VNFM adapter not relating to the given
161 input, or an error is received from the VNFM.
168 description: The name to be applied to the VNF.
170 $ref: '#/definitions/Tenant'
173 description: An identifier for the vnf package.
177 Additional input parameters for the instantiation process, specific to
178 the VNF being instantiated, as declared in the VNFD as part of
179 "InstantiateVnfOpConfig".
180 additionalProperties:
182 externalVirtualLinks:
184 description: Information about external VLs to connect the VNF to.
186 $ref: '#/definitions/ExternalVirtualLink'
192 description: Details of the tenant that VNFs can be deployed into
196 description: The owner in AAI of the cloud to which the tenant belongs.
199 description: The regionName in AAI of the cloud to which the tenant belongs.
202 description: The identifier of the tenant in the VIM.
211 description: The ID of the job which can be used to query the status of the job
220 The ID of the job which can be used to query the status of the delete
228 operationStatusRetrievalStatus:
229 $ref: '#/definitions/OperationStatusRetrievalStatusEnum'
233 $ref: '#/definitions/OperationEnum'
235 $ref: '#/definitions/OperationStateEnum'
245 - operationStatusRetrievalStatus
246 OperationStatusRetrievalStatusEnum:
247 description: The status of the attempt to retrieve the operation from the VNFM
252 - OPERATION_NOT_FOUND
253 - CANNOT_RETRIEVE_STATUS
255 description: The operation
268 description: The status of the operation
280 This type represents an external VL.
289 An identifier with the intention of being globally unique.
292 $ref: '#/definitions/Tenant'
295 An identifier maintained by the VIM.
299 External CPs of the VNF to be connected to this external VL.
303 This type represents configuration information for external CPs
311 An identifier that is unique within a VNF descriptor.
315 List of instance data that need to be configured on the CP
316 instances created from the respective CPD.
320 This type represents an externally provided link port or
321 network address information per instance of an external
322 connection point. In case a link port is provided, the VNFM
323 shall use that link port when connecting the external CP to
324 the external VL. In a link port is not provided, the VNFM
325 shall create a link port on the external VL, and use that link
326 port to connect the external CP to the external VL.
331 An identifier that is unique for the respective type
332 within a VNF instance, but may not be globally unique.
336 An identifier with the intention of being globally unique.
340 Parameters for configuring the network protocols on the
341 link port that connects the CP to a VL. The following
342 conditions apply to the attributes "linkPortId" and
343 "cpProtocolData": * The "linkPortId" and "cpProtocolData"
344 attributes shall both be absent for the deletion of an
345 existing external CP instance
346 addressed by cpInstanceId.
347 * At least one of these attributes shall be present for a
348 to-be-created external CP instance or an existing external
350 * If the "linkPortId" attribute is absent, the VNFM shall
353 * If the "cpProtocolData" attribute is absent, the
354 "linkPortId" attribute shall be provided referencing a
355 pre-created link port,
356 and the VNFM can use means outside the scope of the present
357 document to obtain the pre-configured address information for the
358 connection point from the resource representing the link port.
359 * If both "cpProtocolData" and "linkportId" are provided,
360 the API consumer shall ensure that the cpProtocolData can
362 pre-created link port referenced by "linkPortId".
366 This type represents network protocol data.
373 Identifier of layer(s) and protocol(s). This
374 attribute allows to signal the addition of further
375 types of layer and protocol in future versions of
376 the present document in a backwards-compatible way.
377 In the current version of the present document, only
378 IP over Ethernet is supported.
384 This type represents network address data for IP
390 A MAC address. Representation: string that
391 consists of groups of two hexadecimal digits,
392 separated by hyphens or colons.
397 List of IP addresses to assign to the CP
398 instance. Each entry represents IP address data
399 for fixed or dynamic IP address assignment per
400 subnet. If this attribute is not present, no IP
401 address shall be assigned.
410 The type of the IP addresses. Permitted
418 Fixed addresses to assign (from the subnet
419 defined by "subnetId" if provided).
420 Exactly one of "fixedAddresses",
421 "numDynamicAddresses" or "ipAddressRange"
426 An IPV4 or IPV6 address. Representation:
427 In case of an IPV4 address, string that
428 consists of four decimal integers
429 separated by dots, each integer ranging
430 from 0 to 255. In case of an IPV6
431 address, string that consists of groups
432 of zero to four hexadecimal digits,
438 Number of dynamic addresses to assign
439 (from the subnet defined by "subnetId" if
440 provided). Exactly one of
441 "fixedAddresses", "numDynamicAddresses" or
442 "ipAddressRange" shall be present.
446 An IP address range to be used, e.g. in
447 case of egress connections. In case this
448 attribute is present, IP addresses from
449 the range will be used.
457 An IPV4 or IPV6 address. Representation:
458 In case of an IPV4 address, string that
459 consists of four decimal integers
460 separated by dots, each integer ranging
461 from 0 to 255. In case of an IPV6
462 address, string that consists of groups
463 of zero to four hexadecimal digits,
469 An IPV4 or IPV6 address. Representation:
470 In case of an IPV4 address, string that
471 consists of four decimal integers
472 separated by dots, each integer ranging
473 from 0 to 255. In case of an IPV6
474 address, string that consists of groups
475 of zero to four hexadecimal digits,
481 An identifier maintained by the VIM or
482 other resource provider. It is expected to
483 be unique within the VIM instance.
487 Externally provided link ports to be used to connect external
488 connection points to this external VL. If this attribute is not
489 present, the VNFM shall create the link ports on the external VL.
493 This type represents an externally provided link port to be used to
494 connect an external connection point to an external VL.
502 An identifier with the intention of being globally unique.
510 This type represents the information that allows addressing a
511 virtualised resource that is used by a VNF instance.
514 $ref: '#/definitions/Tenant'
517 An identifier maintained by the VIM or other resource
518 provider. It is expected to be unique within the VIM
521 vimLevelResourceType:
523 Type of the resource in the scope of the VIM or the resource