Loading src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +80 −27 Original line number Diff line number Diff line Loading @@ -64,10 +64,12 @@ paths: the default values for metadata, if any, declared in the VNFD. The VNFM shall apply the "metadata" attributes in the "CreateVnfRequest" data structure in the payload body to the "metadata" attribute in the "VnfInstance" data structure on top of the default values that were obtained from the VNFD according to the rules of JSON Merge PATCH (see IETF RFC 7396). were obtained from the VNFD according to the rules of JSON Merge Patch (see IETF RFC 7396). For all metadata keys defined in the VNFD, the VNFM shall ensure that the content of the resulting "metadata" attributes is valid against the VNFD. In case of an error, the operation shall be rejected with a "422 Unprocessable Entity" error. "metadata" attributes is valid against the data type definitions in the VNFD. The absence of a metadata item that is marked "required" in the VNFD shall not be treated as an error. In case a "metadata" child attribute is not defined in the VNFD, the VNFM shall consider it valid in case it is a valid JSON structure. In case of an error, the operation shall be rejected with a "422 Unprocessable Entity" error. requestBody: $ref: '#/components/requestBodies/CreateVnfRequest' responses: Loading Loading @@ -185,22 +187,34 @@ paths: The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the The VNFM shall apply the "metadata", "extensions" and "vnfConfigurableProperties" attributes in the "VnfInfoModificationRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the child attributes of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the definitions of these child attributes in the VNFD. If the VNF instance is in the "INSTANTIATED" state, the validation also includes ensuring the presence of all child attributes that are marked as "required" in the VNFD. rules of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the child attributes of the resulting "metadata", "extensions" and "vnfConfigurableProperties" attributes is valid against the data types definitions of these child attributes in the VNFD. In case a "metadata" child attribute is not defined in the VNFD, the VNFM shall consider it valid in case it is a valid JSON structure. NOTE: "Extensions" and "vnfConfigurableProperties" child attributes are always declared in the VNFD. If the VNF instance is in the "INSTANTIATED" state, the validation shall also include ensuring the presence of all "extensions" and "vnfConfigurableProperties" child attributes that are marked as "required" in the VNFD. NOTE: This allows to build the set of "extensions" and "vnfConfigurableProperties" incrementally prior VNF instantiation but ensures their completeness for an instantiated VNF instance. The absence of a metadata item that is marked "required" in the VNFD shall not be treated as an error. In case of an error during validation, the operation shall be automatically rolled back, and appropriate error information shall be provided in the "VnfLcmOperationOccurrenceNotification" message and the "VnfLcmOpOcc" data structure. The processing of changes to the "extensions" / "vnfConfigurableProperties" attributes shall be performed in the "STARTING" phase of the LCM operation. The change shall be atomic, i.e. the result of intermediate stages shall not be visible in the API. In case of successful completion of the The processing of changes to the "metadata" / "extensions" / "vnfConfigurableProperties" attributes shall be performed in the "PROCESSING" phase of the LCM operation. The change shall be atomic, i.e. the result of intermediate stages shall not be visible in the API. In case of successful completion of the processing and validation, the attributes shall be provided in the "VnfInstance" data structure and the operation shall proceed towards successful completion. requestBody: Loading Loading @@ -302,7 +316,7 @@ paths: The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the "InstantiateVnfRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the VNFD (including the presence of all child attributes that are marked as "required" in the VNFD). In case of an error during validation, the operation shall be automatically rolled back, and appropriate error information Loading Loading @@ -512,7 +526,7 @@ paths: The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the "ChangeVnfFlavourRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the VNFD (which includes ensuring the presence of all child attributes that are marked as "required" in the VNFD). In case of an error, the operation shall be automatically rolled back, and appropriate error information Loading Loading @@ -1384,15 +1398,16 @@ paths: - $ref: '#/components/parameters/VnfInstanceId' post: description: | The POST method requests creating a VNF snapshot resource based on a VNF instance resource. The POST method requests taking a snapshot a VNF instance and populating a previously created VNF snapshot resource (refer to clause 5.4.23.3.1) with the snapshot content. The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. In addition, once the VNFM has successfully complete the underlying VNF LCM In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall reflect the result of the VNF snapshot creation by updating the representation of the corresponding "Individual VNF snapshot" resource indicated by the "vnfSnapshotInfoId" attribute of the "CreateVnfSnapshotRequest" that is included in the payload body of the request. by updating the corresponding "Individual VNF snapshot" resource indicated by the "vnfSnapshotInfoId" attribute of the "CreateVnfSnapshotRequest" that is included in the payload body of the request. This method shall follow the provisions specified in the tables 5.4.21.3.1-1 and 5.4.21.3.1-2 for URI query parameters, request and response data structures, and response codes. Loading Loading @@ -1440,6 +1455,8 @@ paths: #The response body shall contain a ProblemDetails structure, in which the "detail" attribute #shall convey more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 422: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: Loading Loading @@ -1523,9 +1540,33 @@ paths: post: description: | The POST method creates a new "Individual VNF snapshot" resource. As a result of successfully executing this method, a new "Individual VNF snapshot" resource as defined in clause 5.4.24 shall have been created. The creation of an "Individual VNF snapshot" resource can be performed for two reasons: - To create an "Individual VNF snapshot" resources that can later be populated by a new VNF snapshot taken from a VNF instance (refer to clause 5.4.21.3.1). - To create an "Individual VNF snapshot" resource that can be populated with information gathered from a VNF snapshot package extraction. In this case, the API consumer indicates the source of the VNF snapshot package in the payload body of the POST request to the present resource. In the second case, for a successful execution of the operation, the values in the "VnfSnapshotInfo" data structure representing the "Individual VNF snapshot" resource shall be applied as follows: - If the request (refer to clause 5.5.2.20) includes the "vnfSnapshot" attribute, the VNFM shall apply the "VnfSnapshotInfo" with such provided information. - If the request (refer to clause 5.5.2.20) does not include the "vnfSnapshot" attribute, the VNFM shall first fetch the VNF snapshot record from the source VNF snapshot package signalled by the "vnfSnapshotPkgId" attribute in the request and then apply the "VnfSnapshotInfo" from the fetched VNF snapshot record. This method shall follow the provisions specified in the tables 5.4.23.3.1-1 and 5.4.23.3.1-2 for URI query parameters, request and response data structures, and response codes. requestBody: $ref: '#/components/requestBodies/CreateVnfSnapshotInfoRequest' responses: 201: $ref: '#/components/responses/VnfSnapshots.Post.201' Loading Loading @@ -1830,7 +1871,7 @@ components: CreateVnfSnapshotRequest: description: | Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.20. Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.21. content: application/json: schema: Loading @@ -1839,13 +1880,22 @@ components: RevertToVnfSnapshotRequest: description: | Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.23. Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.26. content: application/json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest" required: true CreateVnfSnapshotInfoRequest: description: | The VNF snapshot resource creation parameters, as defined in clause 5.5.2.20. content: application/json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest" required: true responses: VNFInstances.Post.201: description: | Loading Loading @@ -2429,7 +2479,8 @@ components: Shall be returned when the state of the VNF lifecycle management operation occurrence has been changed successfully. The response shall include a representation of the "Individual VNF lifecycle operation occurrence" resource. The response bofyshall include a representation of the "Individual VNF lifecycle operation occurrence" resource. headers: WWW-Authenticate: description: | Loading Loading @@ -2669,7 +2720,7 @@ components: Shall be returned when an "Individual VNF snapshot" resource has been created successfully. The response body shall contain a representation of the new "Individual VNF snapshot" resource, as defined in clause 5.5.2.21. resource, as defined in clause 5.5.2.22. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the "Individual VNF snapshot" resource. headers: Loading Loading @@ -2706,7 +2757,7 @@ components: Shall be returned when information about zero or more VNF snapshots was queried successfully. The response body shall contain in an array the representations of zero or more "Individual VNF snapshot" resources, as defined in clause 5.5.2.21. "Individual VNF snapshot" resources, as defined in clause 5.5.2.22. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. Loading Loading @@ -2745,7 +2796,7 @@ components: Shall be returned when information about an individual VNF snapshot was read successfully. The response body shall contain a representation of the "Individual VNF snapshot" resource, as defined in clause 5.5.2.21. as defined in clause 5.5.2.22. headers: WWW-Authenticate: description: | Loading @@ -2764,6 +2815,8 @@ components: content: application/json: schema: type: array items: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Delete.204: Loading Loading
src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +80 −27 Original line number Diff line number Diff line Loading @@ -64,10 +64,12 @@ paths: the default values for metadata, if any, declared in the VNFD. The VNFM shall apply the "metadata" attributes in the "CreateVnfRequest" data structure in the payload body to the "metadata" attribute in the "VnfInstance" data structure on top of the default values that were obtained from the VNFD according to the rules of JSON Merge PATCH (see IETF RFC 7396). were obtained from the VNFD according to the rules of JSON Merge Patch (see IETF RFC 7396). For all metadata keys defined in the VNFD, the VNFM shall ensure that the content of the resulting "metadata" attributes is valid against the VNFD. In case of an error, the operation shall be rejected with a "422 Unprocessable Entity" error. "metadata" attributes is valid against the data type definitions in the VNFD. The absence of a metadata item that is marked "required" in the VNFD shall not be treated as an error. In case a "metadata" child attribute is not defined in the VNFD, the VNFM shall consider it valid in case it is a valid JSON structure. In case of an error, the operation shall be rejected with a "422 Unprocessable Entity" error. requestBody: $ref: '#/components/requestBodies/CreateVnfRequest' responses: Loading Loading @@ -185,22 +187,34 @@ paths: The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the The VNFM shall apply the "metadata", "extensions" and "vnfConfigurableProperties" attributes in the "VnfInfoModificationRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the child attributes of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the definitions of these child attributes in the VNFD. If the VNF instance is in the "INSTANTIATED" state, the validation also includes ensuring the presence of all child attributes that are marked as "required" in the VNFD. rules of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the child attributes of the resulting "metadata", "extensions" and "vnfConfigurableProperties" attributes is valid against the data types definitions of these child attributes in the VNFD. In case a "metadata" child attribute is not defined in the VNFD, the VNFM shall consider it valid in case it is a valid JSON structure. NOTE: "Extensions" and "vnfConfigurableProperties" child attributes are always declared in the VNFD. If the VNF instance is in the "INSTANTIATED" state, the validation shall also include ensuring the presence of all "extensions" and "vnfConfigurableProperties" child attributes that are marked as "required" in the VNFD. NOTE: This allows to build the set of "extensions" and "vnfConfigurableProperties" incrementally prior VNF instantiation but ensures their completeness for an instantiated VNF instance. The absence of a metadata item that is marked "required" in the VNFD shall not be treated as an error. In case of an error during validation, the operation shall be automatically rolled back, and appropriate error information shall be provided in the "VnfLcmOperationOccurrenceNotification" message and the "VnfLcmOpOcc" data structure. The processing of changes to the "extensions" / "vnfConfigurableProperties" attributes shall be performed in the "STARTING" phase of the LCM operation. The change shall be atomic, i.e. the result of intermediate stages shall not be visible in the API. In case of successful completion of the The processing of changes to the "metadata" / "extensions" / "vnfConfigurableProperties" attributes shall be performed in the "PROCESSING" phase of the LCM operation. The change shall be atomic, i.e. the result of intermediate stages shall not be visible in the API. In case of successful completion of the processing and validation, the attributes shall be provided in the "VnfInstance" data structure and the operation shall proceed towards successful completion. requestBody: Loading Loading @@ -302,7 +316,7 @@ paths: The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the "InstantiateVnfRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the VNFD (including the presence of all child attributes that are marked as "required" in the VNFD). In case of an error during validation, the operation shall be automatically rolled back, and appropriate error information Loading Loading @@ -512,7 +526,7 @@ paths: The VNFM shall apply the "extensions" and "vnfConfigurableProperties" attributes in the "ChangeVnfFlavourRequest" data structure in the payload body to the existing "extensions" and "vnfConfigurableProperties" attributes from the "VnfInstance" data structure according to the rules of JSON Merge PATCH (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting of JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting "extensions" and "vnfConfigurableProperties" attributes is valid against the VNFD (which includes ensuring the presence of all child attributes that are marked as "required" in the VNFD). In case of an error, the operation shall be automatically rolled back, and appropriate error information Loading Loading @@ -1384,15 +1398,16 @@ paths: - $ref: '#/components/parameters/VnfInstanceId' post: description: | The POST method requests creating a VNF snapshot resource based on a VNF instance resource. The POST method requests taking a snapshot a VNF instance and populating a previously created VNF snapshot resource (refer to clause 5.4.23.3.1) with the snapshot content. The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. In addition, once the VNFM has successfully complete the underlying VNF LCM In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence, it shall reflect the result of the VNF snapshot creation by updating the representation of the corresponding "Individual VNF snapshot" resource indicated by the "vnfSnapshotInfoId" attribute of the "CreateVnfSnapshotRequest" that is included in the payload body of the request. by updating the corresponding "Individual VNF snapshot" resource indicated by the "vnfSnapshotInfoId" attribute of the "CreateVnfSnapshotRequest" that is included in the payload body of the request. This method shall follow the provisions specified in the tables 5.4.21.3.1-1 and 5.4.21.3.1-2 for URI query parameters, request and response data structures, and response codes. Loading Loading @@ -1440,6 +1455,8 @@ paths: #The response body shall contain a ProblemDetails structure, in which the "detail" attribute #shall convey more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 422: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: Loading Loading @@ -1523,9 +1540,33 @@ paths: post: description: | The POST method creates a new "Individual VNF snapshot" resource. As a result of successfully executing this method, a new "Individual VNF snapshot" resource as defined in clause 5.4.24 shall have been created. The creation of an "Individual VNF snapshot" resource can be performed for two reasons: - To create an "Individual VNF snapshot" resources that can later be populated by a new VNF snapshot taken from a VNF instance (refer to clause 5.4.21.3.1). - To create an "Individual VNF snapshot" resource that can be populated with information gathered from a VNF snapshot package extraction. In this case, the API consumer indicates the source of the VNF snapshot package in the payload body of the POST request to the present resource. In the second case, for a successful execution of the operation, the values in the "VnfSnapshotInfo" data structure representing the "Individual VNF snapshot" resource shall be applied as follows: - If the request (refer to clause 5.5.2.20) includes the "vnfSnapshot" attribute, the VNFM shall apply the "VnfSnapshotInfo" with such provided information. - If the request (refer to clause 5.5.2.20) does not include the "vnfSnapshot" attribute, the VNFM shall first fetch the VNF snapshot record from the source VNF snapshot package signalled by the "vnfSnapshotPkgId" attribute in the request and then apply the "VnfSnapshotInfo" from the fetched VNF snapshot record. This method shall follow the provisions specified in the tables 5.4.23.3.1-1 and 5.4.23.3.1-2 for URI query parameters, request and response data structures, and response codes. requestBody: $ref: '#/components/requestBodies/CreateVnfSnapshotInfoRequest' responses: 201: $ref: '#/components/responses/VnfSnapshots.Post.201' Loading Loading @@ -1830,7 +1871,7 @@ components: CreateVnfSnapshotRequest: description: | Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.20. Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.21. content: application/json: schema: Loading @@ -1839,13 +1880,22 @@ components: RevertToVnfSnapshotRequest: description: | Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.23. Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.26. content: application/json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest" required: true CreateVnfSnapshotInfoRequest: description: | The VNF snapshot resource creation parameters, as defined in clause 5.5.2.20. content: application/json: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest" required: true responses: VNFInstances.Post.201: description: | Loading Loading @@ -2429,7 +2479,8 @@ components: Shall be returned when the state of the VNF lifecycle management operation occurrence has been changed successfully. The response shall include a representation of the "Individual VNF lifecycle operation occurrence" resource. The response bofyshall include a representation of the "Individual VNF lifecycle operation occurrence" resource. headers: WWW-Authenticate: description: | Loading Loading @@ -2669,7 +2720,7 @@ components: Shall be returned when an "Individual VNF snapshot" resource has been created successfully. The response body shall contain a representation of the new "Individual VNF snapshot" resource, as defined in clause 5.5.2.21. resource, as defined in clause 5.5.2.22. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the "Individual VNF snapshot" resource. headers: Loading Loading @@ -2706,7 +2757,7 @@ components: Shall be returned when information about zero or more VNF snapshots was queried successfully. The response body shall contain in an array the representations of zero or more "Individual VNF snapshot" resources, as defined in clause 5.5.2.21. "Individual VNF snapshot" resources, as defined in clause 5.5.2.22. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. Loading Loading @@ -2745,7 +2796,7 @@ components: Shall be returned when information about an individual VNF snapshot was read successfully. The response body shall contain a representation of the "Individual VNF snapshot" resource, as defined in clause 5.5.2.21. as defined in clause 5.5.2.22. headers: WWW-Authenticate: description: | Loading @@ -2764,6 +2815,8 @@ components: content: application/json: schema: type: array items: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Delete.204: Loading