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"
"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: >
......@@ -285,6 +308,27 @@ definitions:
"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".
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.
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
202-with-Location:
description: >
Accepted
The request was accepted for processing, but the processing has not
been completed. On success, the HTTP response shall include a
"Location" HTTP header that contains the URI of the newly-created
"VNF LCM operation occurrence" resource corresponding to the
operation.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
202-with-Location-empty:
description: >
Accepted
The request was accepted for processing, but the processing has not
been completed. On success, the HTTP response shall include a
"Location" HTTP header that contains the URI of the newly-created
"VNF LCM operation occurrence" resource corresponding to the
operation.
The response body shall be empty.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
409-another-lcm-operation-ongoing:
description: >
Conflict
The operation cannot be executed currently, due to a conflict with the
state of the VNF instance resource.
Typically, this is due to the fact that another LCM operation is
ongoing.
The response body shall contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-inconsistent-state:
description: >
Conflict
Another request is in progress that prohibits the fulfilment of
the current request, or the current resource state is inconsistent
with the request.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1