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.
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"
}
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"
}
}
}
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"
}
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"]
}
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. |
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"
}
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"
}
]
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"
}
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"
}
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"
}
}
}
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"
}
}
}
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"
}
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"
}
]
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. |
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"
}
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. |
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 is not supported. |
paramsBasic (Optional) |
body |
object |
Parameters for authentication/authorization using BASIC. Shall be present if authType is “BASIC” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
userName (Optional) |
body |
string |
Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
password (Optional) |
body |
string |
Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
paramsOauth2ClientCredentials (Optional) |
body |
object |
Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is “OAUTH2_CLIENT_CREDENTIALS” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
clientId (Optional) |
body |
string |
Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
clientPassword (Optional) |
body |
string |
Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
tokenEndpoint (Optional) |
body |
string |
The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. |
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"
}
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. |
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"
}
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"
}
]