Virtualized Network Function Lifecycle Management Interface (VNF LCM)

Virtualized Network Function Lifecycle Management Interface (VNF LCM)

This interface manages the VNF lifecycle management operations of VNF instances.

This interface allows the NFVO to invoke VNF lifecycle management operations of VNF instances towards the VNFM.

POST
/vnflcm/v1/vnf_instances

Creates a new VNF instance resource

The POST method creates a new VNF instance resource.

As the result of successfully executing this method, a new Individual VNF instance resource shall have been created, and the value of the instantiationState attribute in the representation of that resource shall be NOT_INSTANTIATED.

Response Codes

Success

Code

Reason

201 - Created

Resource was created and is ready to use.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

Request Parameters

Name

In

Type

Description

vnfdId

body

string

Identifier that identifies the VNFD which defines the VNF instance to be created.

vnfInstanceName (Optional)

body

string

Human-readable name of the VNF instance to be created.

vnfInstanceDescription (Optional)

body

string

Human-readable description of the VNF instance to be created.

metadata (Optional)

body

array

This attribute provides values for the “metadata” attribute in “VnfInstance”.

Request Example

{
  "vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
  "vnfInstanceName": "Instance name",
  "vnfInstanceDescription": "Instance description"
}

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of the VNF instance.

vnfInstanceName (Optional)

body

string

Name of the VNF instance.

vnfInstanceDescription (Optional)

body

string

Human-readable description of the VNF instance.

vnfdId

body

string

Identifier of the VNFD on which the VNF instance is based.

vnfProvider

body

string

Provider of the VNF and the VNFD. The value is copied from the VNFD.

vnfProductName

body

string

Name to identify the VNF Product. The value is copied from the VNFD.

vnfSoftwareVersion

body

string

Software version of the VNF. The value is copied from the VNFD.

vnfdVersion

body

string

Identifies the version of the VNFD. The value is copied from the VNFD.

vnfPkgId

body

string

Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method.

instantiationState

body

string

The instantiation state of the VNF instance.

NOT_INSTANTIATED: The VNF instance is terminated or not instantiated.

INSTANTIATED: The VNF instance is instantiated.

_links

body

object

Links to resources related to this resource.

Response Example

{
  "id": "cda383ea-8341-4731-93c7-19db4b5ce1b5",
  "instantiationState": "NOT_INSTANTIATED",
  "vnfInstanceDescription": "Instance description",
  "vnfInstanceName": "Instance name",
  "vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
  "vnfProductName": "Sample VNF",
  "vnfProvider": "Company",
  "vnfSoftwareVersion": "1.0",
  "vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
  "vnfdVersion": "1.0",
  "_links": {
    "instantiate": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5/instantiate"
    },
    "self": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5"
    }
  }
}
POST
/vnflcm/v1/vnf_instances/{vnfInstanceId}/instantiate

Instantiate a VNF instance

The POST method instantiates a VNF instance.

Once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall set the instantiationState attribute to the value INSTANTIATED and the vnfState attribute to the value STARTED in the representation of the Individual VNF instance resource.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

flavourId

body

string

Identifier of the VNF deployment flavour to be instantiated.

instantiationLevelId (Optional)

body

string

Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated.

extVirtualLinks (Optional)

body

array

Information about external VLs to connect the VNF to.

id

body

string

The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

resourceId

body

string

The identifier of the resource in the scope of the VIM or the resource provider.

extCps

body

array

External CPs of the VNF to be connected to this external VL.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig (Optional)

body

array

List of instance data that need to be configured on the CP instances created from the respective CPD.

cpInstanceId (Optional)

body

string

Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied.

Shall be present if this instance has already been created.

linkPortId (Optional)

body

string

Identifier of a pre-configured link port to which the external CP will be associated. See note.

cpProtocolData (Optional)

body

array

Parameters for configuring the network protocols on the link port that connects the CP to a VL.

layerProtocol

body

string

Identifier of layer(s) and protocol(s).

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address. If this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present.

ipAddresses (Optional)

body

array

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.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

fixedAddresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

numDynamicAddresses (Optional)

body

int

Number of set the dynamic address. Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

extLinkPorts (Optional)

body

array

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.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised resource realizing this link port.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

extManagedVirtualLinks (Optional)

body

array

List of information about internal VLs that are managed by the NFVO.

id

body

string

The identifier of the externally-managed internal VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

vnfVirtualLinkDescId

body

string

The identifier of the VLD in the VNFD for this VL.

resourceId

body

string

The identifier of the resource in the scope of the VIM or the resource provider.

vimConnectionInfo (Optional)

body

array

Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.

This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

additionalParams

body

string

Additional input parameters for the flavour change process, specific to the VNF being modified, as declared in the VNFD as part of “ChangeVnfFlavourOpConfig”.

Request Example

{
  "flavourId": "simple",
  "extVirtualLinks": [
    {
      "id": "ext-vl-uuid-VL1"
      "resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f",
      "extCps": [
        {
          "cpdId": "CP2",
          "cpConfig": [
            {
              "linkPortId": "1d868d02-ecd4-4402-8e6b-54e77ebdcc28",
              "cpProtocolData": [
                {
                  "layerProtocol": "IP_OVER_ETHERNET",
                  "ipOverEthernet": {
                    "ipAddresses":[
                      {
                        "type": "IPV4",
                        "numDynamicAddresses": 1
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ],
      "extLinkPorts": [
        {
          "id": "1d868d02-ecd4-4402-8e6b-54e77ebdcc28",
          "resourceHandle": {
            "resourceId": "109f5049-b51e-409a-9a99-d740ba5f3acb",
            "vimLevelResourceType": "LINKPORT"
          }
        }
      ]
    },
    {
      "id": "ext-vl-uuid-VL1",
      "resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f",
      "extCps": [
        {
          "cpdId": "CP1",
          "cpConfig": [
            {
              "cpProtocolData": [
                {
                  "layerProtocol": "IP_OVER_ETHERNET",
                  "ipOverEthernet": {
                     "macAddress": "fa:16:3e:22:17:05"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "extManagedVirtualLinks": [
    {
      "id": "extMngVLnk-uuid_VL3",
      "vnfVirtualLinkDescId": "VL4",
      "resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f"
    }
  ],
  "vimConnectionInfo": [
    {
      "id": "8a3adb69-0784-43c7-833e-aab0b6ab4470",
      "vimId": "c576eb55-5bec-4881-a573-5b0f3a05c370",
      "vimType": "openstack"
    }
  ]
}
POST
/vnflcm/v1/vnf_instances/{vnfInstanceId}/terminate

Terminate a VNF instance

This task resource represents the “Terminate VNF” operation. The client can use this resource to terminate a VNF instance.

The POST method terminates a VNF instance.

Once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall set the instantiationState attribute in the representation of the Individual VNF instance resource to the value NOT_INSTANTIATED.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

terminationType

body

string

Indicates whether forceful or graceful termination is requested. Permitted values:

FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.

GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or once the timer value specified in the “gracefulTerminationTimeout” attribute expires, the VNFM will shut down the VNF and release the resources.

gracefulTerminationTimeout (Optional)

body

string

This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be taken out of service before shutting down the VNF and releasing the resources.

The unit is seconds.

If not given and the “terminationType” attribute is set to “GRACEFUL”, it is expected that the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting down the VNF and releasing the resources.

Request Example

{
  "terminationType": "GRACEFUL",
  "gracefulTerminationTimeout": 10
}
POST
/vnflcm/v1/vnf_instances/{vnfInstanceId}/heal

Heal a VNF instance

This task resource represents the “Heal VNF” operation. The client can use this resource to request healing a VNF instance.

The POST method requests to heal a VNF instance.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

cause (Optional)

body

string

Indicates the reason why a healing procedure is required.

vnfcInstanceId (Optional)

body

array

List of VNFC instances requiring a healing action.

Request Example

{
  "cause": "healing",
  "vnfcInstanceId": ["c51c98dc-b918-4681-a9eb-4f32a57c4e08"]
}
DELETE
/vnflcm/v1/vnf_instances/{vnfInstanceId}

Delete a VNF instance

This method deletes an “Individual VNF instance” resource.

As the result of successfully executing this method, the “Individual VNF instance” resource shall not exist any longer.

Response Codes

Success

Code

Reason

204 - No Content

The server has fulfilled the request by deleting the resource.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

GET
/vnflcm/v1/vnf_instances/{vnfInstanceId}

Show VNF Instance

Show information of given individual VNF instance.

The GET method retrieves information about a VNF instance by reading an “Individual VNF instance” resource.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

Response Parameters

Name

In

Type

Description

id

path

string

Identifier of the VNF instance.

vnfInstanceName (Optional)

body

string

Name of the VNF instance.

vnfInstanceDescription (Optional)

body

string

Human-readable description of the VNF instance.

vnfdId

body

string

Identifier of the VNFD on which the VNF instance is based.

vnfProvider

body

string

Provider of the VNF and the VNFD. The value is copied from the VNFD.

vnfProductName

body

string

Name to identify the VNF Product. The value is copied from the VNFD.

vnfSoftwareVersion

body

string

Software version of the VNF. The value is copied from the VNFD.

vnfdVersion

body

string

Identifies the version of the VNFD. The value is copied from the VNFD.

vnfPkgId

body

string

Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method.

vimConnectionInfo (Optional)

body

array

Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.

This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

instantiationState

body

string

The instantiation state of the VNF instance.

NOT_INSTANTIATED: The VNF instance is terminated or not instantiated.

INSTANTIATED: The VNF instance is instantiated.

instantiatedVnfInfo (Optional)

body

object

Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.

flavourId

body

string

Identifier of the VNF deployment flavour applied to this VNF instance.

vnfState (Optional)

body

string

State of the VNF instance.

scaleStatus (Optional)

body

array

Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled with reference to that aspect. This attribute shall be present if the VNF supports scaling.

aspectId

body

string

Identifier of the scaling aspect.

scaleLevel

body

string

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be less than or equal to maxScaleLevel as described in the VNFD.

extCpInfo

body

array

Information about the external CPs exposed by the VNF instance.

id

body

string

Identifier of the external CP instance and the related information instance.

cpdId

body

string

Identifier of the external CPD, VnfExtCpd, in the VNFD. An identifier that is unique for the respective type within a VNF instance, but that need not be globally unique. Representation: string of variable length.

cpProtocolInfo

body

array

Network protocol information for this CP.

layerProtocol

body

string

The identifier of layer(s) and protocol(s) associated to the network address information.

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address, if assigned.

ipAddresses (Optional)

body

array

Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

addresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

isDynamic (Optional)

body

boolean

Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

extLinkPortId (Optional)

body

string

Identifier of the “extLinkPortInfo” structure inside the “extVirtualLinkInfo” structure. Shall be present if the CP is associated to a link port.

metadata (Optional)

body

string

Metadata about this external CP.

associatedVnfcCpId (Optional)

body

string

Identifier of the “vnfcCpInfo” structure in “VnfcResourceInfo” structure that represents the VNFC CP which is exposed by this external CP instance. Shall be present in case this CP instance maps to a VNFC CP.

extVirtualLinkInfo (Optional)

body

array

Information about the external VLs the VNF instance is connected to.

id

body

string

Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

extLinkPorts (Optional)

body

array

Link ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an “extCpInfo” item in the VnfInstance.

extManagedVirtualLinkInfo (Optional)

body

array

Information about the externally-managed internal VLs of the VNF instance.

id

body

string

Identifier of the externally-managed internal VL and the related externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfLinkPorts (Optional)

body

array

Links ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised network resource realizing this link port.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port.

When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port.

Shall be present when the link port is used for external connectivity by the VNF.

May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance.

The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance.

vnfcResourceInfo (Optional)

body

array

Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.

id

body

string

Identifier of this VnfcResourceInfo instance.

vduId

body

string

Reference to the applicable VDU in the VNFD.

computeResource

body

object

Reference to the VirtualCompute resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

storageResourceIds (Optional)

body

array

References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.

vnfcCpInfo (Optional)

body

array

CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.

id

body

string

Identifier of this VNFC CP instance and the associated array entry.

cpdId

body

string

Identifier of the VDU CPD, cpdId, in the VNFD.

vnfExtCpId (Optional)

body

string

When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.

cpProtocolInfo (Optional)

body

array

Network protocol information for this CP.

layerProtocol

body

string

The identifier of layer(s) and protocol(s) associated to the network address information.

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address, if assigned.

ipAddresses (Optional)

body

array

Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

addresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

isDynamic (Optional)

body

boolean

Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

vnfLinkPortId (Optional)

body

string

Identifier of the “vnfLinkPorts” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port.

vnfVirtualLinkResourceInfo (Optional)

body

array

Information about the virtualised network resources used by the VLs of the VNF instance.

id

body

string

Identifier of this VnfVirtualLinkResourceInfo instance.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfLinkPorts (Optional)

body

array

Links ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised network resource realizing this link port.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port.

When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port.

Shall be present when the link port is used for external connectivity by the VNF.

May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance.

The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance.

virtualStorageResourceInfo (Optional)

body

array

Information about the virtualised storage resources used as storage for the VNF instance.

id

body

string

Identifier of this VirtualStorageResourceInfo instance.

virtualStorageDescId

body

string

Identifier of the VirtualStorageDesc in the VNFD.

storageResource

body

object

Reference to the VirtualStorage resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfcInfo

body

string

Information about the VNFC instances.

id

body

string

Identifier of the VNFC instance.

vduId

body

string

Reference to the applicable VDU information element in the VNFD.

vnfcState

body

string

State of the VNFC instance. Permitted values:

STARTED: The VNFC instance is up and running.

STOPPED: The VNFC instance has been shut down.

_links

body

object

Links to resources related to this resource.

Response Example

{
  "id": "27d7c019-39d1-4203-93b2-fe3776bbea74",
  "instantiatedVnfInfo": {
    "additionalParams": {
      "lcm-operation-user-data": "./UserData/lcm_user_data.py",
      "lcm-operation-user-data-class": "SampleUserData"
    },
    "extCpInfo": [
      {
        "associatedVnfcCpId": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
        "cpProtocolInfo": [
          {
            "ipOverEthernet": {
              "ipAddresses": [
                {
                  "addresses": [],
                  "isDynamic": true,
                  "subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
                  "type": "IPV4"
                }
              ],
              "macAddress": null
            },
            "layerProtocol": "IP_OVER_ETHERNET"
          }
        ],
        "cpdId": "CP1",
        "extLinkPortId": null,
        "id": "491bc7a8-4eb8-43c3-be96-d69f5a3262ff"
      }
    ],
    "extVirtualLinkInfo": [
      {
        "id": "net0",
        "resourceHandle": {
          "resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
          "vimConnectionId": null,
          "vimLevelResourceType": null
        }
      }
    ],
    "flavourId": "simple",
    "vnfState": "STARTED",
    "vnfVirtualLinkResourceInfo": [
      {
        "id": "cb63f573-472e-425e-a4c8-c6e47169fd74",
        "networkResource": {
          "resourceId": "",
          "vimConnectionId": null,
          "vimLevelResourceType": null
        },
        "vnfLinkPorts": [
          {
            "cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
            "id": "fa7dbb85-1f97-4794-9811-699126ab93f2",
            "resourceHandle": {
              "resourceId": "65cdb3c3-35bb-4f91-8ac5-b165e22381c8",
              "vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
              "vimLevelResourceType": "OS::Neutron::Port"
            }
          }
        ],
        "vnfVirtualLinkDescId": "internalVL1"
      },
      {
        "id": "01cf48a2-bd32-4a81-a0ed-768e4f8ff0fa",
        "networkResource": {
          "resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
          "vimConnectionId": null,
          "vimLevelResourceType": "OS::Neutron::Net"
        },
        "vnfLinkPorts": [
          {
            "cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
            "id": "7188b765-285c-43a8-a889-07a32afb3530",
            "resourceHandle": {
              "resourceId": "",
              "vimConnectionId": null,
              "vimLevelResourceType": null
            }
          }
        ],
        "vnfVirtualLinkDescId": "net0"
      }
    ],
    "vnfcInfo": [
      {
        "id": "3771810f-f5b0-493f-9e3c-60719e227be6",
        "vduId": "VDU1",
        "vnfcState": "STARTED"
      }
    ],
    "vnfcResourceInfo": [
      {
        "computeResource": {
          "resourceId": "ebd3eeac-b1c6-4375-a625-d743e9892b6e",
          "vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
          "vimLevelResourceType": "OS::Nova::Server"
        },
        "id": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
        "storageResourceIds": [],
        "vduId": "VDU1",
        "vnfcCpInfo": [
          {
            "cpProtocolInfo": [
              {
                "ipOverEthernet": {
                  "ipAddresses": [
                    {
                      "addresses": [],
                      "isDynamic": true,
                      "subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
                      "type": "IPV4"
                    }
                  ],
                  "macAddress": null
                },
                "layerProtocol": "IP_OVER_ETHERNET"
              }
            ],
            "cpdId": "CP1",
            "id": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
            "vnfExtCpId": null,
            "vnfLinkPortId": "7188b765-285c-43a8-a889-07a32afb3530"
          }
        ]
      }
    ]
  },
  "instantiationState": "INSTANTIATED",
  "metadata": {
    "tenant": "nfv"
  },
  "vimConnectionInfo": [
    {
      "accessInfo": {},
      "extra": {},
      "id": "e24f9796-a8e9-4cb0-85ce-5920dcddafa1",
      "interfaceInfo": {},
      "vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
      "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2"
    },
    {
      "accessInfo": {},
      "extra": {},
      "id": "32596836-7ac3-4213-9ae3-3469d7e09294",
      "interfaceInfo": {},
      "vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
      "vimType": "openstack"
    }
  ],
  "vnfInstanceName": "vnf-27d7c019-39d1-4203-93b2-fe3776bbea74",
  "vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
  "vnfProductName": "Sample VNF",
  "vnfProvider": "Company",
  "vnfSoftwareVersion": "1.0",
  "vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
  "vnfdVersion": "1.0",
  "_links": {
    "changeExtConn": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/change_ext_conn"
    },
    "heal": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/heal"
    },
    "scale": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/scale"
    },
    "self": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74"
    },
    "terminate": {
      "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/terminate"
    }
  }
}
GET
/vnflcm/v1/vnf_instances

List VNF Instance

The GET method queries information about multiple VNF instances. In Victoria release, added attribute-based filtering expression (for VnfInstance) that follows clause 5.2 of ETSI GS NFV SOL13.

If a response includes a LINK HTTP header (see IETF RFC 8288 [1]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

Response Parameters

Name

In

Type

Description

id

path

string

Identifier of the VNF instance.

vnfInstanceName (Optional)

body

string

Name of the VNF instance.

vnfInstanceDescription (Optional)

body

string

Human-readable description of the VNF instance.

vnfdId

body

string

Identifier of the VNFD on which the VNF instance is based.

vnfProvider

body

string

Provider of the VNF and the VNFD. The value is copied from the VNFD.

vnfProductName

body

string

Name to identify the VNF Product. The value is copied from the VNFD.

vnfSoftwareVersion

body

string

Software version of the VNF. The value is copied from the VNFD.

vnfdVersion

body

string

Identifies the version of the VNFD. The value is copied from the VNFD.

vnfPkgId

body

string

Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method.

vimConnectionInfo (Optional)

body

array

Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.

This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

instantiationState

body

string

The instantiation state of the VNF instance.

NOT_INSTANTIATED: The VNF instance is terminated or not instantiated.

INSTANTIATED: The VNF instance is instantiated.

instantiatedVnfInfo (Optional)

body

object

Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.

flavourId

body

string

Identifier of the VNF deployment flavour applied to this VNF instance.

vnfState (Optional)

body

string

State of the VNF instance.

scaleStatus (Optional)

body

array

Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled with reference to that aspect. This attribute shall be present if the VNF supports scaling.

aspectId

body

string

Identifier of the scaling aspect.

scaleLevel

body

string

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be less than or equal to maxScaleLevel as described in the VNFD.

extCpInfo

body

array

Information about the external CPs exposed by the VNF instance.

id

body

string

Identifier of the external CP instance and the related information instance.

cpdId

body

string

Identifier of the external CPD, VnfExtCpd, in the VNFD. An identifier that is unique for the respective type within a VNF instance, but that need not be globally unique. Representation: string of variable length.

cpProtocolInfo

body

array

Network protocol information for this CP.

layerProtocol

body

string

The identifier of layer(s) and protocol(s) associated to the network address information.

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address, if assigned.

ipAddresses (Optional)

body

array

Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

addresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

isDynamic (Optional)

body

boolean

Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

extLinkPortId (Optional)

body

string

Identifier of the “extLinkPortInfo” structure inside the “extVirtualLinkInfo” structure. Shall be present if the CP is associated to a link port.

metadata (Optional)

body

string

Metadata about this external CP.

associatedVnfcCpId (Optional)

body

string

Identifier of the “vnfcCpInfo” structure in “VnfcResourceInfo” structure that represents the VNFC CP which is exposed by this external CP instance. Shall be present in case this CP instance maps to a VNFC CP.

extVirtualLinkInfo (Optional)

body

array

Information about the external VLs the VNF instance is connected to.

id

body

string

Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

extLinkPorts (Optional)

body

array

Link ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an “extCpInfo” item in the VnfInstance.

extManagedVirtualLinkInfo (Optional)

body

array

Information about the externally-managed internal VLs of the VNF instance.

id

body

string

Identifier of the externally-managed internal VL and the related externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfLinkPorts (Optional)

body

array

Links ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised network resource realizing this link port.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port.

When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port.

Shall be present when the link port is used for external connectivity by the VNF.

May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance.

The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance.

vnfcResourceInfo (Optional)

body

array

Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.

id

body

string

Identifier of this VnfcResourceInfo instance.

vduId

body

string

Reference to the applicable VDU in the VNFD.

computeResource

body

object

Reference to the VirtualCompute resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

storageResourceIds (Optional)

body

array

References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.

vnfcCpInfo (Optional)

body

array

CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.

id

body

string

Identifier of this VNFC CP instance and the associated array entry.

cpdId

body

string

Identifier of the VDU CPD, cpdId, in the VNFD.

vnfExtCpId (Optional)

body

string

When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.

cpProtocolInfo (Optional)

body

array

Network protocol information for this CP.

layerProtocol

body

string

The identifier of layer(s) and protocol(s) associated to the network address information.

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address, if assigned.

ipAddresses (Optional)

body

array

Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

addresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

isDynamic (Optional)

body

boolean

Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

vnfLinkPortId (Optional)

body

string

Identifier of the “vnfLinkPorts” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port.

vnfVirtualLinkResourceInfo (Optional)

body

array

Information about the virtualised network resources used by the VLs of the VNF instance.

id

body

string

Identifier of this VnfVirtualLinkResourceInfo instance.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfLinkPorts (Optional)

body

array

Links ports of this VL.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised network resource realizing this link port.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port.

When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port.

Shall be present when the link port is used for external connectivity by the VNF.

May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance.

The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance.

virtualStorageResourceInfo (Optional)

body

array

Information about the virtualised storage resources used as storage for the VNF instance.

id

body

string

Identifier of this VirtualStorageResourceInfo instance.

virtualStorageDescId

body

string

Identifier of the VirtualStorageDesc in the VNFD.

storageResource

body

object

Reference to the VirtualStorage resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vnfcInfo

body

string

Information about the VNFC instances.

id

body

string

Identifier of the VNFC instance.

vduId

body

string

Reference to the applicable VDU information element in the VNFD.

vnfcState

body

string

State of the VNFC instance. Permitted values:

STARTED: The VNFC instance is up and running.

STOPPED: The VNFC instance has been shut down.

_links

body

object

Links to resources related to this resource.

Response Example

[
  {
    "id": "27d7c019-39d1-4203-93b2-fe3776bbea74",
    "instantiatedVnfInfo": {
      "additionalParams": {
        "lcm-operation-user-data": "./UserData/lcm_user_data.py",
        "lcm-operation-user-data-class": "SampleUserData"
      },
      "extCpInfo": [
        {
          "associatedVnfcCpId": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
          "cpProtocolInfo": [
            {
              "ipOverEthernet": {
                "ipAddresses": [
                  {
                    "addresses": [],
                    "isDynamic": true,
                    "subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
                    "type": "IPV4"
                  }
                ],
                "macAddress": null
              },
              "layerProtocol": "IP_OVER_ETHERNET"
            }
          ],
          "cpdId": "CP1",
          "extLinkPortId": null,
          "id": "491bc7a8-4eb8-43c3-be96-d69f5a3262ff"
        }
      ],
      "extVirtualLinkInfo": [
        {
          "id": "net0",
          "resourceHandle": {
            "resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
            "vimConnectionId": null,
            "vimLevelResourceType": null
          }
        }
      ],
      "flavourId": "simple",
      "vnfState": "STARTED",
      "vnfVirtualLinkResourceInfo": [
        {
          "id": "cb63f573-472e-425e-a4c8-c6e47169fd74",
          "networkResource": {
            "resourceId": "",
            "vimConnectionId": null,
            "vimLevelResourceType": null
          },
          "vnfLinkPorts": [
            {
              "cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
              "id": "fa7dbb85-1f97-4794-9811-699126ab93f2",
              "resourceHandle": {
                "resourceId": "65cdb3c3-35bb-4f91-8ac5-b165e22381c8",
                "vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
                "vimLevelResourceType": "OS::Neutron::Port"
              }
            }
          ],
          "vnfVirtualLinkDescId": "internalVL1"
        },
        {
          "id": "01cf48a2-bd32-4a81-a0ed-768e4f8ff0fa",
          "networkResource": {
            "resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
            "vimConnectionId": null,
            "vimLevelResourceType": "OS::Neutron::Net"
          },
          "vnfLinkPorts": [
            {
              "cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
              "id": "7188b765-285c-43a8-a889-07a32afb3530",
              "resourceHandle": {
                "resourceId": "",
                "vimConnectionId": null,
                "vimLevelResourceType": null
              }
            }
          ],
          "vnfVirtualLinkDescId": "net0"
        }
      ],
      "vnfcInfo": [
        {
          "id": "3771810f-f5b0-493f-9e3c-60719e227be6",
          "vduId": "VDU1",
          "vnfcState": "STARTED"
        }
      ],
      "vnfcResourceInfo": [
        {
          "computeResource": {
            "resourceId": "ebd3eeac-b1c6-4375-a625-d743e9892b6e",
            "vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
            "vimLevelResourceType": "OS::Nova::Server"
          },
          "id": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
          "storageResourceIds": [],
          "vduId": "VDU1",
          "vnfcCpInfo": [
            {
              "cpProtocolInfo": [
                {
                  "ipOverEthernet": {
                    "ipAddresses": [
                      {
                        "addresses": [],
                        "isDynamic": true,
                        "subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
                        "type": "IPV4"
                      }
                    ],
                    "macAddress": null
                  },
                  "layerProtocol": "IP_OVER_ETHERNET"
                }
              ],
              "cpdId": "CP1",
              "id": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
              "vnfExtCpId": null,
              "vnfLinkPortId": "7188b765-285c-43a8-a889-07a32afb3530"
            }
          ]
        }
      ]
    },
    "instantiationState": "INSTANTIATED",
    "metadata": {
      "tenant": "nfv"
    },
    "vimConnectionInfo": [
      {
        "accessInfo": {},
        "extra": {},
        "id": "e24f9796-a8e9-4cb0-85ce-5920dcddafa1",
        "interfaceInfo": {},
        "vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
        "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2"
      },
      {
        "accessInfo": {},
        "extra": {},
        "id": "32596836-7ac3-4213-9ae3-3469d7e09294",
        "interfaceInfo": {},
        "vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
        "vimType": "openstack"
      }
    ],
    "vnfInstanceName": "vnf-27d7c019-39d1-4203-93b2-fe3776bbea74",
    "vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
    "vnfProductName": "Sample VNF",
    "vnfProvider": "Company",
    "vnfSoftwareVersion": "1.0",
    "vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
    "vnfdVersion": "1.0",
    "_links": {
      "changeExtConn": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/change_ext_conn"
      },
      "heal": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/heal"
      },
      "scale": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/scale"
      },
      "self": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74"
      },
      "terminate": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/terminate"
      }
    }
  },
  {
    "id": "cda383ea-8341-4731-93c7-19db4b5ce1b5",
    "instantiationState": "NOT_INSTANTIATED",
    "vnfInstanceDescription": "Instance description",
    "vnfInstanceName": "Instance name",
    "vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
    "vnfProductName": "Sample VNF",
    "vnfProvider": "Company",
    "vnfSoftwareVersion": "1.0",
    "vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
    "vnfdVersion": "1.0",
    "_links": {
      "instantiate": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5/instantiate"
      },
      "self": {
        "href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5"
      }
    }
  }
]
POST
/vnflcm/v1/vnf_instances/{vnfInstanceId}/scale

Scale a VNF instance

This task resource represents the “Scale VNF” operation. The client can use this resource to request scaling a VNF instance.

The POST method requests to scale a VNF instance.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

type

body

string

Indicates the type of the scale operation requested. Permitted values:

SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity.

SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity.

aspectId

body

string

Identifier of the scaling aspect.

numberOfSteps (Optional)

body

int

Number of scaling steps to be executed as part of this Scale VNF operation. It shall be a positive number and the default value shall be 1.

additionalParams (Optional)

body

string

Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD as part of “ScaleVnfOpConfig”.

Request Example

{
  "type": "SCALE_OUT",
  "aspectId": "scale_aspect",
  "numberOfSteps": "1"
}
PATCH
/vnflcm/v1/vnf_instances/{vnfInstanceId}

Modify a VNF instance

This method modifies an “Individual VNF instance” resource.

Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource.

According to the ETSI NFV SOL document, there is no API request/response specification for Etag yet, and transactions using Etag are not defined by standardization. Therefore, the Victoria release does not support Error Code: 412 Precondition Failed. Once a standard specification for this is established, it will be installed on the tacker.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

vnfInstanceName (Optional)

body

string

New value of the “vnfInstanceName” attribute in “VnfInstance”, or “null” to remove the attribute.

vnfInstanceDescription (Optional)

body

string

New value of the “vnfInstanceDescription” attribute in “VnfInstance”, or “null” to remove the attribute.

vnfdId (Optional)

body

string

New value of the “vnfdId” attribute in “VnfInstance”. The value “null” is not permitted.

vnfPkgId (Optional)

body

string

New value of the “vnfPkgId” attribute in “VnfInstance”. The value “null” is not permitted.

metadata (Optional)

body

string

Modifications of the “metadata” attribute in “VnfInstance”. If present, these modifications shall be applied according to the rules of JSON Merge PATCH

vimConnectionInfo (Optional)

body

string

New content of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”, as defined below this table.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

username

body

string

The username to use for access.

region

body

string

The OpenStack region to use for the VIM connection.

password

body

string

The password to use for access.

tenant

body

string

The OpenStack tenant to use for the VIM connection.

Request Example

{
  "vnfdId": "093c38b5-a731-4593-a578-d12e42596b3e"
}
POST
/vnflcm/v1/vnf_instances/{vnfInstanceId}/change_ext_conn

Change External VNF Connectivity

The POST method changes the external connectivity of a VNF instance.

This task resource represents the “Change external VNF connectivity” operation. The client can use this resource to change the external connectivity of a VNF instance.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfInstanceId

path

string

Identifier of the VNF instance.

extVirtualLinks (Optional)

body

array

Information about external VLs to connect the VNF to.

id

body

string

The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

The identifier of the resource in the scope of the VIM or the resource provider.

extCps

body

array

External CPs of the VNF to be connected to this external VL.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig (Optional)

body

array

List of instance data that need to be configured on the CP instances created from the respective CPD.

cpInstanceId (Optional)

body

string

Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied.

Shall be present if this instance has already been created.

linkPortId (Optional)

body

string

Identifier of a pre-configured link port to which the external CP will be associated. See note.

cpProtocolData (Optional)

body

array

Parameters for configuring the network protocols on the link port that connects the CP to a VL.

layerProtocol

body

string

Identifier of layer(s) and protocol(s).

Permitted values: IP_OVER_ETHERNET

ipOverEthernet (Optional)

body

object

Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise.

macAddress (Optional)

body

string

MAC address. If this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present.

ipAddresses (Optional)

body

array

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.

type

body

string

The type of the IP addresses. Permitted values: IPV4, IPV6.

fixedAddresses (Optional)

body

array

Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

numDynamicAddresses (Optional)

body

int

Number of set the dynamic address. Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present.

subnetId (Optional)

body

string

Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.

extLinkPorts (Optional)

body

array

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.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the virtualised resource realizing this link port.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

vimConnectionInfo (Optional)

body

array

Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.

This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

username

body

string

The username to use for access.

password

body

string

The password to use for access.

region

body

string

The OpenStack region to use for the VIM connection.

tenant

body

string

The OpenStack tenant to use for the VIM connection.

additionalParams

body

string

Additional input parameters for the flavour change process, specific to the VNF being modified, as declared in the VNFD as part of “ChangeVnfFlavourOpConfig”.

Request Example

{
  "extVirtualLinks": [
    {
      "id": "ext-vl-uuid-VL1",
      "resourceId": "neutron-network-uuid_VL1",
      "extCps": [
        {
          "cpdId": "CP1",
          "cpConfig": [
            {
              "cpProtocolData": [
                {
                  "layerProtocol": "IP_OVER_ETHERNET",
                  "ipOverEthernet": {
                    "ipAddresses": [
                      {
                        "type": "IPV4",
                        "numDynamicAddresses": 1,
                        "subnetId": "subnet-uuid"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "cpdId": "CP2",
          "cpConfig": [
            {
              "cpProtocolData": [
                {
                  "layerProtocol": "IP_OVER_ETHERNET",
                  "ipOverEthernet": {
                    "ipAddresses": [
                      {
                        "type": "IPV4",
                        "fixedAddresses": [
                          "10.0.0.1"
                        ],
                        "subnetId": "subnet-uuid"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "vimConnectionInfo": [
    {
      "id": "vim-uuid",
      "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2",
      "vimConnectionId": "dummy-vimid",
      "interfaceInfo": {
        "key1": "value1",
        "key2": "value2"
      },
      "accessInfo": {
        "key1": "value1",
        "key2": "value2"
      }
    }
  ]
}
GET
/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}

Show VNF LCM operation occurrence

The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an “Individual VNF LCM operation occurrence” resource.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

Request Parameters

Name

In

Type

Description

vnfLcmOpOccId

path

string

Identifier of the VNF lifecycle management operation occurrence.

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this VNF lifecycle management operation occurrence.

operationState

body

string

The state of the LCM operation.

stateEnteredTime

body

string

Date-time when the current state has been entered.

startTime

body

string

Date-time of the start of the operation.

vnfInstanceId

body

string

Identifier of the VNF instance to which the operation applies.

grantId (Optional)

body

string

Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists.

operation

body

string

Type of the actual LCM operation represented by this VNF LCM operation occurrence.

isAutomaticInvocation

body

boolean

Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise.

operationParams (Optional)

body

string

Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply:

INSTANTIATE: InstantiateVnfRequest

SCALE: ScaleVnfRequest

HEAL: HealVnfRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.

isCancelPending

body

boolean

If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.

error (Optional)

body

object

If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector.

title (Optional)

body

string

A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”.

status

body

string

The HTTP status code for this occurrence of the problem.

detail

body

string

A human-readable explanation specific to this occurrence of the problem.

resourceChanges (Optional)

body

object

This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.

affectedVnfcs (Optional)

body

array

Information about VNFC instances that were affected during the lifecycle operation.

id

body

string

Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type.

vduId

body

string

Identifier of the related VDU in the VNFD.

changeType

body

string

Signals the type of change Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.

computeResource

body

object

Reference to the VirtualCompute resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVnfcCpIds (Optional)

body

array

Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.

addedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.

removedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.

affectedVirtualLinks (Optional)

body

array

Information about VL instances that were affected during the lifecycle operation.

id

body

string

Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

LINK_PORT_ADDED

LINK_PORT_REMOVED

For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVirtualStorages (Optional)

body

array

Information about virtualised storage instances that were affected during the lifecycle operation.

id

body

string

Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type.

virtualStorageDescId

body

string

Identifier of the related VirtualStorage descriptor in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.

storageResource

body

object

Reference to the VirtualStorage resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

changedInfo (Optional)

body

object

Information about the changed VNF instance information, including VNF configurable properties, if applicable.

vnfInstanceName (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”.

vnfInstanceDescription (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”.

metadata (Optional)

body

string

If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”.

vimConnectionInfo (Optional)

body

array

If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

username

body

string

The username to use for access.

region

body

string

The OpenStack region to use for the VIM connection.

password

body

string

The password to use for access.

tenant

body

string

The OpenStack tenant to use for the VIM connection.

vnfPkgId (Optional)

body

string

If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”.

vnfdId (Optional)

body

string

If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”.

vnfProvider (Optional)

body

string

If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”.

vnfProductName (Optional)

body

string

If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”.

vnfSotwareVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”.

vnfdVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”.

changedExtConnectivity (Optional)

body

object

Information about changed external connectivity, if applicable

id (Optional)

body

string

Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

extLinkPorts (Optional)

body

array

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.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied.

Shall be present if this instance has already been created.

_links

body

object

Links to resources related to this resource.

Response Example

{
  "id": "d85c6ae4-af16-42c0-96fc-82f7c014c468",
  "operationState": "COMPLETED",
  "stateEnteredTime": "2020-08-02T06:50:50.883373",
  "startTime": "2020-08-02T06:41:34.883483",
  "vnfInstanceId": "0b7b95a9-21d5-4ac4-80c8-9ae9f7323787",
  "grantId": "3432cebe-db0a-11e8-9023-005056317abe",
  "operation": "INSTANTIATE",
  "isAutomaticInvocation": false,
  "operationParams": "{
    "flavourId": "default",
    "instantiationLevelId": "vnf-min",
    }"
  "isCancelPending": false,
  "resourceChanges": {
    "affectedVnfcs": [
      {
        "id": "36e24439-829c-4803-a413-385cd658d544",
        "vduId": "VDU",
        "changeType": "ADDED",
        "computeResource": {
            "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
            "resourceId": "e0510ba9-3a53-4fcf-9dcc-58dea5c048b0",
            "vimLevelResourceType": "OS::Nova::Server",
        },
        "affectedVnfcCpIds": [
          "VDU1_CP0",
          "VDU1_CP1"
        ],
        "addedStorageResourceIds": [
          "81ae44f6-b65b-47aa-a578-e53b7a50a574"
        ]
      }
    ],
    "affectedVirtualLinks": [
      {
        "id": "9836f7f2-5af4-4df5-a89f-933479448ef7",
        "vnfVirtualLinkDescId": "internalNW",
        "changeType": "ADDED",
        "networkResource": {
            "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
            "resourceId": "400692e5-b2db-478e-acb1-b77a92635ec6",
            "vimLevelResourceType": "OS::Neutron::Net"
        }
      }
    ],
    "affectedVirtualStorages": [
      {
        "id": "81ae44f6-b65b-47aa-a578-e53b7a50a574",
        "virtualStorageDescId": "Storage",
        "changeType": "ADDED",
        "storageResource": {
            "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
            "resourceId": "842f527e-0092-4f11-aede-f981ba4fd884",
            "vimLevelResourceType": "OS::Cinder::Volume"
        }
      }
    ]
  },
  "_links": {
    "self": {
      "href": "http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468"
    },
    "vnfInstance": {
      "href": "http://sample1.com/vnflcm/v1/vnf_instances/0b7b95a9-21d5-4ac4-80c8-9ae9f7323787"
    },
    "grant": {
      "href": "http://sample1.com/grant/v1/grants/3432cebe-db0a-11e8-9023-005056317abe"
    },
    "retry":{
      "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/retry"
    },
    "rollback":{
      "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/rollback"
    },
    "fail":{
      "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/fail"
    }
  }
}
GET
/vnflcm/v1/vnf_lcm_op_occs

List VNF LCM operation occurrence

The API consumer can use this method to query status information about multiple VNF lifecycle management operation occurrences.

If a response includes a LINK HTTP header (see IETF RFC 8288 [2]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

403 - Forbidden

Policy does not allow current user to do this operation.

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this VNF lifecycle management operation occurrence.

operationState

body

string

The state of the LCM operation.

stateEnteredTime

body

string

Date-time when the current state has been entered.

startTime

body

string

Date-time of the start of the operation.

vnfInstanceId

body

string

Identifier of the VNF instance to which the operation applies.

grantId (Optional)

body

string

Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists.

operation

body

string

Type of the actual LCM operation represented by this VNF LCM operation occurrence.

isAutomaticInvocation

body

boolean

Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise.

operationParams (Optional)

body

string

Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply:

INSTANTIATE: InstantiateVnfRequest

SCALE: ScaleVnfRequest

HEAL: HealVnfRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.

isCancelPending

body

boolean

If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.

error (Optional)

body

object

If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector.

title (Optional)

body

string

A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”.

status

body

string

The HTTP status code for this occurrence of the problem.

detail

body

string

A human-readable explanation specific to this occurrence of the problem.

resourceChanges (Optional)

body

object

This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.

affectedVnfcs (Optional)

body

array

Information about VNFC instances that were affected during the lifecycle operation.

id

body

string

Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type.

vduId

body

string

Identifier of the related VDU in the VNFD.

changeType

body

string

Signals the type of change Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.

computeResource

body

object

Reference to the VirtualCompute resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVnfcCpIds (Optional)

body

array

Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.

addedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.

removedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.

affectedVirtualLinks (Optional)

body

array

Information about VL instances that were affected during the lifecycle operation.

id

body

string

Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

LINK_PORT_ADDED

LINK_PORT_REMOVED

For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVirtualStorages (Optional)

body

array

Information about virtualised storage instances that were affected during the lifecycle operation.

id

body

string

Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type.

virtualStorageDescId

body

string

Identifier of the related VirtualStorage descriptor in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.

storageResource

body

object

Reference to the VirtualStorage resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

changedInfo (Optional)

body

object

Information about the changed VNF instance information, including VNF configurable properties, if applicable.

vnfInstanceName (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”.

vnfInstanceDescription (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”.

metadata (Optional)

body

string

If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”.

vimConnectionInfo (Optional)

body

array

If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

username

body

string

The username to use for access.

region

body

string

The OpenStack region to use for the VIM connection.

password

body

string

The password to use for access.

tenant

body

string

The OpenStack tenant to use for the VIM connection.

vnfPkgId (Optional)

body

string

If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”.

vnfdId (Optional)

body

string

If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”.

vnfProvider (Optional)

body

string

If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”.

vnfProductName (Optional)

body

string

If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”.

vnfSotwareVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”.

vnfdVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”.

_links

body

object

Links to resources related to this resource.

Response Example

[
  {
    "id": "d85c6ae4-af16-42c0-96fc-82f7c014c468",
    "operationState": "COMPLETED",
    "stateEnteredTime": "2020-08-02T06:50:50.883373",
    "startTime": "2020-08-02T06:41:34.883483",
    "vnfInstanceId": "0b7b95a9-21d5-4ac4-80c8-9ae9f7323787",
    "grantId": "3432cebe-db0a-11e8-9023-005056317abe",
    "operation": "INSTANTIATE",
    "isAutomaticInvocation": false,
    "operationParams": "{
      'flavourId': 'default',
      'instantiationLevelId': 'vnf-min',
    }",
    "isCancelPending": false,
    "resourceChanges": {
      "affectedVnfcs": [
        {
          "id": "36e24439-829c-4803-a413-385cd658d544",
          "vduId": "VDU",
          "changeType": "ADDED",
          "computeResource": {
              "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
              "resourceId": "e0510ba9-3a53-4fcf-9dcc-58dea5c048b0",
              "vimLevelResourceType": "OS::Nova::Server",
          },
          "affectedVnfcCpIds": [
            "VDU1_CP0",
            "VDU1_CP1"
          ],
          "addedStorageResourceIds": [
            "81ae44f6-b65b-47aa-a578-e53b7a50a574"
          ]
        }
      ],
      "affectedVirtualLinks": [
        {
          "id": "9836f7f2-5af4-4df5-a89f-933479448ef7",
          "vnfVirtualLinkDescId": "internalNW",
          "changeType": "ADDED",
          "networkResource": {
              "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
              "resourceId": "400692e5-b2db-478e-acb1-b77a92635ec6",
              "vimLevelResourceType": "OS::Neutron::Net"
          }
        }
      ],
      "affectedVirtualStorages": [
        {
          "id": "81ae44f6-b65b-47aa-a578-e53b7a50a574",
          "virtualStorageDescId": "Storage",
          "changeType": "ADDED",
          "storageResource": {
              "vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
              "resourceId": "842f527e-0092-4f11-aede-f981ba4fd884",
              "vimLevelResourceType": "OS::Cinder::Volume"
          }
        }
      ]
    },
    "_links": {
      "self": {
        "href": "http://sample.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468"
      },
      "vnfInstance": {
        "href": "http://sample.com/vnflcm/v1/vnf_instances/0b7b95a9-21d5-4ac4-80c8-9ae9f7323787"
      },
      "grant":{
        "href":"http://sample.com/grant/v1/grants/3432cebe-db0a-11e8-9023-005056317abe"
      },
      "retry":{
        "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/retry"
      },
      "rollback":{
        "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/rollback"
      },
      "fail":{
        "href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/fail"
      }
    }
  }
]
POST
/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback

Roll back a VNF lifecycle operation

The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related “Individual VNF LCM operation occurrence” resource is in “FAILED_TEMP” state.

In case of success of processing the asynchronous request, the “operationState” attribute in the representation of the parent resource shall be changed to “ROLLING_BACK” and the applicable “start” notification shall be emitted to indicate that rollback of the underlying VNF LCM operation occurrence is attempted.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfLcmOpOccId

path

string

Identifier of the VNF lifecycle management operation occurrence.

POST
/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail

Fail a VNF lifecycle operation

The POST method marks a VNF lifecycle management operation occurrence as “finally failed” if that operation occurrence is in “FAILED_TEMP” state

In case of success, the “operationState” attribute in the representation of the parent resource shall be changed to “FAILED” and the applicable “result” notification shall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence has finally and unrecoverably failed.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfLcmOpOccId

path

string

Identifier of the VNF lifecycle management operation occurrence.

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this VNF lifecycle management operation occurrence.

operationState

body

string

The state of the LCM operation.

stateEnteredTime

body

string

Date-time when the current state has been entered.

startTime

body

string

Date-time of the start of the operation.

vnfInstanceId

body

string

Identifier of the VNF instance to which the operation applies.

grantId (Optional)

body

string

Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists.

operation

body

string

Type of the actual LCM operation represented by this VNF LCM operation occurrence.

isAutomaticInvocation

body

boolean

Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise.

operationParams (Optional)

body

string

Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply:

INSTANTIATE: InstantiateVnfRequest

SCALE: ScaleVnfRequest

HEAL: HealVnfRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.

error (Optional)

body

object

If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector.

title (Optional)

body

string

A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”.

status

body

string

The HTTP status code for this occurrence of the problem.

detail

body

string

A human-readable explanation specific to this occurrence of the problem.

isCancelPending

body

boolean

If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.

_links

body

object

Links to resources related to this resource.

resourceChanges (Optional)

body

object

This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.

affectedVnfcs (Optional)

body

array

Information about VNFC instances that were affected during the lifecycle operation.

id

body

string

Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type.

vduId

body

string

Identifier of the related VDU in the VNFD.

changeType

body

string

Signals the type of change Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.

computeResource

body

object

Reference to the VirtualCompute resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVnfcCpIds (Optional)

body

array

Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.

addedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.

removedStorageResourceIds (Optional)

body

array

References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.

affectedVirtualLinks (Optional)

body

array

Information about VL instances that were affected during the lifecycle operation.

id

body

string

Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type.

vnfVirtualLinkDescId

body

string

Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

LINK_PORT_ADDED

LINK_PORT_REMOVED

For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.

networkResource

body

object

Reference to the VirtualNetwork resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

affectedVirtualStorages (Optional)

body

array

Information about virtualised storage instances that were affected during the lifecycle operation.

id

body

string

Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type.

virtualStorageDescId

body

string

Identifier of the related VirtualStorage descriptor in the VNFD.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

MODIFIED

TEMPORARY

For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.

storageResource

body

object

Reference to the VirtualStorage resource.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

changedInfo (Optional)

body

object

Information about the changed VNF instance information, including VNF configurable properties, if applicable.

vnfInstanceName (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”.

vnfInstanceDescription (Optional)

body

string

If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”.

metadata (Optional)

body

string

If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”.

vimConnectionInfo (Optional)

body

array

If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”.

id

body

string

The identifier of the VIM Connection. This identifier is managed by the NFVO.

vimId (Optional)

body

string

The identifier of the VIM instance. This identifier is managed by the NFVO.

Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise.

vimType (Optional)

body

string

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.

The set of permitted values is expected to change over time as new types or versions of VIMs become available.

interfaceInfo (Optional)

body

string

Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. 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.

endpoint

body

string

The url representing the interface endpoint.

accessInfo (Optional)

body

string

Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). 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.

username

body

string

The username to use for access.

region

body

string

The OpenStack region to use for the VIM connection.

password

body

string

The password to use for access.

tenant

body

string

The OpenStack tenant to use for the VIM connection.

vnfPkgId (Optional)

body

string

If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”.

vnfdId (Optional)

body

string

If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”.

vnfProvider (Optional)

body

string

If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”.

vnfProductName (Optional)

body

string

If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”.

vnfSotwareVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”.

vnfdVersion (Optional)

body

string

If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”.

changedExtConnectivity (Optional)

body

object

Information about changed external connectivity, if applicable

id (Optional)

body

string

Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

resourceId

body

string

Identifier of the resource in the scope of the VIM or the resource provider.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

extLinkPorts (Optional)

body

array

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.

id

body

string

Identifier of this link port as provided by the entity that has created the link port.

resourceHandle

body

object

Reference to the resource realizing this VL.

vimConnectionId (Optional)

body

string

Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable.

vimLevelResourceType (Optional)

body

string

Type of the resource in the scope of the VIM or the resource provider. provider.

cpInstanceId (Optional)

body

string

Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied.

Shall be present if this instance has already been created.

Response Example

{
    "operation":"INSTANTIATE",
    "stateEnteredTime":"2021-01-22 13:41:30.869833+00:00",
    "id":"22962087-0494-484f-85e9-ef855e702633",
    "isCancelPending":false,
    "vnfInstanceId":"a9d0fe86-a3d0-4cbf-a117-578ff182fd7e",
    "startTime":"2021-01-22 13:41:03+00:00",
    "isAutomaticInvocation":false,
    "operationState":"FAILED",
    "operationParams":"{\"flavourId\": \"default\", \"instantiationLevelId\": \"n-msc-min\", \"additionalParams\": {\"lcm-operation-user-data\": \"./UserData/lcm_user_data.py\", \"lcm-operation-user-data-class\": \"SampleUserData\", \"sbc_name\": \"sbc\", \"slb_name\": \"slb\", \"image\": \"cirros-0.5.2-x86_64-disk\"}}",
    "error":{
        "status":500,
        "detail":"MANUAL ERROR"
    },
    "_links":{
        "self":{
            "href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633"
        },
        "vnfInstance":{
            "href":"https://sample1.com/vnflcm/v1/vnf_instances/a9d0fe86-a3d0-4cbf-a117-578ff182fd7e"
        },
        "retry":{
            "href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/retry"
        },
        "rollback":{
            "href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/rollback"
        },
        "fail":{
            "href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/fail"
        }
    }
}
POST
/vnflcm/v1/subscriptions

Create a new subscription

The POST method creates a new subscription.

As the result of successfully executing this method, a new “Individual subscription” resource shall have been created. This method shall not trigger any notification.

Creation of two “Individual subscription” resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating an “Individual subscription” resource if another Individual subscription resource with the same filter and callbackUri already exists (in which case it shall return the 201 Created response code), or may decide to not create a duplicate “Individual subscription” resource (in which case it shall return a “303 See Other” response code referencing the existing “Individual subscription” resource with the same filter and callbackUri).

Response Codes

Success

Code

Reason

201 - Created

Resource was created and is ready to use.

Error

Code

Reason

303 - See Other

The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request.

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

Request Parameters

Name

In

Type

Description

filter (Optional)

body

object

Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.

vnfInstanceSubscriptionFilter (Optional)

body

object

Filter criteria to select VNF instances about which to notify.

notificationTypes (Optional)

body

string

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

string

Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise.

operationStates (Optional)

body

string

Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise.

callbackUri

body

string

The URI of the endpoint to send the notification to.

authentication (Optional)

body

object

Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription. This attribute shall only be present if the subscriber requires authorization of notifications.

authType

body

string

Defines the types of Authentication/Authorization which the API consumer is willing to accept when receiving a notification. Permitted values:

BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials.

OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 bearer token, obtained using the client credentials grant type.

TLS_CERT is not supported.

paramsBasic (Optional)

body

object

Parameters for authentication/authorization using BASIC. Shall be present if authType is “BASIC” and the contained information has not been provisioned out of band. Shall be absent otherwise.

userName (Optional)

body

string

Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.

password (Optional)

body

string

Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.

paramsOauth2ClientCredentials (Optional)

body

object

Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is “OAUTH2_CLIENT_CREDENTIALS” and the contained information has not been provisioned out of band. Shall be absent otherwise.

clientId (Optional)

body

string

Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band.

clientPassword (Optional)

body

string

Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band.

tokenEndpoint (Optional)

body

string

The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band.

Request Example

{
  "filter": {
    "notificationTypes": [
      "VnfLcmOperationOccurrenceNotification"
    ],
    "vnfInstanceSubscriptionFilter": {
      "vnfdIds": [],
      "vnfProductsFromProviders": {
        "vnfProvider": "Vnf Provider 1",
        "vnfProducts": [
          {
            "vnfProductName": "Vnf Product 1",
            "versions": [
              {
                  "vnfSoftwareVersion": "v1",
                  "vnfdVersions": ["vnfd.v1.1"]
              }
            ]
          }
        ]
      }
    }
  },
  "callbackUri": "http://sample1.com/notification"
}

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this subscription resource.

filter (Optional)

body

object

Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.

notificationTypes (Optional)

body

string

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

string

Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise.

callbackUri

body

string

The URI of the endpoint to send the notification to.

_links

body

object

Links to resources related to this resource.

Response Example

{
  "id": "76057f8e65ab37fb82d9382dfc3f3c8b",
  "filter": {
    "vnfInstanceSubscriptionFilter": {
      "vnfdIds": [],
      "vnfProductsFromProviders": {
          "vnfProvider": "Vnf Provider 1",
          "vnfProducts": [
            {
              "vnfProductName": "Vnf Product 1",
              "versions": [
                  {
                      "vnfSoftwareVersion": "v1",
                      "vnfdVersions": ["vnfd.v1.1"]
                  }
              ]
            }
          ]
      }
    },
    "notificationTypes": [
      "VnfLcmOperationOccurrenceNotification"
    ]
  },
  "callbackUri": "http://sample1.com/notification",
  "_links": {
    "self": {
      "href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
    }
  }
}
DELETE
/vnflcm/v1/subscriptions/{subscriptionId}

Delete a subscription

The DELETE method terminates an individual subscription.

As the result of successfully executing this method, the “Individual subscription” resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer.

Response Codes

Success

Code

Reason

204 - No Content

The server has fulfilled the request by deleting the resource.

Error

Code

Reason

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

Request Parameters

Name

In

Type

Description

subscriptionId

path

string

Identifier of the subscription.

GET
/vnflcm/v1/subscriptions/{subscriptionId}

Show subscription

The GET method retrieves information about a subscription by reading an “Individual subscription” resource.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

Request Parameters

Name

In

Type

Description

subscriptionId

path

string

Identifier of the subscription.

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this subscription resource.

filter (Optional)

body

object

Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.

vnfInstanceSubscriptionFilter (Optional)

body

object

This type represents subscription filter criteria to match VNF instances.

notificationTypes (Optional)

body

string

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

string

Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise.

operationStates (Optional)

body

string

Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise.

callbackUri

body

string

The URI of the endpoint to send the notification to.

_links

body

object

Links to resources related to this resource.

Response Example

{
  "id": "76057f8e65ab37fb82d9382dfc3f3c8b",
  "filter": {
    "vnfInstanceSubscriptionFilter": {
      "vnfdIds": [],
      "vnfProductsFromProviders": {
        "vnfProvider": "Vnf Provider 1",
        "vnfProducts": [
          {
            "vnfProductName": "Vnf Product 1",
            "versions": [
              {
                "vnfSoftwareVersion": "v1",
                "vnfdVersions": [
                  "vnfd.v1.1"
                ]
              }
            ]
          }
        ]
      }
    },
    "notificationTypes": [
      "VnfLcmOperationOccurrenceNotification",
      "VnfIdentifierCreationNotification",
      "VnfIdentifierDeletionNotification"
    ],
    "operationTypes": [
      "INSTANTIATE",
      "SCALE",
      "TERMINATE",
      "HEAL",
      "CHANGE_EXT_CONN",
      "MODIFY_INFO"
    ],
    "operationStates": [
      "STARTING",
      "PROCESSING",
      "COMPLETED",
      "FAILED_TEMP",
      "FAILED",
      "ROLLING_BACK",
      "ROLLED_BACK"
    ]
  },
  "callbackUri": "http://sample1.com/notification",
  "_links": {
    "self": {
      "href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
    }
  }
}
GET
/vnflcm/v1/subscriptions

List subscription

The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.

If a response includes a LINK HTTP header (see IETF RFC 8288 [3]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.

Response Codes

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

Response Parameters

Name

In

Type

Description

id

body

string

Identifier of this subscription resource.

filter (Optional)

body

object

Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.

vnfInstanceSubscriptionFilter (Optional)

body

object

Filter criteria to select VNF instances about which to notify.

notificationTypes (Optional)

body

string

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

string

Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise.

operationStates (Optional)

body

string

Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise.

callbackUri

body

string

The URI of the endpoint to send the notification to.

_links

body

object

Links to resources related to this resource.

Response Example

[
  {
    "id": "76057f8e65ab37fb82d9382dfc3f3c8b",
    "filter": {
      "notificationTypes": [
        "VnfLcmOperationOccurrenceNotification"
      ]
    },
    "callbackUri": "http://sample1.com/notification",
    "_links": {
      "self": {
        "href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
      }
    }
  },
  {
    "id": "4845ac30eab62a0b0b4edc00fbb930ee",
    "filter": {
      "notificationTypes": [
        "VnfLcmOperationOccurrenceNotification",
        "VnfIdentifierCreationNotification",
        "VnfIdentifierDeletionNotification"
      ],
      "notificationTypes": [
        "SCALE",
        "HEAL"
      ]
    },
    "callbackUri": "http://sample2.com/notification",
    "_links": {
      "self": {
        "href": "https://sample2.com/vnflcm/v1/subscriptions/4845ac30eab62a0b0b4edc00fbb930ee"
      }
    }
  }
]
POST
/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry

Retry

The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related “Individual VNF LCM operation occurrence” resource is in “FAILED_TEMP” state.

In case of success of processing the asynchronous request, the “operationState” attribute in the representation of the parent resource shall be changed to “PROCESSING” and the applicable “start” notification shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds.

Response Codes

Success

Code

Reason

202 - Accepted

Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.

Error

Code

Reason

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This operation conflicted with another operation on this resource.

Request Parameters

Name

In

Type

Description

vnfLcmOpOccId

path

string

Identifier of the VNF lifecycle management operation occurrence.