Commit 6d020cb6 authored by moscatelli's avatar moscatelli
Browse files

SOL003/SOl002: VNF Lifecycle management datatypes consolidation

parent d8f3603f
Pipeline #1259 passed with stage
in 0 seconds
......@@ -551,7 +551,7 @@ paths:
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"
responses:
202:
description: >
......
......@@ -227,27 +227,50 @@ definitions:
instance resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
ChangeExtVnfConnectivityRequest:
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
InstantiateVnfRequest:
type: object
required:
- extVirtualLinks
- flavourId
properties:
flavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
instantiationLevelId:
description: >
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.
$ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
extVirtualLinks:
description: >
Information about external VLs to change (e.g. connect the VNF to).
Information about external VLs to connect the VNF to.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
$ref: "SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about external VLs to connect the VNF to.
type: array
items:
$ref: "SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData"
localizationLanguage:
description: >
Localization language of the VNF to be instantiated. The value shall
comply with the format defined in IETF RFC 5646.
type: string
additionalParams:
description: >
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
"ChangeExtVnfConnectivityOpConfig".".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
to the VNF being instantiated, as declared in the VNFD as part of
"InstantiateVnfOpConfig".
$ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides values for the "extensions" attribute in "VnfInstance",
as defined in clause 5.5.2.2. If an entry with the same key exists in the VnfInstance data structure,
the VNFM shall replace its value with the value passed in the InstantiateVnfRequest data structure.
$ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
ChangeVnfFlavourRequest:
description: >
......@@ -281,10 +304,31 @@ definitions:
additionalParams:
description: >
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
to the VNF being instantiated, as declared in the VNFD as part of
"InstantiateVnfOpConfig".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
TerminateVnfRequest:
type: object
required:
- terminationType
properties:
terminationType:
description: >
Indicates the type of termination is requested.
Permitted values:
* FORCEFUL: The VNFM will shut down the VNF and release the
resources immediately after accepting the request.
type: string
enum:
- FORCEFUL
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the termination
process, specific to the VNF being terminated, as declared in the
VNFD as part of "TerminateVnfOpConfig".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
HealVnfRequest:
type: object
properties:
......@@ -345,23 +389,78 @@ definitions:
declared in the VNFD as part of "OperateVnfOpConfig".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
TerminateVnfRequest:
ChangeExtVnfConnectivityRequest:
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
type: object
required:
- terminationType
- extVirtualLinks
properties:
terminationType:
extVirtualLinks:
description: >
Indicates the type of termination is requested.
Permitted values:
* FORCEFUL: The VNFM will shut down the VNF and release the
resources immediately after accepting the request.
type: string
enum:
- FORCEFUL
Information about external VLs to change (e.g. connect the VNF to).
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the termination
process, specific to the VNF being terminated, as declared in the
VNFD as part of "TerminateVnfOpConfig".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
\ No newline at end of file
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
"ChangeExtVnfConnectivityOpConfig".".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
VnfInfoModificationRequest:
description: >
This type represents attribute modifications for an "Individual VNF instance" resource,
i.e. modifications to a resource representation based on the "VnfInstance" data type.
The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2
are included in the "VnfInfoModificationRequest" data type.
The "VnfInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.12-1.
type: object
properties:
vnfInstanceName:
description: >
New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfInstanceDescription:
description: >
New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfdId:
description: >
New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
vnfConfigurableProperties:
description: >
Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Modifications of the "metadattametadata" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
Modifications of the "extensions" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
vnfcInfoModifications:
description: >
Modifications of certain entries in the "vnfcInfo" attribute array in the
"instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table.
type: array
items:
$ref: "#/definitions/VnfcInfoModifications"
vnfcInfoModificationsDeleteIds:
description: >
List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array
to be used as "deleteIdList" as defined below this table.
type: array
items:
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
\ No newline at end of file
......@@ -133,7 +133,7 @@ paths:
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -278,7 +278,7 @@ paths:
schema:
type: array
items:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -380,7 +380,7 @@ paths:
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -423,7 +423,7 @@ paths:
required: true
in: body
schema:
$ref: "../definitions/SOL003_def.yaml#/definitions/VnfInfoModificationRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest"
- name: Authorization
description: >
The authorization token for the request.
......@@ -438,7 +438,8 @@ paths:
in: header
required: true
type: string
enum: ["application/merge-patch+json"]
enum:
- application/merge-patch+json
- name: Version
description: >
Version of the API requested to use when responding to this request.
......@@ -476,7 +477,7 @@ paths:
maximum: 1
minimum: 0
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -491,6 +492,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the "Individual VNF instance" resource.
Typically, this is due to the fact that another LCM operation is ongoing.
......@@ -564,6 +567,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state.
......@@ -609,7 +614,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -682,6 +687,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state,
......@@ -798,6 +805,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -812,6 +821,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF instance" resource is in
......@@ -927,6 +938,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -941,6 +954,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state,
......@@ -989,7 +1004,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1056,6 +1071,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -1117,7 +1134,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1190,6 +1207,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state,
......@@ -1234,7 +1253,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1301,6 +1320,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -1315,6 +1336,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state,
......@@ -1362,7 +1385,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1429,6 +1452,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -1443,6 +1468,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state,
......@@ -1489,7 +1516,7 @@ paths:
in: body
required: true
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest"
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1562,6 +1589,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the resource.
Typically, this is due to the fact that another lifecycle management operation is ongoing,
......@@ -1705,7 +1734,7 @@ paths:
maximum: 1
minimum: 0
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -1799,7 +1828,7 @@ paths:
maximum: 1
minimum: 1
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -1890,6 +1919,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -1904,6 +1935,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the VNF LCM operation occurrence.
Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
......@@ -1987,6 +2020,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -2001,6 +2036,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the VNF LCM operation occurrence.
Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
......@@ -2090,7 +2127,7 @@ paths:
maximum: 1
minimum: 1
schema:
$ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
......@@ -2099,6 +2136,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
description: >
404 NOT FOUND
Shall be returned upon the following error: The API producer did not find a current representation
for the target resource or is not willing to disclose that one exists.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013,
......@@ -2113,6 +2152,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict
with the state of the VNF LCM operation occurrence.
Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
......@@ -2217,6 +2258,8 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently,
due to a conflict with the state of the VNF LCM operation occurrence.
Typically, this is due to the fact that the operation occurrence is not in STARTING,
......@@ -2545,6 +2588,7 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
delete:
description: >
Terminate Subscription.
......
......@@ -2,94 +2,305 @@
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
CancelMode:
VnfInstance:
description: >
This type represents a parameter to select the mode of cancelling an
ongoing VNF LCM operation occurrence.
This type represents a VNF instance.
type: object
required:
- cancelMode
- id
- vnfdId
- vnfProvider
- vnfProductName
- vnfSoftwareVersion
- vnfdVersion
- instantiationState
properties:
cancelMode:
id:
description: >
Cancellation mode to apply.
$ref: "#/definitions/CancelModeType"
CancelModeType:
description: >
Cancellation mode.
GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation and shall wait for the ongoing resource management
operations in the underlying system, typically the VIM, to finish
execution or to time out. After that, the VNFM shall put the operation
occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and shall wait for
the granting request to finish execution or time out. After that, the
VNFM shall put the operation occurrence into the ROLLED_BACK state.
FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation, shall cancel the ongoing resource management
operations in the underlying system, typically the VIM, and shall wait
for the cancellation to finish or to time out. After that, the VNFM
shall put the operation occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and put the operation
occurrence into the ROLLED_BACK state.
type: string
enum:
- GRACEFUL
- FORCEFUL
ChangeExtVnfConnectivityRequest:
#SOL003 location: 5.5.2.11
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
type: object
required:
- extVirtualLinks
properties:
extVirtualLinks:
Identifier of the VNF instance.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfInstanceName:
description: >
Information about external VLs to change (e.g. connect the VNF to).
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
Name of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfInstanceDescription:
description: >
Human-readable description of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfdId:
description: >
Identifier of the VNFD on which the VNF instance is based.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
Provider of the VNF and the VNFD. The value is copied from the VNFD.
type: string