Virtualized Network Function Lifecycle Management Interface (VNF LCM)¶
Virtualized Network Function Lifecycle Management Interface (VNF LCM)¶
This interface manages the VNF lifecycle management operations of VNF instances.
This interface allows the NFVO to invoke VNF lifecycle management operations of VNF instances towards the VNFM.
The POST method creates a new VNF instance resource.
As the result of successfully executing this method, a new Individual VNF instance resource shall have been created, and the value of the instantiationState attribute in the representation of that resource shall be NOT_INSTANTIATED.
Response Codes¶
Success¶
Code |
Reason |
---|---|
201 - Created |
Resource was created and is ready to use. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfdId |
body |
string |
Identifier that identifies the VNFD which defines the VNF instance to be created. |
vnfInstanceName (Optional) |
body |
string |
Human-readable name of the VNF instance to be created. |
vnfInstanceDescription (Optional) |
body |
string |
Human-readable description of the VNF instance to be created. |
metadata (Optional) |
body |
array |
This attribute provides values for the “metadata” attribute in “VnfInstance”. |
Request Example¶
{
"vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
"vnfInstanceName": "Instance name",
"vnfInstanceDescription": "Instance description"
}
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of the VNF instance. |
vnfInstanceName (Optional) |
body |
string |
Name of the VNF instance. |
vnfInstanceDescription (Optional) |
body |
string |
Human-readable description of the VNF instance. |
vnfdId |
body |
string |
Identifier of the VNFD on which the VNF instance is based. |
vnfProvider |
body |
string |
Provider of the VNF and the VNFD. The value is copied from the VNFD. |
vnfProductName |
body |
string |
Name to identify the VNF Product. The value is copied from the VNFD. |
vnfSoftwareVersion |
body |
string |
Software version of the VNF. The value is copied from the VNFD. |
vnfdVersion |
body |
string |
Identifies the version of the VNFD. The value is copied from the VNFD. |
vnfPkgId |
body |
string |
Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method. |
instantiationState |
body |
string |
The instantiation state of the VNF instance. NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. INSTANTIATED: The VNF instance is instantiated. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
{
"id": "cda383ea-8341-4731-93c7-19db4b5ce1b5",
"instantiationState": "NOT_INSTANTIATED",
"vnfInstanceDescription": "Instance description",
"vnfInstanceName": "Instance name",
"vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
"vnfdVersion": "1.0",
"_links": {
"instantiate": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5/instantiate"
},
"self": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5"
}
}
}
The POST method instantiates a VNF instance.
Once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall set the instantiationState attribute to the value INSTANTIATED and the vnfState attribute to the value STARTED in the representation of the Individual VNF instance resource.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
flavourId |
body |
string |
Identifier of the VNF deployment flavour to be instantiated. |
instantiationLevelId (Optional) |
body |
string |
Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated. |
extVirtualLinks (Optional) |
body |
array |
Information about external VLs to connect the VNF to. |
id |
body |
string |
The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
resourceId |
body |
string |
The identifier of the resource in the scope of the VIM or the resource provider. |
extCps |
body |
array |
External CPs of the VNF to be connected to this external VL. |
cpdId |
body |
string |
The identifier of the CPD in the VNFD. |
cpConfig (Optional) |
body |
array |
List of instance data that need to be configured on the CP instances created from the respective CPD. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied. Shall be present if this instance has already been created. |
linkPortId (Optional) |
body |
string |
Identifier of a pre-configured link port to which the external CP will be associated. See note. |
cpProtocolData (Optional) |
body |
array |
Parameters for configuring the network protocols on the link port that connects the CP to a VL. |
layerProtocol |
body |
string |
Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address. If this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present. |
ipAddresses (Optional) |
body |
array |
List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
fixedAddresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
numDynamicAddresses (Optional) |
body |
int |
Number of set the dynamic address. Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
extLinkPorts (Optional) |
body |
array |
Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised resource realizing this link port. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
extManagedVirtualLinks (Optional) |
body |
array |
List of information about internal VLs that are managed by the NFVO. |
id |
body |
string |
The identifier of the externally-managed internal VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
vnfVirtualLinkDescId |
body |
string |
The identifier of the VLD in the VNFD for this VL. |
resourceId |
body |
string |
The identifier of the resource in the scope of the VIM or the resource provider. |
vimConnectionInfo (Optional) |
body |
array |
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
additionalParams |
body |
string |
Additional input parameters for the flavour change process, specific to the VNF being modified, as declared in the VNFD as part of “ChangeVnfFlavourOpConfig”. |
Request Example¶
{
"flavourId": "simple",
"extVirtualLinks": [
{
"id": "ext-vl-uuid-VL1"
"resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f",
"extCps": [
{
"cpdId": "CP2",
"cpConfig": [
{
"linkPortId": "1d868d02-ecd4-4402-8e6b-54e77ebdcc28",
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses":[
{
"type": "IPV4",
"numDynamicAddresses": 1
}
]
}
}
]
}
]
}
],
"extLinkPorts": [
{
"id": "1d868d02-ecd4-4402-8e6b-54e77ebdcc28",
"resourceHandle": {
"resourceId": "109f5049-b51e-409a-9a99-d740ba5f3acb",
"vimLevelResourceType": "LINKPORT"
}
}
]
},
{
"id": "ext-vl-uuid-VL1",
"resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f",
"extCps": [
{
"cpdId": "CP1",
"cpConfig": [
{
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"macAddress": "fa:16:3e:22:17:05"
}
}
]
}
]
}
]
}
],
"extManagedVirtualLinks": [
{
"id": "extMngVLnk-uuid_VL3",
"vnfVirtualLinkDescId": "VL4",
"resourceId": "991a1e07-e8a2-4e1b-b77d-3937177a5b7f"
}
],
"vimConnectionInfo": [
{
"id": "8a3adb69-0784-43c7-833e-aab0b6ab4470",
"vimId": "c576eb55-5bec-4881-a573-5b0f3a05c370",
"vimType": "openstack"
}
]
}
This task resource represents the “Terminate VNF” operation. The client can use this resource to terminate a VNF instance.
The POST method terminates a VNF instance.
Once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall set the instantiationState attribute in the representation of the Individual VNF instance resource to the value NOT_INSTANTIATED.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
terminationType |
body |
string |
Indicates whether forceful or graceful termination is requested. Permitted values: FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request. GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or once the timer value specified in the “gracefulTerminationTimeout” attribute expires, the VNFM will shut down the VNF and release the resources. |
gracefulTerminationTimeout (Optional) |
body |
string |
This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be taken out of service before shutting down the VNF and releasing the resources. The unit is seconds. If not given and the “terminationType” attribute is set to “GRACEFUL”, it is expected that the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting down the VNF and releasing the resources. |
Request Example¶
{
"terminationType": "GRACEFUL",
"gracefulTerminationTimeout": 10
}
This task resource represents the “Heal VNF” operation. The client can use this resource to request healing a VNF instance.
The POST method requests to heal a VNF instance.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
cause (Optional) |
body |
string |
Indicates the reason why a healing procedure is required. |
vnfcInstanceId (Optional) |
body |
array |
List of VNFC instances requiring a healing action. |
Request Example¶
{
"cause": "healing",
"vnfcInstanceId": ["c51c98dc-b918-4681-a9eb-4f32a57c4e08"]
}
This method deletes an “Individual VNF instance” resource.
As the result of successfully executing this method, the “Individual VNF instance” resource shall not exist any longer.
Response Codes¶
Success¶
Code |
Reason |
---|---|
204 - No Content |
The server has fulfilled the request by deleting the resource. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
Show information of given individual VNF instance.
The GET method retrieves information about a VNF instance by reading an “Individual VNF instance” resource.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
path |
string |
Identifier of the VNF instance. |
vnfInstanceName (Optional) |
body |
string |
Name of the VNF instance. |
vnfInstanceDescription (Optional) |
body |
string |
Human-readable description of the VNF instance. |
vnfdId |
body |
string |
Identifier of the VNFD on which the VNF instance is based. |
vnfProvider |
body |
string |
Provider of the VNF and the VNFD. The value is copied from the VNFD. |
vnfProductName |
body |
string |
Name to identify the VNF Product. The value is copied from the VNFD. |
vnfSoftwareVersion |
body |
string |
Software version of the VNF. The value is copied from the VNFD. |
vnfdVersion |
body |
string |
Identifies the version of the VNFD. The value is copied from the VNFD. |
vnfPkgId |
body |
string |
Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method. |
vimConnectionInfo (Optional) |
body |
array |
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
instantiationState |
body |
string |
The instantiation state of the VNF instance. NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. INSTANTIATED: The VNF instance is instantiated. |
instantiatedVnfInfo (Optional) |
body |
object |
Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. |
flavourId |
body |
string |
Identifier of the VNF deployment flavour applied to this VNF instance. |
vnfState (Optional) |
body |
string |
State of the VNF instance. |
scaleStatus (Optional) |
body |
array |
Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled with reference to that aspect. This attribute shall be present if the VNF supports scaling. |
aspectId |
body |
string |
Identifier of the scaling aspect. |
scaleLevel |
body |
string |
Indicates the scale level. The minimum value shall be 0 and the maximum value shall be less than or equal to maxScaleLevel as described in the VNFD. |
extCpInfo |
body |
array |
Information about the external CPs exposed by the VNF instance. |
id |
body |
string |
Identifier of the external CP instance and the related information instance. |
cpdId |
body |
string |
Identifier of the external CPD, VnfExtCpd, in the VNFD. An identifier that is unique for the respective type within a VNF instance, but that need not be globally unique. Representation: string of variable length. |
cpProtocolInfo |
body |
array |
Network protocol information for this CP. |
layerProtocol |
body |
string |
The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address, if assigned. |
ipAddresses (Optional) |
body |
array |
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
addresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
isDynamic (Optional) |
body |
boolean |
Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
extLinkPortId (Optional) |
body |
string |
Identifier of the “extLinkPortInfo” structure inside the “extVirtualLinkInfo” structure. Shall be present if the CP is associated to a link port. |
metadata (Optional) |
body |
string |
Metadata about this external CP. |
associatedVnfcCpId (Optional) |
body |
string |
Identifier of the “vnfcCpInfo” structure in “VnfcResourceInfo” structure that represents the VNFC CP which is exposed by this external CP instance. Shall be present in case this CP instance maps to a VNFC CP. |
extVirtualLinkInfo (Optional) |
body |
array |
Information about the external VLs the VNF instance is connected to. |
id |
body |
string |
Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
extLinkPorts (Optional) |
body |
array |
Link ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an “extCpInfo” item in the VnfInstance. |
extManagedVirtualLinkInfo (Optional) |
body |
array |
Information about the externally-managed internal VLs of the VNF instance. |
id |
body |
string |
Identifier of the externally-managed internal VL and the related externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfLinkPorts (Optional) |
body |
array |
Links ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised network resource realizing this link port. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance. |
vnfcResourceInfo (Optional) |
body |
array |
Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. |
id |
body |
string |
Identifier of this VnfcResourceInfo instance. |
vduId |
body |
string |
Reference to the applicable VDU in the VNFD. |
computeResource |
body |
object |
Reference to the VirtualCompute resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
storageResourceIds (Optional) |
body |
array |
References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. |
vnfcCpInfo (Optional) |
body |
array |
CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. |
id |
body |
string |
Identifier of this VNFC CP instance and the associated array entry. |
cpdId |
body |
string |
Identifier of the VDU CPD, cpdId, in the VNFD. |
vnfExtCpId (Optional) |
body |
string |
When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP. |
cpProtocolInfo (Optional) |
body |
array |
Network protocol information for this CP. |
layerProtocol |
body |
string |
The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address, if assigned. |
ipAddresses (Optional) |
body |
array |
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
addresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
isDynamic (Optional) |
body |
boolean |
Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
vnfLinkPortId (Optional) |
body |
string |
Identifier of the “vnfLinkPorts” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port. |
vnfVirtualLinkResourceInfo (Optional) |
body |
array |
Information about the virtualised network resources used by the VLs of the VNF instance. |
id |
body |
string |
Identifier of this VnfVirtualLinkResourceInfo instance. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfLinkPorts (Optional) |
body |
array |
Links ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised network resource realizing this link port. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance. |
virtualStorageResourceInfo (Optional) |
body |
array |
Information about the virtualised storage resources used as storage for the VNF instance. |
id |
body |
string |
Identifier of this VirtualStorageResourceInfo instance. |
virtualStorageDescId |
body |
string |
Identifier of the VirtualStorageDesc in the VNFD. |
storageResource |
body |
object |
Reference to the VirtualStorage resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfcInfo |
body |
string |
Information about the VNFC instances. |
id |
body |
string |
Identifier of the VNFC instance. |
vduId |
body |
string |
Reference to the applicable VDU information element in the VNFD. |
vnfcState |
body |
string |
State of the VNFC instance. Permitted values: STARTED: The VNFC instance is up and running. STOPPED: The VNFC instance has been shut down. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
{
"id": "27d7c019-39d1-4203-93b2-fe3776bbea74",
"instantiatedVnfInfo": {
"additionalParams": {
"lcm-operation-user-data": "./UserData/lcm_user_data.py",
"lcm-operation-user-data-class": "SampleUserData"
},
"extCpInfo": [
{
"associatedVnfcCpId": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [],
"isDynamic": true,
"subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
"type": "IPV4"
}
],
"macAddress": null
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "CP1",
"extLinkPortId": null,
"id": "491bc7a8-4eb8-43c3-be96-d69f5a3262ff"
}
],
"extVirtualLinkInfo": [
{
"id": "net0",
"resourceHandle": {
"resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
"vimConnectionId": null,
"vimLevelResourceType": null
}
}
],
"flavourId": "simple",
"vnfState": "STARTED",
"vnfVirtualLinkResourceInfo": [
{
"id": "cb63f573-472e-425e-a4c8-c6e47169fd74",
"networkResource": {
"resourceId": "",
"vimConnectionId": null,
"vimLevelResourceType": null
},
"vnfLinkPorts": [
{
"cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"id": "fa7dbb85-1f97-4794-9811-699126ab93f2",
"resourceHandle": {
"resourceId": "65cdb3c3-35bb-4f91-8ac5-b165e22381c8",
"vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL1"
},
{
"id": "01cf48a2-bd32-4a81-a0ed-768e4f8ff0fa",
"networkResource": {
"resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
"vimConnectionId": null,
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPorts": [
{
"cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"id": "7188b765-285c-43a8-a889-07a32afb3530",
"resourceHandle": {
"resourceId": "",
"vimConnectionId": null,
"vimLevelResourceType": null
}
}
],
"vnfVirtualLinkDescId": "net0"
}
],
"vnfcInfo": [
{
"id": "3771810f-f5b0-493f-9e3c-60719e227be6",
"vduId": "VDU1",
"vnfcState": "STARTED"
}
],
"vnfcResourceInfo": [
{
"computeResource": {
"resourceId": "ebd3eeac-b1c6-4375-a625-d743e9892b6e",
"vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
"storageResourceIds": [],
"vduId": "VDU1",
"vnfcCpInfo": [
{
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [],
"isDynamic": true,
"subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
"type": "IPV4"
}
],
"macAddress": null
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "CP1",
"id": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"vnfExtCpId": null,
"vnfLinkPortId": "7188b765-285c-43a8-a889-07a32afb3530"
}
]
}
]
},
"instantiationState": "INSTANTIATED",
"metadata": {
"tenant": "nfv"
},
"vimConnectionInfo": [
{
"accessInfo": {},
"extra": {},
"id": "e24f9796-a8e9-4cb0-85ce-5920dcddafa1",
"interfaceInfo": {},
"vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2"
},
{
"accessInfo": {},
"extra": {},
"id": "32596836-7ac3-4213-9ae3-3469d7e09294",
"interfaceInfo": {},
"vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimType": "openstack"
}
],
"vnfInstanceName": "vnf-27d7c019-39d1-4203-93b2-fe3776bbea74",
"vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
"vnfdVersion": "1.0",
"_links": {
"changeExtConn": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/change_ext_conn"
},
"heal": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/heal"
},
"scale": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/scale"
},
"self": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74"
},
"terminate": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/terminate"
}
}
}
The GET method queries information about multiple VNF instances. In Victoria release, added attribute-based filtering expression (for VnfInstance) that follows clause 5.2 of ETSI GS NFV SOL13.
If a response includes a LINK HTTP header (see IETF RFC 8288 [1]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
path |
string |
Identifier of the VNF instance. |
vnfInstanceName (Optional) |
body |
string |
Name of the VNF instance. |
vnfInstanceDescription (Optional) |
body |
string |
Human-readable description of the VNF instance. |
vnfdId |
body |
string |
Identifier of the VNFD on which the VNF instance is based. |
vnfProvider |
body |
string |
Provider of the VNF and the VNFD. The value is copied from the VNFD. |
vnfProductName |
body |
string |
Name to identify the VNF Product. The value is copied from the VNFD. |
vnfSoftwareVersion |
body |
string |
Software version of the VNF. The value is copied from the VNFD. |
vnfdVersion |
body |
string |
Identifies the version of the VNFD. The value is copied from the VNFD. |
vnfPkgId |
body |
string |
Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier is allocated by the NFVO and can be modified with the PATCH method. |
vimConnectionInfo (Optional) |
body |
array |
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
instantiationState |
body |
string |
The instantiation state of the VNF instance. NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. INSTANTIATED: The VNF instance is instantiated. |
instantiatedVnfInfo (Optional) |
body |
object |
Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. |
flavourId |
body |
string |
Identifier of the VNF deployment flavour applied to this VNF instance. |
vnfState (Optional) |
body |
string |
State of the VNF instance. |
scaleStatus (Optional) |
body |
array |
Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how “big” the VNF has been scaled with reference to that aspect. This attribute shall be present if the VNF supports scaling. |
aspectId |
body |
string |
Identifier of the scaling aspect. |
scaleLevel |
body |
string |
Indicates the scale level. The minimum value shall be 0 and the maximum value shall be less than or equal to maxScaleLevel as described in the VNFD. |
extCpInfo |
body |
array |
Information about the external CPs exposed by the VNF instance. |
id |
body |
string |
Identifier of the external CP instance and the related information instance. |
cpdId |
body |
string |
Identifier of the external CPD, VnfExtCpd, in the VNFD. An identifier that is unique for the respective type within a VNF instance, but that need not be globally unique. Representation: string of variable length. |
cpProtocolInfo |
body |
array |
Network protocol information for this CP. |
layerProtocol |
body |
string |
The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address, if assigned. |
ipAddresses (Optional) |
body |
array |
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
addresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
isDynamic (Optional) |
body |
boolean |
Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
extLinkPortId (Optional) |
body |
string |
Identifier of the “extLinkPortInfo” structure inside the “extVirtualLinkInfo” structure. Shall be present if the CP is associated to a link port. |
metadata (Optional) |
body |
string |
Metadata about this external CP. |
associatedVnfcCpId (Optional) |
body |
string |
Identifier of the “vnfcCpInfo” structure in “VnfcResourceInfo” structure that represents the VNFC CP which is exposed by this external CP instance. Shall be present in case this CP instance maps to a VNFC CP. |
extVirtualLinkInfo (Optional) |
body |
array |
Information about the external VLs the VNF instance is connected to. |
id |
body |
string |
Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
extLinkPorts (Optional) |
body |
array |
Link ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an “extCpInfo” item in the VnfInstance. |
extManagedVirtualLinkInfo (Optional) |
body |
array |
Information about the externally-managed internal VLs of the VNF instance. |
id |
body |
string |
Identifier of the externally-managed internal VL and the related externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfLinkPorts (Optional) |
body |
array |
Links ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised network resource realizing this link port. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance. |
vnfcResourceInfo (Optional) |
body |
array |
Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. |
id |
body |
string |
Identifier of this VnfcResourceInfo instance. |
vduId |
body |
string |
Reference to the applicable VDU in the VNFD. |
computeResource |
body |
object |
Reference to the VirtualCompute resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
storageResourceIds (Optional) |
body |
array |
References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. |
vnfcCpInfo (Optional) |
body |
array |
CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. |
id |
body |
string |
Identifier of this VNFC CP instance and the associated array entry. |
cpdId |
body |
string |
Identifier of the VDU CPD, cpdId, in the VNFD. |
vnfExtCpId (Optional) |
body |
string |
When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP. |
cpProtocolInfo (Optional) |
body |
array |
Network protocol information for this CP. |
layerProtocol |
body |
string |
The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
IP addresses over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address, if assigned. |
ipAddresses (Optional) |
body |
array |
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
addresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
isDynamic (Optional) |
body |
boolean |
Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if “addresses” is present and shall be absent otherwise. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
vnfLinkPortId (Optional) |
body |
string |
Identifier of the “vnfLinkPorts” structure in the “VnfVirtualLinkResourceInfo” structure. Shall be present if the CP is associated to a link port. |
vnfVirtualLinkResourceInfo (Optional) |
body |
array |
Information about the virtualised network resources used by the VLs of the VNF instance. |
id |
body |
string |
Identifier of this VnfVirtualLinkResourceInfo instance. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfLinkPorts (Optional) |
body |
array |
Links ports of this VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised network resource realizing this link port. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
When the link port is used for external connectivity by the VNF, this attribute represents the identifier associated with this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. May be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an “extCpInfo” item in the VnfInstance or a “vnfcCpInfo” item of a “vnfcResourceInfo” item in the VnfInstance. |
virtualStorageResourceInfo (Optional) |
body |
array |
Information about the virtualised storage resources used as storage for the VNF instance. |
id |
body |
string |
Identifier of this VirtualStorageResourceInfo instance. |
virtualStorageDescId |
body |
string |
Identifier of the VirtualStorageDesc in the VNFD. |
storageResource |
body |
object |
Reference to the VirtualStorage resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vnfcInfo |
body |
string |
Information about the VNFC instances. |
id |
body |
string |
Identifier of the VNFC instance. |
vduId |
body |
string |
Reference to the applicable VDU information element in the VNFD. |
vnfcState |
body |
string |
State of the VNFC instance. Permitted values: STARTED: The VNFC instance is up and running. STOPPED: The VNFC instance has been shut down. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
[
{
"id": "27d7c019-39d1-4203-93b2-fe3776bbea74",
"instantiatedVnfInfo": {
"additionalParams": {
"lcm-operation-user-data": "./UserData/lcm_user_data.py",
"lcm-operation-user-data-class": "SampleUserData"
},
"extCpInfo": [
{
"associatedVnfcCpId": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [],
"isDynamic": true,
"subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
"type": "IPV4"
}
],
"macAddress": null
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "CP1",
"extLinkPortId": null,
"id": "491bc7a8-4eb8-43c3-be96-d69f5a3262ff"
}
],
"extVirtualLinkInfo": [
{
"id": "net0",
"resourceHandle": {
"resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
"vimConnectionId": null,
"vimLevelResourceType": null
}
}
],
"flavourId": "simple",
"vnfState": "STARTED",
"vnfVirtualLinkResourceInfo": [
{
"id": "cb63f573-472e-425e-a4c8-c6e47169fd74",
"networkResource": {
"resourceId": "",
"vimConnectionId": null,
"vimLevelResourceType": null
},
"vnfLinkPorts": [
{
"cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"id": "fa7dbb85-1f97-4794-9811-699126ab93f2",
"resourceHandle": {
"resourceId": "65cdb3c3-35bb-4f91-8ac5-b165e22381c8",
"vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL1"
},
{
"id": "01cf48a2-bd32-4a81-a0ed-768e4f8ff0fa",
"networkResource": {
"resourceId": "9179e873-ace2-4c4b-b1f3-318576baba78",
"vimConnectionId": null,
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPorts": [
{
"cpInstanceId": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"id": "7188b765-285c-43a8-a889-07a32afb3530",
"resourceHandle": {
"resourceId": "",
"vimConnectionId": null,
"vimLevelResourceType": null
}
}
],
"vnfVirtualLinkDescId": "net0"
}
],
"vnfcInfo": [
{
"id": "3771810f-f5b0-493f-9e3c-60719e227be6",
"vduId": "VDU1",
"vnfcState": "STARTED"
}
],
"vnfcResourceInfo": [
{
"computeResource": {
"resourceId": "ebd3eeac-b1c6-4375-a625-d743e9892b6e",
"vimConnectionId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "4c59e5ce-85c1-4d58-9c29-d4c88826fd6f",
"storageResourceIds": [],
"vduId": "VDU1",
"vnfcCpInfo": [
{
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [],
"isDynamic": true,
"subnetId": "8d0bee9e-c2f0-470a-abd8-606e84d888a6",
"type": "IPV4"
}
],
"macAddress": null
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "CP1",
"id": "adcc13bd-c6ef-4c4f-83b6-b366d43e659d",
"vnfExtCpId": null,
"vnfLinkPortId": "7188b765-285c-43a8-a889-07a32afb3530"
}
]
}
]
},
"instantiationState": "INSTANTIATED",
"metadata": {
"tenant": "nfv"
},
"vimConnectionInfo": [
{
"accessInfo": {},
"extra": {},
"id": "e24f9796-a8e9-4cb0-85ce-5920dcddafa1",
"interfaceInfo": {},
"vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2"
},
{
"accessInfo": {},
"extra": {},
"id": "32596836-7ac3-4213-9ae3-3469d7e09294",
"interfaceInfo": {},
"vimId": "95ccd60b-d8e9-4e65-ac31-1c1c839d9896",
"vimType": "openstack"
}
],
"vnfInstanceName": "vnf-27d7c019-39d1-4203-93b2-fe3776bbea74",
"vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
"vnfdVersion": "1.0",
"_links": {
"changeExtConn": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/change_ext_conn"
},
"heal": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/heal"
},
"scale": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/scale"
},
"self": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74"
},
"terminate": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/27d7c019-39d1-4203-93b2-fe3776bbea74/terminate"
}
}
},
{
"id": "cda383ea-8341-4731-93c7-19db4b5ce1b5",
"instantiationState": "NOT_INSTANTIATED",
"vnfInstanceDescription": "Instance description",
"vnfInstanceName": "Instance name",
"vnfPkgId": "5ac73423-f102-4574-911e-578dad9fa8fe",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
"vnfdVersion": "1.0",
"_links": {
"instantiate": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5/instantiate"
},
"self": {
"href": "http://localhost:9890/vnflcm/v1/vnf_instances/cda383ea-8341-4731-93c7-19db4b5ce1b5"
}
}
}
]
This task resource represents the “Scale VNF” operation. The client can use this resource to request scaling a VNF instance.
The POST method requests to scale a VNF instance.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
type |
body |
string |
Indicates the type of the scale operation requested. Permitted values: SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity. SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. |
aspectId |
body |
string |
Identifier of the scaling aspect. |
numberOfSteps (Optional) |
body |
int |
Number of scaling steps to be executed as part of this Scale VNF operation. It shall be a positive number and the default value shall be 1. |
additionalParams (Optional) |
body |
string |
Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD as part of “ScaleVnfOpConfig”. |
Request Example¶
{
"type": "SCALE_OUT",
"aspectId": "scale_aspect",
"numberOfSteps": "1"
}
This method modifies an “Individual VNF instance” resource.
Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource.
According to the ETSI NFV SOL document, there is no API request/response specification for Etag yet, and transactions using Etag are not defined by standardization. Therefore, the Victoria release does not support Error Code: 412 Precondition Failed. Once a standard specification for this is established, it will be installed on the tacker.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
vnfInstanceName (Optional) |
body |
string |
New value of the “vnfInstanceName” attribute in “VnfInstance”, or “null” to remove the attribute. |
vnfInstanceDescription (Optional) |
body |
string |
New value of the “vnfInstanceDescription” attribute in “VnfInstance”, or “null” to remove the attribute. |
vnfdId (Optional) |
body |
string |
New value of the “vnfdId” attribute in “VnfInstance”. The value “null” is not permitted. |
vnfPkgId (Optional) |
body |
string |
New value of the “vnfPkgId” attribute in “VnfInstance”. The value “null” is not permitted. |
metadata (Optional) |
body |
string |
Modifications of the “metadata” attribute in “VnfInstance”. If present, these modifications shall be applied according to the rules of JSON Merge PATCH |
vimConnectionInfo (Optional) |
body |
string |
New content of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”, as defined below this table. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
username |
body |
string |
The username to use for access. |
region |
body |
string |
The OpenStack region to use for the VIM connection. |
password |
body |
string |
The password to use for access. |
tenant |
body |
string |
The OpenStack tenant to use for the VIM connection. |
Request Example¶
{
"vnfdId": "093c38b5-a731-4593-a578-d12e42596b3e"
}
The POST method changes the external connectivity of a VNF instance.
This task resource represents the “Change external VNF connectivity” operation. The client can use this resource to change the external connectivity of a VNF instance.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfInstanceId |
path |
string |
Identifier of the VNF instance. |
extVirtualLinks (Optional) |
body |
array |
Information about external VLs to connect the VNF to. |
id |
body |
string |
The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
The identifier of the resource in the scope of the VIM or the resource provider. |
extCps |
body |
array |
External CPs of the VNF to be connected to this external VL. |
cpdId |
body |
string |
The identifier of the CPD in the VNFD. |
cpConfig (Optional) |
body |
array |
List of instance data that need to be configured on the CP instances created from the respective CPD. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied. Shall be present if this instance has already been created. |
linkPortId (Optional) |
body |
string |
Identifier of a pre-configured link port to which the external CP will be associated. See note. |
cpProtocolData (Optional) |
body |
array |
Parameters for configuring the network protocols on the link port that connects the CP to a VL. |
layerProtocol |
body |
string |
Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET |
ipOverEthernet (Optional) |
body |
object |
Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to “IP_OVER_ETHERNET”, and shall be absent otherwise. |
macAddress (Optional) |
body |
string |
MAC address. If this attribute is not present, it shall be chosen by the VIM. At least one of “macAddress” or “ipAddresses” shall be present. |
ipAddresses (Optional) |
body |
array |
List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. |
type |
body |
string |
The type of the IP addresses. Permitted values: IPV4, IPV6. |
fixedAddresses (Optional) |
body |
array |
Fixed addresses to assign (from the subnet defined by “subnetId” if provided). Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
numDynamicAddresses (Optional) |
body |
int |
Number of set the dynamic address. Exactly one of “fixedAddresses” or “numDynamicAddresses” shall be present. |
subnetId (Optional) |
body |
string |
Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned. |
extLinkPorts (Optional) |
body |
array |
Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the virtualised resource realizing this link port. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
vimConnectionInfo (Optional) |
body |
array |
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
username |
body |
string |
The username to use for access. |
password |
body |
string |
The password to use for access. |
region |
body |
string |
The OpenStack region to use for the VIM connection. |
tenant |
body |
string |
The OpenStack tenant to use for the VIM connection. |
additionalParams |
body |
string |
Additional input parameters for the flavour change process, specific to the VNF being modified, as declared in the VNFD as part of “ChangeVnfFlavourOpConfig”. |
Request Example¶
{
"extVirtualLinks": [
{
"id": "ext-vl-uuid-VL1",
"resourceId": "neutron-network-uuid_VL1",
"extCps": [
{
"cpdId": "CP1",
"cpConfig": [
{
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"numDynamicAddresses": 1,
"subnetId": "subnet-uuid"
}
]
}
}
]
}
]
},
{
"cpdId": "CP2",
"cpConfig": [
{
"cpProtocolData": [
{
"layerProtocol": "IP_OVER_ETHERNET",
"ipOverEthernet": {
"ipAddresses": [
{
"type": "IPV4",
"fixedAddresses": [
"10.0.0.1"
],
"subnetId": "subnet-uuid"
}
]
}
}
]
}
]
}
]
}
],
"vimConnectionInfo": [
{
"id": "vim-uuid",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_2",
"vimConnectionId": "dummy-vimid",
"interfaceInfo": {
"key1": "value1",
"key2": "value2"
},
"accessInfo": {
"key1": "value1",
"key2": "value2"
}
}
]
}
The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an “Individual VNF LCM operation occurrence” resource.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfLcmOpOccId |
path |
string |
Identifier of the VNF lifecycle management operation occurrence. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this VNF lifecycle management operation occurrence. |
operationState |
body |
string |
The state of the LCM operation. |
stateEnteredTime |
body |
string |
Date-time when the current state has been entered. |
startTime |
body |
string |
Date-time of the start of the operation. |
vnfInstanceId |
body |
string |
Identifier of the VNF instance to which the operation applies. |
grantId (Optional) |
body |
string |
Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists. |
operation |
body |
string |
Type of the actual LCM operation represented by this VNF LCM operation occurrence. |
isAutomaticInvocation |
body |
boolean |
Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise. |
operationParams (Optional) |
body |
string |
Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: INSTANTIATE: InstantiateVnfRequest SCALE: ScaleVnfRequest HEAL: HealVnfRequest TERMINATE: TerminateVnfRequest MODIFY_INFO: VnfInfoModificationRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource. |
isCancelPending |
body |
boolean |
If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false. |
error (Optional) |
body |
object |
If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector. |
title (Optional) |
body |
string |
A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”. |
status |
body |
string |
The HTTP status code for this occurrence of the problem. |
detail |
body |
string |
A human-readable explanation specific to this occurrence of the problem. |
resourceChanges (Optional) |
body |
object |
This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. |
affectedVnfcs (Optional) |
body |
array |
Information about VNFC instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type. |
vduId |
body |
string |
Identifier of the related VDU in the VNFD. |
changeType |
body |
string |
Signals the type of change Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. |
computeResource |
body |
object |
Reference to the VirtualCompute resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVnfcCpIds (Optional) |
body |
array |
Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. |
addedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. |
removedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. |
affectedVirtualLinks (Optional) |
body |
array |
Information about VL instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY LINK_PORT_ADDED LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVirtualStorages (Optional) |
body |
array |
Information about virtualised storage instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type. |
virtualStorageDescId |
body |
string |
Identifier of the related VirtualStorage descriptor in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. |
storageResource |
body |
object |
Reference to the VirtualStorage resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
changedInfo (Optional) |
body |
object |
Information about the changed VNF instance information, including VNF configurable properties, if applicable. |
vnfInstanceName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”. |
vnfInstanceDescription (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”. |
metadata (Optional) |
body |
string |
If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”. |
vimConnectionInfo (Optional) |
body |
array |
If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
username |
body |
string |
The username to use for access. |
region |
body |
string |
The OpenStack region to use for the VIM connection. |
password |
body |
string |
The password to use for access. |
tenant |
body |
string |
The OpenStack tenant to use for the VIM connection. |
vnfPkgId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”. |
vnfdId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”. |
vnfProvider (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”. |
vnfProductName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”. |
vnfSotwareVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”. |
vnfdVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”. |
changedExtConnectivity (Optional) |
body |
object |
Information about changed external connectivity, if applicable |
id (Optional) |
body |
string |
Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
extLinkPorts (Optional) |
body |
array |
Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied. Shall be present if this instance has already been created. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
{
"id": "d85c6ae4-af16-42c0-96fc-82f7c014c468",
"operationState": "COMPLETED",
"stateEnteredTime": "2020-08-02T06:50:50.883373",
"startTime": "2020-08-02T06:41:34.883483",
"vnfInstanceId": "0b7b95a9-21d5-4ac4-80c8-9ae9f7323787",
"grantId": "3432cebe-db0a-11e8-9023-005056317abe",
"operation": "INSTANTIATE",
"isAutomaticInvocation": false,
"operationParams": "{
"flavourId": "default",
"instantiationLevelId": "vnf-min",
}"
"isCancelPending": false,
"resourceChanges": {
"affectedVnfcs": [
{
"id": "36e24439-829c-4803-a413-385cd658d544",
"vduId": "VDU",
"changeType": "ADDED",
"computeResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "e0510ba9-3a53-4fcf-9dcc-58dea5c048b0",
"vimLevelResourceType": "OS::Nova::Server",
},
"affectedVnfcCpIds": [
"VDU1_CP0",
"VDU1_CP1"
],
"addedStorageResourceIds": [
"81ae44f6-b65b-47aa-a578-e53b7a50a574"
]
}
],
"affectedVirtualLinks": [
{
"id": "9836f7f2-5af4-4df5-a89f-933479448ef7",
"vnfVirtualLinkDescId": "internalNW",
"changeType": "ADDED",
"networkResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "400692e5-b2db-478e-acb1-b77a92635ec6",
"vimLevelResourceType": "OS::Neutron::Net"
}
}
],
"affectedVirtualStorages": [
{
"id": "81ae44f6-b65b-47aa-a578-e53b7a50a574",
"virtualStorageDescId": "Storage",
"changeType": "ADDED",
"storageResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "842f527e-0092-4f11-aede-f981ba4fd884",
"vimLevelResourceType": "OS::Cinder::Volume"
}
}
]
},
"_links": {
"self": {
"href": "http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468"
},
"vnfInstance": {
"href": "http://sample1.com/vnflcm/v1/vnf_instances/0b7b95a9-21d5-4ac4-80c8-9ae9f7323787"
},
"grant": {
"href": "http://sample1.com/grant/v1/grants/3432cebe-db0a-11e8-9023-005056317abe"
},
"retry":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/retry"
},
"rollback":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/rollback"
},
"fail":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/fail"
}
}
}
The API consumer can use this method to query status information about multiple VNF lifecycle management operation occurrences.
If a response includes a LINK HTTP header (see IETF RFC 8288 [2]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this VNF lifecycle management operation occurrence. |
operationState |
body |
string |
The state of the LCM operation. |
stateEnteredTime |
body |
string |
Date-time when the current state has been entered. |
startTime |
body |
string |
Date-time of the start of the operation. |
vnfInstanceId |
body |
string |
Identifier of the VNF instance to which the operation applies. |
grantId (Optional) |
body |
string |
Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists. |
operation |
body |
string |
Type of the actual LCM operation represented by this VNF LCM operation occurrence. |
isAutomaticInvocation |
body |
boolean |
Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise. |
operationParams (Optional) |
body |
string |
Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: INSTANTIATE: InstantiateVnfRequest SCALE: ScaleVnfRequest HEAL: HealVnfRequest TERMINATE: TerminateVnfRequest MODIFY_INFO: VnfInfoModificationRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource. |
isCancelPending |
body |
boolean |
If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false. |
error (Optional) |
body |
object |
If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector. |
title (Optional) |
body |
string |
A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”. |
status |
body |
string |
The HTTP status code for this occurrence of the problem. |
detail |
body |
string |
A human-readable explanation specific to this occurrence of the problem. |
resourceChanges (Optional) |
body |
object |
This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. |
affectedVnfcs (Optional) |
body |
array |
Information about VNFC instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type. |
vduId |
body |
string |
Identifier of the related VDU in the VNFD. |
changeType |
body |
string |
Signals the type of change Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. |
computeResource |
body |
object |
Reference to the VirtualCompute resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVnfcCpIds (Optional) |
body |
array |
Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. |
addedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. |
removedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. |
affectedVirtualLinks (Optional) |
body |
array |
Information about VL instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY LINK_PORT_ADDED LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVirtualStorages (Optional) |
body |
array |
Information about virtualised storage instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type. |
virtualStorageDescId |
body |
string |
Identifier of the related VirtualStorage descriptor in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. |
storageResource |
body |
object |
Reference to the VirtualStorage resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
changedInfo (Optional) |
body |
object |
Information about the changed VNF instance information, including VNF configurable properties, if applicable. |
vnfInstanceName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”. |
vnfInstanceDescription (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”. |
metadata (Optional) |
body |
string |
If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”. |
vimConnectionInfo (Optional) |
body |
array |
If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
username |
body |
string |
The username to use for access. |
region |
body |
string |
The OpenStack region to use for the VIM connection. |
password |
body |
string |
The password to use for access. |
tenant |
body |
string |
The OpenStack tenant to use for the VIM connection. |
vnfPkgId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”. |
vnfdId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”. |
vnfProvider (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”. |
vnfProductName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”. |
vnfSotwareVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”. |
vnfdVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
[
{
"id": "d85c6ae4-af16-42c0-96fc-82f7c014c468",
"operationState": "COMPLETED",
"stateEnteredTime": "2020-08-02T06:50:50.883373",
"startTime": "2020-08-02T06:41:34.883483",
"vnfInstanceId": "0b7b95a9-21d5-4ac4-80c8-9ae9f7323787",
"grantId": "3432cebe-db0a-11e8-9023-005056317abe",
"operation": "INSTANTIATE",
"isAutomaticInvocation": false,
"operationParams": "{
'flavourId': 'default',
'instantiationLevelId': 'vnf-min',
}",
"isCancelPending": false,
"resourceChanges": {
"affectedVnfcs": [
{
"id": "36e24439-829c-4803-a413-385cd658d544",
"vduId": "VDU",
"changeType": "ADDED",
"computeResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "e0510ba9-3a53-4fcf-9dcc-58dea5c048b0",
"vimLevelResourceType": "OS::Nova::Server",
},
"affectedVnfcCpIds": [
"VDU1_CP0",
"VDU1_CP1"
],
"addedStorageResourceIds": [
"81ae44f6-b65b-47aa-a578-e53b7a50a574"
]
}
],
"affectedVirtualLinks": [
{
"id": "9836f7f2-5af4-4df5-a89f-933479448ef7",
"vnfVirtualLinkDescId": "internalNW",
"changeType": "ADDED",
"networkResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "400692e5-b2db-478e-acb1-b77a92635ec6",
"vimLevelResourceType": "OS::Neutron::Net"
}
}
],
"affectedVirtualStorages": [
{
"id": "81ae44f6-b65b-47aa-a578-e53b7a50a574",
"virtualStorageDescId": "Storage",
"changeType": "ADDED",
"storageResource": {
"vimConnectionId": "f26f181d-7891-4720-b022-b074ec1733ef",
"resourceId": "842f527e-0092-4f11-aede-f981ba4fd884",
"vimLevelResourceType": "OS::Cinder::Volume"
}
}
]
},
"_links": {
"self": {
"href": "http://sample.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468"
},
"vnfInstance": {
"href": "http://sample.com/vnflcm/v1/vnf_instances/0b7b95a9-21d5-4ac4-80c8-9ae9f7323787"
},
"grant":{
"href":"http://sample.com/grant/v1/grants/3432cebe-db0a-11e8-9023-005056317abe"
},
"retry":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/retry"
},
"rollback":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/rollback"
},
"fail":{
"href":"http://sample1.com/vnflcm/v1/vnf_lcm_op_occs/d85c6ae4-af16-42c0-96fc-82f7c014c468/fail"
}
}
}
]
The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related “Individual VNF LCM operation occurrence” resource is in “FAILED_TEMP” state.
In case of success of processing the asynchronous request, the “operationState” attribute in the representation of the parent resource shall be changed to “ROLLING_BACK” and the applicable “start” notification shall be emitted to indicate that rollback of the underlying VNF LCM operation occurrence is attempted.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfLcmOpOccId |
path |
string |
Identifier of the VNF lifecycle management operation occurrence. |
The POST method marks a VNF lifecycle management operation occurrence as “finally failed” if that operation occurrence is in “FAILED_TEMP” state
In case of success, the “operationState” attribute in the representation of the parent resource shall be changed to “FAILED” and the applicable “result” notification shall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence has finally and unrecoverably failed.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfLcmOpOccId |
path |
string |
Identifier of the VNF lifecycle management operation occurrence. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this VNF lifecycle management operation occurrence. |
operationState |
body |
string |
The state of the LCM operation. |
stateEnteredTime |
body |
string |
Date-time when the current state has been entered. |
startTime |
body |
string |
Date-time of the start of the operation. |
vnfInstanceId |
body |
string |
Identifier of the VNF instance to which the operation applies. |
grantId (Optional) |
body |
string |
Identifier of the grant related to this VNF LCM operation occurrence. Shall be set to the value of the “id” attribute in the “Grant” representing the associated “Individual Grant”, if such grant exists. |
operation |
body |
string |
Type of the actual LCM operation represented by this VNF LCM operation occurrence. |
isAutomaticInvocation |
body |
boolean |
Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf triggered by autoscale, or HealVnf triggered by auto-heal). Set to false otherwise. |
operationParams (Optional) |
body |
string |
Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: INSTANTIATE: InstantiateVnfRequest SCALE: ScaleVnfRequest HEAL: HealVnfRequest TERMINATE: TerminateVnfRequest MODIFY_INFO: VnfInfoModificationRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource. |
error (Optional) |
body |
object |
If “operationState” is “FAILED_TEMP” or “FAILED” or “operationState” is “PROCESSING” or “ROLLING_BACK” and previous value of “operationState” was “FAILED_TEMP”, this attribute shall be present and contain error information, unless it has been requested to be excluded via an attribute selector. |
title (Optional) |
body |
string |
A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be “about:blank”. |
status |
body |
string |
The HTTP status code for this occurrence of the problem. |
detail |
body |
string |
A human-readable explanation specific to this occurrence of the problem. |
isCancelPending |
body |
boolean |
If the VNF LCM operation occurrence is in “STARTING”, “PROCESSING” or “ROLLING_BACK” state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false. |
_links |
body |
object |
Links to resources related to this resource. |
resourceChanges (Optional) |
body |
object |
This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. |
affectedVnfcs (Optional) |
body |
array |
Information about VNFC instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the Vnfc instance, identifying the applicable “vnfcResourceInfo” entry in the “VnfInstance” data type. |
vduId |
body |
string |
Identifier of the related VDU in the VNFD. |
changeType |
body |
string |
Signals the type of change Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. |
computeResource |
body |
object |
Reference to the VirtualCompute resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVnfcCpIds (Optional) |
body |
array |
Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. |
addedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. |
removedStorageResourceIds (Optional) |
body |
array |
References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. |
affectedVirtualLinks (Optional) |
body |
array |
Information about VL instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the virtual link instance, identifying the applicable “vnfVirtualLinkResourceInfo” entry in the “VnfInstance” data type. |
vnfVirtualLinkDescId |
body |
string |
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY LINK_PORT_ADDED LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. |
networkResource |
body |
object |
Reference to the VirtualNetwork resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
affectedVirtualStorages (Optional) |
body |
array |
Information about virtualised storage instances that were affected during the lifecycle operation. |
id |
body |
string |
Identifier of the storage instance, identifying the applicable “virtualStorageResourceInfo” entry in the “VnfInstance” data type. |
virtualStorageDescId |
body |
string |
Identifier of the related VirtualStorage descriptor in the VNFD. |
changeType |
body |
string |
Signals the type of change. Permitted values: ADDED REMOVED MODIFIED TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. |
storageResource |
body |
object |
Reference to the VirtualStorage resource. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
changedInfo (Optional) |
body |
object |
Information about the changed VNF instance information, including VNF configurable properties, if applicable. |
vnfInstanceName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceName” attribute in “VnfInstance”. |
vnfInstanceDescription (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfInstanceDescription” attribute in “VnfInstance”. |
metadata (Optional) |
body |
string |
If present, this attribute signals modifications of the “metadata” attribute in “VnfInstance”. |
vimConnectionInfo (Optional) |
body |
array |
If present, this attribute signals modifications of certain entries in the “vimConnectionInfo” attribute array in “VnfInstance”. |
id |
body |
string |
The identifier of the VIM Connection. This identifier is managed by the NFVO. |
vimId (Optional) |
body |
string |
The identifier of the VIM instance. This identifier is managed by the NFVO. Shall be present to address additional information about the VIM if such information has been configured into the VNFM by means outside the scope of the present document, and should be absent otherwise. |
vimType (Optional) |
body |
string |
Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the “interfaceInfo” and “accessInfo” attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. |
interfaceInfo (Optional) |
body |
string |
Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM. The applicable keys are dependent on the content of vimType. Alternatively, such information may have been configured into the VNFM and bound to the vimId. |
endpoint |
body |
string |
The url representing the interface endpoint. |
accessInfo (Optional) |
body |
string |
Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups (see note). The applicable keys are dependent on the content of vimType. If the VimConnectionInfo structure is part of an HTTP response payload body, sensitive attributes that are children of this attributes (such as passwords) shall not be included. If the VimConnectionInfo structure is part of an HTTP request payload body, sensitive attributes that are children of this attribute (such as passwords) shall be present if they have not been provisioned out of band. |
username |
body |
string |
The username to use for access. |
region |
body |
string |
The OpenStack region to use for the VIM connection. |
password |
body |
string |
The password to use for access. |
tenant |
body |
string |
The OpenStack tenant to use for the VIM connection. |
vnfPkgId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfPkgId” attribute in “VnfInstance”. |
vnfdId (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdId” attribute in “VnfInstance”. |
vnfProvider (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProvider” attribute in “VnfInstance”. |
vnfProductName (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfProductName” attribute in “VnfInstance”. |
vnfSotwareVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfSoftwareVersion” attribute in “VnfInstance”. |
vnfdVersion (Optional) |
body |
string |
If present, this attribute signals modifications of the “vnfdVersion” attribute in “VnfInstance”. |
changedExtConnectivity (Optional) |
body |
object |
Information about changed external connectivity, if applicable |
id (Optional) |
body |
string |
Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
extLinkPorts (Optional) |
body |
array |
Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. |
id |
body |
string |
Identifier of this link port as provided by the entity that has created the link port. |
resourceHandle |
body |
object |
Reference to the resource realizing this VL. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF related resource management in direct mode is applicable. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. provider. |
cpInstanceId (Optional) |
body |
string |
Identifier of the external Connection Point instance to which this set of configuration parameters is requested to be applied. Shall be present if this instance has already been created. |
Response Example¶
{
"operation":"INSTANTIATE",
"stateEnteredTime":"2021-01-22 13:41:30.869833+00:00",
"id":"22962087-0494-484f-85e9-ef855e702633",
"isCancelPending":false,
"vnfInstanceId":"a9d0fe86-a3d0-4cbf-a117-578ff182fd7e",
"startTime":"2021-01-22 13:41:03+00:00",
"isAutomaticInvocation":false,
"operationState":"FAILED",
"operationParams":"{\"flavourId\": \"default\", \"instantiationLevelId\": \"n-msc-min\", \"additionalParams\": {\"lcm-operation-user-data\": \"./UserData/lcm_user_data.py\", \"lcm-operation-user-data-class\": \"SampleUserData\", \"sbc_name\": \"sbc\", \"slb_name\": \"slb\", \"image\": \"cirros-0.5.2-x86_64-disk\"}}",
"error":{
"status":500,
"detail":"MANUAL ERROR"
},
"_links":{
"self":{
"href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633"
},
"vnfInstance":{
"href":"https://sample1.com/vnflcm/v1/vnf_instances/a9d0fe86-a3d0-4cbf-a117-578ff182fd7e"
},
"retry":{
"href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/retry"
},
"rollback":{
"href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/rollback"
},
"fail":{
"href":"https://sample1.com/vnflcm/v1/vnf_lcm_op_occs/22962087-0494-484f-85e9-ef855e702633/fail"
}
}
}
The POST method creates a new subscription.
As the result of successfully executing this method, a new “Individual subscription” resource shall have been created. This method shall not trigger any notification.
Creation of two “Individual subscription” resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating an “Individual subscription” resource if another Individual subscription resource with the same filter and callbackUri already exists (in which case it shall return the 201 Created response code), or may decide to not create a duplicate “Individual subscription” resource (in which case it shall return a “303 See Other” response code referencing the existing “Individual subscription” resource with the same filter and callbackUri).
Response Codes¶
Success¶
Code |
Reason |
---|---|
201 - Created |
Resource was created and is ready to use. |
Error¶
Code |
Reason |
---|---|
303 - See Other |
The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request. |
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
notificationTypes (Optional) |
body |
string |
Match particular notification types. Permitted values: VnfLcmOperationOccurrenceNotification VnfIdentifierCreationNotification VnfIdentifierDeletionNotification |
operationTypes (Optional) |
body |
string |
Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise. |
operationStates (Optional) |
body |
string |
Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
authentication (Optional) |
body |
object |
Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription. This attribute shall only be present if the subscriber requires authorization of notifications. |
authType |
body |
string |
Defines the types of Authentication/Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 bearer token, obtained using the client credentials grant type. TLS_CERT is not supported. |
paramsBasic (Optional) |
body |
object |
Parameters for authentication/authorization using BASIC. Shall be present if authType is “BASIC” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
userName (Optional) |
body |
string |
Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
password (Optional) |
body |
string |
Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
paramsOauth2ClientCredentials (Optional) |
body |
object |
Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is “OAUTH2_CLIENT_CREDENTIALS” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
clientId (Optional) |
body |
string |
Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
clientPassword (Optional) |
body |
string |
Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
tokenEndpoint (Optional) |
body |
string |
The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. |
Request Example¶
{
"filter": {
"notificationTypes": [
"VnfLcmOperationOccurrenceNotification"
],
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [],
"vnfProductsFromProviders": {
"vnfProvider": "Vnf Provider 1",
"vnfProducts": [
{
"vnfProductName": "Vnf Product 1",
"versions": [
{
"vnfSoftwareVersion": "v1",
"vnfdVersions": ["vnfd.v1.1"]
}
]
}
]
}
}
},
"callbackUri": "http://sample1.com/notification"
}
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription resource. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
notificationTypes (Optional) |
body |
string |
Match particular notification types. Permitted values: VnfLcmOperationOccurrenceNotification VnfIdentifierCreationNotification VnfIdentifierDeletionNotification |
operationTypes (Optional) |
body |
string |
Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
{
"id": "76057f8e65ab37fb82d9382dfc3f3c8b",
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [],
"vnfProductsFromProviders": {
"vnfProvider": "Vnf Provider 1",
"vnfProducts": [
{
"vnfProductName": "Vnf Product 1",
"versions": [
{
"vnfSoftwareVersion": "v1",
"vnfdVersions": ["vnfd.v1.1"]
}
]
}
]
}
},
"notificationTypes": [
"VnfLcmOperationOccurrenceNotification"
]
},
"callbackUri": "http://sample1.com/notification",
"_links": {
"self": {
"href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
}
}
}
The DELETE method terminates an individual subscription.
As the result of successfully executing this method, the “Individual subscription” resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer.
Response Codes¶
Success¶
Code |
Reason |
---|---|
204 - No Content |
The server has fulfilled the request by deleting the resource. |
Error¶
Code |
Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
subscriptionId |
path |
string |
Identifier of the subscription. |
The GET method retrieves information about a subscription by reading an “Individual subscription” resource.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
subscriptionId |
path |
string |
Identifier of the subscription. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription resource. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
This type represents subscription filter criteria to match VNF instances. |
notificationTypes (Optional) |
body |
string |
Match particular notification types. Permitted values: VnfLcmOperationOccurrenceNotification VnfIdentifierCreationNotification VnfIdentifierDeletionNotification |
operationTypes (Optional) |
body |
string |
Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise. |
operationStates (Optional) |
body |
string |
Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
{
"id": "76057f8e65ab37fb82d9382dfc3f3c8b",
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [],
"vnfProductsFromProviders": {
"vnfProvider": "Vnf Provider 1",
"vnfProducts": [
{
"vnfProductName": "Vnf Product 1",
"versions": [
{
"vnfSoftwareVersion": "v1",
"vnfdVersions": [
"vnfd.v1.1"
]
}
]
}
]
}
},
"notificationTypes": [
"VnfLcmOperationOccurrenceNotification",
"VnfIdentifierCreationNotification",
"VnfIdentifierDeletionNotification"
],
"operationTypes": [
"INSTANTIATE",
"SCALE",
"TERMINATE",
"HEAL",
"CHANGE_EXT_CONN",
"MODIFY_INFO"
],
"operationStates": [
"STARTING",
"PROCESSING",
"COMPLETED",
"FAILED_TEMP",
"FAILED",
"ROLLING_BACK",
"ROLLED_BACK"
]
},
"callbackUri": "http://sample1.com/notification",
"_links": {
"self": {
"href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
}
}
}
The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.
If a response includes a LINK HTTP header (see IETF RFC 8288 [3]) with the “rel” attribute set to “next”, the API consumer can send a GET request to the URI communicated in the LINK header to obtain the next page of results.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription resource. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
notificationTypes (Optional) |
body |
string |
Match particular notification types. Permitted values: VnfLcmOperationOccurrenceNotification VnfIdentifierCreationNotification VnfIdentifierDeletionNotification |
operationTypes (Optional) |
body |
string |
Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification”, and shall be absent otherwise. |
operationStates (Optional) |
body |
string |
Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the “notificationTypes” attribute contains the value “VnfLcmOperationOccurrenceNotification” and shall be absent otherwise. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links to resources related to this resource. |
Response Example¶
[
{
"id": "76057f8e65ab37fb82d9382dfc3f3c8b",
"filter": {
"notificationTypes": [
"VnfLcmOperationOccurrenceNotification"
]
},
"callbackUri": "http://sample1.com/notification",
"_links": {
"self": {
"href": "https://sample1.com/vnflcm/v1/subscriptions/76057f8e65ab37fb82d9382dfc3f3c8b"
}
}
},
{
"id": "4845ac30eab62a0b0b4edc00fbb930ee",
"filter": {
"notificationTypes": [
"VnfLcmOperationOccurrenceNotification",
"VnfIdentifierCreationNotification",
"VnfIdentifierDeletionNotification"
],
"notificationTypes": [
"SCALE",
"HEAL"
]
},
"callbackUri": "http://sample2.com/notification",
"_links": {
"self": {
"href": "https://sample2.com/vnflcm/v1/subscriptions/4845ac30eab62a0b0b4edc00fbb930ee"
}
}
}
]
The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related “Individual VNF LCM operation occurrence” resource is in “FAILED_TEMP” state.
In case of success of processing the asynchronous request, the “operationState” attribute in the representation of the parent resource shall be changed to “PROCESSING” and the applicable “start” notification shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds.
Response Codes¶
Success¶
Code |
Reason |
---|---|
202 - Accepted |
Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request. |
Error¶
Code |
Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
404 - Not Found |
The requested resource could not be found. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
vnfLcmOpOccId |
path |
string |
Identifier of the VNF lifecycle management operation occurrence. |