Virtualized Network Function Lifecycle Management Interface (VNF LCM) v2

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/v2/vnf_instances

Create a new VNF instance resource (v2)

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.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

422 - Unprocessable Entity

The content type of the payload body is supported and the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema).

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

key value pairs

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

Request Example

{
    "vnfInstanceDescription": "test sample1",
    "vnfInstanceName": "sample1",
    "vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf"
}

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.

vnfConfigurableProperties (Optional)

body

key value pairs

If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in “VnfInstance”. Provisions for handling VNF configurable properties during the operation, and needed passed parameter values in case of conflicts.

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.

metadata (Optional)

body

key value pairs

Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts. Modifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure.

extensions (Optional)

body

key value pairs

Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "instantiate": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/instantiate"
        },
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
        }
    },
    "extensions": {},
    "id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
    "instantiationState": "NOT_INSTANTIATED",
    "metadata": {},
    "vnfConfigurableProperties": {},
    "vnfInstanceDescription": "test sample1",
    "vnfInstanceName": "sample1",
    "vnfProductName": "Sample VNF",
    "vnfProvider": "Company",
    "vnfSoftwareVersion": "1.0",
    "vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf",
    "vnfdVersion": "1.0"
}
POST
/vnflcm/v2/vnf_instances/{vnfInstanceId}/instantiate

Instantiate a VNF instance (v2)

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect mode is applicable.

resourceId

body

string

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

vnfLinkPort (Optional)

body

object

Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL on this network resource. If this attribute is not present, the VNFM shall create the link ports on the externally- managed VL.

vnfLinkPortId

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

extManagedMultisiteVirtualLinkId (Optional)

body

string

Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFV-MANO entity that manages the externally managed multi-site VL instance. It shall be present when the present externally- managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g. in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId.

vimConnectionInfo (Optional)

body

map

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.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

localizationLanguage (Optional)

body

string

Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646 [3].

additionalParams (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.

vnfConfigurableProperties (Optional)

body

key value pairs

If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in “VnfInstance”. Provisions for handling VNF configurable properties during the operation, and needed passed parameter values in case of conflicts.

Request Example

{
    "extManagedVirtualLinks": [
        {
            "id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
            "resourceId": "11f8a056-0495-4ca6-8de9-94402604663f",
            "vnfVirtualLinkDescId": "internalVL1"
        }
    ],
    "extVirtualLinks": [
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP1_1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ]
                        }
                    },
                    "cpdId": "VDU1_CP1"
                },
                {
                    "cpConfig": {
                        "VDU2_CP1_1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "fixedAddresses": [
                                                    "10.10.0.101"
                                                ],
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ]
                        }
                    },
                    "cpdId": "VDU2_CP1"
                }
            ],
            "id": "b0b2f836-a275-4374-834e-ed336a563b1e",
            "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
        },
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP2_1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ]
                        }
                    },
                    "cpdId": "VDU1_CP2"
                },
                {
                    "cpConfig": {
                        "VDU2_CP2_1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "fixedAddresses": [
                                                    "10.10.1.101"
                                                ],
                                                "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ]
                        }
                    },
                    "cpdId": "VDU2_CP2"
                }
            ],
            "id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
            "resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
        }
    ],
    "flavourId": "simple",
    "instantiationLevelId": "instantiation_level_1",
    "vimConnectionInfo": {
        "vim1": {
            "accessInfo": {
                "password": "devstack",
                "project": "nfv",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "nfv_user"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        }
    }
}
POST
/vnflcm/v2/vnf_instances/{vnfInstanceId}/terminate

Terminate a VNF instance (v2)

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

enum

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

integer

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.

additionalParams (Optional)

body

key value pairs

Additional parameters passed by the NFVO as input to the termination process, specific to the VNF being terminated, as declared in the VNFD as part of “TerminateVnfOpConfig”.

Request Example

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

Heal a VNF instance (v2)

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

The POST method heals 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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

additionalParams (Optional)

body

key value pairs

Additional parameters passed by the NFVO as input to the healing process, specific to the VNF being healed, as declared in the VNFD as part of “HealVnfOpConfig”.

all (Optional)

body

boolean

Defines whether network resources and storage resources are included in the heal target.

vnfcInstanceId (Optional)

body

array

List of VNFC instances requiring a healing action.

Request Example

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

Delete a VNF instance (v2)

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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/v2/vnf_instances/{vnfInstanceId}

Show VNF instance (v2)

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

vnfConfigurableProperties (Optional)

body

key value pairs

If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in “VnfInstance”. Provisions for handling VNF configurable properties during the operation, and needed passed parameter values in case of conflicts.

vimConnectionInfo (Optional)

body

map

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.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

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

body

string

State of the VNF instance.

scaleStatus (Optional)

body

object

Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled w.r.t. that aspect.

aspectId

body

string

Identifier of the scaling aspect.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

scaleLevel

body

integer

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be ≤ maxScaleLevel as described in the VNFD.

maxScaleLevels (Optional)

body

object

Maximum allowed scale levels of the VNF, one entry per aspect.

aspectId

body

string

Identifier of the scaling aspect.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

scaleLevel

body

integer

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be ≤ 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.

cpConfigId

body

string

Identifier that references the applied “VnfExtCpConfig” entry in the “cpConfig” map of the “currentVnfExtCpData” in the “ExtVirtualLinkInfo” structure.

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 this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

currentVnfExtCpData

body

object

Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

cpInstanceType (Optional)

body

enum

Type of the CP instance that is identified by cpInstanceId.

Shall be present if “cpInstanceId” is present and shall be absent otherwise.

Permitted values:

VNFC_CP: The link port is connected to a VNFC CP.

EXT_CP: The link port is associated to an external CP.

extManagedMultisiteVirtualLinkId (Optional)

body

string

Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFV-MANO entity that manages the externally managed multi-site VL instance. It shall be present when the present externally- managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g. in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId.

monitoringParameters (Optional)

body

array

Active monitoring parameters.

id

body

string

Identifier of the monitoring parameter defined in the VNFD.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

name (Optional)

body

string

Human readable name of the monitoring parameter, as defined in the VNFD.

performanceMetric

body

string

Performance metric that is monitored.

localizationLanguage (Optional)

body

string

Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646 [3].

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

zoneId (Optional)

body

string

The identifier of the resource zone, as managed by the resource management layer (typically, the VIM), where the referenced VirtualCompute resource is placed. Shall be provided if this information is available from the VIM.

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.

vnfLinkPortId (Optional)

body

string

Identifier of the “VnfLinkPortInfo” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise.

metadata (Optional)

body

key value pairs

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

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

cpInstanceType (Optional)

body

enum

Type of the CP instance that is identified by cpInstanceId.

Shall be present if “cpInstanceId” is present and shall be absent otherwise.

Permitted values:

VNFC_CP: The link port is connected to a VNFC CP.

EXT_CP: The link port is associated to an external CP.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

vnfcResourceInfoId

body

string

Identifier of this VnfcResourceInfo instance.

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.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

metadata (Optional)

body

key value pairs

This attribute is not a standard attribute defined by ETSI. Information about the VNF after successful instantiation is stored in this attribute. Used in other lifecycle operations.

metadata (Optional)

body

key value pairs

Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts. Modifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure.

extensions (Optional)

body

key value pairs

Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "changeExtConn": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/change_ext_conn"
        },
        "heal": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/heal"
        },
        "scale": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/scale"
        },
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
        },
        "terminate": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
        }
    },
    "extensions": {},
    "id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
    "instantiatedVnfInfo": {
        "extCpInfo": [
            {
                "associatedVnfcCpId": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
                "cpConfigId": "VDU2_CP2_1",
                "cpProtocolInfo": [
                    {
                        "ipOverEthernet": {
                            "ipAddresses": [
                                {
                                    "addresses": [
                                        "10.10.1.101"
                                    ],
                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                    "type": "IPV4"
                                }
                            ]
                        },
                        "layerProtocol": "IP_OVER_ETHERNET"
                    }
                ],
                "cpdId": "VDU2_CP2",
                "extLinkPortId": "c9008244-6561-49cf-a9a3-6218034e6b02",
                "id": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
            },
            {
                "associatedVnfcCpId": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
                "cpConfigId": "VDU2_CP1_1",
                "cpProtocolInfo": [
                    {
                        "ipOverEthernet": {
                            "ipAddresses": [
                                {
                                    "addresses": [
                                        "10.10.0.101"
                                    ],
                                    "type": "IPV4"
                                }
                            ]
                        },
                        "layerProtocol": "IP_OVER_ETHERNET"
                    }
                ],
                "cpdId": "VDU2_CP1",
                "extLinkPortId": "c19db045-8526-4d2d-8daf-819905f9b3fb",
                "id": "96d97d70-c431-4a78-8072-42a974d525aa"
            },
            {
                "associatedVnfcCpId": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
                "cpConfigId": "VDU1_CP1_1",
                "cpProtocolInfo": [
                    {
                        "ipOverEthernet": {
                            "ipAddresses": [
                                {
                                    "isDynamic": true,
                                    "type": "IPV4"
                                }
                            ]
                        },
                        "layerProtocol": "IP_OVER_ETHERNET"
                    }
                ],
                "cpdId": "VDU1_CP1",
                "extLinkPortId": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
                "id": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
            },
            {
                "associatedVnfcCpId": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
                "cpConfigId": "VDU1_CP2_1",
                "cpProtocolInfo": [
                    {
                        "ipOverEthernet": {
                            "ipAddresses": [
                                {
                                    "isDynamic": true,
                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                    "type": "IPV4"
                                }
                            ]
                        },
                        "layerProtocol": "IP_OVER_ETHERNET"
                    }
                ],
                "cpdId": "VDU1_CP2",
                "extLinkPortId": "f190426f-63a7-42a5-ad12-44c6bc464f13",
                "id": "f8428c7d-2268-40f9-9bea-fa9539d118be"
            }
        ],
        "extManagedVirtualLinkInfo": [
            {
                "id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
                "networkResource": {
                    "resourceId": "11f8a056-0495-4ca6-8de9-94402604663f"
                },
                "vnfLinkPorts": [
                    {
                        "cpInstanceId": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
                        "cpInstanceType": "VNFC_CP",
                        "id": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d",
                        "resourceHandle": {
                            "resourceId": "7fe18c76-85eb-4e90-ba95-df6e6bad2cd6",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    },
                    {
                        "cpInstanceId": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
                        "cpInstanceType": "VNFC_CP",
                        "id": "2950622a-ded8-4160-88dc-2bf0f02529dd",
                        "resourceHandle": {
                            "resourceId": "07dc4096-49c7-478d-986a-fd132efd573a",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    }
                ],
                "vnfVirtualLinkDescId": "internalVL1"
            }
        ],
        "extVirtualLinkInfo": [
            {
                "currentVnfExtCpData": [
                    {
                        "cpConfig": {
                            "VDU1_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP1"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.0.101"
                                                    ],
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP1"
                    }
                ],
                "extLinkPorts": [
                    {
                        "cpInstanceId": "96d97d70-c431-4a78-8072-42a974d525aa",
                        "id": "c19db045-8526-4d2d-8daf-819905f9b3fb",
                        "resourceHandle": {
                            "resourceId": "c1f49f87-37ff-437b-84a0-91a346fdec55",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    },
                    {
                        "cpInstanceId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94",
                        "id": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
                        "resourceHandle": {
                            "resourceId": "88bc7eee-0893-4892-b0d3-d58d1c2293a8",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    }
                ],
                "id": "b0b2f836-a275-4374-834e-ed336a563b1e",
                "resourceHandle": {
                    "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
                }
            },
            {
                "currentVnfExtCpData": [
                    {
                        "cpConfig": {
                            "VDU1_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP2"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.1.101"
                                                    ],
                                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP2"
                    }
                ],
                "extLinkPorts": [
                    {
                        "cpInstanceId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5",
                        "id": "c9008244-6561-49cf-a9a3-6218034e6b02",
                        "resourceHandle": {
                            "resourceId": "3c89dfce-2039-41ad-a60b-6be6488bbca6",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    },
                    {
                        "cpInstanceId": "f8428c7d-2268-40f9-9bea-fa9539d118be",
                        "id": "f190426f-63a7-42a5-ad12-44c6bc464f13",
                        "resourceHandle": {
                            "resourceId": "a0db5863-e420-4191-a2bb-c8536b091bda",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    }
                ],
                "id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
                "resourceHandle": {
                    "resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
                }
            }
        ],
        "flavourId": "simple",
        "maxScaleLevels": [
            {
                "aspectId": "VDU1_scale",
                "scaleLevel": 2
            }
        ],
        "scaleStatus": [
            {
                "aspectId": "VDU1_scale",
                "scaleLevel": 0
            }
        ],
        "virtualStorageResourceInfo": [
            {
                "id": "0357ecab-bdd8-403f-a91b-b80f287b536f",
                "storageResource": {
                    "resourceId": "0ea498c7-a740-4b16-b8fd-93dbd5d8ee7d",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Cinder::Volume"
                },
                "virtualStorageDescId": "VirtualStorage"
            }
        ],
        "vnfState": "STARTED",
        "vnfVirtualLinkResourceInfo": [
            {
                "id": "e651053a-e17e-47e3-9665-6ec028873040",
                "networkResource": {
                    "resourceId": "98d5c67b-c7f8-4293-890c-011184b6574b",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPorts": [
                    {
                        "cpInstanceId": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
                        "cpInstanceType": "VNFC_CP",
                        "id": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51",
                        "resourceHandle": {
                            "resourceId": "42fe1697-30a7-4a79-8547-71de0c43c8b5",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    },
                    {
                        "cpInstanceId": "f495eec3-1420-467c-b126-19abf8396e11",
                        "cpInstanceType": "VNFC_CP",
                        "id": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72",
                        "resourceHandle": {
                            "resourceId": "5bd09199-1409-46b1-9cd4-191e3fb7c9cb",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    }
                ],
                "vnfVirtualLinkDescId": "internalVL2"
            },
            {
                "id": "5efa5ab4-4237-4b41-9e39-7f4565992acc",
                "networkResource": {
                    "resourceId": "be459310-e24d-4430-a0b9-b9ad391f4e5e",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPorts": [
                    {
                        "cpInstanceId": "e8111f5b-a713-4f40-a64d-fab56d038487",
                        "cpInstanceType": "VNFC_CP",
                        "id": "c02a75f8-a809-49c6-b6dc-bbda31928ef0",
                        "resourceHandle": {
                            "resourceId": "86c5a181-4232-4937-ba73-5c494f0d267a",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    },
                    {
                        "cpInstanceId": "16686d29-8491-41f8-8f2c-6d091f83592f",
                        "cpInstanceType": "VNFC_CP",
                        "id": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064",
                        "resourceHandle": {
                            "resourceId": "de311602-f52b-44a7-af11-15b97ca28beb",
                            "vimConnectionId": "vim1",
                            "vimLevelResourceType": "OS::Neutron::Port"
                        }
                    }
                ],
                "vnfVirtualLinkDescId": "internalVL3"
            }
        ],
        "vnfcInfo": [
            {
                "id": "12e3f94b-8177-4621-8476-f9af72dddcaa",
                "vduId": "VDU2",
                "vnfcResourceInfoId": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
                "vnfcState": "STARTED"
            },
            {
                "id": "7ba99664-517a-45bd-b69c-7375018a2e2e",
                "vduId": "VDU1",
                "vnfcResourceInfoId": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
                "vnfcState": "STARTED"
            }
        ],
        "vnfcResourceInfo": [
            {
                "computeResource": {
                    "resourceId": "edda96a2-b4c2-48ca-a06f-31976f9d9653",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
                "vduId": "VDU2",
                "vnfcCpInfo": [
                    {
                        "cpdId": "VDU2_CP1",
                        "id": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
                        "vnfExtCpId": "96d97d70-c431-4a78-8072-42a974d525aa"
                    },
                    {
                        "cpdId": "VDU2_CP2",
                        "id": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
                        "vnfExtCpId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
                    },
                    {
                        "cpdId": "VDU2_CP3",
                        "id": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
                        "vnfLinkPortId": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d"
                    },
                    {
                        "cpdId": "VDU2_CP4",
                        "id": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
                        "vnfLinkPortId": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51"
                    },
                    {
                        "cpdId": "VDU2_CP5",
                        "id": "e8111f5b-a713-4f40-a64d-fab56d038487",
                        "vnfLinkPortId": "c02a75f8-a809-49c6-b6dc-bbda31928ef0"
                    }
                ]
            },
            {
                "computeResource": {
                    "resourceId": "66a84389-8234-4394-929f-68e0ea77fde1",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
                "storageResourceIds": [
                    "0357ecab-bdd8-403f-a91b-b80f287b536f"
                ],
                "vduId": "VDU1",
                "vnfcCpInfo": [
                    {
                        "cpdId": "VDU1_CP1",
                        "id": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
                        "vnfExtCpId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
                    },
                    {
                        "cpdId": "VDU1_CP2",
                        "id": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
                        "vnfExtCpId": "f8428c7d-2268-40f9-9bea-fa9539d118be"
                    },
                    {
                        "cpdId": "VDU1_CP3",
                        "id": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
                        "vnfLinkPortId": "2950622a-ded8-4160-88dc-2bf0f02529dd"
                    },
                    {
                        "cpdId": "VDU1_CP4",
                        "id": "f495eec3-1420-467c-b126-19abf8396e11",
                        "vnfLinkPortId": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72"
                    },
                    {
                        "cpdId": "VDU1_CP5",
                        "id": "16686d29-8491-41f8-8f2c-6d091f83592f",
                        "vnfLinkPortId": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064"
                    }
                ]
            }
        ],
        "metadata": {
            "stack_id": "74350884-fcfd-43f3-a425-2eb007180bc4"
        }
    },
    "instantiationState": "INSTANTIATED",
    "metadata": {},
    "vimConnectionInfo": {
        "vim1": {
            "accessInfo": {
                "project": "nfv",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "nfv_user"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        }
    },
    "vnfConfigurableProperties": {},
    "vnfInstanceDescription": "test sample1",
    "vnfInstanceName": "sample1",
    "vnfProductName": "Sample VNF",
    "vnfProvider": "Company",
    "vnfSoftwareVersion": "1.0",
    "vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf",
    "vnfdVersion": "1.0"
}
GET
/vnflcm/v2/vnf_instances

List VNF instance (v2)

The GET method queries information about multiple VNF instances. It supports attribute-based filtering and attribute selectors defined in ETSI NFV SOL013 v3.4.1. The detail of attribute-based filtering is described in SOL013 v3.4.1 clause 5.2.

An attribute selector allows the API consumer to choose which attributes it wants to be contained in the response. all_fields, fields, exclude_fields and exclude_default can be set as query parameters.

The following attributes shall be excluded from the VnfInstance structure in the response body if this parameter is provided, or none of the parameters “all_fields”, “fields”, “exclude_fields”, “exclude_default” are provided: - vnfConfigurableProperties - vimConnectionInfo - instantiatedVnfInfo - metadata - extensionsby default

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.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

vnfConfigurableProperties (Optional)

body

key value pairs

If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in “VnfInstance”. Provisions for handling VNF configurable properties during the operation, and needed passed parameter values in case of conflicts.

vimConnectionInfo (Optional)

body

map

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.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

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

body

string

State of the VNF instance.

scaleStatus (Optional)

body

object

Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled w.r.t. that aspect.

aspectId

body

string

Identifier of the scaling aspect.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

scaleLevel

body

integer

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be ≤ maxScaleLevel as described in the VNFD.

maxScaleLevels (Optional)

body

object

Maximum allowed scale levels of the VNF, one entry per aspect.

aspectId

body

string

Identifier of the scaling aspect.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

scaleLevel

body

integer

Indicates the scale level. The minimum value shall be 0 and the maximum value shall be ≤ 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.

cpConfigId

body

string

Identifier that references the applied “VnfExtCpConfig” entry in the “cpConfig” map of the “currentVnfExtCpData” in the “ExtVirtualLinkInfo” structure.

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 this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

currentVnfExtCpData

body

object

Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

cpInstanceType (Optional)

body

enum

Type of the CP instance that is identified by cpInstanceId.

Shall be present if “cpInstanceId” is present and shall be absent otherwise.

Permitted values:

VNFC_CP: The link port is connected to a VNFC CP.

EXT_CP: The link port is associated to an external CP.

extManagedMultisiteVirtualLinkId (Optional)

body

string

Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFV-MANO entity that manages the externally managed multi-site VL instance. It shall be present when the present externally- managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g. in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId.

monitoringParameters (Optional)

body

array

Active monitoring parameters.

id

body

string

Identifier of the monitoring parameter defined in the VNFD.

vnfdId (Optional)

body

string

Identifier of the VNFD. Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a “Change current VNF package” operation or due to its final failure).

name (Optional)

body

string

Human readable name of the monitoring parameter, as defined in the VNFD.

performanceMetric

body

string

Performance metric that is monitored.

localizationLanguage (Optional)

body

string

Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646 [3].

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

zoneId (Optional)

body

string

The identifier of the resource zone, as managed by the resource management layer (typically, the VIM), where the referenced VirtualCompute resource is placed. Shall be provided if this information is available from the VIM.

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.

vnfLinkPortId (Optional)

body

string

Identifier of the “VnfLinkPortInfo” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise.

metadata (Optional)

body

key value pairs

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

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

cpInstanceType (Optional)

body

enum

Type of the CP instance that is identified by cpInstanceId.

Shall be present if “cpInstanceId” is present and shall be absent otherwise.

Permitted values:

VNFC_CP: The link port is connected to a VNFC CP.

EXT_CP: The link port is associated to an external CP.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

vnfcResourceInfoId

body

string

Identifier of this VnfcResourceInfo instance.

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.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

metadata (Optional)

body

key value pairs

This attribute is not a standard attribute defined by ETSI. Information about the VNF after successful instantiation is stored in this attribute. Used in other lifecycle operations.

metadata (Optional)

body

key value pairs

Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts. Modifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure.

extensions (Optional)

body

key value pairs

Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.

_links

body

object

Links to resources related to this resource.

Response Example

[
    {
        "_links": {
            "changeExtConn": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/change_ext_conn"
            },
            "heal": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/heal"
            },
            "scale": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/scale"
            },
            "self": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
            },
            "terminate": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
            }
        },
        "extensions": {},
        "id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
        "instantiatedVnfInfo": {
            "extCpInfo": [
                {
                    "associatedVnfcCpId": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
                    "cpConfigId": "VDU2_CP2_1",
                    "cpProtocolInfo": [
                        {
                            "ipOverEthernet": {
                                "ipAddresses": [
                                    {
                                        "addresses": [
                                            "10.10.1.101"
                                        ],
                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                        "type": "IPV4"
                                    }
                                ]
                            },
                            "layerProtocol": "IP_OVER_ETHERNET"
                        }
                    ],
                    "cpdId": "VDU2_CP2",
                    "extLinkPortId": "c9008244-6561-49cf-a9a3-6218034e6b02",
                    "id": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
                },
                {
                    "associatedVnfcCpId": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
                    "cpConfigId": "VDU2_CP1_1",
                    "cpProtocolInfo": [
                        {
                            "ipOverEthernet": {
                                "ipAddresses": [
                                    {
                                        "addresses": [
                                            "10.10.0.101"
                                        ],
                                        "type": "IPV4"
                                    }
                                ]
                            },
                            "layerProtocol": "IP_OVER_ETHERNET"
                        }
                    ],
                    "cpdId": "VDU2_CP1",
                    "extLinkPortId": "c19db045-8526-4d2d-8daf-819905f9b3fb",
                    "id": "96d97d70-c431-4a78-8072-42a974d525aa"
                },
                {
                    "associatedVnfcCpId": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
                    "cpConfigId": "VDU1_CP1_1",
                    "cpProtocolInfo": [
                        {
                            "ipOverEthernet": {
                                "ipAddresses": [
                                    {
                                        "isDynamic": true,
                                        "type": "IPV4"
                                    }
                                ]
                            },
                            "layerProtocol": "IP_OVER_ETHERNET"
                        }
                    ],
                    "cpdId": "VDU1_CP1",
                    "extLinkPortId": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
                    "id": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
                },
                {
                    "associatedVnfcCpId": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
                    "cpConfigId": "VDU1_CP2_1",
                    "cpProtocolInfo": [
                        {
                            "ipOverEthernet": {
                                "ipAddresses": [
                                    {
                                        "isDynamic": true,
                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                        "type": "IPV4"
                                    }
                                ]
                            },
                            "layerProtocol": "IP_OVER_ETHERNET"
                        }
                    ],
                    "cpdId": "VDU1_CP2",
                    "extLinkPortId": "f190426f-63a7-42a5-ad12-44c6bc464f13",
                    "id": "f8428c7d-2268-40f9-9bea-fa9539d118be"
                }
            ],
            "extManagedVirtualLinkInfo": [
                {
                    "id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
                    "networkResource": {
                        "resourceId": "11f8a056-0495-4ca6-8de9-94402604663f"
                    },
                    "vnfLinkPorts": [
                        {
                            "cpInstanceId": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
                            "cpInstanceType": "VNFC_CP",
                            "id": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d",
                            "resourceHandle": {
                                "resourceId": "7fe18c76-85eb-4e90-ba95-df6e6bad2cd6",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        },
                        {
                            "cpInstanceId": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
                            "cpInstanceType": "VNFC_CP",
                            "id": "2950622a-ded8-4160-88dc-2bf0f02529dd",
                            "resourceHandle": {
                                "resourceId": "07dc4096-49c7-478d-986a-fd132efd573a",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        }
                    ],
                    "vnfVirtualLinkDescId": "internalVL1"
                }
            ],
            "extVirtualLinkInfo": [
                {
                    "currentVnfExtCpData": [
                        {
                            "cpConfig": {
                                "VDU1_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP1"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.0.101"
                                                        ],
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP1"
                        }
                    ],
                    "extLinkPorts": [
                        {
                            "cpInstanceId": "96d97d70-c431-4a78-8072-42a974d525aa",
                            "id": "c19db045-8526-4d2d-8daf-819905f9b3fb",
                            "resourceHandle": {
                                "resourceId": "c1f49f87-37ff-437b-84a0-91a346fdec55",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        },
                        {
                            "cpInstanceId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94",
                            "id": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
                            "resourceHandle": {
                                "resourceId": "88bc7eee-0893-4892-b0d3-d58d1c2293a8",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        }
                    ],
                    "id": "b0b2f836-a275-4374-834e-ed336a563b1e",
                    "resourceHandle": {
                        "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
                    }
                },
                {
                    "currentVnfExtCpData": [
                        {
                            "cpConfig": {
                                "VDU1_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP2"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.1.101"
                                                        ],
                                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP2"
                        }
                    ],
                    "extLinkPorts": [
                        {
                            "cpInstanceId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5",
                            "id": "c9008244-6561-49cf-a9a3-6218034e6b02",
                            "resourceHandle": {
                                "resourceId": "3c89dfce-2039-41ad-a60b-6be6488bbca6",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        },
                        {
                            "cpInstanceId": "f8428c7d-2268-40f9-9bea-fa9539d118be",
                            "id": "f190426f-63a7-42a5-ad12-44c6bc464f13",
                            "resourceHandle": {
                                "resourceId": "a0db5863-e420-4191-a2bb-c8536b091bda",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        }
                    ],
                    "id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
                    "resourceHandle": {
                        "resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
                    }
                }
            ],
            "flavourId": "simple",
            "maxScaleLevels": [
                {
                    "aspectId": "VDU1_scale",
                    "scaleLevel": 2
                }
            ],
            "scaleStatus": [
                {
                    "aspectId": "VDU1_scale",
                    "scaleLevel": 0
                }
            ],
            "virtualStorageResourceInfo": [
                {
                    "id": "0357ecab-bdd8-403f-a91b-b80f287b536f",
                    "storageResource": {
                        "resourceId": "0ea498c7-a740-4b16-b8fd-93dbd5d8ee7d",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Cinder::Volume"
                    },
                    "virtualStorageDescId": "VirtualStorage"
                }
            ],
            "vnfState": "STARTED",
            "vnfVirtualLinkResourceInfo": [
                {
                    "id": "e651053a-e17e-47e3-9665-6ec028873040",
                    "networkResource": {
                        "resourceId": "98d5c67b-c7f8-4293-890c-011184b6574b",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Neutron::Net"
                    },
                    "vnfLinkPorts": [
                        {
                            "cpInstanceId": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
                            "cpInstanceType": "VNFC_CP",
                            "id": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51",
                            "resourceHandle": {
                                "resourceId": "42fe1697-30a7-4a79-8547-71de0c43c8b5",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        },
                        {
                            "cpInstanceId": "f495eec3-1420-467c-b126-19abf8396e11",
                            "cpInstanceType": "VNFC_CP",
                            "id": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72",
                            "resourceHandle": {
                                "resourceId": "5bd09199-1409-46b1-9cd4-191e3fb7c9cb",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        }
                    ],
                    "vnfVirtualLinkDescId": "internalVL2"
                },
                {
                    "id": "5efa5ab4-4237-4b41-9e39-7f4565992acc",
                    "networkResource": {
                        "resourceId": "be459310-e24d-4430-a0b9-b9ad391f4e5e",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Neutron::Net"
                    },
                    "vnfLinkPorts": [
                        {
                            "cpInstanceId": "e8111f5b-a713-4f40-a64d-fab56d038487",
                            "cpInstanceType": "VNFC_CP",
                            "id": "c02a75f8-a809-49c6-b6dc-bbda31928ef0",
                            "resourceHandle": {
                                "resourceId": "86c5a181-4232-4937-ba73-5c494f0d267a",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        },
                        {
                            "cpInstanceId": "16686d29-8491-41f8-8f2c-6d091f83592f",
                            "cpInstanceType": "VNFC_CP",
                            "id": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064",
                            "resourceHandle": {
                                "resourceId": "de311602-f52b-44a7-af11-15b97ca28beb",
                                "vimConnectionId": "vim1",
                                "vimLevelResourceType": "OS::Neutron::Port"
                            }
                        }
                    ],
                    "vnfVirtualLinkDescId": "internalVL3"
                }
            ],
            "vnfcInfo": [
                {
                    "id": "12e3f94b-8177-4621-8476-f9af72dddcaa",
                    "vduId": "VDU2",
                    "vnfcResourceInfoId": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
                    "vnfcState": "STARTED"
                },
                {
                    "id": "7ba99664-517a-45bd-b69c-7375018a2e2e",
                    "vduId": "VDU1",
                    "vnfcResourceInfoId": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
                    "vnfcState": "STARTED"
                }
            ],
            "vnfcResourceInfo": [
                {
                    "computeResource": {
                        "resourceId": "edda96a2-b4c2-48ca-a06f-31976f9d9653",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Nova::Server"
                    },
                    "id": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
                    "vduId": "VDU2",
                    "vnfcCpInfo": [
                        {
                            "cpdId": "VDU2_CP1",
                            "id": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
                            "vnfExtCpId": "96d97d70-c431-4a78-8072-42a974d525aa"
                        },
                        {
                            "cpdId": "VDU2_CP2",
                            "id": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
                            "vnfExtCpId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
                        },
                        {
                            "cpdId": "VDU2_CP3",
                            "id": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
                            "vnfLinkPortId": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d"
                        },
                        {
                            "cpdId": "VDU2_CP4",
                            "id": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
                            "vnfLinkPortId": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51"
                        },
                        {
                            "cpdId": "VDU2_CP5",
                            "id": "e8111f5b-a713-4f40-a64d-fab56d038487",
                            "vnfLinkPortId": "c02a75f8-a809-49c6-b6dc-bbda31928ef0"
                        }
                    ]
                },
                {
                    "computeResource": {
                        "resourceId": "66a84389-8234-4394-929f-68e0ea77fde1",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Nova::Server"
                    },
                    "id": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
                    "storageResourceIds": [
                        "0357ecab-bdd8-403f-a91b-b80f287b536f"
                    ],
                    "vduId": "VDU1",
                    "vnfcCpInfo": [
                        {
                            "cpdId": "VDU1_CP1",
                            "id": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
                            "vnfExtCpId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
                        },
                        {
                            "cpdId": "VDU1_CP2",
                            "id": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
                            "vnfExtCpId": "f8428c7d-2268-40f9-9bea-fa9539d118be"
                        },
                        {
                            "cpdId": "VDU1_CP3",
                            "id": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
                            "vnfLinkPortId": "2950622a-ded8-4160-88dc-2bf0f02529dd"
                        },
                        {
                            "cpdId": "VDU1_CP4",
                            "id": "f495eec3-1420-467c-b126-19abf8396e11",
                            "vnfLinkPortId": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72"
                        },
                        {
                            "cpdId": "VDU1_CP5",
                            "id": "16686d29-8491-41f8-8f2c-6d091f83592f",
                            "vnfLinkPortId": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064"
                        }
                    ]
                }
            ],
            "metadata": {
                "stack_id": "74350884-fcfd-43f3-a425-2eb007180bc4"
            }
        },
        "instantiationState": "INSTANTIATED",
        "metadata": {},
        "vimConnectionInfo": {
            "vim1": {
                "accessInfo": {
                    "project": "nfv",
                    "projectDomain": "Default",
                    "region": "RegionOne",
                    "userDomain": "Default",
                    "username": "nfv_user"
                },
                "interfaceInfo": {
                    "endpoint": "http://localhost/identity/v3"
                },
                "vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
                "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
            }
        },
        "vnfConfigurableProperties": {},
        "vnfInstanceDescription": "test sample1",
        "vnfInstanceName": "sample1",
        "vnfProductName": "Sample VNF",
        "vnfProvider": "Company",
        "vnfSoftwareVersion": "1.0",
        "vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf",
        "vnfdVersion": "1.0"
    }
]
POST
/vnflcm/v2/vnf_instances/{vnfInstanceId}/scale

Scale a VNF instance (v2)

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

The POST method scales 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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

key value pairs

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

{
    "additionalParams": {
        "dummy-key": "dummy-value"
    },
    "aspectId": "VDU1_scale",
    "numberOfSteps": 1,
    "type": "SCALE_OUT"
}
PATCH
vnflcm/v2/vnf_instances/{vnfInstanceId}

Update a VNF instance (v2)

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 Bobcat release does not support Error Code: 412 Precondition Failed. Once a standard specification for this is established, it will be installed on the tacker.

This method modifies an “Individual 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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

409 - Conflict

This operation conflicted with another operation on this resource.

422 - Unprocessable Entity

The content type of the payload body is supported and the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema).

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”.

vnfInstanceDescription (Optional)

body

string

New value of the “vnfInstanceDescription” attribute in “VnfInstance”.

vnfdId (Optional)

body

string

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

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vimConnectionInfo (Optional)

body

map

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.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

vnfcInfoModifications (Optional)

body

array

This attribute signals modifications of certain entries in the “vnfcInfo” attribute array in the “instantiatedVnfInfo” attribute of “VnfInstance”.

id

body

string

Identifier of the VNFC instance of which the information is to be modified.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

Note

All attribute does not support “null” in JSON Merge Patch. For attribute whose Type is “key value pairs”, the key is deleted by specifying null. (The attribute itself cannot be deleted.)

Request Example

{
    "extensions": {
        "dummy-key": "dummy-value"
    },
    "metadata": {
        "dummy-key": "dummy-value"
    },
    "vimConnectionInfo": {
        "vim2": {
            "accessInfo": {
                "password": "dummy_password",
                "project": "dummy_project",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "dummy_user"
            },
            "extra": {
                "dummy-key": "dummy-val"
            },
            "interfaceInfo": {
                "endpoint": "http://127.0.0.1/identity/v3"
            },
            "vimId": "ac2d2ece-5e49-4b15-b92d-b681e9c096d8",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        }
    },
    "vnfConfigurableProperties": {
        "dummy-key": "dummy-value"
    },
    "vnfInstanceDescription": "new description",
    "vnfInstanceName": "new name",
    "vnfcInfoModifications": [
        {
            "id": "VDU1-07dfd58c-b147-4d4f-8cd6-d55f41280bb9",
            "vnfcConfigurableProperties": {
                "dummy-key": "dummy-value"
            }
        },
        {
            "id": "VDU1-20637c67-9fbe-4c31-b975-6bc4bcd8c35a",
            "vnfcConfigurableProperties": {
                "dummy-key": "dummy-value"
            }
        }
    ],
    "vnfdId": "5f846f98-849c-4df0-b57e-fabe9db2beff"
}
POST
/vnflcm/v2/vnf_instances/{vnfInstanceId}/change_ext_conn

Change External VNF Connectivity (v2)

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.

The POST method changes 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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

body

array

Information about external VLs to change.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

vimConnectionInfo (Optional)

body

map

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.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

additionalParams (Optional)

body

key value pairs

Additional parameters passed by the NFVO as input to the process, specific to the VNF of which the external connectivity is changed, as declared in the VNFD as part of “ChangeExtVnfConnectivityOpConfig”.

Request Example

{
    "additionalParams": {
        "dummy-key": "dummy-value"
    },
    "extVirtualLinks": [
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "6274c3fa-1cec-41cc-add2-fc8808793cf7"
                        }
                    },
                    "cpdId": "VDU1_CP1"
                },
                {
                    "cpConfig": {
                        "VDU2_CP1-1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "linkPortId": "315a2b77-8076-49df-84fe-45579faf4085",
                            "parentCpConfigId": "99f8ba42-3619-4fbd-81a5-999c3767237b"
                        }
                    },
                    "cpdId": "VDU2_CP1-1"
                },
                {
                    "cpConfig": {
                        "VDU2_CP1-2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "linkPortId": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
                            "parentCpConfigId": "3b55b051-c5cb-41cf-bc0e-ea71e95d2636"
                        }
                    },
                    "cpdId": "VDU2_CP1-2"
                }
            ],
            "extLinkPorts": [
                {
                    "id": "315a2b77-8076-49df-84fe-45579faf4085",
                    "resourceHandle": {
                        "resourceId": "1cb1fb17-1a8f-4052-8599-ec6858da3659"
                    }
                },
                {
                    "id": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
                    "resourceHandle": {
                        "resourceId": "dummy-id"
                    }
                }
            ],
            "id": "38a38351-fbed-4637-8dcd-01ca1f69d4bb",
            "resourceId": "bbe38e96-8395-4b7f-a7da-67058922df1c",
            "resourceProviderId": "Company",
            "vimConnectionId": "vim1"
        },
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "c09646b2-8a91-4af3-8260-71cfa865a5b1"
                        }
                    },
                    "cpdId": "VDU1_CP2"
                },
                {
                    "cpConfig": {
                        "VDU2_CP2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "fixedAddresses": [
                                                    "100.100.100.12"
                                                ],
                                                "subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
                                                "type": "IPV4"
                                            },
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "15cd2e7e-add5-42cd-b790-2fe734fcc7dc",
                                                "type": "IPV6"
                                            }
                                        ],
                                        "macAddress": "fa:16:3e:fa:22:75"
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "40820a06-be32-4ea1-ae38-5f164c8de178"
                        }
                    },
                    "cpdId": "VDU2_CP2"
                }
            ],
            "id": "97a82200-328a-44f6-98cb-bfdf27c359c1",
            "resourceId": "b47d25bd-f1d8-4136-b7e7-ac8754977661",
            "resourceProviderId": "Company",
            "vimConnectionId": "vim1"
        }
    ],
    "vimConnectionInfo": {
        "vim1": {
            "accessInfo": {
                "password": "devstack",
                "project": "nfv",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "nfv_user"
            },
            "extra": {
                "new-key": "new-val"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "defb2f96-5670-4bef-8036-27bf61267fc1",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        },
        "vim2": {
            "accessInfo": {
                "password": "dummy_password",
                "project": "dummy_project",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "dummy_user"
            },
            "extra": {
                "dummy-key": "dummy-val"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "c8dbc7c0-a4f4-4bff-8075-4cb555e63b7b",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        }
    }
}
POST
/vnflcm/v2/vnf_instances/{vnfInstanceId}/change_vnfpkg

Change Current VNF Package (v2)

This task resource represents the “Change Current VNF Package” operation. The client can use this resource to change current vnf package of a VNF instance.

The POST method changes current vnf package 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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

vnfdId

body

string

Identifier of VNFD which defines the destination VNF Package for the change.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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

map

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. The VNFM shall apply the content of this attribute to the “vimConnectionInfo” attribute of “VnfInstance” according to the rules of JSON Merge Patch.

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

additionalParams (Optional)

body

key value pairs

Additional parameters passed by the NFVO as input to a process, specific to the VNF of which upgrade_type is selected.

Request Example

{
    "vnfdId": "c6595341-a5bb-8246-53c4-7aeb843d60c5",

    "additionalParams": {
        "upgrade_type": "RollingUpdate",
        "lcm-operation-coordinate-old-vnf": "./Scripts/coordinate_old_vnf.py",
        "lcm-operation-coordinate-new-vnf": "./Scripts/coordinate_new_vnf.py",
        "vdu_params": [{
            "vdu_id": "VDU1",
            "old_vnfc_param": {
                "cp_name": "VDU1_CP1",
                "username": "ubuntu",
                "password": "ubuntu"
            },
            "new_vnfc_param": {
                "cp_name": "VDU1_CP1",
                "username": "ubuntu",
                "password": "ubuntu"
            }
        }, {
            "vdu_id": "VDU2",
            "old_vnfc_param": {
                "cp_name": "VDU2_CP1",
                "username": "ubuntu",
                "password": "ubuntu"
            },
            "new_vnfc_param": {
                "cp_name": "VDU2_CP1",
                "username": "ubuntu",
                "password": "ubuntu"
            }
        }]
    },
    "extVirtualLinks": [
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "6274c3fa-1cec-41cc-add2-fc8808793cf7"
                        }
                    },
                    "cpdId": "VDU1_CP1"
                },
                {
                    "cpConfig": {
                        "VDU2_CP1-1": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "linkPortId": "315a2b77-8076-49df-84fe-45579faf4085",
                            "parentCpConfigId": "99f8ba42-3619-4fbd-81a5-999c3767237b"
                        }
                    },
                    "cpdId": "VDU2_CP1-1"
                },
                {
                    "cpConfig": {
                        "VDU2_CP1-2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "linkPortId": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
                            "parentCpConfigId": "3b55b051-c5cb-41cf-bc0e-ea71e95d2636"
                        }
                    },
                    "cpdId": "VDU2_CP1-2"
                }
            ],
            "extLinkPorts": [
                {
                    "id": "315a2b77-8076-49df-84fe-45579faf4085",
                    "resourceHandle": {
                        "resourceId": "1cb1fb17-1a8f-4052-8599-ec6858da3659"
                    }
                },
                {
                    "id": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
                    "resourceHandle": {
                        "resourceId": "dummy-id"
                    }
                }
            ],
            "id": "38a38351-fbed-4637-8dcd-01ca1f69d4bb",
            "resourceId": "bbe38e96-8395-4b7f-a7da-67058922df1c",
            "resourceProviderId": "Company",
            "vimConnectionId": "vim1"
        },
        {
            "extCps": [
                {
                    "cpConfig": {
                        "VDU1_CP2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
                                                "type": "IPV4"
                                            }
                                        ]
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "c09646b2-8a91-4af3-8260-71cfa865a5b1"
                        }
                    },
                    "cpdId": "VDU1_CP2"
                },
                {
                    "cpConfig": {
                        "VDU2_CP2": {
                            "cpProtocolData": [
                                {
                                    "ipOverEthernet": {
                                        "ipAddresses": [
                                            {
                                                "fixedAddresses": [
                                                    "100.100.100.12"
                                                ],
                                                "subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
                                                "type": "IPV4"
                                            },
                                            {
                                                "numDynamicAddresses": 1,
                                                "subnetId": "15cd2e7e-add5-42cd-b790-2fe734fcc7dc",
                                                "type": "IPV6"
                                            }
                                        ],
                                        "macAddress": "fa:16:3e:fa:22:75"
                                    },
                                    "layerProtocol": "IP_OVER_ETHERNET"
                                }
                            ],
                            "parentCpConfigId": "40820a06-be32-4ea1-ae38-5f164c8de178"
                        }
                    },
                    "cpdId": "VDU2_CP2"
                }
            ],
            "id": "97a82200-328a-44f6-98cb-bfdf27c359c1",
            "resourceId": "b47d25bd-f1d8-4136-b7e7-ac8754977661",
            "resourceProviderId": "Company",
            "vimConnectionId": "vim1"
        }
    ],
    "vimConnectionInfo": {
        "vim1": {
            "accessInfo": {
                "password": "devstack",
                "project": "nfv",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "nfv_user"
            },
            "extra": {
                "new-key": "new-val"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "defb2f96-5670-4bef-8036-27bf61267fc1",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        },
        "vim2": {
            "accessInfo": {
                "password": "dummy_password",
                "project": "dummy_project",
                "projectDomain": "Default",
                "region": "RegionOne",
                "userDomain": "Default",
                "username": "dummy_user"
            },
            "extra": {
                "dummy-key": "dummy-val"
            },
            "interfaceInfo": {
                "endpoint": "http://localhost/identity/v3"
            },
            "vimId": "c8dbc7c0-a4f4-4bff-8075-4cb555e63b7b",
            "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
        }
    }
}
GET
/vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}

Show VNF LCM operation occurrence (v2)

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

object

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

CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

zoneId (Optional)

body

string

The identifier of the resource zone, as managed by the resource management layer (typically, the VIM), where the referenced VirtualCompute resource is placed. Shall be provided if this information is available from the VIM.

metadata

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VnfcResourceInfo structure.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

vnfLinkPortIds (Optional)

body

string

Identifiers of the link ports of the affected VL related to the change. Each identifier references a “VnfLinkPortInfo” structure. Shall be set when changeType is equal to “LINK_PORT_ADDED” or “LINK_PORT_REMOVED”, and the related “VnfLinkPortInfo” structures are present (case “added”) or have been present (case “removed”) in the “VnfVirtualLinkResourceInfo” or “ExtManagedVirtualLinkInfo” structures that are represented by the “vnfVirtualLinkResourceInfo” or “extManagedVirtualLinkInfo” attribute in the “VnfInstance” structure.

affectedExtLinkPorts (Optional)

body

array

Information about external VNF link ports that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest “result” notification if it has not received it due to an error or a wrongly configured subscription filter.

id

body

string

Identifier of the link port, identifying the applicable “extLinkPorts” entry in the “ExtVirtualLinkInfo” data type.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

extCpInstranceId

body

string

Identifier of the related external CP 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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

metadata (Optional)

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VirtualStorageResourceInfo structure.

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”.

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vimConnectionInfo (Optional)

body

array

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

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

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”.

vnfSoftwareVersion (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”.

vnfcInfoModifications (Optional)

body

array

This attribute signals modifications of certain entries in the “vnfcInfo” attribute array in the “instantiatedVnfInfo” attribute of “VnfInstance”.

id

body

string

Identifier of the VNFC instance of which the information is to be modified.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

currentVnfExtCpData

body

object

Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

modificationsTriggeredByVnfPkgChange (Optional)

body

object

Information about performed changes of “VnfInstance” attributes triggered by changing the current VNF package.

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vnfdId (Optional)

body

string

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

vnfProvider (Optional)

body

string

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

vnfProductName (Optional)

body

string

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

vnfSoftwareVersion (Optional)

body

string

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

vnfdVersion (Optional)

body

string

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

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "fail": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
        },
        "retry": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
        },
        "rollback": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
        },
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5"
        },
        "vnfInstance": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
        }
    },
    "grantId": "f848dd6c-6393-4104-8bfe-df764a042563",
    "id": "a790879c-05f9-4475-9c90-1677452d3eb5",
    "isAutomaticInvocation": false,
    "isCancelPending": false,
    "operation": "INSTANTIATE",
    "operationParams": {
        "additionalParams": {
                "lcm-operation-user-data": "./UserData/userdata_default.py",
                "lcm-operation-user-data-class": "DefaultUserData"
        },
        "extManagedVirtualLinks": [
            {
                "id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
                "resourceId": "11f8a056-0495-4ca6-8de9-94402604663f",
                "vnfVirtualLinkDescId": "internalVL1"
            }
        ],
        "extVirtualLinks": [
            {
                "extCps": [
                    {
                        "cpConfig": {
                            "VDU1_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP1"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.0.101"
                                                    ],
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP1"
                    }
                ],
                "id": "b0b2f836-a275-4374-834e-ed336a563b1e",
                "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
            },
            {
                "extCps": [
                    {
                        "cpConfig": {
                            "VDU1_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP2"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.1.101"
                                                    ],
                                                    "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP2"
                    }
                ],
                "id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
                "resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
            }
        ],
        "flavourId": "simple",
        "instantiationLevelId": "instantiation_level_1",
        "vimConnectionInfo": {
            "vim1": {
                "accessInfo": {
                    "password": "devstack",
                    "project": "nfv",
                    "projectDomain": "Default",
                    "region": "RegionOne",
                    "userDomain": "Default",
                    "username": "nfv_user"
                },
                "interfaceInfo": {
                    "endpoint": "http://localhost/identity/v3"
                },
                "vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
                "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
            }
        }
    },
    "operationState": "COMPLETED",
    "resourceChanges": {
        "affectedVirtualLinks": [
            {
                "changeType": "ADDED",
                "id": "74411165-b969-4539-99a9-3ffdbc8b1ae7",
                "networkResource": {
                    "resourceId": "5f4cc2e3-7bce-4e90-ad1a-0d43812a4af5",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPortIds": [
                    "5cf5bba1-3481-4233-a42f-98284c91b6a4",
                    "68f63717-9e01-4e4e-a3f4-c64e6e0f7a49"
                ],
                "vnfVirtualLinkDescId": "internalVL2"
            },
            {
                "changeType": "ADDED",
                "id": "5b696739-1a38-4df2-8f95-f3826fc3b0b7",
                "networkResource": {
                    "resourceId": "349a4dbb-41e9-4db9-b044-0653507b9728",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPortIds": [
                    "474caf76-c227-4b84-9aa8-bb9814488917",
                    "9fe46983-9497-4377-a959-765734ef7871"
                ],
                "vnfVirtualLinkDescId": "internalVL3"
            }
        ],
        "affectedVirtualStorages": [
            {
                "changeType": "ADDED",
                "id": "359a20f2-2c66-49b4-bc4e-3cf673513688",
                "storageResource": {
                    "resourceId": "496a70a0-c9df-43ce-8e49-3c708583eef0",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Cinder::Volume"
                },
                "virtualStorageDescId": "VirtualStorage"
            }
        ],
        "affectedVnfcs": [
            {
                "affectedVnfcCpIds": [
                    "e3ba03a1-f8a6-4468-ab97-0e24a8c5ad37",
                    "e23bf017-6979-48a1-805b-ed459eb78071",
                    "33a8397b-7f0c-4db7-85eb-8d8c19a35f9e",
                    "7e9e3e7e-5ba5-4f12-ba1c-fa865719391f",
                    "bf741bec-5294-4ae6-9486-51a1ebdb3ad7"
                ],
                "changeType": "ADDED",
                "computeResource": {
                    "resourceId": "7fceb009-ed81-4b95-ad4d-8487870cac48",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "c4453bf6-d185-4d4f-9e6b-fb745bf21229",
                "vduId": "VDU2"
            },
            {
                "addedStorageResourceIds": [
                    "359a20f2-2c66-49b4-bc4e-3cf673513688"
                ],
                "affectedVnfcCpIds": [
                    "5c0b46c4-3e08-4397-bbab-89bc196b5abd",
                    "c3efc6e9-1abc-407c-8421-101730cd8204",
                    "26847d0b-a64a-4c28-90db-25ed3d101741",
                    "b1647921-08b2-4cfa-a553-ebf333e602e4",
                    "29125d8c-d84e-4055-a76a-beed1912bca3"
                ],
                "changeType": "ADDED",
                "computeResource": {
                    "resourceId": "2f0f1954-0b5f-48a6-8591-f05ca2c3c74e",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "795985f6-f2c1-4a32-b318-6ac424ddf2bf",
                "vduId": "VDU1"
            }
        ]
    },
    "startTime": "2021-09-06T07:07:15Z",
    "stateEnteredTime": "2021-09-06T07:07:15Z",
    "vnfInstanceId": "e00f0d64-d7a3-459b-8a51-b402d5344296"
}
GET
/vnflcm/v2/vnf_lcm_op_occs

List VNF LCM operation occurrence (v2)

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

It supports attribute-based filtering and attribute selectors defined in ETSI NFV SOL013 v3.4.1. The detail of attribute-based filtering is described in SOL013 v3.4.1 clause 5.2.

An attribute selector allows the API consumer to choose which attributes it wants to be contained in the response. all_fields, fields, exclude_fields and exclude_default can be set as query parameters.

The following attributes shall be excluded from the VnfLcmOpOcc structure in the response body if this parameter is provided, or none of the parameters “all_fields,” “fields”, “exclude_fields”, “exclude_default” are provided: - operationParams - error - resourceChanges - changedInfo - changedExtConnectivity.

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.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

object

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

CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

zoneId (Optional)

body

string

The identifier of the resource zone, as managed by the resource management layer (typically, the VIM), where the referenced VirtualCompute resource is placed. Shall be provided if this information is available from the VIM.

metadata

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VnfcResourceInfo structure.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

vnfLinkPortIds (Optional)

body

string

Identifiers of the link ports of the affected VL related to the change. Each identifier references a “VnfLinkPortInfo” structure. Shall be set when changeType is equal to “LINK_PORT_ADDED” or “LINK_PORT_REMOVED”, and the related “VnfLinkPortInfo” structures are present (case “added”) or have been present (case “removed”) in the “VnfVirtualLinkResourceInfo” or “ExtManagedVirtualLinkInfo” structures that are represented by the “vnfVirtualLinkResourceInfo” or “extManagedVirtualLinkInfo” attribute in the “VnfInstance” structure.

affectedExtLinkPorts (Optional)

body

array

Information about external VNF link ports that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest “result” notification if it has not received it due to an error or a wrongly configured subscription filter.

id

body

string

Identifier of the link port, identifying the applicable “extLinkPorts” entry in the “ExtVirtualLinkInfo” data type.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

extCpInstranceId

body

string

Identifier of the related external CP 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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

metadata (Optional)

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VirtualStorageResourceInfo structure.

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”.

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vimConnectionInfo (Optional)

body

array

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

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

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”.

vnfSoftwareVersion (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”.

vnfcInfoModifications (Optional)

body

array

This attribute signals modifications of certain entries in the “vnfcInfo” attribute array in the “instantiatedVnfInfo” attribute of “VnfInstance”.

id

body

string

Identifier of the VNFC instance of which the information is to be modified.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

currentVnfExtCpData

body

object

Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

modificationsTriggeredByVnfPkgChange (Optional)

body

object

Information about performed changes of “VnfInstance” attributes triggered by changing the current VNF package.

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vnfdId (Optional)

body

string

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

vnfProvider (Optional)

body

string

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

vnfProductName (Optional)

body

string

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

vnfSoftwareVersion (Optional)

body

string

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

vnfdVersion (Optional)

body

string

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

_links

body

object

Links to resources related to this resource.

Response Example

[
    {
        "_links": {
            "fail": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
            },
            "retry": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
            },
            "rollback": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
            },
            "self": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5"
            },
            "vnfInstance": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
            }
        },
        "grantId": "30bdaa69-ef80-4545-9298-428b70ce8e4a",
        "id": "a790879c-05f9-4475-9c90-1677452d3eb5",
        "isAutomaticInvocation": false,
        "isCancelPending": false,
        "operation": "INSTANTIATE",
        "operationParams": {
            "additionalParams": {
                "lcm-operation-user-data": "./UserData/userdata_default.py",
                "lcm-operation-user-data-class": "DefaultUserData"
            },
            "extManagedVirtualLinks": [
                {
                    "id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
                    "resourceId": "11f8a056-0495-4ca6-8de9-94402604663f",
                    "vnfVirtualLinkDescId": "internalVL1"
                }
            ],
            "extVirtualLinks": [
                {
                    "extCps": [
                        {
                            "cpConfig": {
                                "VDU1_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP1"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.0.101"
                                                        ],
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP1"
                        }
                    ],
                    "id": "b0b2f836-a275-4374-834e-ed336a563b1e",
                    "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
                },
                {
                    "extCps": [
                        {
                            "cpConfig": {
                                "VDU1_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP2"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.1.101"
                                                        ],
                                                        "subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP2"
                        }
                    ],
                    "id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
                    "resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
                }
            ],
            "flavourId": "simple",
            "instantiationLevelId": "instantiation_level_1",
            "vimConnectionInfo": {
                "vim1": {
                    "accessInfo": {
                        "password": "devstack",
                        "project": "nfv",
                        "projectDomain": "Default",
                        "region": "RegionOne",
                        "userDomain": "Default",
                        "username": "nfv_user"
                    },
                    "interfaceInfo": {
                        "endpoint": "http://localhost/identity/v3"
                    },
                    "vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
                    "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
                }
            }
        },
        "operationState": "PROCESSING",
        "startTime": "2021-12-20T07:55:55Z",
        "stateEnteredTime": "2021-12-20T07:55:55Z",
        "vnfInstanceId": "f68c329d-2fca-4178-9a38-e21ee8c01606"
    },
    {
        "_links": {
            "fail": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/fail"
            },
            "retry": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/retry"
            },
            "rollback": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/rollback"
            },
            "self": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d"
            },
            "vnfInstance": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/c256d5c2-f29e-474c-bced-cbc6d9e2b00b"
            }
        },
        "grantId": "3aa7d8cd-6f85-4d7f-859a-eb26481157e6",
        "id": "fdd8bdf4-8f7b-4237-99d3-c87c0910571d",
        "isAutomaticInvocation": false,
        "isCancelPending": false,
        "operation": "INSTANTIATE",
        "operationParams": {
            "additionalParams": {
                "lcm-operation-user-data": "./UserData/userdata_default.py",
                "lcm-operation-user-data-class": "DefaultUserData"
            },
            "extManagedVirtualLinks": [
                {
                    "id": "46653630-2b7f-493c-8dec-c2c6e2fd98c8",
                    "resourceId": "6c85c8bd-91f3-48b4-bc4b-030bbdfb1a8d",
                    "vnfVirtualLinkDescId": "internalVL1"
                }
            ],
            "extVirtualLinks": [
                {
                    "extCps": [
                        {
                            "cpConfig": {
                                "VDU1_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP1"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP1_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.0.102"
                                                        ],
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP1"
                        }
                    ],
                    "id": "bec04b02-273f-4eb3-a18d-af695c4399bf",
                    "resourceId": "576075c2-d33e-4002-8d85-9c906cf63ed7"
                },
                {
                    "extCps": [
                        {
                            "cpConfig": {
                                "VDU1_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "numDynamicAddresses": 1,
                                                        "subnetId": "afc77fd6-1bf6-4db9-b285-6799642cbfd2",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU1_CP2"
                        },
                        {
                            "cpConfig": {
                                "VDU2_CP2_1": {
                                    "cpProtocolData": [
                                        {
                                            "ipOverEthernet": {
                                                "ipAddresses": [
                                                    {
                                                        "fixedAddresses": [
                                                            "10.10.1.102"
                                                        ],
                                                        "subnetId": "afc77fd6-1bf6-4db9-b285-6799642cbfd2",
                                                        "type": "IPV4"
                                                    }
                                                ]
                                            },
                                            "layerProtocol": "IP_OVER_ETHERNET"
                                        }
                                    ]
                                }
                            },
                            "cpdId": "VDU2_CP2"
                        }
                    ],
                    "id": "625f6da9-6a01-480e-8ecb-1ef8122ad224",
                    "resourceId": "c84bc776-69ed-4ec9-886e-c594d9ebe38f"
                }
            ],
            "flavourId": "simple",
            "instantiationLevelId": "instantiation_level_1",
            "vimConnectionInfo": {
                "vim1": {
                    "accessInfo": {
                        "password": "devstack",
                        "project": "nfv",
                        "projectDomain": "Default",
                        "region": "RegionOne",
                        "userDomain": "Default",
                        "username": "nfv_user"
                    },
                    "interfaceInfo": {
                        "endpoint": "http://localhost/identity/v3"
                    },
                    "vimId": "fc734abb-2d1b-4032-b594-88c33634e023",
                    "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
                }
            }
        },
        "operationState": "COMPLETED",
        "resourceChanges": {
            "affectedVirtualLinks": [
                {
                    "changeType": "ADDED",
                    "id": "74411165-b969-4539-99a9-3ffdbc8b1ae7",
                    "networkResource": {
                        "resourceId": "5f4cc2e3-7bce-4e90-ad1a-0d43812a4af5",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Neutron::Net"
                    },
                    "vnfLinkPortIds": [
                        "5cf5bba1-3481-4233-a42f-98284c91b6a4",
                        "68f63717-9e01-4e4e-a3f4-c64e6e0f7a49"
                    ],
                    "vnfVirtualLinkDescId": "internalVL2"
                },
                {
                    "changeType": "ADDED",
                    "id": "5b696739-1a38-4df2-8f95-f3826fc3b0b7",
                    "networkResource": {
                        "resourceId": "349a4dbb-41e9-4db9-b044-0653507b9728",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Neutron::Net"
                    },
                    "vnfLinkPortIds": [
                        "474caf76-c227-4b84-9aa8-bb9814488917",
                        "9fe46983-9497-4377-a959-765734ef7871"
                    ],
                    "vnfVirtualLinkDescId": "internalVL3"
                }
            ],
            "affectedVirtualStorages": [
                {
                    "changeType": "ADDED",
                    "id": "359a20f2-2c66-49b4-bc4e-3cf673513688",
                    "storageResource": {
                        "resourceId": "496a70a0-c9df-43ce-8e49-3c708583eef0",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Cinder::Volume"
                    },
                    "virtualStorageDescId": "VirtualStorage"
                }
            ],
            "affectedVnfcs": [
                {
                    "affectedVnfcCpIds": [
                        "e3ba03a1-f8a6-4468-ab97-0e24a8c5ad37",
                        "e23bf017-6979-48a1-805b-ed459eb78071",
                        "33a8397b-7f0c-4db7-85eb-8d8c19a35f9e",
                        "7e9e3e7e-5ba5-4f12-ba1c-fa865719391f",
                        "bf741bec-5294-4ae6-9486-51a1ebdb3ad7"
                    ],
                    "changeType": "ADDED",
                    "computeResource": {
                        "resourceId": "7fceb009-ed81-4b95-ad4d-8487870cac48",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Nova::Server"
                    },
                    "id": "c4453bf6-d185-4d4f-9e6b-fb745bf21229",
                    "vduId": "VDU2"
                },
                {
                    "addedStorageResourceIds": [
                        "359a20f2-2c66-49b4-bc4e-3cf673513688"
                    ],
                    "affectedVnfcCpIds": [
                        "5c0b46c4-3e08-4397-bbab-89bc196b5abd",
                        "c3efc6e9-1abc-407c-8421-101730cd8204",
                        "26847d0b-a64a-4c28-90db-25ed3d101741",
                        "b1647921-08b2-4cfa-a553-ebf333e602e4",
                        "29125d8c-d84e-4055-a76a-beed1912bca3"
                    ],
                    "changeType": "ADDED",
                    "computeResource": {
                        "resourceId": "2f0f1954-0b5f-48a6-8591-f05ca2c3c74e",
                        "vimConnectionId": "vim1",
                        "vimLevelResourceType": "OS::Nova::Server"
                    },
                    "id": "795985f6-f2c1-4a32-b318-6ac424ddf2bf",
                    "vduId": "VDU1"
                }
            ]
        },
        "startTime": "2021-09-06T07:07:15Z",
        "stateEnteredTime": "2021-09-06T07:07:15Z",
        "vnfInstanceId": "e00f0d64-d7a3-459b-8a51-b402d5344296"
    }
]
POST
/vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry

Retry a VNF LCM operation occurrence (v2)

The POST method starts 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.

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail

Fail a VNF LCM operation occurrence (v2)

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

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

path

string

Identifier of the VNF instance.

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

object

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

CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest

TERMINATE: TerminateVnfRequest

MODIFY_INFO: VnfInfoModificationRequest

CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

zoneId (Optional)

body

string

The identifier of the resource zone, as managed by the resource management layer (typically, the VIM), where the referenced VirtualCompute resource is placed. Shall be provided if this information is available from the VIM.

metadata

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VnfcResourceInfo structure.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

vnfLinkPortIds (Optional)

body

string

Identifiers of the link ports of the affected VL related to the change. Each identifier references a “VnfLinkPortInfo” structure. Shall be set when changeType is equal to “LINK_PORT_ADDED” or “LINK_PORT_REMOVED”, and the related “VnfLinkPortInfo” structures are present (case “added”) or have been present (case “removed”) in the “VnfVirtualLinkResourceInfo” or “ExtManagedVirtualLinkInfo” structures that are represented by the “vnfVirtualLinkResourceInfo” or “extManagedVirtualLinkInfo” attribute in the “VnfInstance” structure.

affectedExtLinkPorts (Optional)

body

array

Information about external VNF link ports that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest “result” notification if it has not received it due to an error or a wrongly configured subscription filter.

id

body

string

Identifier of the link port, identifying the applicable “extLinkPorts” entry in the “ExtVirtualLinkInfo” data type.

changeType

body

string

Signals the type of change. Permitted values:

ADDED

REMOVED

extCpInstranceId

body

string

Identifier of the related external CP 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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

metadata (Optional)

body

key value pairs

Metadata about this resource. The content of this attribute shall be a copy of the content of the “metadata” attribute of the VirtualStorageResourceInfo structure.

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”.

vnfConfigurableProperties (Optional)

body

key value pairs

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

metadata (Optional)

body

key value pairs

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

extensions (Optional)

body

key value pairs

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

vimConnectionInfo (Optional)

body

array

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

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

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

key value pairs

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.

accessInfo (Optional)

body

key value pairs

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.

extra (Optional)

body

key value pairs

VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.

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”.

vnfSoftwareVersion (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”.

vnfcInfoModifications (Optional)

body

array

This attribute signals modifications of certain entries in the “vnfcInfo” attribute array in the “instantiatedVnfInfo” attribute of “VnfInstance”.

id

body

string

Identifier of the VNFC instance of which the information is to be modified.

vnfcConfigurableProperties

body

key value pairs

Changes of the configurable properties of the VNFC instance.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

resourceProviderId (Optional)

body

string

Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect 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.

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.

currentVnfExtCpData

body

object

Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link.

cpdId

body

string

The identifier of the CPD in the VNFD.

cpConfig

body

map

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

parentCpConfigId (Optional)

body

string

Value of the key that identifies the “VnfExtCpConfig” map entry which corresponds to the parent port of the trunk. Only present in “VnfExtCpConfig” structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported.

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.

segmentationId (Optional)

body

string

Identification of the network segment to which the Cp instance connects to.

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.

addressRange (Optional)

body

object

An IP address range to be used, e.g. in case of egress connections.

minAddress

body

string

Lowest IP address belonging to the range.

maxAddress

body

string

Highest IP address belonging to the range.

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.

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "fail": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/fail"
        },
        "retry": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/retry"
        },
        "rollback": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/rollback"
        },
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643"
        },
        "vnfInstance": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/10ed068e-1284-48f2-9b6e-1c443ace9cc6"
        }
    },
    "error": {
        "detail": "instantiate_end failed: b'test instantiate_end error'",
        "status": 422,
        "title": "Mgmt driver execution failed"
    },
    "grantId": "f7437546-5c4d-4860-85b4-9e7dc5fe8e67",
    "id": "9b475d28-5acb-4c3b-95dd-fec2b2319643",
    "isAutomaticInvocation": false,
    "isCancelPending": false,
    "operation": "INSTANTIATE",
    "operationParams": {
        "additionalParams": {
            "lcm-operation-user-data": "./UserData/userdata_default.py",
            "lcm-operation-user-data-class": "DefaultUserData"
        },
        "extManagedVirtualLinks": [
            {
                "id": "ac9eff82-9406-42f0-88ae-1be9d89eb917",
                "resourceId": "b3f18cea-a773-4f46-8fa1-9357df2ce360",
                "vnfVirtualLinkDescId": "internalVL1"
            }
        ],
        "extVirtualLinks": [
            {
                "extCps": [
                    {
                        "cpConfig": {
                            "VDU1_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP1"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP1_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.0.102"
                                                    ],
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP1"
                    }
                ],
                "id": "789ecc10-4285-43fe-b8e3-b0e7d4a5cd79",
                "resourceId": "7d16f94d-d4c9-412b-a2f5-0321131e9e4d"
            },
            {
                "extCps": [
                    {
                        "cpConfig": {
                            "VDU1_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "numDynamicAddresses": 1,
                                                    "subnetId": "f6208fae-87fa-473f-bc96-441a75a19d09",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU1_CP2"
                    },
                    {
                        "cpConfig": {
                            "VDU2_CP2_1": {
                                "cpProtocolData": [
                                    {
                                        "ipOverEthernet": {
                                            "ipAddresses": [
                                                {
                                                    "fixedAddresses": [
                                                        "10.10.1.102"
                                                    ],
                                                    "subnetId": "f6208fae-87fa-473f-bc96-441a75a19d09",
                                                    "type": "IPV4"
                                                }
                                            ]
                                        },
                                        "layerProtocol": "IP_OVER_ETHERNET"
                                    }
                                ]
                            }
                        },
                        "cpdId": "VDU2_CP2"
                    }
                ],
                "id": "cd8aa4ce-a17f-47d8-b3fb-6102ce17f355",
                "resourceId": "67f4ca33-4142-4d1a-afb0-978365e31aa2"
            }
        ],
        "flavourId": "simple",
        "instantiationLevelId": "instantiation_level_1",
        "vimConnectionInfo": {
            "vim1": {
                "accessInfo": {
                    "password": "devstack",
                    "project": "nfv",
                    "projectDomain": "Default",
                    "region": "RegionOne",
                    "userDomain": "Default",
                    "username": "nfv_user"
                },
                "interfaceInfo": {
                    "endpoint": "http://localhost/identity/v3"
                },
                "vimId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
                "vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
            }
        }
    },
    "operationState": "FAILED",
    "resourceChanges": {
        "affectedVirtualLinks": [
            {
                "changeType": "ADDED",
                "id": "e2cc5431-eb8d-4208-b8e1-3b766c123279",
                "networkResource": {
                    "resourceId": "d2565a88-aea8-4999-b52f-a220b59df5ea",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPortIds": [
                    "69081627-7f06-42fd-af9c-3f79d44fb8c3",
                    "46dd1aec-0ae1-4cff-8d5d-81c671f4aaad"
                ],
                "vnfVirtualLinkDescId": "internalVL3"
            },
            {
                "changeType": "ADDED",
                "id": "b5d1f4b8-fb87-4155-a4e9-6619a1b7097f",
                "networkResource": {
                    "resourceId": "d785e039-215c-4e6e-951c-79959d8c531c",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Neutron::Net"
                },
                "vnfLinkPortIds": [
                    "7d244233-7244-4a40-9e4f-7aec929401ab",
                    "fd61f725-28b7-44a5-ba02-652846bef719"
                ],
                "vnfVirtualLinkDescId": "internalVL2"
            }
        ],
        "affectedVirtualStorages": [
            {
                "changeType": "ADDED",
                "id": "55cf75b7-6c73-455e-8bd2-07f31047672d",
                "storageResource": {
                    "resourceId": "5c6956bc-9e1b-490f-8592-a490da200a2c",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Cinder::Volume"
                },
                "virtualStorageDescId": "VirtualStorage"
            }
        ],
        "affectedVnfcs": [
            {
                "affectedVnfcCpIds": [
                    "a84df9fb-b81a-49be-a010-3082e6d2adbe",
                    "77bfa29d-9fbe-42f2-9892-af98a2507d59",
                    "4f0173ce-a624-4173-8e4b-a37667e04a80",
                    "3057e251-8546-4f61-96e4-ea6c1af886cf",
                    "7b31dd26-a2af-4e47-921d-5695ac101028"
                ],
                "changeType": "ADDED",
                "computeResource": {
                    "resourceId": "c9920a04-cf74-4e42-be89-a2fec2f89e48",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "43c29ba1-6037-49a6-a73a-b83484e7dc4e",
                "vduId": "VDU2"
            },
            {
                "addedStorageResourceIds": [
                    "55cf75b7-6c73-455e-8bd2-07f31047672d"
                ],
                "affectedVnfcCpIds": [
                    "defd21b3-d0e2-4eb4-8433-e4b555e5926b",
                    "60eb1d2b-11cf-4bb3-90c6-83096bd7d2a0",
                    "d7c68605-3022-41a4-a4bf-44cc76aa9d28",
                    "efb91c15-9ddc-435b-aded-33203b9061b6",
                    "95ad30b9-87e9-4695-be38-59298dc86cb6"
                ],
                "changeType": "ADDED",
                "computeResource": {
                    "resourceId": "dd5731bb-50f1-47e5-b1bf-ae0c34fd646e",
                    "vimConnectionId": "vim1",
                    "vimLevelResourceType": "OS::Nova::Server"
                },
                "id": "d9d06660-35d2-4c90-b9f0-139f38731e75",
                "vduId": "VDU1"
            }
        ]
    },
    "startTime": "2021-12-20T15:36:13Z",
    "stateEnteredTime": "2021-12-20T15:36:13Z",
    "vnfInstanceId": "10ed068e-1284-48f2-9b6e-1c443ace9cc6"
}
POST
/vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback

Rollback a VNF LCM operation occurrence (v2)

The POST method starts 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 rolling back an occurrence of the “InstantiateVnf” operation, the VNFM shall request to the VIM the release of the virtualised resources that were allocated for the related VNF instance. The “rollback” task shall be supported by the VNFM for any VNF LCM operation occurrence that represents an “InstantiateVnf” operation in FAILED_TEMP state.

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.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

409 - Conflict

This operation conflicted with another operation on this resource.

422 - Unprocessable Entity

The content type of the payload body is supported and the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema).

Request Parameters

Name

In

Type

Description

vnfLcmOpOccId

path

string

Identifier of the VNF lifecycle management operation occurrence.

POST
/vnflcm/v2/subscriptions

Create a new subscription (v2)

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

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

422 - Unprocessable Entity

The content type of the payload body is supported and the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema).

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.

vnfdIds (Optional)

body

string

If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.

vnfProductsFromProviders (Optional)

body

array

If present, match VNF instances that belong to VNF products from certain providers.

vnfProvider

body

string

Name of the VNF provider to match.

vnfProducts (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.

vnfProductName

body

string

Name of the VNF product to match.

versions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.

vnfSoftwareVersion

body

string

Software version to match.

vnfdVersions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.

vnfInstanceIds (Optional)

body

array

If present, match VNF instances with an instance identifier listed in this attribute.

vnfInstanceNames (Optional)

body

array

If present, match VNF instances with a VNF Instance Name listed in this attribute.

notificationTypes (Optional)

body

array

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

array

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

array

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

array

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 token, obtained using the client credentials grant type after authenticating using client identifier and client password towards the token endpoint.

OAUTH2_CLIENT_CERT: In every HTTP request to the notification endpoint, use an OAuth 2.0 token, obtained using the client credentials grant type after mutually authenticating using client identifier and X.509 certificates towards the token endpoint.

TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the server is authenticated, but also the client is authenticated during the TLS tunnel setup.

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.

paramsOauth2ClientCert (Optional)

body

object

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

clientId

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.

certificateRef

body

object

Fingerprint of the client certificate. The hash function shall use SHA256 or higher. Shall be present if it has not been provisioned out of band.

type

body

string

The type of fingerprint. Permitted values:

x5t#S256: The SHA-256 thumbprint of the X.509 certificate as defined in section 4.1.8 of IETF RFC 7515.

value

body

string

The fingerprint value as defined by the type. Shall be present if it has not been provisioned out of band.

tokenEndpoint

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.

verbosity (Optional)

body

enum

This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, it shall default to the value “FULL”.

Request Example

{
    "callbackUri": "http://127.0.0.1/"
}

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.

vnfdIds (Optional)

body

string

If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.

vnfProductsFromProviders (Optional)

body

array

If present, match VNF instances that belong to VNF products from certain providers.

vnfProvider

body

string

Name of the VNF provider to match.

vnfProducts (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.

vnfProductName

body

string

Name of the VNF product to match.

versions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.

vnfSoftwareVersion

body

string

Software version to match.

vnfdVersions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.

vnfInstanceIds (Optional)

body

array

If present, match VNF instances with an instance identifier listed in this attribute.

vnfInstanceNames (Optional)

body

array

If present, match VNF instances with a VNF Instance Name listed in this attribute.

notificationTypes (Optional)

body

array

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

array

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

array

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.

verbosity

body

enum

This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, it shall default to the value “FULL”.

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/084cf869-d787-4c1a-b43b-405a25ed98da"
        }
    },
    "callbackUri": "http://127.0.0.1/",
    "id": "084cf869-d787-4c1a-b43b-405a25ed98da",
    "verbosity": "FULL"
}
DELETE
/vnflcm/v2/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

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

Request Parameters

Name

In

Type

Description

subscriptionId

path

string

Identifier of the subscription.

GET
/vnflcm/v2/subscriptions/{subscriptionId}

Show subscription (v2)

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

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

404 - Not Found

The requested resource could not be found.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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

Filter criteria to select VNF instances about which to notify.

vnfdIds (Optional)

body

string

If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.

vnfProductsFromProviders (Optional)

body

array

If present, match VNF instances that belong to VNF products from certain providers.

vnfProvider

body

string

Name of the VNF provider to match.

vnfProducts (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.

vnfProductName

body

string

Name of the VNF product to match.

versions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.

vnfSoftwareVersion

body

string

Software version to match.

vnfdVersions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.

vnfInstanceIds (Optional)

body

array

If present, match VNF instances with an instance identifier listed in this attribute.

vnfInstanceNames (Optional)

body

array

If present, match VNF instances with a VNF Instance Name listed in this attribute.

notificationTypes (Optional)

body

array

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

array

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

array

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.

verbosity

body

enum

This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, it shall default to the value “FULL”.

_links

body

object

Links to resources related to this resource.

Response Example

{
    "_links": {
        "self": {
            "href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
        }
    },
    "callbackUri": "http://127.0.0.1/",
    "id": "cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d",
    "verbosity": "FULL"
}
GET
/vnflcm/v2/subscriptions

List subscription (v2)

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.

It supports attribute-based filtering in ETSI NFV SOL013 v3.4.1. The detail of attribute-based filtering is described in SOL013 v3.4.1 clause 5.2.

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.

406 - Not Acceptable

Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request.

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.

vnfdIds (Optional)

body

string

If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.

vnfProductsFromProviders (Optional)

body

array

If present, match VNF instances that belong to VNF products from certain providers.

vnfProvider

body

string

Name of the VNF provider to match.

vnfProducts (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.

vnfProductName

body

string

Name of the VNF product to match.

versions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.

vnfSoftwareVersion

body

string

Software version to match.

vnfdVersions (Optional)

body

array

If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.

vnfInstanceIds (Optional)

body

array

If present, match VNF instances with an instance identifier listed in this attribute.

vnfInstanceNames (Optional)

body

array

If present, match VNF instances with a VNF Instance Name listed in this attribute.

notificationTypes (Optional)

body

array

Match particular notification types. Permitted values:

VnfLcmOperationOccurrenceNotification

VnfIdentifierCreationNotification

VnfIdentifierDeletionNotification

operationTypes (Optional)

body

array

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

array

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.

verbosity

body

enum

This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, it shall default to the value “FULL”.

_links

body

object

Links to resources related to this resource.

Response Example

[
    {
        "_links": {
            "self": {
                "href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
            }
        },
        "callbackUri": "http://127.0.0.1/",
        "id": "cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d",
        "verbosity": "FULL"
    }
]