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