From cd75e32f0459a0737c4aa1c310216a52ed17870d Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 8 Apr 2020 12:27:12 +0200 Subject: [PATCH 001/116] updated readme --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 59baacd0..652a8e83 100644 --- a/Readme.md +++ b/Readme.md @@ -1,14 +1,14 @@ # NFV SOL002 and SOL003 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation -for the APIs defined in ETSI NFV GSs [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_NFV-SOL002v020701p.pdf) and [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf). +for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.3.1. The APIs described in this repository are defined for the following reference points: * `Or-Vnfm` * `Ve-vnfm` -**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.** +**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.** More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions). -- GitLab From 4cb43914f5c3f88b19b142d75e068c08b2c565b1 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 27 May 2020 18:51:13 +0200 Subject: [PATCH 002/116] SOL002 initial migration to OpenAPI v3.0.2 --- src/SOL002/APIVersion/APIVersion.yaml | 47 +- .../VNFConfiguration/VNFConfiguration.yaml | 289 ++- .../VNFFaultManagement.yaml | 1432 ++++++------- src/SOL002/VNFIndicator/VNFIndicator.yaml | 1243 +++++------ .../VNFPerformanceManagement.yaml | 1859 ++++++++--------- src/components/SOL002SOL003_params.yaml | 106 + 6 files changed, 2186 insertions(+), 2790 deletions(-) create mode 100644 src/components/SOL002SOL003_params.yaml diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index c050b054..00b5982f 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -1,50 +1,31 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - API version interface - description: > - SOL002 - API version Interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + description: | + SOL002 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current version of + the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies + the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json - paths: - ############################################################################### - # API Versions # - ############################################################################### - '/vnfconfig/api_versions': + /vnfconfig/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnffm/api_versions': + /vnffm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnfind/api_versions': + /vnfind/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnflcm/api_versions': + /vnflcm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - '/vnfpm/api_versions': + /vnfpm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index b70febcf..cbf432d6 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -1,183 +1,160 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Configuration interface - description: > - SOL002 - VNF Configuration Interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + description: | + SOL002 - VNF Configuration Interface IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of + discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfconfig/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfconfig/v1 + - url: https://127.0.0.1/vnfconfig/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - ############################################################################### - # VNF Configuration # - ############################################################################### - '/configuration': + /configuration: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read VNF/VNFC configuration from VNF - description: > + description: | The client can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: - 200: - description: > - 200 OK - - Shall be returned when configuration information about a VNF instance - has been read successfully. - The response body shall contain a representation of the configuration resource. - schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + "200": + $ref: '#/components/responses/Configuration.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + patch: summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. - parameters: - - name: configModifications - description: > - The parameter for the configuration modification, as defined in - clause 9.5.2.2. - required: true - in: body - schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications' + requestBody: + $ref: '#/components/requestBodies/ConfigurationRequest' responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Configuration.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request has been accepted and completed. - The response body shall contain the parameters of the configuration - modification that was applied to the configuration resource. +components: + requestBodies: + ConfigurationRequest: + description: | + The parameter for the configuration modification, as defined in clause 9.5.2.2. + content: + application/json: schema: - $ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications' - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 412: - # description: > - # 412 PRECONDITION FAILED + $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications + required: true - # Shall be returned upon the following error: A precondition given - # in an HTTP request header is not fulfilled. - # Typically, this is due to an ETag mismatch, indicating that the resource - # was modified by another entity. The response body should contain a - # ProblemDetails structure, in which the "detail" attribute should convey - # more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + responses: + Configuration.Get: + description: | + 200 OK + Shall be returned when configuration information about a VNF instance has been read successfully. The response body shall contain a representation of the configuration resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration + + Configuration.Patch: + description: | + 200 OK + Shall be returned when the request has been accepted and completed. The response body shall contain the + parameters of the configuration modification that was applied to the configuration resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications \ No newline at end of file diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 0b7df075..81bdc0f9 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,888 +1,646 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Fault Management interface - description: > - SOL002 - VNF Fault Management interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + description: | + SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnffm/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnffm/v1 + - url: https://127.0.0.1/vnffm/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - ############################################################################### - # Alarms # - ############################################################################### - '/alarms': - #SOL003 location: 7.4.2 + /alarms: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve information about the alarm - list. + description: | + The client can use this method to retrieve information about the alarm list. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. - The following attribute names shall be supported in the filter expression: id, managedObjectId, - vnfcInstanceIds, rootCauseFaultyResource.faultyResourceType, eventType, perceivedSeverity, probableCause. - If the vnfcInstanceIds parameter is provided, exactly one value for the managedObjectId attribute - shall be provided. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 5.2 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Alarms.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more alarms was queried successfully. - The response body shall contain in an array the representations of zero or more alarms - as defined in clause 7.5.2.4. - If the "filter" URI parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause 5.2.2 of - ETSI GS NFV-SOL 013. - If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual alarm # - ############################################################################### - '/alarms/{alarmId}': - #SOL003 location: 7.4.3 + /alarms/{alarmId}: parameters: - - name: alarmId - description: > - Identifier of the alarm. - This identifier can be retrieved from the "id" attribute of the - "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/AlarmId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | The client can use this method to read an individual alarm. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualAlarm.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual alarm read - successfully. - The response body shall contain a representation of the individual - alarm. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: - description: > + description: | This method modifies an individual alarm resource. parameters: - - name: AlarmModifications - description: The parameter for the alarm modification - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to "application/mergepatch+json" - Reference: IETF RFC 7396 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/IndividualAlarmRequest' responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualAlarm.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request was accepted and completed. - The response body shall contain attribute modifications for - an "Individual alarm" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $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 alarm" resource. - # Typically, this is due to the fact that the alarm is already in the state that - # is requested to be set (such as trying to acknowledge an already-acknowledged - # alarm). - # The response body shall contain a ProblemDetails structure, in which the - # "detail" attribute shall convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # 412 PRECONDITION FAILED - - # ErrorShall be returned upon the following error: A precondition given in an - # HTTP request header is not fulfilled. - # Typically, this is due to an ETag mismatch, indicating that the resource was - # modified by another entity. - # The response body should contain a ProblemDetails structure, in which the - # "detail" attribute should convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Escalate Perceived Severity task # - ############################################################################### - '/alarms/{alarmId}/escalate': - #SOL002 location: 7.4.4 + /alarms/{alarmId}/escalate: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/AlarmId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - The POST method enables the consumer to escalate the perceived severity - of an alarm that is represented by an ndividual alarm resource. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 7.4.5 shall have been created. - This method shall not trigger any notification. - parameters: - - name: alarmId - description: > - Identifier of the alarm. - This identifier can be retrieved from the "id" attribute of the - "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - - name: PerceivedSeverityRequest - description: The proposed "escalated perceived severity" value - in: body - schema: - $ref: "definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest" + description: | + The POST method enables the consumer to escalate the perceived severity of an alarm that is represented by an + individual alarm resource. As the result of successfully executing this method, a new "Individual subscription" + resource as defined in clause 7.4.5 shall have been created. This method shall not trigger any notification. + requestBody: + $ref: '#/components/requestBodies/IndividualAlarmEscalateRequest' responses: - 200: - description: > - 204 No Content + "200": + $ref: '#/components/responses/IndividualAlarmEscalate.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the VNFM has received the proposed "escalated - perceived severity" value successfully. The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Subscriptions # - ############################################################################### - '/subscriptions': - #SOL003 location: 7.4.4 + /subscriptions: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the + client. It can be used e.g. for resynchronization after error situations. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/Subscriptions.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + post: - description: > + description: | The POST method creates a new subscription. parameters: - - name: FmSubscriptionRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/FmSubscriptionRequest' responses: - 201: - description: > - 201 CREATED + "201": + $ref: '#/components/responses/Subscriptions.Post' + "303": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. - The HTTP response shall include a "Location:" HTTP header that - points to the created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - The resource URI of the created subscription resource. - 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 303: - # description: > - # 303 SEE OTHER - - # A subscription with the same callbackURI and the same filter already exists and the policy of - # the VNFM is to not create redundant subscriptions. - # The HTTP response shall include a "Location" HTTP header that contains the resource URI of the - # existing subscription resource. - # The response body shall be empty. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - # description: > - # 422 UNPROCESSABLE ENTITY - - # Shall be returned upon the following error: The content - # type of the payload body is supported and the payload - # body of a request contains syntactically correct data but - # the data cannot be processed. - # The general cause for this error and its handling is - # specified in clause 6.4 of ETSI GS NFV-SOL 013 [6], - # including rules for the presence of the response body. - # Specifically in case of this resource, the response code - # 422 shall also be returned if the VNFM has tested the - # Notification endpoint as described in clause 7.4.7.3.2 - # and the test has failed. - # In this case, the "detail" attribute in the "ProblemDetails" - # structure shall convey more information about the error - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + /subscriptions/{subscriptionId}: + parameters: + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve the list of active - subscriptions for VNF alarms subscribed by the client. It can be used - e.g. for resynchronization after error situations. + description: | + The client can use this method for reading an individual subscription for VNF alarms subscribed by the client. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter. - All attribute names that appear in the FmSubscription and in data types referenced from it - shall be supported by the VNFM in the filter expression. + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + responses: + "200": + $ref: '#/components/responses/IndividualSubscription.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + delete: + description: | + This 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. + NOTE: Due to race conditions, some notifications might still be received + by the formerly-subscribed API consumer for a certain time period after + the deletion. + responses: + "204": + $ref: '#/components/responses/IndividualSubscription.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Request 1: - GET …/container +components: + parameters: + AlarmId: + name: alarmId + in: path + description: | + Identifier of the alarm. This identifier can be retrieved from the "id" attribute of the "alarm" attribute + in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the "id" attribute of + the applicable array element in the payload body of the response to a GET request to the "Alarms" resource. + required: true + style: simple + explode: false + schema: + type: string - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string - Request 2: - GET …/container?filter=(eq.weight,100) + requestBodies: + IndividualAlarmRequest: + description: The parameter for the alarm modification + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications + required: true - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for - this resource. - in: query - required: false - type: string - responses: - 200: - description: > - 200 OK + IndividualAlarmEscalateRequest: + description: The proposed "escalated perceived severity" value + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityRequest + required: false - The list of subscriptions has been queried successfully. The response - body shall contain the representations of all active - subscriptions of the functional block that invokes the method. - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual subscription # - ############################################################################### - '/subscriptions/{subscriptionId}': - #SOL003 location: 7.4.5 - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new subscription resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - get: - description: > - The client can use this method for reading an individual subscription - for VNF alarms subscribed by the client. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK + FmSubscriptionRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest + required: true - Shall be returned when information about an individual subscription - has been read successfully. - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - delete: - description: > - This 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. - NOTE: Due to race conditions, some notifications might still be - received by the formerly-subscribed API consumer for a certain time - period after the deletion. - responses: - 204: - description: > - 204 NO CONTENT + responses: + Alarms.Get: + description: | + 200 OK + Shall be returned when information about zero or more alarms was queried successfully. The response body shall + contain in an array the representations of zero or more alarms as defined in clause 7.5.2.4. If the "filter" + URI parameter was supplied in the request, the data in the response body shall have been transformed according + to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the VNFM supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013for 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm + + IndividualAlarm.Get: + description: | + 200 OK + Shall be returned when information about an individual alarm read successfully. The response body shall contain + a representation of the individual alarm. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm + + IndividualAlarm.Patch: + description: | + 200 OK + Shall be returned when the request was accepted and completed. The response body shall contain attribute + modifications for an "Individual alarm" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - 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 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + IndividualAlarmEscalate.Post: + description: | + 204 No Content + Shall be returned when the VNFM has received the proposed "escalated perceived severity" value successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: {} + + Subscriptions.Get: + description: | + 200 OK + The list of subscriptions has been queried successfully. The response body shall contain the representations of + all active subscriptions of the functional block that invokes the method. If the "filter" URI parameter was + supplied in the request, the data in the response body shall have been transformed according to the rules + specified in clause 5.2.2 of ETSI GS NFV-SOL 013. 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + Subscriptions.Post: + description: | + 201 CREATED + The subscription was created successfully. The response body shall contain a representation of the created + subscription resource. The HTTP response shall include a "Location:" HTTP header that points to the created + subscription resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + IndividualSubscription.Get: + description: | + 200 OK + Shall be returned when information about an individual subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription + + IndividualSubscription.Delete: + description: | + 204 NO CONTENT + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index cb5532d7..81316133 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -1,775 +1,574 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Indicator interface - description: > - SOL002 - VNF Indicator interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Indicator interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfind/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfind/v1 + - url: https://127.0.0.1/vnfind/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions - ############################################################################### - # VNF Indicators # - ############################################################################### /indicators: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple indicators - description: Get a list of indicators. Support of attribute based filtering via query parameters. + description: Get a list of indicators. Support of attribute based filtering + via query parameters. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF may supply this parameter. The VNF may supply its instance Id as an attribute filter. - All attribute names that appear in the VnfIndicator data type and in data types referenced from - it shall be supported by the VNFM in the filter expression. If receiving, this parameter is not - supported a 400 Bad Request response shall be returned (See table 8.4.2.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF - if the EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Indicators.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more VNF indicators was - queried successfully. The response body shall contain in an array the - representations of all VNF indicators that match the attribute-based - filtering parameters, i.e. zero or more representations of VNF indicators - as defined in clause 8.5.2.2. - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - If the EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013for 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # VNF indicators related to a VNF instance # - ############################################################################### /indicators/{vnfInstanceId}: parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple indicators related to a VNF instance. - description: > - Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters. + description: | + Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query + parameters. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF shall support receiving filtering parameters as part of the URI query string. - The VNFM may supply filtering parameters. - All attribute names that appear in the VnfIndicator data type and in data types referenced - from it shall be supported in attribute-based filtering parameters. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported - by the EM/VNF if the EM/VNF supports alternative 2 (paging) according - to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndicators.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more VNF indicators - was queried successfully. - The response body shall contain in an array the representations of all - VNF indicators that are related to the particular VNF instance and that - match the attribute filter., i.e. zero or more representations of VNF - indicators as defined in clause 8.5.2.2. - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - If the EM/VMF 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual VNF indicator # - ############################################################################### /indicators/{vnfInstanceId}/{indicatorId}: parameters: - - name: vnfInstanceId - in: path - description: > - Service Unavailable - - Identifier of the VNF instance to which the VNF indicators applies. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. - type: string - required: true - - name: indicatorId - in: path - description: > - Identifier of the VNF indicator. - # LEH NOTE from SOL002 is strange - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: '#/components/parameters/IndicatorId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read an inidividual VNF indicator related to a VNF instance. - description: > - Read an individual VNF indicator related to a specific VNF instance. - NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body - of that response. + description: | + Read an individual VNF indicator related to a specific VNF instance. NOTE: This identifier can be retrieved + from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF + instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndividualIndicator.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the VNF indicator has been read successfully. - The response body shall contain the representation of the VNF indicator. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Subscriptions # - ############################################################################### /subscriptions: - post: - summary: Create a new subscription to VNF indicator change notifications - description: > - This method creates a new subscription. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 8.4.6 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 VNFM, and might make sense only in very - rare use cases. Consequently, the API producer may either allow creating a new "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). - This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, - request and response data structures, and response codes - parameters: - - name: vnfIndicatorSubscriptionRequest - in: body - description: Details of the subscription to be created. - required: true - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest' - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - responses: - 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created - "Individual subscription" resource. - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - headers: - Location: - description: > - Pointer to the created subscription resource. - type: string - format: URI - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 303: - # description: > - # 303 SEE OTHER - - # Shall be returned when a subscription with the same callbackURI and - # the same filter already exists and the policy of the VNFM is to not - # create redundant subscriptions. - # The HTTP response shall include a "Location" HTTP header that contains - # the resource URI of the existing "Individual subscription" resource. - # The response body shall be empty. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Query multiple subscriptions. - description: > + description: | Service Unavailable - - 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. + 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. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The EM shall and the VNF may support receiving this parameter as part - of the URI query string. The VNFM may supply this parameter. - All attribute names that appear in the VnfIndicatorSubscription data - type and in data types referenced from it shall be supported in the filter expression. - If receiving, this parameter is not supported, a 400 Bad Request response shall - be returned (see table 8.4.5.3.2-2). - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/VnfIndicatorSubscriptions.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported - by the EM if the EM supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + post: + summary: Create a new subscription to VNF indicator change notifications + description: | + This method creates a new subscription. As the result of successfully executing this method, a new "Individual + subscription" resource as defined in clause 8.4.6 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 VNFM, and might make + sense only in very rare use cases. Consequently, the API producer may either allow creating a new "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). This method shall follow + the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response + data structures, and response codes + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest' responses: - 200: - description: > - 200 OK + "201": + $ref: '#/components/responses/VnfIndicatorSubscription.Post' + "303": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the list of subscriptions was queried successfully. - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method which - match the attribute filter, i.e. zero or more representations of VNF - indicators subscriptions as defined in clause 8.5.2.4. - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV SOL 013. - If the EM 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual Subscription # - ############################################################################### /subscriptions/{subscriptionId}: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: summary: Read an individual subscription. - description: > + description: | Service Unavailable - - This resource represents an individual subscription. The client can use this resource to - read and to terminate a subscription to notifications related to VNF indicator value changes. - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - NOTE: - This identifier can be retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true + This resource represents an individual subscription. The client can use this resource to read and to terminate a subscription to notifications related to VNF indicator value changes. responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/VnfIndicatorSubscription.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual subscription - has been read successfully. - The response body shall contain the representation of the - "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: summary: Delete a subscription - description: > - This 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. - NOTE: Due to race conditions, some notifications might still be received - by the formerly-subscribed API consumer for a certain time period after + description: | + This 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. + NOTE:\tDue to race conditions, some notifications might still be received + by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: subscriptionId - description: > - Service Unavailable - - Identifier of this subscription. - NOTE: - This identifier can be retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new subscription resource. It can also be retrieved - from the "id" attribute in the payload body of that response. - in: path - type: string - required: true responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VnfIndicatorSubscription.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + +components: + parameters: + VnfInstanceId: + name: vnfInstanceId + in: path + description: | + Service Unavailable. + Identifier of the VNF instance to which the VNF indicators applies. + NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the + response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + IndicatorId: + name: indicatorId + in: path + description: | + Identifier of the VNF indicator. + required: true + style: simple + explode: false + schema: + type: string - Shall be returned when the subscription has been deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. NOTE: + This identifier can be retrieved from the resource referenced by the "Location" HTTP header + in the response to a POST request creating a new subscription resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + VnfIndicatorSubscriptionRequest: + description: Details of the subscription to be created. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest + required: true + + responses: + Indicators.Get: + description: | + 200 OK + Shall be returned when information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all VNF indicators that match the + attribute-based filtering parameters, i.e. zero or more representations of VNF indicators as defined + in clause 8.5.2.2. If the "filter" URI parameter was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the EM/VNF supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013for 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndicators.Get: + description: | + 200 OK + Shall be returned when information about zero or more VNF indicators was queried successfully. + The response body shall contain in an array the representations of all VNF indicators that are related + to the particular VNF instance and that match the attribute filter., i.e. zero or more representations + of VNF indicators as defined in clause 8.5.2.2. If the "filter" URI parameter was supplied in the request, + the data in the response body shall have been transformed according to the rules specified in clause + 5.2.2 of ETSI GS NFV-SOL 013. If the EM/VMF 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndividualIndicator.Get: + description: | + 200 OK + Shall be returned when the VNF indicator has been read successfully. The response body shall contain the + representation of the VNF indicator. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfIndicatorSubscriptions.Get: + description: | + 200 OK + Shall be returned when the list of subscriptions was queried successfully. + The response body shall contain in an array the representations of all active subscriptions of the functional + block that invokes the method which match the attribute filter, i.e. zero or more representations of VNF + indicators subscriptions as defined in clause 8.5.2.4. If the "filter" URI parameter was supplied in the request, + the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of + ETSI GS NFV SOL 013. If the EM 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Post: + description: | + 201 CREATED + Shall be returned when the subscription has been created successfully. The response body shall contain a + representation of the created "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Location: + description: | + Pointer to the created subscription resource. + style: simple + explode: false + schema: + type: string + format: URI + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Get: + description: | + 200 OK + Shall be returned when information about an individual subscription has been read successfully. The response body shall contain the representation of the "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + VnfIndicatorSubscription.Delete: + description: | + 204 NO CONTENT + Shall be returned when the subscription has been deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 143e76e2..962d2c1b 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,1102 +1,877 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Perfomance Management interface - description: > - SOL002 - VNF Performance Management interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Performance Management interface IMPORTANT: Please note that this file might be not aligned to the + current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnfpm/v2 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnfpm/v2 + - url: https://127.0.0.1/vnfpm/v2 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions - ############################################################################### - # PM jobs # - ############################################################################### - '/pm_jobs': - #SOL003 location: 6.4.2 + /pm_jobs: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method to retrieve information about PM jobs. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/PmJobs.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + post: - description: > - The POST method creates a PM job. - As the result of successful executing this method, a new - "Individual PM job" resource as defined in clause 6.4.3 shall - have been created. + description: | + The POST method creates a PM job. As the result of successful executing this method, a new "Individual PM job" + resource as defined in clause 6.4.3 shall have been created. parameters: - - name: CreatePmJobRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/PmJobCreationRequest' responses: - 201: - description: > - 201 CREATED + "201": + $ref: '#/components/responses/PmJobs.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the PM job has been created successfully. - The response body shall contain a representation of the created - PM job resource. - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual PM job" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created PM Job - 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + /pm_jobs/{pmJobId}: + parameters: + - $ref: '#/components/parameters/PmJobId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to retrieve information about PM jobs. + description: | + The client can use this method for reading an individual PM job. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the PmJob - and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + responses: + "200": + $ref: '#/components/responses/IndividualPmJob.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + delete: + description: | + This method terminates an individual PM job. As the result of successfully executing this method, the + "Individual PM job" resource shall not exist any longer. + responses: + "204": + $ref: '#/components/responses/IndividualPmJob.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Request 2: - GET …/container?filter=(eq.weight,100) + patch: + description: | + This method allows to modify an "individual PM job" resource. This method shall follow the provisions specified + in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, request and response data structures, + and response codes. + requestBody: + $ref: '#/components/requestBodies/PmJobModificationRequest' + responses: + "200": + $ref: '#/components/responses/IndividualPmJob.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM shall support this parameter. - The following attributes shall be excluded from the PmJob structure in - the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - reports - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + /pm_jobs/{pmJobId}/reports/{reportId}: + parameters: + - $ref: '#/components/parameters/PmJobId' + - $ref: '#/components/parameters/ReportId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method for reading an individual performance report. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/IndividualPmJobReport.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about zero or more PM jobs was queried successfully. - The response body shall contain in an array the representations of zero or more PM jobs, - as defined in clause 6.5.2.7. - If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), - "exclude_fields" (if supported) or "exclude_default" URI parameters was supplied in - the request, the data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013for 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual PM job # - ############################################################################### - '/pm_jobs/{pmJobId}': - #SOL002 location: 6.4.3 + /thresholds: parameters: - - name: pmJobId - description: > - Identifier of the PM job. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new PM job resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method for reading an individual PM job. + description: | + The client can use this method to query information about thresholds. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK + "200": + $ref: '#/components/responses/Thresholds.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when information about an individual PM job has been - ueried successfully. - The response body shall contain a representation of the "Individual PM job" - resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - patch: - description: > - This method allows to modify an "individual PM job" resource. - This method shall follow the provisions specified in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, - request and response data structures, and response codes. + post: + description: | + The POST method can be used by the client to create a threshold. As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. parameters: - - name: PmJobModifications - description: Parameters for the PM job modification - required: true - in: body - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/ThresholdCreationRequest' responses: - 200: - description: > - 200 OK + "201": + $ref: '#/components/responses/Thresholds.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /thresholds/{thresholdId}: + parameters: + - $ref: '#/components/parameters/ThresholdId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The client can use this method for reading an individual threshold. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + responses: + "200": + $ref: '#/components/responses/IndividualThreshold.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the request has been - processed successfully. - The response body shall contain a data structure of - type "PmJobModifications". - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # PRECONDITION FAILED - - # Shall be returned upon the following error - # A precondition given in an HTTP request header is - # not fulfilled. - # Typically, this is due to an ETag mismatch, - # indicating that the resource was modified by another - # entity. - # The response body should contain a ProblemDetails - # structure, in which the "detail" attribute should - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: - description: > - This method terminates an individual PM job. - As the result of successfully executing this method, the "Individual PM job" - resource shall not exist any longer. + description: | + This method allows to delete a threshold. As the result of successfully executing this method, the + "Individual threshold" resource shall not exist any longer. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/IndividualThreshold.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + patch: + description: | + This method allows to modify an "Individual threshold" resource. This method shall follow the provisions + specified in the tables 6.4.6.3.4-1 and 6.4.6.3.4-2 for URI query parameters, request and response data + structures, and response codes. + requestBody: + $ref: '#/components/requestBodies/ThresholdModificationRequest' + responses: + "200": + $ref: '#/components/responses/IndividualThreshold.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 - ############################################################################### - # Individual performance report # - ############################################################################### - '/pm_jobs/{pmJobId}/reports/{reportId}': - #SOL002 location: 6.4.4 - parameters: - - name: pmJobId - description: > - Identifier of the PM job. - in: path - type: string - required: true - - name: reportId - description: > - Identifier of the performance report. - in: path +components: + parameters: + PmJobId: + name: pmJobId + in: path + description: | + Identifier of the PM job. This identifier can be retrieved from the resource referenced by the "Location" HTTP + header in the response to a POST request creating a new PM job resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true + + ReportId: + name: reportId + in: path + description: | + Identifier of the performance report. + required: true + style: simple + explode: false + schema: type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false + + ThresholdId: + name: thresholdId + in: path + description: | + Identifier of the threshold. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: type: string - get: - description: > - The client can use this method for reading an individual performance - report. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK - Shall be returned when information of an individual performance report - has been read successfully. - The response body shall contain a representation of the "Individual - performance report" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 + requestBodies: + PmJobCreationRequest: + description: The VNF creation parameters + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Thresholds # - ############################################################################### - '/thresholds': - #SOL003 location: 6.4.5 - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - The POST method can be used by the client to create a threshold. - As the result of successfully executing this method, a new - "Individual threshold" resource as defined in clause 6.4.6 shall - have been created. - parameters: - - name: CreateThresholdRequest - description: > - Request parameters to create a new "Individual threshold" resource. - in: body - required: true + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest + required: true + + PmJobModificationRequest: + description: Parameters for the PM job modification + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 201: - description: > - 201 CREATED + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications + required: true - Shall be returned when a threshold has been created successfully. - The response body shall contain a representation of the created - "Individual threshold" resource. - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created threshold - 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 + ThresholdCreationRequest: + description: | + Request parameters to create a new "Individual threshold" resource. + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - get: - description: > - The client can use this method to query information about thresholds. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the Thresholds - and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest + required: true - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} + ThresholdModificationRequest: + description: Parameters for the threshold modification. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications + required: true - Request 1: - GET …/container + responses: + PmJobs.Get: + description: | + 200 OK + Shall be returned when information about zero or more PM jobs was queried successfully. The response body + shall contain in an array the representations of zero or more PM jobs, as defined in clause 6.5.2.7. + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" + (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of + ETSI GS NFV-SOL 013, respectively. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 + of ETSI GS NFV-SOL 013for 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] + PmJobs.Post: + description: | + 201 CREATED + Shall be returned when the PM job has been created successfully. The response body shall contain a + representation of the created PM job resource. The HTTP response shall include a "Location" HTTP header that + points to the created "Individual PM job" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created PM Job + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Request 2: - GET …/container?filter=(eq.weight,100) + IndividualPmJob.Get: + description: | + 200 OK + Shall be returned when information about an individual PM job has been ueried successfully. The response + body shall contain a representation of the "Individual PM job" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for - this resource. - in: query - required: false - type: string - responses: - 200: - description: > - 200 OK + IndividualPmJob.Delete: + description: | + 204 NO CONTENT + Shall be returned when the PM job has been deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: {} + + IndividualPmJob.Patch: + description: | + 200 OK + Shall be returned when the request has been processed successfully. The response body shall contain a data + structure of type "PmJobModifications". + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications + + IndividualPmJobReport.Get: + description: | + 200 OK + Shall be returned when information of an individual performance report has been read successfully. + The response body shall contain a representation of the "Individual performance report" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport - Information about zero or more thresholds was queried - successfully. - - If the "filter" URI parameter was supplied in the request, - the data in the response body shall have been transformed - according to the rules specified in clause 5.2.2 of - ETSI GS NFV SOL 013. - The response body shall contain in an array the representations - of zero or more thresholds, as defined in clause 6.5.2.9. - 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 + Thresholds.Get: + description: | + 200 OK + Information about zero or more thresholds was queried successfully. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV SOL 013. The response body shall contain in an array the representations of zero or more thresholds, as defined in clause 6.5.2.9. 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: schema: type: array items: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual threshold # - ############################################################################### - '/thresholds/{thresholdId}': - #SOL003 location: 6.4.6 - parameters: - - name: thresholdId - description: > - Identifier of the threshold. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new threshold resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - get: - description: > - The client can use this method for reading an individual threshold. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 200: - description: > - 200 OK + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold - Shall be returned when information about an individual threshold - has been queried successfully. - The response body shall contain a representation of the threshold. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 + Thresholds.Post: + description: | + 201 CREATED + Shall be returned when a threshold has been created successfully. The response body shall contain a representation of the created "Individual threshold" resource. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. + headers: + Version: + description: The used API version. + style: simple + explode: false schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - patch: - description: > - This method allows to modify an "Individual threshold" resource. - This method shall follow the provisions specified in the tables 6.4.6.3.4-1 and 6.4.6.3.4-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: ThresholdModifications - description: Parameters for the threshold modification. - required: true - in: body + type: string + 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. + style: simple + explode: false schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" - responses: - 200: - description: > - 200 OK + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created threshold + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold - Shall be returned when the request has been - processed successfully. - The response body shall contain a data structure of - type "ThresholdModifications". - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - 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 + IndividualThreshold.Get: + description: | + 200 OK + Shall be returned when information about an individual threshold has been queried successfully. + The response body shall contain a representation of the threshold. + headers: + Version: + description: The used API version. + style: simple + explode: false schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - # description: > - # PRECONDITION FAILED - - # Shall be returned upon the following error - # A precondition given in an HTTP request header is - # not fulfilled. - # Typically, this is due to an ETag mismatch, - # indicating that the resource was modified by - # another entity. - # The response body should contain a - # ProblemDetails structure, in which the "detail" - # attribute should convey more information about the - # error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - delete: - description: > - This method allows to delete a threshold. - As the result of successfully executing this method, the - "Individual threshold" resource shall not exist any longer. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 NO CONTENT + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold + + IndividualThreshold.Delete: + description: | + 204 NO CONTENT + Shall be returned when the threshold was deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} - Shall be returned when the threshold was deleted successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - 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 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + IndividualThreshold.Patch: + description: | + 200 OK + Shall be returned when the request has been processed successfully. The response body shall contain a data + structure of type "ThresholdModifications". + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications \ No newline at end of file diff --git a/src/components/SOL002SOL003_params.yaml b/src/components/SOL002SOL003_params.yaml new file mode 100644 index 00000000..2211c23c --- /dev/null +++ b/src/components/SOL002SOL003_params.yaml @@ -0,0 +1,106 @@ +components: + parameters: + Version: + name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + + Accept: + name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF RFC 7231. + in: header + required: true + schema: + type: string + + Authorization: + name: Authorization + description: > + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + + ContentType: + name: Content-Type + description: | + The MIME type of the body of the request. Reference: IETF RFC 7231 + in: header + required: true + schema: + type: string + + filter: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013. The NFV-MANO functional entity shall support + receiving this parameter as part of the URI query string. The API + consumer may supply this parameter. All attribute names that appear + in the FmSubscription and in data types referenced from it shall be + supported by the NFV-MANO functional entity in the filter + expression. + in: query + required: false + schema: + type: string + + all_fields: + name: all_fields + description: > + Include all complex attributes in the response. See clause + 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity + shall support this parameter. + in: query + required: false + schema: + type: string + + fields: + name: fields + description: > + Complex attributes to be included into the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_fields: + name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause + 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional + entity should support this parameter. + in: query + required: false + schema: + type: string + + exclude_default: + name: exclude_default + in: query + description: >- + Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 + for details. The NFV-MANO functional entity shall support this parameter. + required: false + schema: + type: string + + nextpage_opaque_marker: + name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by + the NFV-MANO functional entity if the entity supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string -- GitLab From 16d8ff1d967ba918eda90db96e1961220dd7d8f6 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 12:12:51 +0200 Subject: [PATCH 003/116] SOL002 initial migration to OpenAPI v3 --- .../VNFConfiguration/VNFConfiguration.yaml | 4 + .../VNFFaultManagement.yaml | 6 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 4 + .../VNFLifecycleManagement.yaml | 4068 +++++++---------- .../VNFPerformanceManagement.yaml | 4 + 5 files changed, 1758 insertions(+), 2328 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index cbf432d6..6f529ac6 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -18,6 +18,10 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf +security: + - OauthSecurity: + - all + servers: - url: http://127.0.0.1/vnfconfig/v1 - url: https://127.0.0.1/vnfconfig/v1 diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 81bdc0f9..861ea796 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -18,6 +18,10 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf +security: + - OauthSecurity: + - all + servers: - url: http://127.0.0.1/vnffm/v1 - url: https://127.0.0.1/vnffm/v1 @@ -510,7 +514,7 @@ components: explode: false schema: type: string - content: {} + content: {} Subscriptions.Get: description: | diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 81316133..e5430f50 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -15,6 +15,10 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf +security: + - OauthSecurity: + - all + servers: - url: http://127.0.0.1/vnfind/v1 - url: https://127.0.0.1/vnfind/v1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 51bbbc5c..5f1ce06b 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,2411 +1,1825 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Lifecycle Management interface - description: > - SOL002 - VNF Lifecycle Management interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Lifecycle Management interface IMPORTANT: Please note that this file might be not aligned to the + current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /vnflcm/v1 - -schemes: - - http - - https +security: + - OauthSecurity: + - all -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/vnflcm/v1 + - url: https://127.0.0.1/vnflcm/v1 paths: - ############################################################################### - # API Versions # - ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - - ############################################################################### - # VNF instances # - ############################################################################### - '/vnf_instances': - #SOL003 location: 5.4.2 + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions + + /vnf_instances: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - The POST method creates a new VNF instance resource. - parameters: - - name: createVnfRequest - description: > - The VNF creation parameters, as defined in clause 5.5.2.3. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 201: - description: > - 201 CREATED - - Shall be returned when a new "Individual VNF Instance" resource and - the associated VNF instance identifier has been created successfully. - The response body shall contain a representation of the created VNF - instance, as defined in clause 5.5.2.2. - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the created VNF instance. - 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 - 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 - Version: - description: > - The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | The GET method queries information about multiple VNF instances. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the VnfInstance - and in data types referenced from it shall be supported by the VNFM in the filter expression. - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfInstance structure - in the response body if this parameter is provided, or none of the parameters - "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - - vnfConfigurableProperties - - instantiatedVnfInfo - - metadata - - extensions - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports - alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK - - Information about zero or more VNF instances has been queried - successfully. The response body shall contain in an array the - representations of zero or more VNF instances. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - type: array - items: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual VNF instance # - ############################################################################### - '/vnf_instances/{vnfInstanceId}': - #SOL003 location: 5.4.3.2 + "200": + $ref: '#/components/responses/VnfInstances.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + post: + description: | + The POST method creates a new VNF instance resource. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfInstanceCreationRequest' + responses: + "201": + $ref: '#/components/responses/VnfInstances.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also - be retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | Information about a VNF instance by reading an "Individual VNF instance". responses: - 200: - description: > - 200 OK - - Information about an individual VNF instance has been read successfully. - The response body shall contain a representation of the VNF instance, - as defined in clause 5.5.2.2. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - patch: - #SOL003 location: 5.4.3.3.4 - description: > - 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 - parameters: - - name: vnfInfoModifications - description: Input parameters for VNF info modification - required: true - in: body - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" - responses: - 202: - description: > - 202 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 an "Individual VNF LCM operation occurrence" resource - corresponding to the operation. - The response body shall be empty. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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. - # The response body shall contain a ProblemDetails structure, in which the "detail" - # attribute should convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + "200": + $ref: '#/components/responses/IndividualVnfInstance.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + delete: - description: > + description: | This method deletes an "Individual VNF instance" resource. responses: - 204: - description: > - 204 NO CONTENT - - The "Individual VNF instance" resource and the associated VNF identifier were - deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Instantiate VNF task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/instantiate': - #SOL003 location: 5.4.4.2 + "204": + $ref: '#/components/responses/IndividualVnfInstance.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + patch: + description: | + 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 + requestBody: + $ref: '#/components/requestBodies/VnfInstanceModificationRequest' + responses: + "202": + $ref: '#/components/responses/IndividualVnfInstance.Patch' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "412": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/instantiate: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also - be retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - #SOL003 location: 5.4.4.3.1 - description: > + description: | The POST method instantiates a VNF instance. - parameters: - - name: InstantiateVnfRequest - description: Parameters for the VNF instantiation. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceInstantiationRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Scale VNF task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/scale': - #SOL003 location: 5.4.5.2 + "202": + $ref: '#/components/responses/InstantiateVnfInstance.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/scale: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - #SOL003 location: 5.4.5.3.1 - description: > - The POST method requests to scale a VNF instance resource - incrementally. - parameters: - - name: ScaleVnfRequest - description: Parameters for the scale VNF operation. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" + description: | + The POST method requests to scale a VNF instance resource incrementally. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceScaleRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - The HTTP response shall include a "Location" HTTP header that contains the URI of the - newly-created "Individual 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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 NOT_INSTANTIATED state, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Scale VNF to Level task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/scale_to_level': - #SOL003 location: 5.4.6.2 + "202": + $ref: '#/components/responses/ScaleVnfInstance.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/scale_to_level: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled to a target level. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - #SOL003 location: 5.4.6.3.1 - description: > - The POST method requests to scale a VNF instance resource to a target - level. - parameters: - - name: ScaleVnfToLevelRequest - description: Parameters for the scale VNF to Level operation. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" + description: | + The POST method requests to scale a VNF instance resource to a target level. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceScaleToLevelRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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 NOT_INSTANTIATED state, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Change VNF Flavour task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/change_flavour': - #SOL003 location: 5.4.7.2 + "202": + $ref: '#/components/responses/ScaleVnfInstanceToLevel.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/change_flavour: parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance of which the deployment flavour - is requested to be changed. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the - response to a POST request creating a new VNF instance resource. It - can also be retrieved from the "id" attribute in the payload body of - that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | The POST method changes the deployment flavour of a VNF instance. - parameters: - - name: ChangeVnfFlavourRequest - description: Parameters for the Change VNF Flavour operation. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceChangeFlavourRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - The HTTP response shall include a "Location" HTTP header that contains the URI of the - newly-created "Individual 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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 NOT_INSTANTIATED state, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Terminate VNF task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/terminate': - #SOL003 location: 5.4.8.2 + "202": + $ref: '#/components/responses/VnfInstanceChangeFlavour.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/terminate: parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance to be terminated. This identifier - can be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | The POST method terminates a VNF instance. - parameters: - - name: TerminateVnfRequest - description: Parameters for the VNF termination. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceTerminationRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing. - The response body shall be empty. - 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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 NOT_INSTANTIATED state, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Heal VNF task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/heal': - #SOL003 location: 5.4.9.2 + "202": + $ref: '#/components/responses/TerminateVnfInstance.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/heal: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be healed. This identifier can be - retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | The POST method requests to heal a VNF instance. - parameters: - - name: HealVnfRequest - description: Parameters for the Heal VNF operation. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceHealRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - The HTTP response shall include a "Location" HTTP header that contains the URI of the - newly-created "Individual 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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 NOT_INSTANTIATED state, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Operate VNF task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/operate': - #SOL003 location: 5.4.9.2 + "202": + $ref: '#/components/responses/HealVnfInstance.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/operate: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be operated. This identifier can - be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | The POST method changes the operational state of a VNF instance. - parameters: - - name: OperateVnfRequest - description: Parameters for the Operate VNF operation. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceOperateRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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, - # or that another lifecycle management operation is ongoing. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Change external VNF connectivity task # - ############################################################################### - '/vnf_instances/{vnfInstanceId}/change_ext_conn': - #SOL003 location: 5.4.9.2 + "202": + $ref: '#/components/responses/OperateVnfInstance.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_instances/{vnfInstanceId}/change_ext_conn: parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance of which the external connectivity is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | The POST method changes the external connectivity of a VNF instance. - parameters: - - name: ChangeExtVnfConnectivityRequest - description: > - Parameters for the Change external VNF connectivity operation. - in: body - required: true - schema: - $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" + requestBody: + $ref: '#/components/requestBodies/VnfInstanceChangeExtConnRequest' responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but the processing has not been completed. - The response body shall be empty. - 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 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - Location: - description: > - Used in redirection, or when a new resource has been created. - This header field shall be present if the response status code is 201 or 3xx. - In the present document this header field is also used if the response status - code is 202 and a new resource was created. - type: string - format: url - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # 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. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # VNF LCM operation occurrences # - ############################################################################### - '/vnf_lcm_op_occs': - #SOL003 location: 5.4.12 + "202": + $ref: '#/components/responses/VnfInstanceChangeExtConn.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The client can use this method to query status information about - multiple VNF lifecycle management operation occurrences. + description: | + The client can use this method to query status information about multiple VNF lifecycle management operation occurrences. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM/VNF may supply this parameter. All attribute names that appear in the VnfLcmOpOcc - and in data types referenced from it shall be supported by the VNFM in the filter expression. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfLcmOpOcc structure - in the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - operationParams - - error - - resourceChanges - - changedInfo - - changedExtConnectivity - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports - alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - 200: - description: > - 200 OK - - Status information for zero or more VNF lifecycle management operation - occurrences has been queried successfully. - The response body shall contain in an array the status information - about zero or more VNF lifecycle operation occurrences, as defined in - clause 5.5.2.13. - 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. - 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 - Version: - description: > - The used API version. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual VNF LCM operation occurrence # - ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}': - #SOL003 location: 5.4.13 + "200": + $ref: '#/components/responses/VnfLcmOpOccs.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs/{vnfLcmOpOccId}: parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a PATCH or POST request - triggering a VNF LCM operation. It can also be retrieved from the - "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - 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. + description: | + 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. responses: - 200: - description: > - 200 OK - - Information about an individual VNF instance has been queried - successfully. The response body shall contain status information - about a VNF lifecycle management operation occurrence. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Retry operation task # - ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': - #SOL003 location: 5.4.14 + "200": + $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry: parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - retried. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH - or POST request triggering a VNF LCM operation. It can also be - retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - 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. + description: | + 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. responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but processing has - not been completed. - The response shall have an empty payload body. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # Error: The operation cannot be executed currently, due to a conflict with the state of - # the VNF LCM operation occurrence resource. - # Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state - # or another error handling action is starting such as rollback or fail. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Rollback operation task # - ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': - #SOL003 location: 5.4.15 + "202": + $ref: '#/components/responses/VnfLcmOpOccRetry.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback: parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be rolled back. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH - or POST request triggering a VNF LCM operation. It can also be - retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - 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. + description: | + 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. responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but processing has not been completed. - The response shall have an empty payload body. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # Error: The operation cannot be executed currently, due to a conflict with the state of - # the VNF LCM operation occurrence resource. - # Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state - # or another error handling action is starting such as rollback or fail. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Fail operation task # - ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': - #SOL003 location: 5.4.16 + "202": + $ref: '#/components/responses/VnfLcmOpOccRollback.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail: parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be marked as "failed". This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a PATCH or POST request triggering a VNF LCM operation. It can also - be retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - The POST method marks a VNF lifecycle management operation occurrence - as "finally failed" if that operation occurrence is in "FAILED_TEMP" - state. + description: | + The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation + occurrence is in "FAILED_TEMP" state. responses: - 200: - description: > - 200 OK - - 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. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # Error: The operation cannot be executed currently, due to a conflict with the state of - # the VNF LCM operation occurrence resource. - # Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state - # or another error handling action is starting such as rollback or fail. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Cancel operation task # - ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': - #SOL003 location: 5.4.17 + "200": + $ref: '#/components/responses/VnfLcmOpOccFail.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel: parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be cancelled. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a PATCH or POST request triggering a VNF LCM operation. It can also - be retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: cancelMode - description: > - The POST request to this resource shall include a CancelMode - structure in the payload body to choose between "graceful" and - "forceful" cancellation. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelMode" + - $ref: '#/components/parameters/VnfLcmOpOccId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > - The POST method initiates cancelling an ongoing VNF lifecycle - operation while it is being executed or rolled back, i.e. the related - "Individual VNF LCM operation occurrence" is either in "PROCESSING" or - "ROLLING_BACK" state. + description: | + The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled + back, i.e. the related "Individual VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. responses: - 202: - description: > - 202 ACCEPTED - - The request has been accepted for processing, but processing has not - been completed. - The response shall have an empty payload body. - headers: - #TODO: Add headers defined in 4.3.4.3 - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - # description: > - # 409 CONFLICT - - # Error: The operation cannot be executed currently, due to a conflict with the state of - # the VNF LCM operation occurrence resource. - # Typically, this is due to the fact that the operation occurrence is not in STARTING, - # PROCESSING or ROLLING_BACK state. - # The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall - # convey more information about the error. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Subscriptions # - ############################################################################### - '/subscriptions': - #SOL003 location: 5.4.18 + "202": + $ref: '#/components/responses/VnfLcmOpOccCancel.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /subscriptions: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - The POST method creates a new subscription. - parameters: - - name: LccnSubscriptionRequest - description: > - Details of the subscription to be created. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" - responses: - 201: - description: > - 201 CREATED - - The subscription has been created successfully. The response body shall - contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual subscription" resource. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" - 303: - # description: > - # 303 SEE OTHER - - # A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM - # is to not create redundant subscriptions. - # The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing - # subscription resource. - # The response body shall be empty. - # schema: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - 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. + description: | + 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. parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the LccnSubscription - and in data types referenced from it shall be supported by the VNFM in the filter expression. - - EXAMPLE - objects - obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - - Request 1: - GET …/container - - Response 1: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}, - {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]} - ] - - Request 2: - GET …/container?filter=(eq.weight,100) - - Response 2: - [ - {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]} - ] - #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports - alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/Subscriptions.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + post: + description: | + The POST method creates a new subscription. + requestBody: + $ref: '#/components/requestBodies/VnfLcmSubscriptionRequest' responses: - 200: - description: > - 200 OK - - The list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active subscriptions - of the functional block that invokes the method, i.e. zero or more representations of lifecycle - change notification subscriptions as defined in clause 5.5.2.16. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" - ############################################################################### - # Individual subscription # - ############################################################################### - '/subscriptions/{subscriptionId}': - #SOL003 location: 5.4.19 + "201": + $ref: '#/components/responses/Subscriptions.Post' + "303": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + + /subscriptions/{subscriptionId}: parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by - the "Location" HTTP header in the response to a POST request - creating a new subscription resource. It can also be retrieved from - the "id" attribute in the payload body of that response. - in: path - type: string - required: true - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The GET method retrieves information about a subscription by reading - an "Individual subscription" resource. + description: | + The GET method retrieves information about a subscription by reading an "Individual subscription" resource. responses: - 200: - description: > - 200 OK - - The operation has completed successfully. - The response body shall contain a representation of the - "Individual subscription" resource. - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + "200": + $ref: '#/components/responses/IndividualSubscription.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + delete: - description: > + description: | The DELETE method terminates an individual subscription. responses: - 204: - description: > - 204 NO CONTENT - - The "Individual subscription" resource has been deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" - 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" - 429: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" - 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + "204": + $ref: '#/components/responses/IndividualSubscription.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + +components: + parameters: + VnfInstanceId: + name: vnfInstanceId + in: path + description: | + Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved + from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + VnfLcmOpOccId: + name: vnfLcmOpOccId + in: path + description: | + Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource + referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. + It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification. + required: true + style: simple + explode: false + schema: + type: string + + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + VnfInstanceCreationRequest: + description: | + The VNF creation parameters, as defined in clause 5.5.2.3. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest + required: true + + VnfInstanceModificationRequest: + description: Input parameters for VNF info modification + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest + required: true + + VnfInstanceInstantiationRequest: + description: Parameters for the VNF instantiation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest + required: true + + VnfInstanceScaleRequest: + description: Parameters for the scale VNF operation. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest + required: true + + VnfInstanceScaleToLevelRequest: + description: Parameters for the scale VNF to Level operation. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest + required: true + + VnfInstanceChangeFlavourRequest: + description: Parameters for the Change VNF Flavour operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest + required: true + + VnfInstanceTerminationRequest: + description: Parameters for the VNF termination. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest + required: true + + VnfInstanceHealRequest: + description: Parameters for the Heal VNF operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest + required: true + + VnfInstanceOperateRequest: + description: Parameters for the Operate VNF operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest + required: true + + VnfInstanceChangeExtConnRequest: + description: | + Parameters for the Change external VNF connectivity operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest + required: true + + VnfLcmSubscriptionRequest: + description: | + Details of the subscription to be created. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest + required: true + + responses: + VnfInstances.Get: + description: | + 200 OK + Information about zero or more VNF instances has been queried successfully. The response body shall contain in + an array the representations of zero or more VNF instances. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance + + VnfInstances.Post: + description: | + 201 CREATED + Shall be returned when a new "Individual VNF Instance" resource and the associated VNF instance identifier + has been created successfully. The response body shall contain a representation of the created VNF instance, + as defined in clause 5.5.2.2. The HTTP response shall include a "Location" HTTP header that contains the + resource URI of the created VNF instance. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + The resource URI of the created VNF instance + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance + + IndividualVnfInstance.Get: + description: | + 200 OK + Information about an individual VNF instance has been read successfully. The response body shall contain a + representation of the VNF instance, as defined in clause 5.5.2.2. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance + + IndividualVnfInstance.Delete: + description: | + 204 NO CONTENT + The "Individual VNF instance" resource and the associated VNF identifier were deleted successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification + + IndividualVnfInstance.Patch: + description: | + 202 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 an "Individual + VNF LCM operation occurrence" resource corresponding to the operation. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + InstantiateVnfInstance.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + ScaleVnfInstance.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + ScaleVnfInstanceToLevel.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body shall + be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + VnfInstanceChangeFlavour.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + TerminateVnfInstance.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing. The response body shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + HealVnfInstance.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + OperateVnfInstance.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + VnfInstanceChangeExtConn.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but the processing has not been completed. The response body + shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + VnfLcmOpOccs.Get: + description: | + 200 OK + Status information for zero or more VNF lifecycle management operation occurrences has been queried + successfully. The response body shall contain in an array the status information about zero or more VNF + lifecycle operation occurrences, as defined in clause 5.5.2.13. 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. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + + IndividualVnfLcmOpOcc.Get: + description: | + 200 OK + Information about an individual VNF instance has been queried successfully. The response body shall contain + status information about a VNF lifecycle management operation occurrence. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + + VnfLcmOpOccRetry.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but processing has not been completed. The response shall + have an empty payload body. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VnfLcmOpOccRollback.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but processing has not been completed. The response shall have + an empty payload body. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VnfLcmOpOccFail.Post: + description: | + 200 OK + 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + + VnfLcmOpOccCancel.Post: + description: | + 202 ACCEPTED + The request has been accepted for processing, but processing has not been completed. The response shall + have an empty payload body. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + Subscriptions.Get: + description: | + 200 OK + The list of subscriptions has been queried successfully. The response body shall contain in an array the + representations of all active subscriptions of the functional block that invokes the method, i.e. zero or + more representations of lifecycle change notification subscriptions as defined in clause 5.5.2.16. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription + + Subscriptions.Post: + description: | + 201 CREATED + The subscription has been created successfully. The response body shall contain a representation of the + created "Individual subscription" resource. The HTTP response shall include a "Location" HTTP header that points + to the created "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created VNF instance + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription + + IndividualSubscription.Get: + description: | + 200 OK + The operation has completed successfully. The response body shall contain a representation of the + "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription + + IndividualSubscription.Delete: + description: | + 204 NO CONTENT + The "Individual subscription" resource has been deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 962d2c1b..19049555 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -18,6 +18,10 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf +security: + - OauthSecurity: + - all + servers: - url: http://127.0.0.1/vnfpm/v2 - url: https://127.0.0.1/vnfpm/v2 -- GitLab From b5d6311650f8d189528c70099cc6127a8443ed32 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 13:29:51 +0200 Subject: [PATCH 004/116] Minor fix in SOL002 VNF LCM interface --- src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5f1ce06b..d3b821b0 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.2 +openapi: 3.0.1 info: title: SOL002 - VNF Lifecycle Management interface -- GitLab From 4f7341c4430ae23c52fa2fc0460bd8504525b454 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 14:13:31 +0200 Subject: [PATCH 005/116] Minor fix in SOL002 --- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 4 ---- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 4 ---- src/SOL002/VNFIndicator/VNFIndicator.yaml | 4 ---- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 6 +----- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 4 ---- 5 files changed, 1 insertion(+), 21 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 6f529ac6..cbf432d6 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -18,10 +18,6 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -security: - - OauthSecurity: - - all - servers: - url: http://127.0.0.1/vnfconfig/v1 - url: https://127.0.0.1/vnfconfig/v1 diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 861ea796..2ae9cacb 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -18,10 +18,6 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -security: - - OauthSecurity: - - all - servers: - url: http://127.0.0.1/vnffm/v1 - url: https://127.0.0.1/vnffm/v1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index e5430f50..81316133 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -15,10 +15,6 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -security: - - OauthSecurity: - - all - servers: - url: http://127.0.0.1/vnfind/v1 - url: https://127.0.0.1/vnfind/v1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d3b821b0..9780d430 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.1 +openapi: 3.0.2 info: title: SOL002 - VNF Lifecycle Management interface @@ -18,10 +18,6 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -security: - - OauthSecurity: - - all - servers: - url: http://127.0.0.1/vnflcm/v1 - url: https://127.0.0.1/vnflcm/v1 diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 19049555..962d2c1b 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -18,10 +18,6 @@ externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -security: - - OauthSecurity: - - all - servers: - url: http://127.0.0.1/vnfpm/v2 - url: https://127.0.0.1/vnfpm/v2 -- GitLab From ed1667456b7cd26b42a29b5e92f381b3a8528f43 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 28 May 2020 15:32:02 +0200 Subject: [PATCH 006/116] fixed dockerfile and jenkins validation script --- docker/Dockerfile | 8 ++++---- docker/validate-in-docker.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 5d7ff5d7..9b3d8380 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ # Copyright ETSI 2017 # See: https://forge.etsi.org/etsi-forge-copyright-statement.txt -FROM alpine:3.6 +FROM alpine:3.10.0 RUN env RUN apk update @@ -16,9 +16,9 @@ RUN gem install rdoc --pre || gem install rdoc --pre RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy -RUN npm install -g swagger-tools@0.10.3 -RUN npm install -g json-refs@3.0.4 -RUN npm install -g yamljs@0.3.0 +RUN npm install -g swagger-cli +RUN npm install -g json-refs +RUN npm install -g yamljs ADD validate-in-docker.sh /validate-in-docker.sh RUN chmod +x /validate-in-docker.sh diff --git a/docker/validate-in-docker.sh b/docker/validate-in-docker.sh index 716291a1..c9d54f73 100755 --- a/docker/validate-in-docker.sh +++ b/docker/validate-in-docker.sh @@ -32,7 +32,7 @@ function validate_api () { mv "${deliverable}-${api}-API.pdf" "../build/" echo "--- Validating ${merged_file}" - swagger-tools validate "${merged_file}" + swagger-cli validate "${merged_file}" vres=$? echo "--- Validation done ($vres)." -- GitLab From 4e6bf01657706ac4fea9694a211367008de15263 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 16:28:07 +0200 Subject: [PATCH 007/116] Fix in responses --- src/responses/SOL002SOL003_resp.yaml | 102 ++++++++++++++++++--------- 1 file changed, 68 insertions(+), 34 deletions(-) diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index bfb8b1d7..ed154f0f 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -32,8 +32,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 303: description: > @@ -107,8 +109,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 401: description: > @@ -138,8 +142,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 403: description: > @@ -169,8 +175,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 404: description: > @@ -205,8 +213,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 405: description: > @@ -234,8 +244,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 406: description: > @@ -264,8 +276,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 409: description: > @@ -290,8 +304,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 412: description: > @@ -321,8 +337,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 413: description: > @@ -351,8 +369,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 414: description: > @@ -381,8 +401,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 416: description: > @@ -407,8 +429,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 422: description: > @@ -440,8 +464,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 429: description: > @@ -475,8 +501,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: description: > @@ -506,8 +534,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 503: description: > @@ -537,8 +567,10 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 504: description: > @@ -567,5 +599,7 @@ responses: type: string maximum: 1 minimum: 1 - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From ccbdb6625c9f40e38ec852663c358f4502be5dac Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 16:39:03 +0200 Subject: [PATCH 008/116] Fix in responses --- src/responses/SOL002SOL003_resp.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index ed154f0f..123588e8 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -583,22 +583,18 @@ responses: Content-Type: description: The MIME type of the body of the response. type: string - maximum: 1 - minimum: 1 + required: true 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 Version: description: > Version of the API used in the response. type: string - maximum: 1 - minimum: 1 + required: true content: application/json: schema: -- GitLab From 779f26c573c52963bd4c1805395c58aba99f2de7 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 17:05:38 +0200 Subject: [PATCH 009/116] Responses OpenAPI 3.0.2 --- .../VNFConfiguration/VNFConfiguration.yaml | 48 +- .../VNFFaultManagement.yaml | 174 +-- .../VNFFaultManagementNotification.yaml | 84 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 170 +-- .../VNFIndicatorNotification.yaml | 28 +- .../VNFLifecycleManagement.yaml | 584 ++++---- .../VNFLifecycleManagementNotification.yaml | 90 +- .../VNFPerformanceManagement.yaml | 272 ++-- .../VNFPerformanceManagementNotification.yaml | 56 +- .../VNFFaultManagement.yaml | 146 +- .../VNFFaultManagementNotification.yaml | 84 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 142 +- .../VNFIndicatorNotification.yaml | 28 +- .../VNFLifecycleManagement.yaml | 454 +++---- .../VNFLifecycleManagementNotification.yaml | 84 +- .../VNFLifecycleOperationGranting.yaml | 40 +- .../VNFPackageManagement.yaml | 356 ++--- .../VNFPackageManagementNotification.yaml | 56 +- .../VNFPerformanceManagement.yaml | 306 ++--- .../VNFPerformanceManagementNotification.yaml | 56 +- ...edResourcesQuotaAvailableNotification.yaml | 82 +- src/responses/SOL002SOL003_resp.yaml | 1201 +++++++++-------- 22 files changed, 2273 insertions(+), 2268 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index cbf432d6..260273d5 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -38,27 +38,27 @@ paths: "200": $ref: '#/components/responses/Configuration.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: summary: Modify VNF/VNFC configuration. @@ -69,31 +69,31 @@ paths: "200": $ref: '#/components/responses/Configuration.Patch' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "412": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 components: requestBodies: diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 2ae9cacb..9204ad32 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -42,29 +42,29 @@ paths: "200": $ref: '#/components/responses/Alarms.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /alarms/{alarmId}: parameters: @@ -81,29 +81,29 @@ paths: "200": $ref: '#/components/responses/IndividualAlarm.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: description: | @@ -117,33 +117,33 @@ paths: "200": $ref: '#/components/responses/IndividualAlarm.Patch' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "412": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /alarms/{alarmId}/escalate: parameters: @@ -161,29 +161,29 @@ paths: "200": $ref: '#/components/responses/IndividualAlarmEscalate.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions: parameters: @@ -202,29 +202,29 @@ paths: "200": $ref: '#/components/responses/Subscriptions.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: description: | @@ -238,31 +238,31 @@ paths: "201": $ref: '#/components/responses/Subscriptions.Post' "303": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303 "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: parameters: @@ -279,29 +279,29 @@ paths: "200": $ref: '#/components/responses/IndividualSubscription.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: description: | diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 061f08c2..9b067109 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -97,19 +97,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > The GET method allows the server to test the notification endpoint @@ -138,19 +138,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint AlarmClearedNotification # ############################################################################### @@ -215,19 +215,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > The GET method allows the server to test the notification endpoint @@ -256,19 +256,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint AlarmListRebuiltNotification # ############################################################################### @@ -333,19 +333,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > The GET method allows the server to test the notification endpoint @@ -374,16 +374,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 81316133..86c749ff 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -38,29 +38,29 @@ paths: "200": $ref: '#/components/responses/Indicators.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /indicators/{vnfInstanceId}: parameters: @@ -79,29 +79,29 @@ paths: "200": $ref: '#/components/responses/VnfIndicators.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /indicators/{vnfInstanceId}/{indicatorId}: parameters: @@ -119,29 +119,29 @@ paths: "200": $ref: '#/components/responses/VnfIndividualIndicator.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions: parameters: @@ -159,29 +159,29 @@ paths: "200": $ref: '#/components/responses/VnfIndicatorSubscriptions.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: summary: Create a new subscription to VNF indicator change notifications @@ -206,31 +206,31 @@ paths: "201": $ref: '#/components/responses/VnfIndicatorSubscription.Post' "303": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303 "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: parameters: @@ -246,29 +246,29 @@ paths: "200": $ref: '#/components/responses/VnfIndicatorSubscription.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: summary: Delete a subscription @@ -284,29 +284,29 @@ paths: "204": $ref: '#/components/responses/VnfIndicatorSubscription.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 components: parameters: diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 3bc5145b..43ee4aa3 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -80,19 +80,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: summary: Test notification endpoint. description: > @@ -122,16 +122,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 9780d430..78bb6375 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -45,29 +45,29 @@ paths: "200": $ref: '#/components/responses/VnfInstances.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: description: | @@ -81,29 +81,29 @@ paths: "201": $ref: '#/components/responses/VnfInstances.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}: parameters: @@ -117,29 +117,29 @@ paths: "200": $ref: '#/components/responses/IndividualVnfInstance.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: description: | @@ -148,31 +148,31 @@ paths: "204": $ref: '#/components/responses/IndividualVnfInstance.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: description: | @@ -186,33 +186,33 @@ paths: "202": $ref: '#/components/responses/IndividualVnfInstance.Patch' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "412": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/instantiate: parameters: @@ -228,31 +228,31 @@ paths: "202": $ref: '#/components/responses/InstantiateVnfInstance.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/scale: parameters: @@ -268,31 +268,31 @@ paths: "202": $ref: '#/components/responses/ScaleVnfInstance.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/scale_to_level: parameters: @@ -308,31 +308,31 @@ paths: "202": $ref: '#/components/responses/ScaleVnfInstanceToLevel.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/change_flavour: parameters: @@ -348,31 +348,31 @@ paths: "202": $ref: '#/components/responses/VnfInstanceChangeFlavour.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/terminate: parameters: @@ -388,31 +388,31 @@ paths: "202": $ref: '#/components/responses/TerminateVnfInstance.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/heal: parameters: @@ -428,31 +428,31 @@ paths: "202": $ref: '#/components/responses/HealVnfInstance.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/operate: parameters: @@ -468,31 +468,31 @@ paths: "202": $ref: '#/components/responses/OperateVnfInstance.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_instances/{vnfInstanceId}/change_ext_conn: parameters: @@ -508,31 +508,31 @@ paths: "202": $ref: '#/components/responses/VnfInstanceChangeExtConn.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs: parameters: @@ -552,29 +552,29 @@ paths: "200": $ref: '#/components/responses/VnfLcmOpOccs.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs/{vnfLcmOpOccId}: parameters: @@ -589,29 +589,29 @@ paths: "200": $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry: parameters: @@ -626,31 +626,31 @@ paths: "202": $ref: '#/components/responses/VnfLcmOpOccRetry.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback: parameters: @@ -665,31 +665,31 @@ paths: "202": $ref: '#/components/responses/VnfLcmOpOccRollback.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail: parameters: @@ -704,31 +704,31 @@ paths: "200": $ref: '#/components/responses/VnfLcmOpOccFail.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel: parameters: @@ -743,31 +743,31 @@ paths: "202": $ref: '#/components/responses/VnfLcmOpOccCancel.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions: parameters: @@ -784,29 +784,29 @@ paths: "200": $ref: '#/components/responses/Subscriptions.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: description: | @@ -817,31 +817,31 @@ paths: "201": $ref: '#/components/responses/Subscriptions.Post' "303": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303 "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /subscriptions/{subscriptionId}: parameters: @@ -855,29 +855,29 @@ paths: "200": $ref: '#/components/responses/IndividualSubscription.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: description: | @@ -886,29 +886,29 @@ paths: "204": $ref: '#/components/responses/IndividualSubscription.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 components: parameters: diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index f3c25abf..35645cd1 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -100,21 +100,21 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -156,19 +156,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint VnfIdentifierCreationNotification # ############################################################################### @@ -238,21 +238,21 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -294,19 +294,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint VnfIdentifierDeletionNotification # ############################################################################### @@ -376,21 +376,21 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -432,16 +432,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 962d2c1b..44d09746 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -46,29 +46,29 @@ paths: "200": $ref: '#/components/responses/PmJobs.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: description: | @@ -83,29 +83,29 @@ paths: "201": $ref: '#/components/responses/PmJobs.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}: parameters: @@ -121,29 +121,29 @@ paths: "200": $ref: '#/components/responses/IndividualPmJob.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: description: | @@ -153,29 +153,29 @@ paths: "204": $ref: '#/components/responses/IndividualPmJob.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: description: | @@ -188,33 +188,33 @@ paths: "200": $ref: '#/components/responses/IndividualPmJob.Patch' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "412": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /pm_jobs/{pmJobId}/reports/{reportId}: parameters: @@ -231,29 +231,29 @@ paths: "200": $ref: '#/components/responses/IndividualPmJobReport.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /thresholds: parameters: @@ -270,29 +270,29 @@ paths: "200": $ref: '#/components/responses/Thresholds.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 post: description: | @@ -306,29 +306,29 @@ paths: "201": $ref: '#/components/responses/Thresholds.Post' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /thresholds/{thresholdId}: parameters: @@ -344,29 +344,29 @@ paths: "200": $ref: '#/components/responses/IndividualThreshold.Get' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: description: | @@ -378,29 +378,29 @@ paths: "204": $ref: '#/components/responses/IndividualThreshold.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: description: | @@ -413,33 +413,33 @@ paths: "200": $ref: '#/components/responses/IndividualThreshold.Patch' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 "412": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 components: parameters: diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 030a04b3..6996ac0e 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -95,19 +95,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > The GET method allows the server to test the notification endpoint @@ -150,19 +150,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint ThresholdCrossedNotification # ############################################################################### @@ -225,19 +225,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > The GET method allows the server to test the notification endpoint @@ -280,16 +280,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 62292e43..a9052af1 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -133,25 +133,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual alarm # @@ -221,25 +221,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: description: > @@ -310,17 +310,17 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: # description: > # 409 CONFLICT @@ -329,17 +329,17 @@ paths: # due to a conflict with the state of the "Individual alarm" resource. # Typically, this is due to the fact that the alarm is already in the state that is # requested to be set (such as trying to acknowledge an already-acknowledged alarm). - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Subscriptions # @@ -442,27 +442,27 @@ paths: # HTTP header that contains the resource URI of the # existing "Individual subscription" resource. # The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -565,25 +565,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual subscription # @@ -669,25 +669,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -738,22 +738,22 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index bf184d75..eabd4bb5 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -103,19 +103,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -160,19 +160,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint AlarmClearedNotification # @@ -238,19 +238,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -295,19 +295,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint AlarmListRebuiltNotification # @@ -373,19 +373,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -430,16 +430,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 13e161d6..857b6d78 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -131,25 +131,25 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # VNF indicators related to a VNF instance # @@ -267,25 +267,25 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual VNF indicator # @@ -377,25 +377,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Subscriptions # @@ -501,27 +501,27 @@ paths: # HTTP header that contains the resource URI of # the existing "Individual subscription" resource. # The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -628,25 +628,25 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual subscription # @@ -730,25 +730,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -806,22 +806,22 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index e93597ed..3b7513f8 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -95,19 +95,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -151,16 +151,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5c0768f1..c266ba95 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -135,25 +135,25 @@ paths: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -280,25 +280,25 @@ paths: items: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual VNF instance # @@ -382,25 +382,25 @@ paths: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: #SOL003 location: 5.4.3.3.4 @@ -479,17 +479,17 @@ paths: schema: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -497,13 +497,13 @@ paths: #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. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" delete: #SOL003 location: 5.4.3.3.5 @@ -554,17 +554,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -572,13 +572,13 @@ paths: #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. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Instantiate VNF task # @@ -674,17 +674,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -694,15 +694,15 @@ paths: #Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state, #or that a required child attribute of the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Scale VNF task # @@ -798,11 +798,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -814,11 +814,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if #the task is not supported for the VNF instance represented by the parent resource, which means that the #task resource consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -829,13 +829,13 @@ paths: #NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing, or that #a required child attribute of the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Scale VNF to Level task # @@ -931,11 +931,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -947,11 +947,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if the task #is not supported for the VNF instance represented by the parent resource, which means that the task resource #consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -962,13 +962,13 @@ paths: #that another lifecycle management operation is ongoing, or that a required child attribute of #the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Change VNF Flavour task # @@ -1064,11 +1064,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -1080,11 +1080,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if the task #is not supported for the VNF instance represented by the parent resource, which means that the task resource #consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1095,13 +1095,13 @@ paths: #that another lifecycle management operation is ongoing, or that a required child attribute of #the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Terminate VNF task # @@ -1197,17 +1197,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1218,13 +1218,13 @@ paths: #that another lifecycle management operation is ongoing, or that a required child attribute of #the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Heal VNF task # @@ -1316,11 +1316,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -1332,11 +1332,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if the task is #not supported for the VNF instance represented by the parent resource, which means that the task resource #consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1347,13 +1347,13 @@ paths: #that another lifecycle management operation is ongoing, or that a required child attribute of #the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Operate VNF task # @@ -1448,11 +1448,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -1464,11 +1464,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if the task is #not supported for the VNF instance represented by the parent resource, which means that the task resource #consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1479,13 +1479,13 @@ paths: #that another lifecycle management operation is ongoing, or that a required child attribute of #the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Change external VNF connectivity task # @@ -1579,17 +1579,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1599,13 +1599,13 @@ paths: #Typically, this is due to the fact that another lifecycle management operation is ongoing, #or that a required child attribute of the "extensions" attribute has not been set. #Those attributes are marked as "required" in the VNFD. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # VNF LCM operation occurrences # @@ -1739,23 +1739,23 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual VNF LCM operation occurrence # @@ -1833,23 +1833,23 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Retry operation task # @@ -1915,11 +1915,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -1931,11 +1931,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also be returned if the task #is not supported for the VNF LCM operation occurrence represented by the parent resource, #which means that the task resource consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -1944,13 +1944,13 @@ paths: #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, #or another error handling action is starting, such as rollback or fail. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Rollback operation task # @@ -2020,11 +2020,11 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -2036,11 +2036,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also be returned if the task #is not supported for the VNF LCM operation occurrence represented by the parent resource, #which means that the task resource consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -2049,13 +2049,13 @@ paths: #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, #or another error handling action is starting, such as rollback or fail. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Fail operation task # @@ -2136,11 +2136,11 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: #description: > #404 NOT FOUND @@ -2152,11 +2152,11 @@ paths: #Specifically in case of this task resource, the response code 404 shall also returned if the task #is not supported for the VNF LCM operation occurrence represented by the parent resource, which means #that the task resource consequently does not exist. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -2165,13 +2165,13 @@ paths: #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, #or another error handling action is starting, such as retry or rollback. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Cancel operation task # @@ -2252,17 +2252,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: #description: > #409 CONFLICT @@ -2271,13 +2271,13 @@ paths: #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, #PROCESSING or ROLLING_BACK state. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Subscriptions # @@ -2379,27 +2379,27 @@ paths: #The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing #"Individual subscription" resource. #The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > Query Subscription Information. @@ -2489,23 +2489,23 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual subscription # @@ -2580,23 +2580,23 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -2648,20 +2648,20 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index d26037d1..1015e928 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -99,19 +99,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -156,19 +156,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint VnfIdentifierCreationNotification # @@ -231,19 +231,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -288,19 +288,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint VnfIdentifierDeletionNotification # @@ -363,19 +363,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -420,16 +420,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 9b96ab20..cf99cc22 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -152,29 +152,29 @@ paths: maximum: 1 minimum: 0 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: # description: > # 403 FORBIDDEN # # Shall be returned upon the following error: The grant has been rejected. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Resource: Individual grant # @@ -270,26 +270,26 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: # description: > # 403 FORBIDDEN # # Shall be returned upon the following error: The grant has been rejected. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 2e4de3ac..259c7673 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -184,25 +184,25 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual VNF package # @@ -286,23 +286,23 @@ paths: schema: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}': parameters: @@ -373,25 +373,25 @@ paths: schema: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # VNFD in an individual VNF package # @@ -569,15 +569,15 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 409: # description: > # 409 CONFLICT @@ -586,15 +586,15 @@ paths: # be executed currently, due to a conflict with the state of the resource. # Typically, this is due to the fact that "onboardingState" of the # VNF package has a value different from "ONBOARDED". - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}/vnfd': parameters: @@ -768,15 +768,15 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 409: # description: > # 409 CONFLICT @@ -785,15 +785,15 @@ paths: # be executed currently, due to a conflict with the state of the resource. # Typically, this is due to the fact that "onboardingState" of the # VNF package has a value different from "ONBOARDED". - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Manifest in an individual VNF package # @@ -897,27 +897,27 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}/manifest': parameters: @@ -1017,27 +1017,27 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # VNF package content # @@ -1169,17 +1169,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: # description: > # 409 CONFLICT @@ -1188,20 +1188,20 @@ paths: # due to a conflict with the state of the resource. # Typically, this is due to the fact that "onboardingState" of the VNF package has # a value different from "ONBOARDED". - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: # description: > # 416 RANGE NOT SATISFIABLE # # Shall be returned upon the following error: The byte range passed in the "Range" header # did not match any available byte range in the VNF package file (e.g. "access after end of file"). - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}/package_content': parameters: @@ -1329,17 +1329,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: # description: > # 409 CONFLICT @@ -1348,20 +1348,20 @@ paths: # due to a conflict with the state of the resource. # Typically, this is due to the fact that "onboardingState" of the VNF package has # a value different from "ONBOARDED". - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: # description: > # 416 RANGE NOT SATISFIABLE # # Shall be returned upon the following error: The byte range passed in the "Range" header # did not match any available byte range in the VNF package file (e.g. "access after end of file"). - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # VNF package artifacts # @@ -1508,27 +1508,27 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}/artifacts': parameters: @@ -1673,27 +1673,27 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual VNF package artifact # @@ -1867,17 +1867,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: # description: > # 409 CONFLICT @@ -1889,7 +1889,7 @@ 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#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: # description: > # 416 RANGE NOT SATISFIABLE @@ -1898,13 +1898,13 @@ paths: # "Range" header did not match any available byte range in the artifact file # (e.g. "access after end of file"). # The response body may contain a ProblemDetails structure. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" '/onboarded_vnf_packages/{vnfdId}/artifacts/{artifactPath}': parameters: @@ -2074,17 +2074,17 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: # description: > # 409 CONFLICT @@ -2096,7 +2096,7 @@ 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#/responses/409" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: # description: > # 416 RANGE NOT SATISFIABLE @@ -2105,13 +2105,13 @@ paths: # "Range" header did not match any available byte range in the artifact file # (e.g. "access after end of file"). # The response body may contain a ProblemDetails structure. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Subscriptions # @@ -2220,27 +2220,27 @@ paths: # The HTTP response shall include a "Location" HTTP header that contains the resource # URI of the existing "Individual subscription" resource. # The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -2335,25 +2335,25 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual subscription # @@ -2429,25 +2429,25 @@ paths: schema: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -2497,22 +2497,22 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 664b2b15..1b92dcc1 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -100,19 +100,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -157,19 +157,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint VnfPackageChangeNotification # @@ -233,19 +233,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -290,16 +290,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 5439f47e..b3a0fb81 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -124,25 +124,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -271,25 +271,25 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual PM job # @@ -367,25 +367,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: description: > @@ -439,27 +439,27 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -505,25 +505,25 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual performance report # @@ -602,25 +602,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Thresholds # @@ -709,25 +709,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -825,25 +825,25 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual threshold # @@ -920,25 +920,25 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: description: > @@ -992,27 +992,27 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -1059,25 +1059,25 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # ############################################################################## # # Subscriptions # @@ -1174,27 +1174,27 @@ paths: # schema: # $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" # 303: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" # 400: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" # 401: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" # 403: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" # 404: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" # 405: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" # 406: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" # 422: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" # 500: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" # 503: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" # 504: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # # get: # description: > @@ -1290,25 +1290,25 @@ paths: # items: # $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" # 400: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" # 401: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" # 403: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" # 404: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" # 405: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" # 406: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" # 422: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" # 500: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" # 503: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" # 504: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # # ############################################################################### # # Individual subscription # @@ -1386,25 +1386,25 @@ paths: # schema: # $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" # 400: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" # 401: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" # 403: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" # 404: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" # 405: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" # 406: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" # 422: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" # 500: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" # 503: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" # 504: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # # delete: # description: > @@ -1455,22 +1455,22 @@ paths: # maximum: 1 # minimum: 1 # 400: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" # 401: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" # 403: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" # 404: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" # 405: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" # 406: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" # 422: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" # 500: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" # 503: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" # 504: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index c6be960a..7cabe4ae 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -102,19 +102,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -159,19 +159,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" ############################################################################### # Notification endpoint ThresholdCrossedNotification # @@ -236,19 +236,19 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: description: > @@ -293,16 +293,16 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 457871e2..4f28ad00 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -145,27 +145,27 @@ paths: # The HTTP response shall include a "Location" HTTP header that contains the resource URI # of the existing "Individual subscription" resource. # The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: description: > @@ -273,25 +273,25 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" ############################################################################### # Individual subscription # @@ -347,25 +347,25 @@ paths: schema: $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: description: > @@ -401,22 +401,22 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index 123588e8..1a024d1c 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -1,601 +1,606 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt -responses: - 206: - description: > - 206 PARTIAL CONTENT - headers: - Content-Type: - description: > - The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Content-Range: - description: > - The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 303: - description: > - 303 See Other - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - - 400: - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect - query parameters or the payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource would be so big that the performance - of the API producer is adversely affected, and the API producer does not support paging for the affected resource, - it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the problem. - - If there is an application error related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API producer should respond with this response. - The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 - for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 401: - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, or if the request contains an authorization - token that is invalid (e.g. expired or revoked), the API producer should respond with this response. - The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 403: - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request to a particular resource, - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the source of the problem, - and may indicate how to solve it. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 404: - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the resource addressed by the URI passed - in the request or is not willing to disclose that one exists, it shall respond with this response code. - The "ProblemDetails" structure may be provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed by the URI is a container resource - which is designed to contain child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty array. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 405: - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure may be omitted. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 406: - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a content type - that is acceptable to the API producer, the API producer shall respond with this - response code. The "ProblemDetails" structure may be omitted. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 409: - description: > - 409 CONFLICT - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 412: - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. - The response body should 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 413: - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data the API producer is willing or able to process, - it shall respond with this response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 414: - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is willing or able to process, - it shall respond with this response code. This condition can e.g. be caused by passing long queries - in the request URI of a GET request. The "ProblemDetails" structure may be omitted. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 416: - description: > - 416 Range Not Satisfiable - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 422: - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data - cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond - with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a request body. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 429: - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period of time and the API producer is able - to detect that condition ("rate limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. - The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information - about the source of the problem. - - The period of time and allowed number of requests are configured within the API producer by means - outside the scope of the present document. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 500: - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 503: - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of itself or of a system it relies on, - it should respond with this response code, following the provisions in IETF RFC 7231 for the use of - the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" - structure may be omitted. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - - 504: - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a response from an upstream server - (i.e. a server that the API producer communicates with when fulfilling a request), it should respond - with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - required: true - 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 - Version: - description: > - Version of the API used in the response. - type: string - required: true - content: - application/json: - schema: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file +components: + responses: + 206: + description: > + 206 PARTIAL CONTENT + headers: + Content-Type: + description: > + The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 303: + description: > + 303 See Other + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + + 400: + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 401: + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 403: + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 404: + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 405: + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 406: + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a content type + that is acceptable to the API producer, the API producer shall respond with this + response code. The "ProblemDetails" structure may be omitted. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 409: + description: > + 409 CONFLICT + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 412: + description: > + 412 PRECONDITION FAILED + + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 413: + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 414: + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 416: + description: > + 416 Range Not Satisfiable + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 422: + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 429: + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information + about the source of the problem. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 500: + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 503: + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 504: + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab From 8c9abffb409f801881348d8325c3069cbb3d565a Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 17:29:36 +0200 Subject: [PATCH 010/116] Responses OpenAPI 3.0.2 --- .../VNFFaultManagement.yaml | 24 ++++++++-------- src/endpoints/SOL002SOL003_endpoints.yaml | 28 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 9204ad32..f0f8cb5f 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -316,29 +316,29 @@ paths: "204": $ref: '#/components/responses/IndividualSubscription.Delete' "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504 + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 components: parameters: diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index 9ae760ed..70e7debd 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -36,17 +36,17 @@ endpoints: type: string maximum: 1 minimum: 1 - 400: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/400' } - 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/401' } - 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/403' } - 404: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } - 406: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/406' } - 413: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/413' } - 414: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/414' } - 416: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/416' } - 422: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/422' } - 429: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/429' } - 500: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/500' } - 503: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/504' } \ No newline at end of file + 400: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/400' } + 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/401' } + 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/403' } + 404: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/404' } + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/405' } + 406: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/406' } + 413: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/413' } + 414: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/414' } + 416: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/416' } + 422: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/422' } + 429: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/429' } + 500: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/500' } + 503: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/503' } + 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/504' } \ No newline at end of file -- GitLab From ac6dbdfbdafe0c9e95ade11d7023853a0bb5ec01 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 18:44:30 +0200 Subject: [PATCH 011/116] Responses OpenAPI 3.0.2 --- .../VNFConfiguration/VNFConfiguration.yaml | 6 +- src/responses/SOL002SOL003_resp.yaml | 385 ++++++++++-------- 2 files changed, 224 insertions(+), 167 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 260273d5..34cd5ac8 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -110,7 +110,8 @@ components: Configuration.Get: description: | 200 OK - Shall be returned when configuration information about a VNF instance has been read successfully. The response body shall contain a representation of the configuration resource. + Shall be returned when configuration information about a VNF instance has been read successfully. The response + body shall contain a representation of the configuration resource. headers: Version: description: The used API version. @@ -120,7 +121,8 @@ components: type: string 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. + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. style: simple explode: false schema: diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index 1a024d1c..d1e0e089 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -10,29 +10,33 @@ components: Content-Type: description: > The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 Content-Range: description: > The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -44,23 +48,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 400: description: > @@ -93,23 +100,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -126,23 +136,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -159,23 +172,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -197,23 +213,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -228,23 +247,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -260,23 +282,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -288,23 +313,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -321,23 +349,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -353,23 +384,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -385,23 +419,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -413,23 +450,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -448,23 +488,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -485,23 +528,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -518,23 +564,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -551,23 +600,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: @@ -583,23 +635,26 @@ components: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + 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: + type: string + maximum: 1 + minimum: 0 Version: description: > Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 content: application/json: schema: -- GitLab From a61852727e7c8ef3f9e6b0c92bb34f74c04e8d14 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 19:01:25 +0200 Subject: [PATCH 012/116] Responses OpenAPI 3.0.2 --- src/endpoints/SOL002SOL003_endpoints.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index 70e7debd..9826af8d 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -28,14 +28,16 @@ endpoints: headers: Content-Type: description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 Version: description: The used API version. - type: string - maximum: 1 - minimum: 1 + schema: + type: string + maximum: 1 + minimum: 1 400: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/400' } 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/401' } 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/403' } -- GitLab From cdcd73ae54793ca6535d3f7c825fda06adeb7596 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 19:22:19 +0200 Subject: [PATCH 013/116] Responses OpenAPI 3.0.2 --- src/endpoints/SOL002SOL003_endpoints.yaml | 98 +++++++++++++---------- 1 file changed, 57 insertions(+), 41 deletions(-) diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index 9826af8d..977eb5a1 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -3,12 +3,7 @@ endpoints: api-versions: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: false - type: string + - $ref: ../components/SOL002SOL003_params.yaml#/components/parameters/Version get: summary: Retrieve API version information description: > @@ -16,39 +11,60 @@ endpoints: table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: - 200: - description: > - 200 OK - - API version information was read successfully. - The response body shall contain 4.4 API version - information, as defined in clause 4.4.1.13. + "200": + $ref: '#/components/responses/ApiVersions.Get' + "400": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "413": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/413 + "414": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/414 + "416": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/504 + +components: + responses: + ApiVersions.Get: + description: > + 200 OK + + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: schema: - $ref: '../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - 400: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/400' } - 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/401' } - 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/403' } - 404: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/404' } - 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/405' } - 406: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/406' } - 413: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/413' } - 414: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/414' } - 416: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/416' } - 422: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/422' } - 429: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/429' } - 500: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/500' } - 503: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/503' } - 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/components/responses/504' } \ No newline at end of file + $ref: '../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' \ No newline at end of file -- GitLab From 0fd22956657902c3f599496b44fed81e542c53fa Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 29 May 2020 10:38:27 +0200 Subject: [PATCH 014/116] Notification interfaces migrated to OpenAPI 3.0.2 --- src/SOL002/APIVersion/APIVersion.yaml | 10 +- .../VNFFaultManagementNotification.yaml | 593 +++++++---------- .../VNFIndicatorNotification.yaml | 233 +++---- .../VNFLifecycleManagementNotification.yaml | 618 ++++++------------ ...FLifecycleManagementNotification_def.yaml} | 2 +- .../VNFPerformanceManagementNotification.yaml | 437 +++++-------- 6 files changed, 739 insertions(+), 1154 deletions(-) rename src/SOL002/VNFLifecycleManagementNotification/definitions/{VNFLifecycleManagementNotification_def.yaml => SOL002VNFLifecycleManagementNotification_def.yaml} (99%) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index 00b5982f..a63037b8 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -20,12 +20,12 @@ externalDocs: paths: /vnfconfig/api_versions: - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions /vnffm/api_versions: - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions /vnfind/api_versions: - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions /vnflcm/api_versions: - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions /vnfpm/api_versions: - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions \ No newline at end of file diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 9b067109..3cc4a16b 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -1,389 +1,258 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Fault Management Notification interface - description: > - SOL002 - VNF Fault Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Fault Management Notification interface IMPORTANT: Please note that this file might be not aligned to + the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /callback/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: - ############################################################################### - # Notification endpoint AlarmNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription_AlarmNotification: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - Notify - - The POST method notifies a VNF alarm or that the alarm list has been - rebuilt. The API consumer shall have previously created an "Individual - subscription" resource with a matching filter. - parameters: - - name: AlarmNotification - description: > - Information of a VNF alarm. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - responses: - 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. responses: - 204: - description: > - 201 NO CONTENT + "204": + $ref: '#/components/responses/VNFFMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned to indicate the notification endpoint has been - tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - ############################################################################### - # Notification endpoint AlarmClearedNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmClearedNotification': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string post: - description: > + description: | Notify - - The POST method notifies a VNF alarm or that the alarm list has been - rebuilt. The API consumer shall have previously created an "Individual - subscription" resource with a matching filter. + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. parameters: - - name: AlarmClearedNotification - description: > - Information of the clearance of a VNF alarm - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification" - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmNotification' responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFFMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. - responses: - 204: - description: > - 201 NO CONTENT + /URI-is-provided-by-the-client-when-creating-the-subscription_AlarmClearedNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + + post: + description: | + Notify + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmClearedNotification' + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned to indicate the notification endpoint has been - tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - ############################################################################### - # Notification endpoint AlarmListRebuiltNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmListRebuiltNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription_AlarmListRebuiltNotification: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - post: - description: > - Notify + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - The POST method notifies a VNF alarm or that the alarm list has been - rebuilt. The API consumer shall have previously created an "Individual - subscription" resource with a matching filter. - parameters: - - name: AlarmListRebuiltNotification - description: > - Information that the alarm list has been rebuilt by the VNFM - in: body - required: true + post: + description: | + Notify + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmListRebuiltNotification' + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + +components: + requestBodies: + AlarmNotification: + description: | + Information of a VNF alarm. + content: + application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - responses: - 204: - description: > - 204 NO CONTENT + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification + required: true - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. - responses: - 204: - description: > - 204 NO CONTENT + AlarmClearedNotification: + description: | + Information of the clearance of a VNF alarm. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification + required: true - Shall be returned to indicate the notification endpoint has been - tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + AlarmListRebuiltNotification: + description: | + Information that the alarm list has been rebuilt by the VNFM. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification + required: true + + responses: + VNFFMNotification.Get: + description: | + 201 NO CONTENT + Shall be returned to indicate the notification endpoint has been tested successfully. The response body + shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VNFFMNotification.Post: + description: | + 204 NO CONTENT + Shall be returned when the notification has been delivered successfully. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 43ee4aa3..ac540931 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,137 +1,138 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Indicator Notification Endpoint interface - description: > - SOL002 - VNF Indicator Notification Endpoint interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + description: | + SOL002 - VNF Indicator Notification Endpoint interface IMPORTANT: Please note that this file might be not aligned to + the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: - ############################################################################### - # Notification endpoint VnfIndicatorValueChangeNotification # - ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIndicatorValueChangeNotification': parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + summary: Test notification endpoint. + description: | + Service Unavailable + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFInNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + post: summary: Notification endpoint - description: > - The API producer can use this resource to send notifications related to VNF indicator - value changes to a subscribed API consumer, which has provided the URI of this resource - during the subscription process. - The POST method delivers a notification from API producer to an API consumer. The API - consumer shall have previously created an "Individual subscription" resource with a - matching filter. + description: | + The API producer can use this resource to send notifications related to VNF indicator value changes to a + subscribed API consumer, which has provided the URI of this resource during the subscription process. + The POST method delivers a notification from API producer to an API consumer. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. parameters: - - name: vnfIndicatorValueChangeNotification - in: body - description: > - A notification about VNF indicator value changes. - required: true - schema: - $ref: 'definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfIndicatorValueChangeNotification' responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFInNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - get: - summary: Test notification endpoint. - description: > - Service Unavailable +components: + requestBodies: + VnfIndicatorValueChangeNotification: + description: | + A notification about VNF indicator value changes. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification + required: true - The GET method allows the server to test the notification endpoint that is provided - by the client, e.g. during subscription. - responses: - 204: - description: > - 204 NO CONTENT + responses: + VNFInNotification.Get: + description: | + 201 NO CONTENT + Shall be returned to indicate the notification endpoint has been tested successfully. The response body + shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} - Shall be returned when the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + VNFInNotification.Post: + description: | + 204 NO CONTENT + Shall be returned when the notification has been delivered successfully. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 35645cd1..331f3211 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -1,447 +1,259 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Lifecycle Management Notification interface - description: > + description: | SOL002 - VNF Lifecycle Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification + it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group + Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /callback/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: - ############################################################################### - # Notification endpoint VnfLcmOperationOccurrenceNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfLcmOperationOccurrenceNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription_VnfLcmOperationOccurrenceNotification: parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFLCMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + post: - description: > + description: | Notify - The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. parameters: - - name: VnfLcmOperationOccurrenceNotification - description: A notification about lifecycle changes triggered by a VNF LCM operation occurrence. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification' responses: - 204: - description: > - 204 NO CONTENT - - The notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + "204": + $ref: '#/components/responses/VNFLCMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + /URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierCreationNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + description: | + The GET method allows the server to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFLCMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - The notification endpoint has been tested successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - ############################################################################### - # Notification endpoint VnfIdentifierCreationNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierCreationNotification': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string post: - description: > + description: | Notify - The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. parameters: - - name: VnfIdentifierCreationNotification - description: > - A notification about the creation of a VNF identifier and the - related "Individual VNF instance" resource. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfIdentifierCreationNotification' responses: - 204: - description: > - 204 NO CONTENT - - The notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + "204": + $ref: '#/components/responses/VNFLCMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + /URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierDeletionNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + description: | + The GET method allows the server to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFLCMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - The notification endpoint has been tested successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - ############################################################################### - # Notification endpoint VnfIdentifierDeletionNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierDeletionNotification': - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string post: - description: > + description: | Notify - The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. parameters: - - name: VnfIdentifierDeletionNotification - description: > - A notification about the deletion of a VNF identifier and the - related "Individual VNF instance" resource. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfIdentifierDeletionNotification' responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFLCMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - The notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" +components: + requestBodies: + VnfLcmOperationOccurrenceNotification: + description: | + A notification about lifecycle changes triggered by a VNF LCM operation occurrence. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification + required: true - get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the API consumer, e.g. during subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - responses: - 204: - description: > - No Content + VnfIdentifierCreationNotification: + description: | + A notification about lifecycle changes triggered by a VNF LCM operation occurrence. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification + required: true - The notification endpoint has been tested successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + VnfIdentifierDeletionNotification: + description: | + A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification + required: true + + responses: + VNFLCMNotification.Get: + description: | + 201 NO CONTENT + Shall be returned to indicate the notification endpoint has been tested successfully. The response body + shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VNFLCMNotification.Post: + description: | + 204 NO CONTENT + Shall be returned when the notification has been delivered successfully. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml similarity index 99% rename from src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml rename to src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml index c425ca3b..34df7c9d 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml @@ -176,4 +176,4 @@ definitions: _links: description: > Links to resources related to this notification. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" \ No newline at end of file diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 6996ac0e..9937499d 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -1,295 +1,198 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Performance Management Notification interface - description: > + description: | SOL002 - VNF Performance Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + IMPORTANT: Please note that this file might be not + aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the + ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report + bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: NFV-SOL WG + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 + description: ETSI GS NFV-SOL 002 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -basePath: /callback/v1 - -schemes: - - http - - https - -consumes: - - application/json - -produces: - - application/json +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: - ############################################################################### - # Notification endpoint PerformanceInformationAvailableNotification # - ############################################################################### '/URI-is-provided-by-the-client-when-creating-the-subscription_PerformanceInformationAvailableNotification': + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFPMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + post: - description: > + description: | Notify - - The POST method delivers a notification regarding a performance - management event from API producer to an API consumer. The API consumer - shall have previously created an "Individual subscription" resource with - a matching filter. + The POST method delivers a notification regarding a performance management event from API producer to an API + consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. parameters: - - name: PerformanceInformationAvailableNotification - description: > - Notification about performance information availability. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/PerformanceInformationAvailableNotification' responses: - 204: - description: > - No Content + "204": + $ref: '#/components/responses/VNFPMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + /URI-is-provided-by-the-client-when-creating-the-subscription_ThresholdCrossedNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. responses: - 204: - description: > - No Content + "204": + $ref: '#/components/responses/VNFPMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned to indicate that the notification endpoint has been - tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - ############################################################################### - # Notification endpoint ThresholdCrossedNotification # - ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_ThresholdCrossedNotification': post: - description: > + description: | Notify - - The POST method delivers a notification regarding a performance - management event from API producer to an API consumer. The API consumer - shall have previously created an "Individual subscription" resource with - a matching filter. + The POST method delivers a notification regarding a performance management event from API producer to an API + consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching + filter. parameters: - - name: ThresholdCrossedNotification - description: > - Notification about performance information availability. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/ThresholdCrossedNotification' responses: - 204: - description: > - 204 NO CONTENT + "204": + $ref: '#/components/responses/VNFPMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" - get: - description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - responses: - 204: - description: > - 204 NO CONTENT +components: + requestBodies: + PerformanceInformationAvailableNotification: + description: | + Notification about performance information availability. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification + required: true - Shall be returned to indicate that the notification endpoint has been - tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" - 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" - 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" - 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" - 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + ThresholdCrossedNotification: + description: | + Notification about crossed threshold. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification + required: true + + responses: + VNFPMNotification.Get: + description: | + 201 NO CONTENT + Shall be returned to indicate the notification endpoint has been tested successfully. The response body + shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VNFPMNotification.Post: + description: | + 204 NO CONTENT + Shall be returned when the notification has been delivered successfully. The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file -- GitLab From 00f1bc59ff8fc9219efa87cdfd5cccf44cd1c3f3 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 29 May 2020 10:43:41 +0200 Subject: [PATCH 015/116] Minor fix --- .../VNFFaultManagementNotification.yaml | 188 +++++++++--------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 3cc4a16b..4eb93165 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -80,107 +80,107 @@ paths: parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - get: - description: | - The GET method allows the server to test the notification endpoint that is provided by the client, - e.g. during subscription. - responses: - "204": - $ref: '#/components/responses/VNFFMNotification.Get' - "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - post: - description: | - Notify - The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have - previously created an "Individual subscription" resource with a matching filter. - parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - requestBody: - $ref: '#/components/requestBodies/AlarmClearedNotification' - responses: - "204": - $ref: '#/components/responses/VNFFMNotification.Post' - "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + post: + description: | + Notify + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmClearedNotification' + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 /URI-is-provided-by-the-client-when-creating-the-subscription_AlarmListRebuiltNotification: parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - get: - description: | - The GET method allows the server to test the notification endpoint that is provided by the client, - e.g. during subscription. - responses: - "204": - $ref: '#/components/responses/VNFFMNotification.Get' - "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + get: + description: | + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - post: - description: | - Notify - The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have - previously created an "Individual subscription" resource with a matching filter. - parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType - requestBody: - $ref: '#/components/requestBodies/AlarmListRebuiltNotification' - responses: - "204": - $ref: '#/components/responses/VNFFMNotification.Post' - "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + post: + description: | + Notify + The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmListRebuiltNotification' + responses: + "204": + $ref: '#/components/responses/VNFFMNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 components: requestBodies: -- GitLab From f3a96be578a9660e7ed4c5aeb78a8a0b2e52e8e7 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 29 May 2020 14:47:36 +0200 Subject: [PATCH 016/116] SOL002_1->SOL002_23: new APIs --- .../VNFLifecycleManagement.yaml | 569 +++++++++++++++++- .../SOL002VNFLifecycleManagement_def.yaml | 10 +- 2 files changed, 575 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 78bb6375..82d92175 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -71,7 +71,7 @@ paths: post: description: | - The POST method creates a new VNF instance resource. + The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType @@ -179,7 +179,7 @@ paths: 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 + representation of this resource. requestBody: $ref: '#/components/requestBodies/VnfInstanceModificationRequest' responses: @@ -381,7 +381,8 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: description: | - The POST method terminates a VNF instance. + The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its + used virtualised resources. requestBody: $ref: '#/components/requestBodies/VnfInstanceTerminationRequest' responses: @@ -534,6 +535,46 @@ paths: "504": $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + /vnf_instances/{vnfInstanceId}/change_vnfpkg: + parameters: + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + post: + description: | + The POST method changes the current VNF package on which the VNF instance is based. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceChangeVnfPkgRequest' + responses: + "202": + $ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + /vnf_lcm_op_occs: parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version @@ -910,6 +951,232 @@ paths: "504": $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + /vnf_instances/{vnfInstanceId}/create_snapshot: + parameters: + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + post: + description: | + The POST method requests creating a VNF snapshot resource based on a VNF instance resource. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceCreateSnapshotRequest' + responses: + "202": + $ref: '#/components/responses/VnfInstanceCreateSnapshot.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + /vnf_instances/{vnfInstanceId}/revert_to_snapshot: + parameters: + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + post: + description: | + The POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceRevertToSnapshotRequest' + responses: + "202": + $ref: '#/components/responses/VnfInstanceRevertToSnapshot.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + /vnf_snapshots: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + post: + description: | + The POST method creates a new individual VNF snapshot resource. + responses: + "201": + $ref: '#/components/responses/VnfSnapshots.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + get: + description: | + The GET method queries information about multiple VNF/VNFC snapshots. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/VnfSnapshots.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + /vnf_snapshots/{vnfSnapshotId}: + parameters: + - $ref: '#/components/parameters/VnfSnapshotId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method retrieves information about a VNF /VNFC snapshot by reading an individual VNF snapshot resource. + responses: + "200": + $ref: '#/components/responses/IndividualVnfSnapshot.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + delete: + description: | + This method deletes an individual VNF snapshot resource and the associated VNF snapshot information managed by + the VNFM, and any resource associated to the VNF/VNFC snapshot managed by the VIM. + responses: + "200": + $ref: '#/components/responses/IndividualVnfSnapshot.Delete' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + components: parameters: VnfInstanceId: @@ -951,6 +1218,19 @@ components: schema: type: string + VnfSnapshotId: + name: vnfSnapshotId + in: path + description: | + Identifier of the individual VNF snapshot. This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a new VNF snapshot resource. It can also be + retrieved from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + requestBodies: VnfInstanceCreationRequest: description: | @@ -1034,6 +1314,15 @@ components: $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest required: true + VnfInstanceChangeVnfPkgRequest: + description: | + Parameters for the Change current VNF package operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest + required: true + VnfLcmSubscriptionRequest: description: | Details of the subscription to be created. @@ -1043,6 +1332,24 @@ components: $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest required: true + VnfInstanceCreateSnapshotRequest: + description: | + Parameters for the “Create VNF/VNFC Snapshot” operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest + required: true + + VnfInstanceRevertToSnapshotRequest: + description: | + Parameters for the Revert-to VNF/VNFC snapshot operation. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest + required: true + responses: VnfInstances.Get: description: | @@ -1527,6 +1834,45 @@ components: format: url content: {} + VnfInstanceChangeVnfPkg.Post: + description: | + 202 ACCEPTED + Shall be returned when the request has been accepted for processing. + The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI + of the newly-created "Individual VNF LCM operation occurrence" resource corresponding to the instantiation operation. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + VnfLcmOpOccs.Get: description: | 200 OK @@ -1800,6 +2146,223 @@ components: $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription IndividualSubscription.Delete: + description: | + 204 NO CONTENT + The "Individual subscription" resource has been deleted successfully. The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} + + VnfInstanceCreateSnapshot.Post: + description: | + 202 ACCEPTED + Shall be returned when the request was accepted for processing, but the processing has not been completed. + The response body shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + VnfInstanceRevertToSnapshot.Post: + description: | + 202 ACCEPTED + Shall be returned when the request was accepted for processing, but the processing has not been completed. + The response body shall be empty. 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: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: {} + + VnfSnapshots.Post: + description: | + 202 CREATED + 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. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the + individual VNF snapshot resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + Used in redirection, or when a new resource has been created. This header field shall be present if the + response status code is 201 or 3xx. In the present document this header field is also used if the response + status code is 202 and a new resource was created. + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + + VnfSnapshots.Get: + description: | + 200 OK + 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 VNF snapshots, + as defined in clause 5.5.2.21. + + 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + + IndividualVnfSnapshot.Get: + description: | + Shall be returned when information about an individual VNF snapshot was read successfully. + The response body shall contain a representation of the VNF snapshot. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + + IndividualVnfSnapshot.Delete: description: | 204 NO CONTENT The "Individual subscription" resource has been deleted successfully. The response body shall be empty. diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 61385094..97c84f07 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -500,6 +500,8 @@ definitions: "ChangeExtVnfConnectivityOpConfig".". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + ChangeCurrentVnfPkgRequest: + VnfInfoModificationRequest: description: > This type represents attribute modifications for an "Individual VNF instance" resource, @@ -552,4 +554,10 @@ definitions: to be used as "deleteIdList" as defined below this table. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + + CreateVnfSnapshotRequest: + + RevertToVnfSnapshotRequest: + + VnfSnapshotRes: \ No newline at end of file -- GitLab From 597982daa29cb7030013fbe09378c7f855350e00 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 29 May 2020 18:29:49 +0200 Subject: [PATCH 017/116] SOL002_24->SOL002_28: Datatypes updated --- .../SOL002VNFLifecycleManagement_def.yaml | 62 ++++++++++++------- ...OL002SOL003VNFLifecycleManagement_def.yaml | 8 +-- 2 files changed, 44 insertions(+), 26 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 97c84f07..efaadd95 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -13,7 +13,6 @@ definitions: - vnfProductName - vnfSoftwareVersion - vnfdVersion - - vnfPkgInfoId - instantiationState - _links properties: @@ -60,12 +59,6 @@ definitions: description: > Identifies the version of the VNFD. The value is copied from the VNFD. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfPkgId: - description: > - Identifier of information held by the NFVO about the specific VNF - package on which the VNF is based. This identifier was allocated by the - NFVO. This attribute can be modified with the PATCHmethod. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Additional VNF-specific attributes that provide the current values @@ -119,7 +112,6 @@ definitions: - flavourId - vnfState - extCpInfo - - _links properties: flavourId: description: > @@ -183,19 +175,25 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" - virtualLinkResourceInfo: + vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" - virtualStorageResourceInfo: + vnfVirtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + vnfcInfo: + description: > + Information about the VNFC instances. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" metadata: description: > Additional VNF-specific attributes that provide metadata describing the VNF instance. @@ -347,18 +345,15 @@ definitions: $ref: "../../../definitions/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. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the + "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions + during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - This parameter provides values for the VNF configurable - properties attribute in the "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. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the VNF + configurable properties attribute in the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling + configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: @@ -396,6 +391,18 @@ definitions: to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance", + as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, are defined in clause + 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the VNF configurable properties attribute in + the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the + operation, are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: type: object @@ -406,11 +413,24 @@ definitions: 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. + * 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. type: string enum: - FORCEFUL + - GRACEFUL + gracefulTerminationTimeout: + description: > + 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. + type: integer + additionalParams: description: > Additional parameters passed by the NFVO as input to the termination diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 658fcdfb..8324f4b4 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -22,11 +22,9 @@ definitions: type: string metadata: description: > - If present, this attribute provides values for the "metadata" attribute in "VnfInstance", - as defined in clause 5.5.2.2. - If a “metadata” entry in this CreateVnfRequest data structure has a corresponding default - value declared in the VNFD, the value in the “metadata” entry in the CreateVnfRequest - structure takes precedence. + If present, this attribute provides additional initial values, overriding those obtained from the VNFD, for + the "metadata" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling metadata + during the operation are defined in clause 5.4.2.3.1. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ScaleVnfRequest: -- GitLab From 8c835f77e46f8aff0d1204d61f9c5084b1dbf104 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 12:23:42 +0200 Subject: [PATCH 018/116] SOL002_29->SOL002_70: Datatypes updated --- .../SOL002VNFLifecycleManagement_def.yaml | 245 ++++++++++++++- ...OL002SOL003VNFLifecycleManagement_def.yaml | 286 ++++++++++++++++-- src/definitions/SOL002SOL003_def.yaml | 39 ++- 3 files changed, 542 insertions(+), 28 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index efaadd95..322347b0 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -485,12 +485,27 @@ definitions: stopType: description: > It signals whether forceful or graceful stop is requested. - Ignored if changeStateTo=STARTED. - Permitted values: - FORCEFUL: The VNFM will stop down the VNF or the affected VNFCs immediately after accepting the request. + The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" attribute is + equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo" is equal to + "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be + absent, when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is equal to + "FORCEFUL". The request shall be treated as if the "stopType" attribute has been set to "FORCEFUL", when the + "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is absent. type: string enum: - FORCEFUL + - GRACEFUL + gracefulStopTimeout: + description: > + The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, + before stopping the VNF. + The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" attribute is + equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo" is equal to + "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be + absent, when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is equal to + "FORCEFUL". The request shall be treated as if the "stopType" attribute has been set to "FORCEFUL", when the + "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is absent. + type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the process, @@ -521,6 +536,55 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeCurrentVnfPkgRequest: + description: > + This type represents request parameters for the "Change current VNF package" operation to replace the VNF package + on which a VNF instance is based. + type: object + required: + - vnfdId + properties: + vnfdId: + description: > + Identifier of the VNFD which defines the destination VNF Package for the change. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + extVirtualLinks: + description: > + Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be + supplied as part of this request. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + Information about internal VLs that are managed by other entities than the VNFM. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + vimConnectionInfo: + description: > + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external virtual links. This attribute shall only be supported and may be present if VNF-related resource + management in direct mode is applicable. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + additionalParams: + description: > + Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying + VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + descriptions: > + If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance", + as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed + parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the VNF configurable properties attribute + in the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during + the operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInfoModificationRequest: description: > @@ -577,7 +641,180 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" CreateVnfSnapshotRequest: + description: > + This type represents request parameters for the "Create VNF Snapshot" operation. + type: object + required: + - vnfSnapshotResId + properties: + vnfSnapshotResId: + description: > + Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the VNFC instance to be snapshotted. If this attribute is provided, only a snapshot of the + referred VNFC instance shall be created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + additionalParams: + description: > + Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”, + as declared in the VNFD as part of "CreateSnapshotVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" RevertToVnfSnapshotRequest: + description: > + This type represents request parameters for the "Revert-to VNF Snapshot" operation. + type: oject + properties: + vnfInstanceId: + description: > + Identifier of the VNF instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or + (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance + shall be reverted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotId: + description: > + Identifier of the VNF snapshot to be reverted to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the VNFC instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or + (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance + shall be reverted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcSnapshotId: + description: > + Identifier of the VNFC snapshot to be reverted to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + + VnfSnapshotRes: + description: > + This type represents an individual VNF snapshot resource. + type: object + required: + - id + properties: + id: + description: > + Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: > + VNF snapshot information, content and/or references to its content. Shall be present when the individual VNF + snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot" task + resource or extracted from a VNF snapshot package. + $ref: '#/definitions/VnfSnapshot' + + VnfSnapshot: + description: > + This type represents a VNF snapshot. + type: object + required: + - id + - vnfInstanceId + - triggeredAt + - vnfdId + - vnfInfo + - vnfcSnapshots + properties: + id: + description: > + Identifier of the VNF Snapshot. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceId: + description: > + Identifier of the snapshotted VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + triggeredAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + createdAt: + description: > + Timestamp indicating when the VNF snapshot has been completed. Shall be present once the VNF snapshot creation + has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfdId: + description: > + Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInfo: + description: > + VnfInfo of the snapshotted VNF instance. This is a copy of the individual VNF instance resource. + $ref: '#/definitions/VnfInstance' + vnfcSnapshots: + description: > + Information about VNFC snapshots constituting this VNF snapshot. + type: array + items: + $ref: '#/definitions/VnfcSnapshotInfo' + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfSnapshotRes: \ No newline at end of file + VnfcSnapshotInfo: + description: > + This type represents a VNFC snapshot. + type: object + required: + - id + - vnfcInstanceId + - triggeredAt + - vnfcInfo + properties: + id: + description: > + Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by + the VNFM and is unique within the scope of a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcInstanceId: + description: > + Identifier of the snapshotted VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + triggeredAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + createdAt: + description: > + Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot + creation has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfcInfo: + description: > + Information of the snapshotted VNFC instance. This is a copy of the individual VnfcResourceInfo. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" + computeSnapshotResource: + description: > + Reference to a compute snapshot resource. The identifiers of the compute and storage snapshot resources are + assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message + of the individual resource operations. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageSnapshotResources: + description: > + Reference to a storage snapshot resource. The identifiers of the compute and storage snapshot resources are + assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message + of the individual resource operations. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + StopType: + description: > + The enumeration StopType. + * FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request. + * GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) out of service after accepting + the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout" + attribute expires, the VNFM will stop the VNF instance or VNFC instance(s). + type: string + enum: + - FORCEFUL + - GRACEFUL \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 8324f4b4..5f5a3b73 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -242,7 +242,8 @@ definitions: VnfLcmOpOcc: description: > - This type represents a VNF lifecycle management operation occurrence. + This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" + attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. type: object required: - id @@ -306,6 +307,9 @@ definitions: * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications + * CREATE_SNAPSHOT: CreateVnfSnapshotRequest + * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest + * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest type: object isCancelPending: description: > @@ -337,8 +341,8 @@ definitions: description: > Information about VNFC instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array items: @@ -347,19 +351,27 @@ definitions: description: > Information about VL instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. This allows + the API consumer to obtain the information contained in the latest "result" notification if it has not + received it due to an error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. + This allows the API consumer to obtain the information contained + in the latest "result" notification if it has not received it due to + an error or a wrongly configured subscription filter. type: array items: $ref: "#/definitions/AffectedVirtualStorage" @@ -380,6 +392,19 @@ definitions: type: array items: $ref: "#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, + if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + This allows the API consumer to obtain the information contained in the latest "result" notification if it has + not received it due to an error or a wrongly configured subscription filter. + Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. + $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" + vnfSnapshotResId: + description: > + Identifier of the individual VNF snapshot resource, if applicable by the type of LCM operation, i.e., if value + of operation is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > Links to resources related to this resource. @@ -424,6 +449,11 @@ definitions: for this VNF LCM operation occurrence, if declaring as failed is currently allowed. $ref: "SOL002SOL003_def.yaml#/definitions/Link" + vnfSnapshot: + description: > + Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. + Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". + $ref: "SOL002SOL003_def.yaml#/definitions/Link" CancelMode: description: > @@ -465,6 +495,11 @@ definitions: This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" + verbosity: + description: > + This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present, + it shall default to the value "FULL". + $ref: "#/definitions/LcmOpOccNotificationVerbosityType" LccnSubscription: description: > @@ -491,6 +526,10 @@ definitions: description: > The URI of the endpoint to send the notification to. $ref: "SOL002SOL003_def.yaml#/definitions/Uri" + verbosity: + description: > + This attribute signals the verbosity of LCM operation occurrence notifications. + $ref: "#/definitions/LcmOpOccNotificationVerbosityType" _links: description: > Links to resources related to this resource. @@ -545,6 +584,12 @@ definitions: description: > Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > Reference to the VirtualNetwork resource. @@ -566,6 +611,12 @@ definitions: description: > Identifier of the scaling aspect. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the @@ -590,6 +641,12 @@ definitions: description: > Reference to the applicable VDU in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" computeResource: description: > Reference to the VirtualCompute resource. @@ -679,6 +736,12 @@ definitions: description: > Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > Reference to the VirtualNetwork resource. @@ -727,6 +790,12 @@ definitions: description: > Identifier of the VirtualStorageDesc in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" storageResource: description: > Reference to the VirtualStorage resource. @@ -760,7 +829,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" resourceHandle: description: > - Reference to the virtualised network resource realizing this link + Reference to the virtualised resource realizing this link port. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: @@ -856,6 +925,16 @@ definitions: MAC address, if assigned. At least one of "macAddress" or "ipAddresses" shall be present. $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress" + segmentationId: + description: > + Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a + subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. + Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment + value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an + identifier used between the application and the NFVI networking infrastructure to identify the network + sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local + segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology. + type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP @@ -926,6 +1005,12 @@ definitions: description: > Identifier of the monitoring parameter defined in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" name: description: > Human readable name of the monitoring parameter, as defined in the @@ -1011,6 +1096,12 @@ definitions: description: > Identifier of the related VLD in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is + associated to a VLD which is referred from the source or destination VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: @@ -1036,6 +1127,15 @@ definitions: (for new and modified resources) or has been (for removed resources) available from the VIM. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPortIds: + description: > + Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related vnfLinkPort + structures are present (case "added") or have been present (case "removed") in the VnfVirtualLinkResourceInfo + structure that is represented by the "vnfVirtualLinkResourceInfo" attribute in the "VnfInstance" structure. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resourceDefinitionId: description: > The identifier of the "ResourceDefinition" in the granting exchange @@ -1061,6 +1161,41 @@ definitions: "metadata" attribute of the VnfVirtualLinkResourceInfo structure. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external virtual links). + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data + type (see clause 5.5.3.3). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. + Detailed information is (for added resources) or has been (for removed resources) available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + AffectedVirtualStorage: description: > This type provides information about added, deleted, modified and @@ -1081,6 +1216,12 @@ definitions: description: > Identifier of the related VirtualStorage descriptor in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage + instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: @@ -1170,6 +1311,12 @@ definitions: description: > Identifier of the external CPD, VnfExtCpd, in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" cpProtocolInfo: description: > Network protocol information for this CP. @@ -1319,7 +1466,8 @@ definitions: - VnfLcmOperationOccurrenceNotification subscriptionId: description: > - Identifier of the subscription that this notification relates to. + Identifier of the subscription that this notification relates to.Shall be set to the value of the "id" attribute + of the "LccnSubscription" representing the associated "Individual subscription" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > @@ -1358,10 +1506,17 @@ definitions: triggered by auto-heal). Set to false otherwise. type: boolean + verbosity: + description: > + This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL". + If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM + operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute. + $ref: '#/definitions/LcmOpOccNotificationVerbosityType' vnfLcmOpOccId: description: > - The identifier of the VNF lifecycle management operation occurrence - associated to the notification. + The identifier of the VNF lifecycle management operation occurrence associated to the notification. Shall be + set to the value of the "id" attribute of the "VnfLcmOpOcc" representing the associate "Individual VNF lifecycle + management operation occurrence" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" affectedVnfcs: description: > @@ -1389,6 +1544,16 @@ definitions: type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. Shall be present + if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" and the operation + has performed any resource modification. Shall be absent otherwise. This attribute contains information about + the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence + and by any of the error handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1406,23 +1571,31 @@ definitions: description: > Information about the changed VNF instance information, including changed VNF configurable properties. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any changes to VNF instance information, - including VNF configurable properties. - Shall be absent otherwise. + Shall be present if the "notificationStatus" is set to "RESULT", + the "operation" attribute is not equal to "CHANGE_VNFPKG", the + "verbosity" attribute is set to "FULL" and the operation has performed + any changes to VNF instance information, including VNF configurable + properties. Shall be absent otherwise. $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. - Shall be present if the "notificationStatus" is set to "RESULT" and - the "operation" has made any changes to the external connectivity of - the VNF instance. Shall be absent otherwise. - Only information about external VL instances that have been added or - modified shall be provided. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has made + any changes to the external connectivity of the VNF instance. Shall be + absent otherwise. Only information about external VL instances that + have been added or modified shall be provided. type: array items: $ref: "#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. + Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF + instance information, including VNF configurable properties. Shall be absent otherwise. + $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" error: description: > Details of the latest error, if one has occurred during executing @@ -1542,6 +1715,7 @@ definitions: description: > Changes of the configurable properties of the VNFC instance. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfcInfo: description: > This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the @@ -1588,4 +1762,72 @@ definitions: Configurable properties referred in this attribute are declared in the VNFD. This attribute can be modified with the PATCH method - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + ModificationsTriggeredByVnfPkgChange: + description: > + This type represents attribute modifications that were performed on an "Individual VNF instance" resource when + changing the current VNF package. The attributes that can be included consist of those requested to be modified + explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the "VnfInstance" + data structure that were modified implicitly during the operation. + type: object + properties: + vnfConfigurableProperties: + description: > + This attribute signals the content of the "vnfConfigurableProperties" attribute in "VnfInstance" after the + modification and shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + This attribute signals the content of the "metadata" attribute in "VnfInstance" after the modification and + shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + This attribute signals the content of the "extensions" attribute in "VnfInstance" after the modification and + shall be present if that attribute was modified during the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfdId: + description: > + If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance". + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfProvider: + description: > + If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + type: string + vnfProductName: + description: > + If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + type: string + vnfSoftwareVersion: + description: > + If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + $ref: "SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". If present, + this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related + operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" + attribute. + $ref: "SOL002SOL003_def.yaml#/definitions/Version" + + LcmOpOccNotificationVerbosityType: + description: > + The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation + occurrence notifications. + * FULL: This signals a full notification which contains all change details. + * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to + be sent via the notification mechanism. + type: string + enum: + - FULL + - SHORT \ No newline at end of file diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index abd97498..b1df20d6 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -313,7 +313,8 @@ definitions: properties: cpdId: description: > - The identifier of the CPD in the VNFD. + The identifier of the CPD in the VNFD. In case this identifier refers to a CPD with trunking enabled, + the external CP instances created from this CPD will represent ports in a trunk. $ref: "#/definitions/IdentifierInVnfd" cpConfig: description: > @@ -332,7 +333,19 @@ definitions: shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object + required: + - id properties: + id: + description: > + Identifier of the VnfExtCpConfig entry. Managed by the API consumer. + $ref: "#/definitions/IdentifierInVnf" + parentCpConfigId: + description: > + Reference to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present in + "VnfExtCpConfig" structures that provide configuration information for a CP which represents a sub-port in + a trunk, and if parent ports are supported. + $ref: "#/definitions/IdentifierInVnf" cpInstanceId: description: > Identifier of the external CP instance to which this set of @@ -423,6 +436,16 @@ definitions: the VIM. At least one of "macAddress" or "ipAddresses" shall be present. $ref: "#/definitions/MacAddress" + segmentationId: + description: > + Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a + subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. + Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment + value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an + identifier used between the application and the NFVI networking infrastructure to identify the network + sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local + segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology. + type: string ipAddresses: description: > List of IP addresses to assign to the CP instance. Each entry @@ -706,7 +729,10 @@ definitions: HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. - MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. + MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. + CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. + REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. + CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE @@ -718,6 +744,9 @@ definitions: - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO + - CREATE_SNAPSHOT + - REVERT_TO_SNAPSHOT + - CHANGE_VNFPKG ProblemDetails: #SOL003 location: 4.3.5.3 @@ -879,6 +908,12 @@ definitions: description: > Identifier of the related VDU in the VNFD. $ref: "#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is + associated to a VDU which is referred from the source or destination VNFD. + $ref: "#/definitions/Identifier" changeType: description: > Signals the type of change. Permitted values: -- GitLab From b12907b72d6fa689e254418161d7c1be95033aab Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 12:41:52 +0200 Subject: [PATCH 019/116] Minor fix in SOL002 VNF LCM Interface --- .../VNFLifecycleManagement.yaml | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 82d92175..c8670b38 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -540,40 +540,40 @@ paths: - $ref: '#/components/parameters/VnfInstanceId' - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - post: - description: | - The POST method changes the current VNF package on which the VNF instance is based. - requestBody: - $ref: '#/components/requestBodies/VnfInstanceChangeVnfPkgRequest' - responses: - "202": - $ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post' - "400": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "404": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 - "405": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "409": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 - "416": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 - "422": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 - "429": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 - "500": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - "504": - $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + post: + description: | + The POST method changes the current VNF package on which the VNF instance is based. + requestBody: + $ref: '#/components/requestBodies/VnfInstanceChangeVnfPkgRequest' + responses: + "202": + $ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "409": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_lcm_op_occs: parameters: -- GitLab From c7718ea614a71ed2ca3ba61d8078e4c493ff7f13 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 14:13:33 +0200 Subject: [PATCH 020/116] VnfInstanceSubscriptionFilter interdependency --- src/definitions/SOL002SOL003_def.yaml | 133 +++++++++++++------------- 1 file changed, 67 insertions(+), 66 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index b1df20d6..a39c621e 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -94,73 +94,74 @@ definitions: instances. type: object properties: - vnfdIds: - description: > - If present, match VNF instances that were created based on a VNFD - identified by one of the vnfdId values listed in this attribute. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/definitions/Identifier" - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF products from - certain providers. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: > - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF products - with certain product names, from one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: > - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain product - name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: > - Software version to match. - $ref: "#/definitions/Version" - vnfdVersions: - description: > - If present, match VNF instances that belong to VNF - products with certain VNFD versions, a certain - software version and a certain product name, from - one particular provider. - type: array - items: + oneOf: + vnfdIds: + description: > + If present, match VNF instances that were created based on a VNFD + identified by one of the vnfdId values listed in this attribute. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfProductsFromProviders: + description: > + If present, match VNF instances that belong to VNF products from + certain providers. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: object + required: + - vnfProvider + properties: + vnfProvider: + description: > + Name of the VNF provider to match. + type: string + vnfProducts: + description: > + If present, match VNF instances that belong to VNF products + with certain product names, from one particular provider. + type: array + items: + type: object + required: + - vnfProductName + properties: + vnfProductName: + description: > + Name of the VNF product to match. + type: string + versions: + description: > + If present, match VNF instances that belong to VNF + products with certain versions and a certain product + name, from one particular provider. + type: array + items: + type: object + required: + - vnfSoftwareVersion + properties: + vnfSoftwareVersion: + description: > + Software version to match. $ref: "#/definitions/Version" + vnfdVersions: + description: > + If present, match VNF instances that belong to VNF + products with certain VNFD versions, a certain + software version and a certain product name, from + one particular provider. + type: array + items: + $ref: "#/definitions/Version" vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed -- GitLab From 6fa0ae887af8e2d634802dc69cdb3493d5df4404 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 14:34:09 +0200 Subject: [PATCH 021/116] VnfInstanceSubscriptionFilter interdependency --- src/definitions/SOL002SOL003_def.yaml | 144 ++++++++++++++------------ 1 file changed, 77 insertions(+), 67 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index a39c621e..64915c8d 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -93,75 +93,85 @@ definitions: This type represents subscription filter criteria to match VNF instances. type: object + anyOf: + - oneOf: + - required: + - vnfdId + - required: + - vnfProductsFromProviders + - oneOf: + - required: + - vnfInstanceIds + - required: + - vnfInstanceNames properties: - oneOf: - vnfdIds: - description: > - If present, match VNF instances that were created based on a VNFD - identified by one of the vnfdId values listed in this attribute. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/definitions/Identifier" - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF products from - certain providers. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: > - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF products - with certain product names, from one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: > - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain product - name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: > - Software version to match. + vnfdIds: + description: > + If present, match VNF instances that were created based on a VNFD + identified by one of the vnfdId values listed in this attribute. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfProductsFromProviders: + description: > + If present, match VNF instances that belong to VNF products from + certain providers. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: object + required: + - vnfProvider + properties: + vnfProvider: + description: > + Name of the VNF provider to match. + type: string + vnfProducts: + description: > + If present, match VNF instances that belong to VNF products + with certain product names, from one particular provider. + type: array + items: + type: object + required: + - vnfProductName + properties: + vnfProductName: + description: > + Name of the VNF product to match. + type: string + versions: + description: > + If present, match VNF instances that belong to VNF + products with certain versions and a certain product + name, from one particular provider. + type: array + items: + type: object + required: + - vnfSoftwareVersion + properties: + vnfSoftwareVersion: + description: > + Software version to match. + $ref: "#/definitions/Version" + vnfdVersions: + description: > + If present, match VNF instances that belong to VNF + products with certain VNFD versions, a certain + software version and a certain product name, from + one particular provider. + type: array + items: $ref: "#/definitions/Version" - vnfdVersions: - description: > - If present, match VNF instances that belong to VNF - products with certain VNFD versions, a certain - software version and a certain product name, from - one particular provider. - type: array - items: - $ref: "#/definitions/Version" vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed -- GitLab From df9381cef1701b977fc406ed813831e161f8c73e Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 14:41:22 +0200 Subject: [PATCH 022/116] Minor fix in VNF LCM Interface --- .../definitions/SOL002VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 322347b0..b3fabe38 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -669,7 +669,7 @@ definitions: RevertToVnfSnapshotRequest: description: > This type represents request parameters for the "Revert-to VNF Snapshot" operation. - type: oject + type: object properties: vnfInstanceId: description: > -- GitLab From 5c082e75daf303405a37a34a1d65511032b5bf54 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 15:21:32 +0200 Subject: [PATCH 023/116] SOL002 datatypes' properties interdependencies --- .../SOL002VNFConfiguration_def.yaml | 15 +++++++++++ .../SOL002VNFLifecycleManagement_def.yaml | 11 ++++++++ ...OL002SOL003VNFLifecycleManagement_def.yaml | 25 +++++++++++++++++++ ...002SOL003VNFPerformanceManagement_def.yaml | 10 ++++++++ src/definitions/SOL002SOL003_def.yaml | 12 +++++++++ 5 files changed, 73 insertions(+) diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 45d66889..761f41b8 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -10,6 +10,11 @@ definitions: * NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration of existing VNFC instances. type: object + anyOf: + - required: + - vnfConfigurationData + - required: + - vnfcConfigurationData properties: vnfConfigurationData: description: > @@ -148,6 +153,16 @@ definitions: * NOTE 1: Either "address" or "useDynamicAddress" shall be present. * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. type: object + oneOf: + - required: + - address + - required: + - useDynamicAddress + anyOf: + - required: + - macAddress + - required: + - ipAddress properties: address: description: > diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index b3fabe38..dc003fa0 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -670,6 +670,17 @@ definitions: description: > This type represents request parameters for the "Revert-to VNF Snapshot" operation. type: object + oneOf: + - anyOf: + - required: + - vnfInstanceId + - required: + - vnfSnapshotInfoId + - anyOf: + - required: + - vnfcInstanceId + - required: + - vnfcSnapshotInfoId properties: vnfInstanceId: description: > diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 5f5a3b73..aee36414 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -68,6 +68,12 @@ definitions: This type represents request parameters for the "Scale VNF to Level" operation. type: object + anyOf: + - oneOf: + - required: + - instantiationLevelId + - required: + - scaleInfo properties: instantiationLevelId: description: > @@ -245,6 +251,10 @@ definitions: This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. type: object + anyOf: + - oneOf: + - changedInfo + - modificationsTriggeredByVnfPkgChange required: - id - operationState @@ -919,6 +929,16 @@ definitions: This type represents information about a network address that has been assigned. type: object + anyOf: + - required: + - macAddress + - required: + - ipAddresses + oneOf: + - required: + - addresses + - required: + - addressRange properties: macAddress: description: > @@ -1302,6 +1322,11 @@ definitions: - id - cpdId - cpProtocolInfo + oneOf: + - required: + - associatedVnfcCpId + - required: + - associatedVnfVirtualLinkId properties: id: description: > diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 9b6e1c47..e153cc77 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -383,6 +383,11 @@ definitions: This type represents modifications to a PM job. It shall comply with the provisions defined in table 6.5.2.12-1. type: object + oneOf: + - required: + - callbackUri + - required: + - authentication properties: callbackUri: description: > @@ -535,6 +540,11 @@ definitions: This type represents modifications to a threshold. It shall comply with the provisions defined in table 6.5.2.11-1. type: object + oneOf: + - required: + - callbackUri + - required: + - authentication properties: callbackUri: description: > diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 64915c8d..e3568fbb 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -440,6 +440,18 @@ definitions: description: > This type represents network address data for IP over Ethernet. type: object + anyOf: + - required: + - macAddress + - required: + - ipAddresses + oneOf: + - required: + - fixedAddresses + - required: + - numDynamicAddresses + - required: + - ipAddressRange properties: macAddress: description: > -- GitLab From 02136269f3751848e906dc9fc1aea43a28d90283 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 15:29:47 +0200 Subject: [PATCH 024/116] Minor fix in VNF LCM Interface --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index aee36414..8860000b 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -251,10 +251,11 @@ definitions: This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. type: object - anyOf: - - oneOf: - - changedInfo - - modificationsTriggeredByVnfPkgChange + oneOf: + - required: + - changedInfo + - required: + - modificationsTriggeredByVnfPkgChange required: - id - operationState -- GitLab From 0bc54ab1a17236958336ec9639d05081f22be8b7 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Sun, 7 Jun 2020 21:48:02 +0200 Subject: [PATCH 025/116] SOL003_4, SOL003_8 : update in data types --- src/definitions/SOL002SOL003_def.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index e3568fbb..9e499094 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -326,6 +326,9 @@ definitions: description: > The identifier of the CPD in the VNFD. In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. + + NOTE: In case this identifier refers to a CPD with trunking enabled, the external CP instances created + from this CPD will represent ports in a trunk. $ref: "#/definitions/IdentifierInVnfd" cpConfig: description: > @@ -616,6 +619,23 @@ definitions: The identifier of the resource in the scope of the VIM or the resource provider. $ref: "#/definitions/IdentifierInVim" + vnfLinkPort: + description: > + Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL + on this network resource. If this attribute is not present, the VNFM shall create the link ports on the + externally-managed VL. + type: array + items: + $ref: "#/definitions/VnfLinkPortData" + extManagedMultisiteVirtualLinkId: + description: > + Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO + entity that manages the externally managed multi-site VL instance. It shall be present when the present + externally-managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g., + in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances + corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same + extManagedMultisiteVirtualLinkId. + $ref: "#/definitions/Identifier" Identifier: description: > -- GitLab From 802820c52c10981dc2b3cf1bab6a19d22150eaf5 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 01:42:27 +0200 Subject: [PATCH 026/116] SOL003_9>SOL003_30 : VNF LCM interface updated --- .../VNFLifecycleManagement.yaml | 900 +++++++++++++++++- .../VNFLifecycleManagementNotification.yaml | 4 +- 2 files changed, 893 insertions(+), 11 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index c266ba95..9a92cc1a 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -52,8 +52,8 @@ paths: #SOL003 location: 5.4.2 post: description: > - Create VNF Identifier. - The POST method creates a new VNF instance resource. + The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in + "ENABLED" state. This method shall follow the provisions specified in the tables 5.4.2.3.1-1 and 5.4.2.3.1-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual VNF instance" @@ -61,6 +61,14 @@ paths: "instantiationState" attribute in the representation of that resource shall be "NOT_INSTANTIATED". A notification of type VnfIdentifierCreationNotification shall be triggered as part of successfully executing this method as defined in clause 5.5.2.18. + When initiating the creation of a VNF instance resource, the passed metadata values can differ from + 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). + 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. parameters: - name: createVnfRequest description: The VNF creation parameters @@ -415,6 +423,25 @@ paths: for URI query parameters, request and response data structures, and response codes. 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 + "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. + NOTE: This allows to build the set of "extensions" and "vnfConfigurableProperties" incrementally + prior VNF instantiation but ensures their completeness for an instantiated VNF instance. + 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 + processing and validation, the attributes shall be provided in the "VnfInstance" data structure and + the operation shall proceed towards successful completion. parameters: - name: VnfInfoModificationRequest description: > @@ -608,6 +635,23 @@ paths: In addition, 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. + + When instantiating a VNF instance, the values of the extensions and/or VNF configurable properties + passed in the instantiation request can differ from the values in the "VnfInstance" data structure + that were initialized from default values, if any, declared in the VNFD. + 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 + "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 + 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 processing and validation, the attributes shall be provided in the "VnfInstance" data structure + and the operation shall proceed to obtain the grant. parameters: - name: InstantiateVnfRequest description: Parameters for the VNF instantiation. @@ -998,6 +1042,22 @@ paths: it shall set the "flavourId" attribute in the representation of the "Individual VNF instance" resource to the value of the "newFlavourId" attribute passed in the "ChangeVnfFlavourRequest" data in the POST request. + + When initiating a change of the current VNF flavour, the values of the extensions and/or VNF + configurable properties, can differ between the new flavour and the old flavour of the VNF instance. + 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 + "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 + 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 processing and validation, the attributes shall be provided in the "VnfInstance" data structure + and the operation shall proceed to obtain the grant. parameters: - name: ChangeVnfFlavourRequest description: Parameters for the Change VNF Flavour operation. @@ -1359,7 +1419,7 @@ paths: # Operate VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/operate': - #SOL003 location: 5.4.9.2 + #SOL003 location: 5.4.10.2 parameters: - name: vnfInstanceId description: > @@ -1491,7 +1551,7 @@ paths: # Change external VNF connectivity task # ############################################################################### '/vnf_instances/{vnfInstanceId}/change_ext_conn': - #SOL003 location: 5.4.9.2 + #SOL003 location: 5.4.11.2 parameters: - name: vnfInstanceId description: > @@ -1607,6 +1667,128 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + ############################################################################### + # Change current VNF package task # + ############################################################################### + '/vnf_instances/{vnfInstanceId}/change_vnfpkg': + #SOL003 location: 5.4.11a.2 + parameters: + - name: vnfInstanceId + description: > + Identifier of the VNF instance of which the underlying VNF package is + requested to be changed. This identifier can be retrieved from the + resource referenced by the "Location" HTTP header in the response to + a POST request creating a new "Individual VNF instance" resource. + It can also be retrieved from the "id" attribute in the payload body + of that response. + in: path + type: string + required: true + post: + description: > + The POST method changes the current VNF package on which the VNF instance is based. + This method shall follow the provisions specified in the tables 5.4.11a.3.1-1 and + 5.4.11a.3.1-2 for URI query parameters, request and response data structures, and + response codes. + The steps and conditions that apply as the result of successfully executing this method + are specified in clause 5.4.1.2. + During a change of the current VNF package, the allowed and required extensions and/or + VNF configurable properties and their data types, as well as the metadata data types, + can differ between the source and the destination VNFD. + parameters: + - name: ChangeCurrentVnfPkgRequest + description: > + Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a. + in: body + required: true + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 202: + description: > + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: The resource URI of the created VNF instance + type: string + format: url + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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, + #or that a required child attribute of the "extensions" attribute has not been set. + #Those attributes are marked as "required" in the VNFD. + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + ############################################################################### # VNF LCM operation occurrences # ############################################################################### @@ -2292,14 +2474,14 @@ paths: for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 5.4.3 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 + Creation of two "Individual subscription" resources with the same callback URI 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), + filter and callback URI 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). + with the same filter and callback URI). parameters: - name: LccnSubscriptionRequest description: > @@ -2374,7 +2556,7 @@ paths: #description: > #303 SEE OTHER - #Shall be returned if a subscription with the same callbackURI and the same filter already exists + #Shall be returned if a subscription with the same callback URI and the same filter already exists #and the policy of the VNFM is to not create redundant subscriptions. #The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing #"Individual subscription" resource. @@ -2664,4 +2846,704 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + ############################################################################### + # Create VNF snapshot task # + ############################################################################### + '/vnf_instances/{vnfInstanceId}/create_snapshot': + #SOL003 location: 5.4.21.2 + parameters: + - name: vnfInstanceId + description: > + Identifier of the VNF instance from which a VNF snapshot is to be created. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual VNF instance" resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + in: path + type: string + required: true + post: + description: > + The POST method requests creating a VNF snapshot resource based on a VNF + instance resource. + 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 + 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. + 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. + parameters: + - name: CreateVnfSnapshotRequest + description: > + Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.20. + in: body + required: true + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 202: + description: > + 202 ACCEPTED + + Shall be returned when the request was accepted for processing, but the processing + has not been completed. + The response body shall be empty. + 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: + Location: + description: The resource URI of the created VNF instance + type: string + format: url + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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, + #including rules for the presence of the response body. + #Specifically in case of this task resource, the response code 404 shall also be returned if the task + #is not supported for the VNF instance represented by the parent resource, which means that the task + #resource consequently does not exist. + #In this case, the response body shall be present, and shall contain a ProblemDetails structure, in + #which the "detail" attribute shall convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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, or that another lifecycle management operation is ongoing. + #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" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + ############################################################################### + # Revert to VNF snapshot task # + ############################################################################### + '/vnf_instances/{vnfInstanceId}/revert_to_snapshot': + #SOL003 location: 5.4.22.2 + parameters: + - name: vnfInstanceId + description: > + Identifier of the VNF instance for the VNF snapshot to be reverted to. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual VNF instance" resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + in: path + type: string + required: true + post: + description: > + The POST method requests reverting a VNF instance to a VNF snapshot. + This method shall follow the provisions specified in the tables 5.4.22.3.1-1 + and 5.4.22.3.1-2 for URI query parameters, request and response data structures, + and response codes. + parameters: + - name: RevertToVnfSnapshotRequest + description: > + Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.23. + in: body + required: true + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 202: + description: > + 202 ACCEPTED + + Shall be returned when the request was accepted for processing, but the processing has + not been completed. + The response body shall be empty. + 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: + Location: + description: The resource URI of the created VNF instance + type: string + format: url + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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, + #including rules for the presence of the response body. + #Specifically in case of this task resource, the response code 404 shall also be returned if the task + #is not supported for the VNF instance represented by the parent resource, which means that the task + #resource consequently does not exist. + #In this case, the response body shall be present, and shall contain a ProblemDetails structure, in + #which the "detail" attribute shall convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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, or that another lifecycle management operation is ongoing. + #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" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + ############################################################################### + # VNF snapshots # + ############################################################################### + '/vnf_snapshots': + #SOL003 location: 5.4.23.2 + post: + description: > + The POST method creates a new "Individual VNF snapshot" resource. + 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. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 201: + description: > + 201 CREATED + + 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. + The HTTP response shall include a "Location" HTTP header that contains the resource URI + of the "Individual VNF snapshot" resource. + headers: + Location: + description: The resource URI of the created VNF instance + type: string + format: url + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + 409: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + get: + description: > + The GET method queries information about multiple VNF snapshots. + This method shall follow the provisions specified in the tables 5.4.23.3.2-1 + and 5.4.23.3.2-2 for URI query parameters, request and response data structures, + and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. + The VNFM shall support receiving this parameter as part of the URI query string. + The NFVO may supply this parameter. + All attribute names that appear in the VnfSnapshot and in data types referenced from + it shall be supported by the VNFM in the filter expression. + in: query + required: false + type: string + - name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The VNFM shall support this parameter. + in: query + required: false + type: string + - name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_fields + description: > + Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. + The VNFM should support this parameter. + in: query + required: false + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the response. + See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. + The following attributes shall be excluded from the VnfSnapshot structure + in the response body if this parameter is provided, or none of the parameters + "all_fields", "fields", "exclude_fields", "exclude_default" are provided: + - vnfInstance + - vnfcSnapshots + in: query + required: false + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be supported by the + VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of + ETSI GS NFV-SOL 013 for this resource. + in: query + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 200: + description: > + 200 OK + + 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. + 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. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string + maximum: 1 + minimum: 0 + schema: + type: array + items: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + ############################################################################### + # Individual VNF snapshot # + ############################################################################### + '/vnf_snapshots/{vnfSnapshotInfoId}': + #SOL003 location: 5.4.24.2 + parameters: + - name: vnfSnapshotInfoId + description: > + Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved + from the resource referenced by the "Location" HTTP header in the response to a POST request + creating a new VNF snapshot resource. It can also be retrieved from the "id" attribute in + the payload body of that response. + in: path + type: string + required: true + + get: + #SOL003 location: 5.4.24.3.2 + description: > + The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" + resource. + This method shall follow the provisions specified in the tables 5.4.24.3.2-1 and 5.4.24.3.2-2 + for URI query parameters, request and response data structures, and response codes. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 200: + description: > + 200 OK + + 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. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + delete: + #SOL003 location: 5.4.24.3.5 + description: > + This method deletes an "Individual VNF snapshot" resource and the associated VNF snapshot + information managed by the VNFM, and any resource associated to the VNF snapshot managed + by the VIM. + As the result of successfully executing this method, the "Individual VNF snapshot" resource + shall not exist any longer. + This method shall follow the provisions specified in the tables 5.4.24.3.5-1 and 5.4.24.3.5-2 + for URI query parameters, request and response data structures, and response codes. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + Shall be returned when the VNF snapshot resource and the associated VNF snapshot were + deleted successfully. + The response body shall be empty. + headers: + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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 snapshot is in use by some operation such + #as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. + #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" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + + + + + + + + + + + + + + + + + + + + diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 1015e928..3d24ee2d 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -115,8 +115,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by the + API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: -- GitLab From 4a5f6d2d01d5d9f21b061d2aeff40f55d1683e25 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:02:43 +0200 Subject: [PATCH 027/116] SOL003_31: VnfInstance data type updated --- .../SOL003VNFLifecycleManagement_def.yaml | 46 ++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 11b3331c..93e879ef 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -82,12 +82,20 @@ definitions: set to true, auto-healing is currently enabled. If set to false, auto-healing is currently disabled. These configurable properties can be initialized with default values - from the VNFD (see note 4) or with values passed in the InstantiateVnfRequest - structure (see clause 5.5.2.4). - Configurable properties initialized with default values from the VNFD can be - updated with values passed in the InstantiateVnfRequest structure. + from the VNFD. + Configurable properties can be modified with values passed in the request + structures of certain LCM operations, such as the InstantiateVnfRequest + structure. Further, these configurable properties can be created, modified or deleted with the PATCH method. + + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > @@ -155,7 +163,13 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" extManagedVirtualLinkInfo: description: > - External virtual links the VNF instance is connected to. + Information about the externally-managed internal VLs of the VNF instance. + + NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same + VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of + ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate + so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site + VL instance (refer to clause 5.5.3.3). type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" @@ -205,7 +219,7 @@ definitions: The declaration of metadata in the VNFD can optionally contain the specification of initial values. The VNFM shall accept requests to write metadata that are not declared in the VNFD. These attributes can be initialized with default values from the VNFD or with values - passed in the CreateVnfRequest structure (see clause 5.5.2.3). + passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). This attributeThese attributes can be created, modified or removed with the PATCH method. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. @@ -229,18 +243,18 @@ definitions: Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. - These attributes can be initialized with default values from the VNFD or with values passed in the - InstantiateVnfRequest structure (see clause 5.5.2.4). - Attributes initialized with default values from the VNFD can be updated with values passed in the - InstantiateVnfRequest structure. + These attributes can be initialized with default values from the VNFD. + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. - Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with - a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" - that have no declared initial value shall not be created, in order to be consistent with the semantics - of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. _links: description: > Links to resources related to this resource. -- GitLab From f59fc8a396f9e74922343a179af3009dc8cf87c9 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:20:23 +0200 Subject: [PATCH 028/116] SOL003_33: InstantiateVnfRequest data type updated --- .../SOL003VNFLifecycleManagement_def.yaml | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 93e879ef..61a76f45 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -347,6 +347,12 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. + + NOTE: It is possible to have several ExtManagedVirtualLinkData for the same + VNF internal VL in case of a multi-site VNF spanning several VIMs. The set + of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall + indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -373,18 +379,17 @@ definitions: $ref: "../../../definitions/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. + If present, this attribute provides modifications to the default values, + as obtained from the VNFD, of the "extensions" attribute in "VnfInstance", + as defined in clause 5.5.2.2. Provisions for handling extensions during the + operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - This parameter provides values for the VNF configurable properties - attribute in the "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. + If present, this attribute provides modifications to the default values, + as obtained from the VNFD, of the VNF configurable properties attribute in + the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling + configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: -- GitLab From 25c8107610850e44c24ee5094bebb696c5c1c2c1 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:24:08 +0200 Subject: [PATCH 029/116] SOL003_34: ScaleVnfToLevelRequest type updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 8860000b..143f236c 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -97,6 +97,21 @@ definitions: process, specific to the VNF being scaled, as declared in the VNFD as part of "ScaleVnfToLevelOpConfig". $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of + the "extensions" attribute in "VnfInstance", as defined in clause + 5.5.2.2. Provisions for handling extensions during the operation, + are defined in clause 5.4.7.3.1. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of + the VNF configurable properties attribute in the "VnfInstance", as + defined in clause 5.5.2.2. Provisions for handling VNF configurable + properties during the operation, are defined in clause 5.4.7.3.1. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfInfoModificationRequest: description: > -- GitLab From 605b6e0fb82eff114eaac4a280a574289c4b9146 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:28:09 +0200 Subject: [PATCH 030/116] SOL003_34/35: ChangeVnfFlavourRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 61a76f45..daf731f2 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -420,6 +420,12 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. + + NOTE: It is possible to have several ExtManagedVirtualLinkData for the same VNF + internal VL in case of a multi-site VNF spanning several VIMs. The set of + ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate + so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site + VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -439,6 +445,19 @@ definitions: to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of the "extensions" + attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling + extensions during the operation, are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the VNF + configurable properties attribute in the "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling VNF configurable properties during the operation, are defined + in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: type: object -- GitLab From 70f2ba953bab480a9a676ad1a6ef07ebee01996e Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:40:38 +0200 Subject: [PATCH 031/116] SOL003_38: ChangeCurrentVnfPkgRequest added --- .../SOL003VNFLifecycleManagement_def.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index daf731f2..bb3895cc 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -593,6 +593,65 @@ definitions: "ChangeExtVnfConnectivityOpConfig".". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + ChangeCurrentVnfPkgRequest: + #SOL003 location: 5.5.2.11a + description: > + This type represents request parameters for the "Change current VNF package" + operation to replace the VNF package on which a VNF instance is based. + type: object + required: + - vnfdId + properties: + vnfdId: + description: > + Identifier of the VNFD which defines the destination VNF Package for the + change. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + extVirtualLinks: + description: > + Information about external VLs to connect the VNF to. Entries in the list + that are unchanged need not be supplied as part of this request. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + Information about internal VLs that are managed by the NFVO. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + vimConnectionInfo: + description: > + Information about VIM connections to be used for managing the resources + for the VNF instance, or refer to external virtual links. This attribute + shall only be supported and may be present if VNF-related resource + management in direct mode is applicable. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the process, specific + to the VNF of which the underlying VNF package is changed, as declared in + the VNFD as part of "ChangeCurrentVnfPkgOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of the + "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling extensions during the operation, and needed passed + parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the VNF + configurable properties attribute in the "VnfInstance", as defined in clause + 5.5.2.2. Provisions for handling VNF configurable properties during the + operation, and needed passed parameter values in case of conflicts, are + defined in clause 5.4.11a.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfInfoModificationRequest: description: > This type represents attribute modifications for an -- GitLab From f084e5fac31e3adc8043c63f76724bcfd71bd4f9 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:48:27 +0200 Subject: [PATCH 032/116] SOL003_41: LccnSubscription updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 143f236c..f2ef77b0 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -535,6 +535,7 @@ definitions: required: - id - callbackUri + - verbosity - _links properties: id: -- GitLab From 440f5aa9f6a6767b2b8a4ca752715b5ab2792142 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 02:55:19 +0200 Subject: [PATCH 033/116] SOL003_43: VnfLcmOperationOccurrenceNotification updated --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index f2ef77b0..9152b4a4 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1564,12 +1564,13 @@ definitions: description: > Information about VNFC instances that were affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any resource modification. Shall be - absent otherwise. This attribute contains information about the - cumulative changes to virtualised resources that were performed so - far by the VNF LCM operation occurrence and by any of the error - handling procedures for that operation occurrence. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has + performed any resource modification. Shall be absent otherwise. + This attribute contains information about the cumulative changes + to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures + for that operation occurrence. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/AffectedVnfc" @@ -1577,22 +1578,27 @@ definitions: description: > Information about VL instances that were affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any resource modification. Shall be - absent otherwise. This attribute contains information about the - cumulative changes to virtualised resources that were performed so - far by the VNF LCM operation occurrence and by any of the error - handling procedures for that operation occurrence. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has + performed any resource modification. Shall be absent otherwise. + This attribute contains information about the cumulative changes + to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures + for that operation occurrence. type: array items: $ref: "#/definitions/AffectedVirtualLink" affectedExtLinkPorts: description: > - Information about external VNF link ports that were affected during the lifecycle operation. Shall be present - if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" and the operation - has performed any resource modification. Shall be absent otherwise. This attribute contains information about - the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence - and by any of the error handling procedures for that operation occurrence. + Information about external VNF link ports that were affected during + the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has + performed any resource modification. Shall be absent otherwise. + This attribute contains information about the cumulative changes + to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures + for that operation occurrence. type: array items: $ref: "#/definitions/AffectedExtLinkPort" -- GitLab From ecc7c1c1ec510cbf8f6b632507f3a531d817cc51 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 03:19:46 +0200 Subject: [PATCH 034/116] SOL003_46: VnfSnapshotInfo added --- ...SOL002SOL003VNFLifecycleManagement_def.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 9152b4a4..f2d3542f 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1746,6 +1746,24 @@ definitions: Links to resources related to this notification. $ref: "#/definitions/LccnLinks" + VnfSnapshotInfo: + description: > + This type represents an "Individual VNF snapshot" resource. + type: object + required: + - id + parameters: + id: + description: > + Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: > + Information about the VNF snapshot, content and/or references to its content. Shall be present + when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the + corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package. + $ref: "SOL002SOL003_def.yaml#/definitions/VnfSnapshot" + VnfcInfoModifications: description: > This type represents modifications of an entry in an array of "VnfcInfo" objects. -- GitLab From a8261dbc8bf277e479847fc60f9cf3134a45cfcc Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 03:23:21 +0200 Subject: [PATCH 035/116] SOL003_50/51 : ExtManagedVirtualLinkInfo updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index f2d3542f..ef5336ed 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -619,7 +619,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > - Reference to the VirtualNetwork resource. + Reference to the VirtualNetwork resource providing this VL. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPorts: description: > @@ -627,6 +627,15 @@ definitions: type: array items: $ref: "#/definitions/VnfLinkPortInfo" + extManagedMultisiteVirtualLinkId: + description: > + Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO entity + that manages the externally managed multi-site VL instance. It shall be present when the externally-managed + internal VL is part of a multi-site VL, e.g., in support of multi-site VNF spanning several VIMs. + All externally-managed internal VL instances corresponding to an internal VL created based on the same + virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + ScaleInfo: required: -- GitLab From adb89d31b44b257f4b3a619a1277caa80fb98776 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 03:47:02 +0200 Subject: [PATCH 036/116] SOL003_61: VnfcSnapshotInfo added --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index ef5336ed..607fa6ed 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1396,6 +1396,75 @@ definitions: Shall be present in case this CP instance maps to an internal VL. See note. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + VnfcSnapshotInfo: + description: > + This type represents a VNFC snapshot. + type: object + required: + - id + - vnfcInstanceId + - triggeredAt + - vnfcResourceId + properties: + id: + description: > + Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by + the VNFM and is unique within the scope of a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + vnfcInstanceId: + description: > + Identifier of the snapshotted VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + triggeredAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + createdAt: + description: > + Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot + creation has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfcResourceId: + description: > + Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the snapshotted + VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + computeSnapshotResource: + description: > + Reference to a compute snapshot resource. + The identifier of the compute and storage snapshot resource is assigned during creation of a VNFC snapshot + being returned from the VIM as output data in the response message of the individual resource operations. + This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result o + f the "Create VNF snapshot task". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageSnapshotResources: + description: > + Mapping of the storage resources associated to the VNFC with the storage snapshot resources. + type: array + items: + type: object + required: + - storageResourceId + properties: + storageResourceId: + description: > + Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure + that represents the virtual storage resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + storageSnapshotResource: + description: > + Reference to a storage snapshot resource. + The identifier of the storage snapshot resource is assigned during creation of a VNFC + snapshot being returned from the VIM as output data in the response message of the + individual resource operations. This attribute shall only be present for a VNFC snapshot + with an associated storage resource and that has been newly created by the VNFM as a + result of the "Create VNF snapshot task". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + userDefinedData: + description: > + User defined data for the VNFC snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfOperationalStateType: description: > STARTED: The VNF instance is up and running. -- GitLab From 75b26fe2d4a091ad6e5e384e104582310f42e13a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 03:50:47 +0200 Subject: [PATCH 037/116] SOL003_62: VnfLinkPortData added --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 607fa6ed..d00a57fd 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1465,6 +1465,25 @@ definitions: User defined data for the VNFC snapshot. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfLinkPortData: + description: > + This type represents an externally provided link port to be used to connect a VNFC connection point + to an exernallymanaged VL. + type: object + required: + - vnfLinkPortId + - resourceHandle + properties: + vnfLinkPortId: + description: > + Identifier of this link port as provided by the entity that has created the link port. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceHandle: + description: > + Resource handle of the virtualised resource that realizes the link port. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + VnfOperationalStateType: description: > STARTED: The VNF instance is up and running. -- GitLab From 073aa2fe9839be509f91064e5d5b1d82a6a163c9 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 04:01:23 +0200 Subject: [PATCH 038/116] SOL003_67>SOL003_69: text fixes in VNF PM interface --- .../VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 8 ++++---- .../SOL002SOL003VNFPerformanceManagement_def.yaml | 14 +++++++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index b3a0fb81..b1d7f874 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -389,7 +389,7 @@ paths: patch: description: > - This method allows to modify an "individual PM job" resource. + This method allows to modify an "Individual PM job" resource. This method shall follow the provisions specified in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 7cabe4ae..4c89fba6 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -118,8 +118,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, - e.g. during the creation of the PM job or threshold resource. + The GET method allows the API producer to test the notification endpoint that is provided + by the API consumer, e.g. during the creation of the PM job or threshold resource. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: @@ -252,8 +252,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided + by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index e153cc77..96c82452 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -423,7 +423,7 @@ definitions: performanceMetricGroup: description: > Group of performance metrics. A metric group is a pre-defined list - of metrics, known to the producer that it can decompose to + of metrics, known to the API producer that it can decompose to individual metrics. Valid values are specified as "Measurement Group" values in clause 7.2 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) @@ -433,9 +433,9 @@ definitions: type: string collectionPeriod: description: > - Specifies the periodicity at which the producer will collect + Specifies the periodicity at which the API producer will collect performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the + At the end of each reportingPeriod, the API producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the @@ -449,10 +449,10 @@ definitions: # Done using min and max params to set a range for positive int. reportingPeriod: description: > - Specifies the periodicity at which the producer will report to the - consumer. about performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the - consumer about availability of the performance data collected for + Specifies the periodicity at which the API producer will report to the + API consumer. about performance information. The unit shall be seconds. + At the end of each reportingPeriod, the API producer will inform the + API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the -- GitLab From f773fc8f3617d2008863ee5dab430b074355c058 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 04:08:14 +0200 Subject: [PATCH 039/116] SOL003_71>SOL003_74: text fixes in VNF FM Interface --- src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml | 10 +++++----- .../VNFFaultManagementNotification.yaml | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index a9052af1..cd95a97b 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -244,7 +244,7 @@ paths: patch: description: > Acknowledge Alarm. - This method modifies an individual alarm resource. + This method modifies an "Individual alarm" resource. This method shall follow the provisions specified in the tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. parameters: @@ -354,14 +354,14 @@ paths: for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 7.4.5 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 + Creation of two "Individual subscription" resources with the same callback URI 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 a new "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), + same filter and callback URI 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). + same filter and callback URI). parameters: - name: FmSubscriptionRequest description: The VNF creation parameters @@ -435,7 +435,7 @@ paths: # 303 SEE OTHER # # Shall be returned when a subscription with the -# same callbackURI and the same filter already exists +# same callback URI and the same filter already exists # and the policy of the VNFM is to not create # redundant subscriptions. # The HTTP response shall include a "Location" diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index eabd4bb5..8791a67d 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -119,7 +119,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -254,7 +254,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -389,7 +389,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. -- GitLab From a2514ef9fa3f9a33cfa49acffa6d57fca434f113 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 04:12:09 +0200 Subject: [PATCH 040/116] SOL003_76>SOL003_78: text fixes in VNF Indicator interface --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 8 ++++---- .../VNFIndicatorNotification.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 857b6d78..03016577 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -407,14 +407,14 @@ paths: The POST method creates a new subscription. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 8.4.6 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 + Creation of two "Individual subscription" resources with the same callback URI 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 a new "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), + same filter and callback URI 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). + filter and callback URI). This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: @@ -494,7 +494,7 @@ paths: # 303 SEE OTHER # # Shall be returned when a subscription with the -# same callbackURI and the same filter already +# same callback URI and the same filter already # exists and the policy of the VNFM is to not create # redundant subscriptions. # The HTTP response shall include a "Location" diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 3b7513f8..e368576d 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -111,8 +111,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by + the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 8.4.7.3.2-1 and 8.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: -- GitLab From 9151a95831e6bea3488201c695da5e6c9bcf0f04 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 04:42:07 +0200 Subject: [PATCH 041/116] SOL003_80>SOL003_89: VNF LC Operation Granting Interface updated --- .../VNFLifecycleOperationGranting_def.yaml | 195 ++++++++++++++---- src/definitions/SOL002SOL003_def.yaml | 6 + 2 files changed, 159 insertions(+), 42 deletions(-) diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index 786eb8b5..dc516b90 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -30,6 +30,16 @@ definitions: description: > Identifier of the VNFD that defines the VNF for which the LCM operation is to be granted. + In case of the "Change current VNF package operation, this identifier + refers to the VNFD which defines the VNF before the LCM operation to + be granted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + dstVnfdId: + description: > + Identifier of the "destination" VNFD which will define the VNF after + executing the "Change current VNF package" LCM operation to be granted. + Shall be included if the operation changes the current VNF Package and + shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" flavourId: description: > @@ -226,33 +236,6 @@ definitions: type: array items: $ref: "#/definitions/ZoneGroupInfo" - computeReservationId: - description: > - Information that identifies a reservation applicable to the compute - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, - storageReservationId) shall be present when policy is - GRANT_RESERVE_SINGLE and an applicable reservation exists. None of - these shall be present otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" - networkReservationId: - description: > - Information that identifies a reservation applicable to the network - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, - storageReservationId) shall be present when policy is - GRANT_RESERVE_SINGLE and an applicable reservation exists. None of - these shall be present otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" - storageReservationId: - description: > - Information that identifies a reservation applicable to the storage - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, - storageReservationId) shall be present when policy is - GRANT_RESERVE_SINGLE and an applicable reservation exists. None of - these shall be present otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" addResources: description: > List of resources that are approved to be added, with one entry per @@ -319,15 +302,22 @@ definitions: type: array items: $ref: "#/definitions/VimSoftwareImage" + snapshotResources: + description: > + Mappings between snapshot resources defined in the VNF snapshot package and resources + managed in the VIM. + type: array + items: + $ref: "#/definitions/VimSnapshotResource" extVirtualLinks: description: > Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf or - ChangeVnfFlavor, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed - VL instances that have been passed previously in the associated VNF - lifecycle management request, if the lifecycle management request + lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, + ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. + The NFVO may choose to override in the grant response external and/or + externally-managed VL instances that have been passed previously in the + associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. If this attribute is present , it need not contain those entries that are unchanged compared to the entries that were passed @@ -353,11 +343,11 @@ definitions: externally-managed internal VLs are managed by the NFVO and created towards the VIM. External and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf or - ChangeVnfFlavor, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed - VL instances that have been passed previously in the associated VNF - lifecycle management request, if the lifecycle management request + lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, + ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. + The NFVO may choose to override in the grant response external and/or + externally-managed VL instances that have been passed previously in the + associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. type: array items: @@ -423,6 +413,12 @@ definitions: resource. Shall only be present if a VDU is applicable to this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD to which resourceTemplateId and vduId refer. Shall be present + if at least one of resourceTemplateId and vduId is present and the operation to + be granted changes the current VNF Package. May be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" resourceTemplateId: description: > Reference to a resource template (VnfVirtualLinkDesc, @@ -435,6 +431,12 @@ definitions: resources that are planned to be deleted or modified. Shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + snapshotResDef: + description: > + Information to identify a snapshot resource. Shall only be present if the + operation to be granted concerns to creating a VNF snapshot from the VNF + or to reverting the VNF to a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SnapshotResourceDefinition" GrantInfo: description: > @@ -451,11 +453,10 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" reservationId: description: > - The reservation identifier applicable to the - VNFC/VirtualLink/VirtualStorage. It shall be present for new - resources when policy is GRANT_RESERVE_MULTI and an applicable - reservation exists; shall not be present otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + The reservation identifier applicable to the VNFC/VirtualLink/VirtualStorage/compute + host. It shall be present for new resources when policy is GRANT_RESERVE and an + applicable reservation exists; shall not be present otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" vimConnectionId: description: > Identifier of the VIM connection to be used to manage this resource. @@ -777,4 +778,114 @@ definitions: description: > Identifier of the software image in the resource management layer (i.e. VIM). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" + + SnapshotResourceDefinition: + description: > + This type represents resource definition information related to a snapshot resource. + type: object + required: + - vnfSnapshotId + properties: + vnfSnapshotId: + description: > + Identifier of the VNF snapshot related to the resource change for the VNF instance. + Shall only be present if the operation to be granted concerns to creating a VNF snapshot + from the VNF or to reverting the VNF to a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcSnapshotId: + description: > + Reference to the information about a specific VNFC snapshot (refer to "VnfcSnapshotInfo") + of the VNF snapshot. The identifier is unique within the scope of a VNF snapshot, identified + by the "vnfSnapshotId" attribute. Shall only be present if the operation to be granted + concerns to reverting the VNF to a VNF snapshot, and the resource is planned to be added + based on the VNFC snapshot, and the type of resource is "COMPUTE" or "STORAGE". + + If present, the value of the "vduId" (for a related VDU) in the "VnfcResourceInfo" referred + by the "vnfcInfoId" of the "VnfcSnapshotInfo" shall match the value of the "vduId" in the + resource definition that is signalled in the granting request. + + For snapshot resource definitions extracted from a VNF snapshot package, only the + "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable. + If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM + (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. + This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and + "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources + that are defined from VNF snapshots instead of VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + storageSnapshotId: + description: > + Reference to a snapshotted storage resource associated to the VNFC snapshot. Shall only be + present if the operation to be granted concerns to reverting the VNF to a VNF snapshot, + and the storage resource is planned to be added based on the VNFC snapshot, and the type + of resource is "STORAGE". + + For snapshot resource definitions extracted from a VNF snapshot package, only the + "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable. + If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM + (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. + This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and + "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources + that are defined from VNF snapshots instead of VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + snapshotResource: + description: > + Resource information for an existing snapshot resource. Shall only be present if the + operation to be granted concerns to reverting the VNF to a VNF snapshot and the resource is + planned to be added based on an existing VNF snapshot that has been created by the VNFM. + Shall be absent otherwise. + + For snapshot resource definitions extracted from a VNF snapshot package, only the + "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable. + If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM + (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. + This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and + "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources + that are defined from VNF snapshots instead of VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + VimSnapshotResource: + description: > + This type contains a mapping between a snapshot resource definition related to a VNF snapshot + and the corresponding resource managed by the NFVO in the VIM which is needed during the revert + to VNF snapshot operation. + type: object + required: + - vnfSnapshotId + - vnfcSnapshotId + - vimSnapshotResourceId + properties: + vimConnectionId: + description: > + Identifier of the VIM connection to access the software image referenced in this structure. + The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be + obtained from the "vimConnectionInfo" attribute of the "VnfInstance" structure. + This attribute shall only be supported and present if VNF-related resource management in direct + mode is applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceProviderId: + description: > + Identifies the entity responsible for the management of the virtualised resource. + This attribute shall only be supported and present if VNF-related resource management in indirect + mode is applicable. The identification scheme is outside the scope of the present document. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotId: + description: > + Identifier of the VNF snapshot related to the snapshot resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcSnapshotId: + description: > + Identifier of the information about a specific VNFC snapshot (refer to "VnfcSnapshotInfo") of + the VNF snapshot. The identifier is unique within the scope of a VNF snapshot, identified by + the "vnfSnapshotId" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + storageSnapshotId: + description: > + Identifier of the virtual storage resource that has been snapshotted as referred in the VNFC + snapshot information. Shall only be present if the snapshot resource in the VIM is a storage + resource (as indicated by "type=STORAGE" in the parent resource definition). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vimSnapshotResourceId: + description: > + Identifier of the snapshot resource in the resource management layer (i.e. VIM). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" \ No newline at end of file diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 9e499094..f83e7729 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -749,6 +749,9 @@ definitions: HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. + CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. + CREATE_SNAPSHOT | Represents the "Create VNF snapshot" LCM operation. + REVERT_TO_SNAPSHOT | Represents the "Revert to VNF snapshot" LCM operation. type: string enum: - INSTANTIATE @@ -759,6 +762,9 @@ definitions: - HEAL - OPERATE - CHANGE_EXT_CONN + - CHANGE_VNFPKG + - CREATE_SNAPSHOT + - REVERT_TO_SNAPSHOT LcmOperationType: description: > -- GitLab From 8031c4e21f6f0681d92688270bac0ed9a24dc016 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 12:11:48 +0200 Subject: [PATCH 042/116] SOL003_92: description GET operation in "VNF package artifacts" endpoints updated --- .../VNFPackageManagement/VNFPackageManagement.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 259c7673..b8719b18 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1385,7 +1385,10 @@ paths: embedded in a directory structure being the same as in the VNF package. The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: - Artifacts that are software images shall be excluded from the archive. - - Artifacts that are external to the VNF package shall be excluded from the archive. + - Artifacts that are not software images and that are external to the VNF package shall be + excluded from the archive unless the URI query parameter "include_external_artifacts" has + been provided. External artifacts shall be included in the archive using the content of + the "artifactPath" attribute as the path. - All additional artifacts included in the VNF package that are MANO artifacts shall be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" has been provided, in which case such artifacts shall be excluded. @@ -1550,7 +1553,10 @@ paths: embedded in a directory structure being the same as in the VNF package. The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: - Artifacts that are software images shall be excluded from the archive. - - Artifacts that are external to the VNF package shall be excluded from the archive. + - Artifacts that are not software images and that are external to the VNF package shall be + excluded from the archive unless the URI query parameter "include_external_artifacts" has + been provided. External artifacts shall be included in the archive using the content of + the "artifactPath" attribute as the path. - All additional artifacts included in the VNF package that are MANO artifacts shall be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" has been provided, in which case such artifacts shall be excluded. -- GitLab From a6a0e315b805e4e2c94387d280e9aa4f38963027 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 12:14:15 +0200 Subject: [PATCH 043/116] SOL003_93/94: POST operation in "/subscriptions" endpoint (VNF P MGMT) updated --- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index b8719b18..91cd80d6 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -2134,16 +2134,16 @@ paths: "Individual subscription" resource as defined in clause 10.4.8 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 + callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a new "Individual subscription" resource if another "Individual subscription" resource with the same filter and - callbackUri already exists (in which case it shall return the + callback URI 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). + resource with the same filter and callback URI). parameters: - name: PkgmSubscriptionRequest description: > @@ -2221,7 +2221,7 @@ paths: # description: > # 303 SEE OTHER # -# Shall be returned when a subscription with the same callbackURI and the same filter +# Shall be returned when a subscription with the same callback URI and the same filter # already exists and the policy of the NFVO is to not create redundant subscriptions. # The HTTP response shall include a "Location" HTTP header that contains the resource # URI of the existing "Individual subscription" resource. -- GitLab From 372214f719a78075f721d201abcfa4655fdf5834 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 12:15:57 +0200 Subject: [PATCH 044/116] SOL003_95: description of GET operation in "Notification" endpoint (VNF Pkg Mgmt) updated --- .../VNFPackageManagementNotification.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 1b92dcc1..c7e5dad2 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -116,8 +116,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by + the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: @@ -249,8 +249,8 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer - e.g. during subscription. + The GET method allows the API producer to test the notification endpoint that is provided by + the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: -- GitLab From 22616cea72d6feeb3c202463456dd012172eb5b6 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 12:26:25 +0200 Subject: [PATCH 045/116] SOL003_95>102: data types in VNF Pkg Mgmt interfaces updated --- .../definitions/VNFPackageManagement_def.yaml | 32 +++++-------------- .../VNFPackageManagementNotification_def.yaml | 4 +-- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index efb7f5c8..7e5dc18f 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -66,6 +66,7 @@ definitions: Checksum of the on-boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. + Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. $ref: "#/definitions/Checksum" packageSecurityOption: description: > @@ -264,6 +265,7 @@ definitions: checksum: description: > Checksum of the software image file. + Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. $ref: "#/definitions/Checksum" isEncrypted: description: > @@ -385,6 +387,7 @@ definitions: checksum: description: > Checksum of the artifact file. + Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. $ref: "#/definitions/Checksum" isEncrypted: description: > @@ -524,7 +527,7 @@ definitions: Match VNF packages with a package identifier listed in the attribute. May be present if the "notificationTypes" attribute contains the - value "VnfPackageChangeNotification", and shall be absent + value "VnfPackageChangeNotification" and shall be absent otherwise. The attributes "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" are alternatives to reference to particular VNF packages in a @@ -537,14 +540,14 @@ definitions: description: > Match particular operational states of the VNF package. May be present if the "notificationTypes" attribute contains the - value "VnfPackageChangeNotification", and shall be absent + value "VnfPackageChangeNotification" and shall be absent otherwise. $ref: "#/definitions/PackageOperationalStateType" usageState: description: > Match particular usage states of the VNF package. May be present if the "notificationTypes" attribute contains the - value "VnfPackageChangeNotification", and shall be absent + value "VnfPackageChangeNotification" and shall be absent otherwise. $ref: "#/definitions/PackageUsageStateType" vnfmInfo: @@ -554,24 +557,6 @@ definitions: items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" - Checksum: - description: > - This type represents the checksum of a VNF package or an artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, as defined in - ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" - hash: - description: > - The hexadecimal value of the checksum. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" - PackageOperationalStateType: description: > - ENABLED: The VNF package is enabled, i.e. it can be used for @@ -586,9 +571,8 @@ definitions: PackageUsageStateType: description: > - - IN_USE: VNF instances instantiated from this VNF package exist. - - NOT_IN_USE: No existing VNF instance is instantiated from this VNF - package. + - IN_USE: "Individual VNF instance" resources created from this VNF package exist. + - NOT_IN_USE: No "Individual VNF instance" resource created from this VNF package exists. type: string enum: - IN_USE diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml index 52d66fe3..d12e46ef 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml @@ -161,7 +161,7 @@ definitions: vnfPackage: description: > Link to the resource representing the VNF package to which the - notified change applies, i.e. the individual on-boarded VNF package + notified change applies, i.e. the "Individual on-boarded VNF package" resource that represents the VNF package, identified by the "vnfPkgId" identifier which is managed by the NFVO. This attribute shall be provided by the NFVO but is deprecated and can be removed in future versions @@ -170,7 +170,7 @@ definitions: vnfPackageByVnfdId: description: > Link to the resource representing the VNF package to which the notified - change applies, i.e. the individual VNF package resource that represents + change applies, i.e. the "Individual VNF package resource" that represents the VNF package, identified by the "vnfdId" identifier which is assigned by the VNF vendor. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" -- GitLab From 55d4f81a170c61b6ac2d27081ac117de7ef95f52 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 12:49:38 +0200 Subject: [PATCH 046/116] SOL003_104/105: POST operation in "/subscriptions" endpoint (VRQAN) updated --- .../VirtualisedResourcesQuotaAvailableNotification.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 4f28ad00..956b932f 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -58,15 +58,15 @@ paths: As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 11.4.3 shall have been created. This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and + Creation of two "Individual subscription" resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a new "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), + callback URI 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). + resource with the same filter and callback URI). parameters: - name: Accept description: > @@ -140,7 +140,7 @@ paths: # description: > # 303 SEE OTHER # -# Shall be returned when a subscription with the same callbackURI and the same +# Shall be returned when a subscription with the same callback URI and the same # filter already exists and the policy of the NFVO is to not create redundant subscriptions. # The HTTP response shall include a "Location" HTTP header that contains the resource URI # of the existing "Individual subscription" resource. -- GitLab From 3977d9ea0eeab06a18425d298c1b33e9be55827e Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 8 Jun 2020 19:57:07 +0200 Subject: [PATCH 047/116] SOL003_107: "VNF Snapshot Package Management" interface added --- .../VNFSnapshotPackageManagement.yaml | 224 +++++++++ .../VNFSnapshotPackageManagement_def.yaml | 435 ++++++++++++++++++ src/definitions/SOL002SOL003_def.yaml | 6 + 3 files changed, 665 insertions(+) create mode 100644 src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml create mode 100644 src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml new file mode 100644 index 00000000..8c5278bf --- /dev/null +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -0,0 +1,224 @@ +openapi: 3.0.2 + +info: + title: SOL003 - VNF Snapshot Package Management interface + description: | + SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. + In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG + license: + name: ETSI Forge copyright notice + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + +externalDocs: + description: ETSI GS NFV-SOL 003 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/.pdf + +servers: + - url: http://0.0.0.1/vnfsnapshotpkgm/v1 + - url: https://0.0.0.1/vnfsnapshotpkgm/v1 + +paths: + ############################################################################### + # API Versions # + ############################################################################### + /api_versions: + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + + /vnf_snapshot_packages: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method queries the information of the VNF packages matching the filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/VNFSnapshotPackages.Get.200' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + /vnf_snapshot_packages/{vnfSnapshotPkgId}: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + description: | + The GET method reads the information of an individual VNF snapshot package. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + responses: + "200": + $ref: '#/components/responses/IndividualVNFSnapshotPackages.Get.200' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + /vnf_snapshot_packages/{vnfSnapshotPkgId}/package_content: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/VnfSnapshotPkgId' + get: + description: | + The GET method fetches the content of a VNF snapshot package. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + responses: + "200": + $ref: '#/components/responses/PackageContent.Get.200' + "206": + $ref: '#/components/responses/PackageContent.Get.206' + "409": + $ref: '#/components/responses/PackageContent.Get.409' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + + + /vnf_snapshot_packages/{vnfSnapshotPkgId}/artifacts/{artifactPath}: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/VnfSnapshotPkgId' + - $ref: '#/components/parameters/ArtifactPath' + + get: + description: | + The GET method fetches the content of an artifact within the VNF snapshot package. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + responses: + "200": + $ref: '#/components/responses/IndividualArtifact.Get.200' + "206": + $ref: '#/components/responses/IndividualArtifact.Get.206' + "409": + $ref: '#/components/responses/IndividualArtifact.Get.409' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "404": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "416": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 + "422": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 + "429": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + "504": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 +components: + parameters: + VnfSnapshotPkgId: + + ArtifactPath: + + + requestBodies: + + responses: + VNFSnapshotPackages.Get.200: + + IndividualVNFSnapshotPackages.Get.200: + + PackageContent.Get.200: + PackageContent.Get.206: + PackageContent.Get.409: + + IndividualArtifact.Get.200: + IndividualArtifact.Get.206: + IndividualArtifact.Get.409: + + + diff --git a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml new file mode 100644 index 00000000..7ff4cdbd --- /dev/null +++ b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml @@ -0,0 +1,435 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VnfSnapshotPkgInfo: + description: > + This type represents the information of a VNF snapshot package. + type: object + required: + - id + - name + - isFullSnapshot + - state + - isCancelPending + - _links + properties: + id: + description: > + Identifier of the VNF snapshot packageinformation held by the NFVO. This identifier + is allocated by the NFVO. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotPkgUniqueId: + description: > + Identifier of the VNF snapshot package, which identifies the VNF snapshot package in + a globally unique way. It is created during the "build VNF snapshot package operation". + Multiples instances of the same VNF snapshot package share the same vnfSnapshotPkgUniqueId. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + name: + description: > + Human-readable name of the VNF snapshot package. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + checksum: + description: > + Checksum of the stored VNF snapshot package. Permitted hash algorithms are defined in + ETSI GS NFV-SOL 010. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + $ref: "xxx/Checksum" + createdAt: + description: > + Timestamp indicating when the VNF snapshot package creation has been completed. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfSnapshotInfoId: + description: > + Identifier of information held by the NFVO about a specific VNF snapshot. This identifier + is allocated by the NFVO during the VNF snapshot creation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcSnapshotInfoIds: + description: > + Identifier of information held by the NFVO about specific VNFC snapshot(s). This identifier + is allocated by the NFVO during the VNF snapshot creation. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + type: object + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + isFullSnapshot: + description: > + Value is TRUE in case of a "full" VNF snapshot package, i.e., containing all snapshotted + VNFC instances; otherwise the value is FALSE. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + vnfdInfo: + description: > + VNFD of the snapshotted VNF instance that is contained in the stored VNF snapshot package. + $ref: "#/definitions/VnfdInfo" + vnfsr: + description: > + VNF snapshot record with the information as present in the representation of the + "Individual VNF snapshot" resource. + $ref: "#/definitions/VnfSnapshotRecord" + vnfcSnapshotImages: + description: > + Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and + external snapshot image shall be included. No other artifacts shall be included. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + type: object + items: + $ref: "#/definitions/VnfcSnapshotImageInfo" + additionalArtifacts: + description: > + Information about VNF snapshot artifacts that are not VNFC snapshot images. + + NOTE: The attribute shall not be present before the VNF snapshot package content + has been uploaded or built. Otherwise, this attribute shall be present unless it + has been requested to be excluded per attribute selector. + type: object + items: + $ref: "#/definitions/SnapshotPkgArtifactInfo" + state: + description: > + State of the VNF snapshot package. + Permitted values: + - CREATED: the VNF snapshot package information has been created. + - BUILDING: the VNF snapshot package is being built. + - UPLOADING: the VNF snapshot package is being uploaded. + - EXTRACTING: the VNF snapshot package’s content is being extracted. + - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). + - ERROR: failure during the VNF snapshot package building, uploading or processing. + - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task. + type: string + enum: + - CREATED + - BUILDING + - UPLOADING + - EXTRACTING + - AVAILABLE + - ERROR + - ERROR_EXTRACTING + isCancelPending: + description: > + Indicates if an ongoing operation with the content of the VNF snapshot package is being + cancelled. If the value of the "state" attribute is "BUILDING", "UPLOADING", "PROCESSING" + or "EXTRACTING" and the operation is being cancelled, this attribute shall be set to true. + Otherwise, it shall be set to false. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + failureDetails: + description: > + Failure details associated to current error state of the VNF snapshot package state. + If "state" is "ERROR" or "ERROR_EXTRACTING", this attribute shall be present unless + it has been requested to be excluded via an attribute selector. + type: object + required: + - errorType + - details + properties: + errorType: + description: > + Type of error, when the failure happened (building, upload, processing, extracting). + + Permitted values: + - BUILD_ERROR + - UPLOAD_ERROR + - PROCESS_ERROR + - CANCELLED + - EXTRACTION_ERROR + type: string + enum: + - BUILD_ERROR + - UPLOAD_ERROR + - PROCESS_ERROR + - CANCELLED + - EXTRACTION_ERROR + details: + description: > + Failure details containing error information (such as failed uploading or processing + operation, affected artefact, reason for cancellation, etc.). See clause 6.3 of + ETSI GS NFV-SOL 013 for the details of "ProblemDetails" structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + userDefinedData: + description: > + User defined data for the VNF snapshot package to be built/uploaded. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - packageContent + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + packageContent: + description: > + Link to the "VNF snapshot package content" resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VnfcSnapshotImageInfo: + description: > + This type represents an artifact contained in a VNF snapshot package which + represents a snapshot image. + type: object + required: + - id + - name + - checksum + - isEncrypted + - vnfcInstanceId + - containerFormat + - diskFormat + - createdAt + - minDisk + - minRam + - size + properties: + id: + description: > + Identifier of the VNFC snapshot image. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + name: + description: > + Name of the VNFC snapshot image. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + checksum: + description: > + Checksum of the snapshot image file. Permitted hashalgorithms are defined in + ETSI GS NFV-SOL 010. + $ref: "xxx/Checksum" + isEncrypted: + description: > + Reflects whether the artifact is encrypted (true) or not (false). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + vnfcInstanceId: + description: > + Identifier of the snapshotted VNFC instance that this snapshot image belongs to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + containerFormat: + description: > + Container format indicates whether the snapshot image is in a file format that + also contains metadata about the actual snapshot. + + Permitted values: + - AKI: a kernel image format + - AMI: a machine image format + - ARI: a ramdisk image format + - BARE: the image does not have a container or metadata envelope + - DOCKER: docker container format + - OVA: OVF package in a tarfile + - OVF: OVF container format + + NOTE: The list of permitted values was taken from "Container formats" in [i.5] + (OpenStack® documentation: "Disk and container formats for images"). + type: string + enum: + - AKI + - AMI + - ARI + - BARE + - DOCKER + - OVA + - OVF + diskFormat: + description: > + Disk format of a snapshot image is the format of the underlying disk image. + + Permitted values: + - AKI: a kernel image format + - AMI: a machine image format + - ARI: a ramdisk image format + - ISO: an archive format for the data contents of an optical disc, such as CD-ROM + - QCOW2: a common disk image format, which can expand dynamically and supports copy on write + - RAW: an unstructured disk image format + - VDI: a common disk image format + - VHD: a common disk image format + - VHDX: enhanced version of VHD format + - VMDK: a common disk image format + + NOTE: The list of permitted values was adapted from "Disk formats" in [i.5] + (OpenStack® documentation: "Disk and container formats for images"). + type: string + enum: + - AKI + - AMI + - ARI + - ISO + - QCOW2 + - RAW + - VDI + - VHD + - VHDX + - VMDK + createdAt: + description: > + Timestamp indicating when the VNFC snapshot image was created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + minDisk: + description: > + The minimal disk for this VNFC snapshot image (in bytes). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/UnsignedInt" + minRam: + description: > + The minimal RAM for this VNFC snapshot image (in bytes). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/UnsignedInt" + size: + description: > + Size of this VNFC snapshot image (in bytes). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/UnsignedInt" + userMetadata: + description: > + User-defined metadata. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + imagePath: + description: > + Path which identifies the image artifact and also allows to access a copy of the image artifact. + For an image artifact contained as a file in the VNF snapshot package, this attribute shall be + present, and the value of this attribute shall start with the name of the first segment in the + path in the package, i.e., it shall not be prefixed by path separator characters such as "." + and "/". + + EXAMPLE: foo/bar/m%40ster.vhd + + For an external image artifact represented as a URI in the manifest file, this attribute shall + be present if the artifact has been downloaded by the NFVO or the artifact has been processed + after building the VNF snapshot package and shall be absent otherwise. If present, it shall + contain the artifactPath under which the image artifact can be obtained using the + "Individual artifact in a VNF snapshot package" resource defined in clause 12.4.5. It is the + responsibility of the NFVO to synthesize this path in a manner that avoids any collision of + the synthesized artifact path with the paths and names of artifacts included in the snapshot + package. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + imageUri: + description: > + URI of the image artifact as defined in the VNF snapshot package manifest. Shall be present + if the image artifact is external to the snapshot package and shall be absent otherwise. + + EXAMPLE: https://example.com/m%40ster.vhd + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + + SnapshotPkgArtifactInfo: + description: > + This type represents an artifact other than a software image which is contained in + a VNF snapshot package. + type: object + required: + - checksum + - isEncrypted + properties: + artifactPath: + description: > + Path which identifies the artifact and also allows to access a copy of the artifact. + For an artifact contained as a file in the VNF snapshot package, this attribute shall + be present, and the value of this attribute shall start with the name of the first + segment in the path in the package, i.e. it shall not be prefixed by path separator + characters such as "." and "/". + + EXAMPLE: foo/bar/m%40ster.sh + + For an external artifact represented as a URI in the manifest file, this attribute + shall be present if the artifact has been downloaded by the NFVO or the artifact has + been processed after building the VNF snapshot package and shall be absent otherwise. + If present, it shall contain the artifactPath under which the artifact can be obtained + using the "Individual artifact in a VNF snapshot package" resource defined in + clause 12.4.5. It is the responsibility of the NFVO to synthesize this path in a manner + that avoids any collision of the synthesized artifact path with the paths and names of + artifacts included in the snapshot package. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + artifactUri: + description: > + URI of the artifact as defined in the VNF snapshot package manifest. Shall be present + if the artifact is external to the snapshot package and shall be absent otherwise. + + EXAMPLE: https://example.com/m%40ster.sh + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + checksum: + description: > + Checksum of the artifact file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 010. + $ref: "xxx/Checksum" + isEncrypted: + description: > + Reflects whether the artifact is encrypted (true) or not (false). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + metadata: + description: > + The metadata of the artifact that are available in the VNF package, such as Content type, + size, creation date, etc. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfdInfo: + description: > + This type represents the VNFD which is contained in a VNF snapshot package. + type: object + required: + - avnfdId + - vnfdPath + - checksum + - isEncrypted + properties: + avnfdId: + description: > + VNFD identifier of the snapshotted VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfdPath: + description: > + Path which allows to access a copy of the VNFD. The VNFD is implemented as + a collection of one or more files, and the path refers to the ZIP archive + file embedding these files as specified in the ETSI GS NFV-SOL 010. + The value of this attribute shall start with the name of the first segment + of the path in the package, i.e. it shall not be prefixed by path separator + characters such as "." and "/". + EXAMPLE: foo/bar/m@ster + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + checksum: + description: > + Checksum of the VNFD archive file. Permitted hash algorithms are defined in + ETSI GS NFV-SOL 004. + $ref: "xxx/Checksum" + isEncrypted: + description: > + Reflects whether the VNFD archive file is encrypted (true) or not (false). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + + VnfSnapshotRecord: + description: > + This type represents the VNF snapshot record which is contained in a VNF snapshot package. + type: object + required: + - recordPath + - checksum + - isEncrypted + properties: + recordPath: + description: > + Path which identifies the VNF snapshot record and allows to access a copy of the + VNF snapshot record for the extraction. + The value of this attribute shall start with the name of the first segment of the + path in the package, i.e. it shall not be prefixed by path separator characters + such as "." and "/". + EXAMPLE: foo/bar/m@ster + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + checksum: + description: > + Checksum of the VNF snapshot record file. Permitted hash algorithms are defined in + ETSI GS NFV-SOL 010. + $ref: "xxx/Checksum" + isEncrypted: + description: > + Reflects whether the VNF snapshot record file is encrypted (true) or not (false). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index f83e7729..6666f0a2 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -689,6 +689,12 @@ definitions: A number defined in IETF RFC 8259. type: number + UnsignedInt: + description: > + Unsigned integer number + type: integer + minimum: 0 + IdentifierInVnfd: description: > An identifier that is unique within a VNF descriptor. -- GitLab From 7150991e8cac4a084d7c1889a7d286a0b7a2c7ac Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 9 Jun 2020 15:02:30 +0200 Subject: [PATCH 048/116] SOL003: passing APIVersions to OAS3 --- src/SOL003/APIVersion/APIVersion.yaml | 47 +++++++++++++-------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 5076f848..66e23628 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -1,7 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 + info: - version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" - title: "SOL003 - API version interface" + + title: SOL003 - API version interface description: > SOL003 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -9,42 +10,38 @@ info: approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: "NFV-SOL WG" + version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json + description: ETSI GS NFV-SOL 003 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf + paths: - ############################################################################### - # API Versions # - ############################################################################### - '/vrqan/api_versions': + /vrqan/api_versions: + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + + /vnffm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/vnffm/api_versions': + /vnfind/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/vnfind/api_versions': + /vnflcm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/vnflcm/api_versions': + /vnfpm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/vnfpm/api_versions': + /grant/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/grant/api_versions': + /vnfpkgm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' - '/vnfpkgm/api_versions': + /vnfsnapshotpkgm/api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file -- GitLab From f617d8aecbf22b0d7eb5d3da399e4d23a3eb5e08 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 9 Jun 2020 15:15:57 +0200 Subject: [PATCH 049/116] SOL003: passing VRQAN to OAS3 --- ...edResourcesQuotaAvailableNotification.yaml | 503 +++++++++--------- 1 file changed, 253 insertions(+), 250 deletions(-) diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 956b932f..0ac6d6e1 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - Virtualised Resources Quota Available Notification interface - description: > + description: | SOL003 - Virtualised Resources Quota Available Notification interface @@ -20,37 +19,37 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vrqan/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/vrqan/v1 + - url: https://127.0.0.1/vrqan/v1 paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Subscriptions # ############################################################################### - '/subscriptions': + /subscriptions: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: - description: > + description: | Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 11.4.2.3.1-1 and 11.4.2.3.1-2 @@ -68,83 +67,22 @@ paths: it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource with the same filter and callback URI). parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - - name: VrQuotaAvailSubscriptionRequest - description: Details of the subscription to be created. - in: body - required: true - schema: - $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscriptionRequest" - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + requestBody: + $ref: '#/components/requestBodies/VrQuotaAvailSubscriptionRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location" HTTP header that points to the created resource. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" + $ref: '#/components/responses/Subscriptions.Post.201' 303: -# description: > -# 303 SEE OTHER -# -# Shall be returned when a subscription with the same callback URI and the same -# filter already exists and the policy of the NFVO is to not create redundant subscriptions. -# The HTTP response shall include a "Location" HTTP header that contains the resource URI -# of the existing "Individual subscription" resource. -# The response body shall be empty. + #description: | + # 303 SEE OTHER + + # Shall be returned when a subscription with the same callback URI and the same + # filter already exists and the policy of the NFVO is to not create redundant subscriptions. + # The HTTP response shall include a "Location" HTTP header that contains the resource URI + # of the existing "Individual subscription" resource. + # The response body shall be empty. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" @@ -168,110 +106,20 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query Subscription Information. 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. This method shall follow the provisions specified in the tables 11.4.2.3.2-1 and 11.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the VrQuotaAvailSubscription - and in data types referenced from it shall be supported by the - VNFM in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active - subscriptions of the functional block that invokes the method, i.e. zero or more - representations of virtualised resource quota available subscriptions as defined in clause 11.5.2.3. - If the "filter" URI parameter was supplied in the request, the data in the response body shall - have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" + $ref: '#/components/responses/Subscriptions.Get.200' 204: - description: > - No Content - - The notification endpoint was tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/Subscriptions.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -296,56 +144,20 @@ paths: ############################################################################### # Individual subscription # ############################################################################### - '/subscriptions/{subscriptionId}': + /subscriptions/{subscriptionId}: parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | Query Subscription Information. The GET method reads an individual subscription. This method shall follow the provisions specified in the tables 11.4.3.3.2-1 and 11.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has been read successfully. - The response body shall contain a representation of the "Individual subscription" resource - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" + $ref: '#/components/responses/IndividualSubscription.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -368,7 +180,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: - description: > + description: | Terminate subscription. The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the tables 11.4.3.3.5-1 and 11.4.3.3.5-2 @@ -378,28 +190,9 @@ paths: sent to the formerly-subscribed API consumer. NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: - description: > - No Content - - Shall be returned when the "Individual subscription" resource has been deleted successfully. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualSubscription.Delete.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -419,4 +212,214 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + +components: + parameters: + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual subscription" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + + VrQuotaAvailSubscriptionRequest: + description: | + Details of the subscription to be created. + content: + application/json: + schema: + $ref: "xxx/VrQuotaAvailSubscriptionRequest" + required: true + + + responses: + Subscriptions.Post.201: + description: | + 201 CREATED + + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created "Individual subscription" resource. + The HTTP response shall include a "Location" HTTP header that points to the created resource. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + The resource URI of the created VNF instance + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + + Subscriptions.Get.200: + description: | + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method, i.e. zero or more + representations of virtualised resource quota available subscriptions as defined in clause 11.5.2.3. + If the "filter" URI parameter was supplied in the request, the data in the response body shall + have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + + Subscriptions.Get.204: + description: | + No Content + + The notification endpoint was tested successfully. + The response body shall be empty. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + + IndividualSubscription.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the "Individual subscription" resource. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + + IndividualSubscription.Delete.204: + description: | + No Content + + Shall be returned when the "Individual subscription" resource has been deleted successfully. + headers: + Version: + description: | + The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 0e9f936206698d9681e0957490060febf142ed5a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 10 Jun 2020 15:44:37 +0200 Subject: [PATCH 050/116] SOL003: migrating VNF FM API to OAS3 --- .../VNFFaultManagement.yaml | 1003 ++++++++--------- 1 file changed, 442 insertions(+), 561 deletions(-) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index cd95a97b..ec90495f 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Fault Management interface - description: > + description: | SOL003 - VNF Fault Management interface @@ -20,334 +19,163 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vnffm/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/vnffm/v1 + - url: https://127.0.0.1/vnffm/v1 paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions ############################################################################### # Alarms # ############################################################################### - '/alarms': + /alarms: #SOL003 location: 7.4.2 get: - description: > + description: | Get Alarm List. The API consumer can use this method to retrieve information about the alarm list. This method shall follow the provisions specified in the tables 7.4.2.3.2-1 and 7.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - The following attribute names shall be supported by the VNFM in - the attribute-based filtering expression: id, managedObjectId, - rootCauseFaultyResource/faultyResourceType, eventType, - perceivedSeverity, probableCause. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more alarms has been queried successfully. - The response body shall contain in an array the representations of zero or more alarms as - defined in clause 7.5.2.4. - If the "filter" URI parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - type: string - maximum: 1 - minimum: 1 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: '#/components/responses/Alarms.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Individual alarm # ############################################################################### - '/alarms/{alarmId}': + /alarms/{alarmId}: #SOL003 location: 7.4.3 parameters: - - name: alarmId - description: > - Identifier of the alarm. - This identifier can be retrieved from the "id" attribute of the - "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true + - $ref: '#/components/parameters/AlarmId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | The API consumer can use this method to read an individual alarm. This method shall follow the provisions specified in the tables 7.4.3.3.2-1 and 7.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual alarm has been read successfully. - The response body shall contain a representation of the individual alarm - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: '#/components/responses/IndividualAlarm.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 patch: - description: > + description: | Acknowledge Alarm. This method modifies an "Individual alarm" resource. This method shall follow the provisions specified in the tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: AlarmModifications - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - enum: ["application/merge-patch+json"] - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/IndividualAlarmRequest' responses: 200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - The response body shall contain attribute modifications for an "Individual alarm" - resource (see clause 7.5.2.4). - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" + $ref: '#/components/responses/IndividualAlarm.Patch.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/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 alarm" resource. -# Typically, this is due to the fact that the alarm is already in the state that is -# requested to be set (such as trying to acknowledge an already-acknowledged alarm). - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/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 alarm" resource. + # Typically, this is due to the fact that the alarm is already in the state that is + # requested to be set (such as trying to acknowledge an already-acknowledged alarm). + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Subscriptions # ############################################################################### - '/subscriptions': + /subscriptions: #SOL003 location: 7.4.4 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 7.4.4.3.1-1 and 7.4.4.3.1-2 @@ -362,110 +190,47 @@ paths: 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 callback URI). - parameters: - - name: FmSubscriptionRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/FmSubscriptionRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location:"" HTTP header that points to the created - "Individual subscription" resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - type: string - maximum: 1 - minimum: 1 - Location: - description: > - The resource URI of the created subscription resource. - type: string - format: url - 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/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: '#/components/responses/Subscriptions.Post.200' 303: -# description: > -# 303 SEE OTHER -# -# Shall be returned when a subscription with the -# same callback URI and the same filter already exists -# and the policy of the VNFM is to not create -# redundant subscriptions. -# The HTTP response shall include a "Location" -# HTTP header that contains the resource URI of the -# existing "Individual subscription" resource. -# The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" + # description: | + # 303 SEE OTHER + # + # Shall be returned when a subscription with the + # same callback URI and the same filter already exists + # and the policy of the VNFM is to not create + # redundant subscriptions. + # The HTTP response shall include a "Location" + # HTTP header that contains the resource URI of the + # existing "Individual subscription" resource. + # The response body shall be empty. + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 get: - description: > + description: | Query Subscription Information @@ -473,224 +238,77 @@ paths: subscriptions for VNF alarms subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 - of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the FmSubscription and in - data types referenced from it shall be supported by the VNFM - in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - The list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active subscriptions - of the functional block that invokes the method, i.e. zero or more representations of - FM subscriptions as defined in clause 7.5.2.3. - If the "filter" URI parameter was supplied in the request, the data in the response body shall - have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: '#/components/responses/Subscriptions.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Individual subscription # ############################################################################### - '/subscriptions/{subscriptionId}': + /subscriptions/{subscriptionId}: #SOL003 location: 7.4.5 parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: - description: > + description: | Query Subscription Information. The API consumer can use this method for reading an individual subscription for VNF alarms subscribed by the API consumer. This method shall follow the provisions specified in the tables 7.4.5.3.2-1 and 7.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType responses: 200: - description: > - 200 OK - - The operation has completed successfully. - The response body shall contain a representation of the - subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: '#/components/responses/IndividualSubscription.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: - description: > + description: | Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.4.5.3.5-1 and 7.4.5.3.5-2 @@ -701,59 +319,322 @@ paths: NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualSubscription.Delete.204' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + + +components: + parameters: + AlarmId: + name: alarmId + in: path + description: | + Identifier of the alarm. + This identifier can be retrieved from the "id" attribute of the "alarm" attribute in the AlarmNotification or + AlarmClearedNotification. It can also be retrieved from the "id" attribute of the applicable array element in + the payload body of the response to a GET request to the "Alarms" resource. + required: true + style: simple + explode: false + schema: + type: string + + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual subscription" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + IndividualAlarmRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications + required: true + + FmSubscriptionRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscriptionRequest + required: true + + responses: + Alarms.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more alarms has been queried successfully. + The response body shall contain in an array the representations of zero or more alarms as + defined in clause 7.5.2.4. + If the "filter" URI parameter was supplied in the request, the data in the response body + shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + + IndividualAlarm.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual alarm has been read successfully. + The response body shall contain a representation of the individual alarm + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + + IndividualAlarm.Patch.200: + description: | + 200 OK + + Shall be returned when the request has been accepted and completed. + The response body shall contain attribute modifications for an "Individual alarm" + resource (see clause 7.5.2.4). + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications" + + Subscriptions.Get.200: + description: | + 200 OK + + The list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active subscriptions + of the functional block that invokes the method, i.e. zero or more representations of + FM subscriptions as defined in clause 7.5.2.3. + If the "filter" URI parameter was supplied in the request, the data in the response body shall + have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + + Subscriptions.Post.200: + description: | + 201 CREATED + + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created "Individual subscription" resource. + The HTTP response shall include a "Location:"" HTTP header that points to the created + "Individual subscription" resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + type: string + format: url + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + + IndividualSubscription.Get.200: + description: | + 200 OK + + The operation has completed successfully. + The response body shall contain a representation of the + subscription resource. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" + + IndividualSubscription.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + content: {} \ No newline at end of file -- GitLab From f74299e8218c704a44cf27757b4272608a715129 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 26 Jun 2020 13:05:18 +0200 Subject: [PATCH 051/116] API versions updated according to v030006 --- .gitignore | 2 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 2 +- src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 2 +- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index bd807fe6..7203a6ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ build/ *.pyc - +.idea/ diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 86c749ff..32862a02 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -9,7 +9,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index ac540931..923a15a8 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -12,7 +12,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index c8670b38..efe7f41f 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -12,7 +12,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 331f3211..91816aa0 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 44d09746..96407568 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -12,7 +12,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 9937499d..1ef6e647 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -13,7 +13,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 -- GitLab From 2590619871fe2054fd2104736589733f7edbafef Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 26 Jun 2020 18:47:23 +0200 Subject: [PATCH 052/116] Modifications according to v030006 --- .../VNFLifecycleManagement.yaml | 40 ++-- .../SOL002VNFLifecycleManagement_def.yaml | 222 ++++++++++++------ ...OL002SOL003VNFLifecycleManagement_def.yaml | 141 +++++++---- src/definitions/SOL002SOL003_def.yaml | 46 ++-- 4 files changed, 294 insertions(+), 155 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index efe7f41f..ba9dc9b1 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -958,7 +958,8 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization post: description: | - The POST method requests creating a VNF snapshot resource based on a VNF instance resource. + The POST method requests tacking a VNF instance snapshot and populating a previously created VNF snapshot resource + (refer to clause 5.4.23.3.1) with the snapshot content. requestBody: $ref: '#/components/requestBodies/VnfInstanceCreateSnapshotRequest' responses: @@ -1038,6 +1039,8 @@ paths: post: description: | The POST method creates a new individual VNF snapshot resource. + requestBody: + $ref: '#/components/requestBodies/VnfSnapshotsRequest' responses: "201": $ref: '#/components/responses/VnfSnapshots.Post' @@ -1107,9 +1110,9 @@ paths: "504": $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 - /vnf_snapshots/{vnfSnapshotId}: + /vnf_snapshots/{vnfSnapshotInfoId}: parameters: - - $ref: '#/components/parameters/VnfSnapshotId' + - $ref: '#/components/parameters/VnfSnapshotInfoId' - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: @@ -1218,11 +1221,11 @@ components: schema: type: string - VnfSnapshotId: - name: vnfSnapshotId + VnfSnapshotInfoId: + name: vnfSnapshotInfoId in: path description: | - Identifier of the individual VNF snapshot. This identifier can be retrieved from the resource referenced by the + Identifier of the individual VNF snapshot resource. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF snapshot resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true @@ -1350,6 +1353,15 @@ components: $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest required: true + VnfSnapshotsRequest: + description: | + The VNF snapshot resource creation parameters. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest + required: true + responses: VnfInstances.Get: description: | @@ -1682,8 +1694,8 @@ components: description: | 202 ACCEPTED The request has been accepted for processing. The response body shall be empty. 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. + a "Location" HTTP header that contains the URI of the newly-created "Individual VNF LCM operation occurrence" + resource corresponding to the operation. headers: Version: description: The used API version. @@ -2285,14 +2297,14 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo VnfSnapshots.Get: description: | 200 OK 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 VNF snapshots, - as defined in clause 5.5.2.21. + 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. 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 @@ -2323,12 +2335,12 @@ components: schema: type: array items: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo IndividualVnfSnapshot.Get: description: | Shall be returned when information about an individual VNF snapshot was read successfully. - The response body shall contain a representation of the VNF snapshot. + The response body shall contain a representation of the individual VNF snapshot resource. headers: Version: description: The used API version. @@ -2360,7 +2372,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotRes + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo IndividualVnfSnapshot.Delete: description: | diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index dc003fa0..99ab726e 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -137,7 +137,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" extCpInfo: description: > - Information about the external CPs exposed by the VNF instance. + Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of + entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated + to sub-ports of a trunk. type: array minItems: 1 items: @@ -151,6 +153,10 @@ definitions: extManagedVirtualLinkInfo: description: > External virtual links the VNF instance is connected to. + It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a + multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same + VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 5.5.3.5). type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" @@ -304,6 +310,18 @@ definitions: operation is possible based on the current status of this VNF instance resource (i.e. VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + createSnapshot: + description: > + Link to the "Create VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + revertToSnapshot: + description: > + Link to the "Revert to VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of this + VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" InstantiateVnfRequest: type: object @@ -329,6 +347,10 @@ definitions: extManagedVirtualLinks: description: > Information about external VLs to connect the VNF to. + The indication of externally-managed internal VLs is needed in case networks have been pre-configured for + use with certain VNFs, for instance to ensure that these networks have certain properties such as security + or acceleration features, or to address particular network topologies. The present document assumes that + externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -351,9 +373,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the VNF - configurable properties attribute in the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling - configurable properties during the operation are defined in clause 5.4.4.3.1. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the + “vnfConfigurableProperties” attribute in the "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: @@ -382,6 +404,10 @@ definitions: extManagedVirtualLinks: description: > Information about external VLs to connect the VNF to. + The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use + with certain VNFs, for instance to ensure that these networks have certain properties such as security or + acceleration features, or to address particular network topologies. The present document assumes that + externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -399,8 +425,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the values of the VNF configurable properties attribute in - the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the + If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in + "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the operation, are defined in clause 5.4.7.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" @@ -443,7 +469,9 @@ definitions: properties: vnfcInstanceId: description: > - List of VNFC instances requiring a healing action. + List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the + "id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the + whole VNF and not a specific VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" @@ -472,8 +500,8 @@ definitions: properties: vnfcInstanceId: description: > - Identifier of VNFC instances. Cardinality can be "0" to denote - that the request applies to the whole VNF and not a specific VNFC instance. + List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure. + Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" @@ -557,17 +585,13 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by other entities than the VNFM. + The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use + with certain VNFs, for instance to ensure that these networks have certain properties such as security or + acceleration features, or to address particular network topologies. The present document assumes that + externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the resources for the VNF instance, or refer to - external virtual links. This attribute shall only be supported and may be present if VNF-related resource - management in direct mode is applicable. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" additionalParams: description: > Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying @@ -581,9 +605,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the values of the VNF configurable properties attribute - in the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during - the operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. + If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute + in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the + operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInfoModificationRequest: @@ -632,13 +656,6 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" CreateVnfSnapshotRequest: description: > @@ -647,14 +664,15 @@ definitions: required: - vnfSnapshotResId properties: - vnfSnapshotResId: + vnfSnapshotInfoId: description: > Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfcInstanceId: description: > - Identifier of the VNFC instance to be snapshotted. If this attribute is provided, only a snapshot of the - referred VNFC instance shall be created. + Identifier of the VNFC instance to be snapshotted. Each identifier references the "id" attribute in a + "VnfcInfo" structure. If this attribute is provided, only a snapshot of the referred VNFC instance shall + be created. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" additionalParams: description: > @@ -670,40 +688,42 @@ definitions: description: > This type represents request parameters for the "Revert-to VNF Snapshot" operation. type: object - oneOf: - - anyOf: - - required: - - vnfInstanceId - - required: - - vnfSnapshotInfoId - - anyOf: - - required: - - vnfcInstanceId - - required: - - vnfcSnapshotInfoId properties: - vnfInstanceId: + vnfSnapshotInfoId: description: > - Identifier of the VNF instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or - (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance - shall be reverted. + Identifier of the “individual VNF snapshot” resource with the information of the VNF snapshot to be reverted to. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfSnapshotId: + vnfcInstanceId: description: > - Identifier of the VNF snapshot to be reverted to. + List of identifiers of the VNFC instance to be reverted. Each identifier references the "id" attribute in a + "VnfcInfo" structure. Shall be present if the request is for reverting a specific VNFC instance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcInstanceId: + vnfcSnapshotInfoId: description: > - Identifier of the VNFC instance to be reverted. Only one of the tuples (vnfInstanceId; vnfSnapshotInfoId) or - (vnfcInstanceId; vnfcSnapshotInfoId) shall be present, indicating whether a VNF instance or a VNFC instance - shall be reverted. + Identifier of the VNFC snapshot information with the information of the VNFC snapshot to be reverted to. + Shall only be present if the "vnfcInstanceId" is present. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcSnapshotId: + additionalParams: description: > - Identifier of the VNFC snapshot to be reverted to. + Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”, + as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig”. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + CreateVnfSnapshotInfoRequest: + description: | + This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be + populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a VNF + snapshot package. It shall comply with the provisions defined in table 5.5.2.20-1. + type: object + properties: + vnfSnapshotPkgId: + description: | + Identifier of the VNF snapshot package information held by the NFVO. + The present attribute shall be provided if the "Individual VNF snapshot" resource is requested to be created + and be filled from a VNF snapshot package extraction. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - VnfSnapshotRes: + VnfSnapshotInfo: description: > This type represents an individual VNF snapshot resource. type: object @@ -714,12 +734,34 @@ definitions: description: > Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotPkgId: + description: | + Identifier of the VNF snapshot package information held by the EM. Shall be present when the + “Individual VNF snapshot" resource is created from a VNF snapshot package extraction. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfSnapshot: description: > - VNF snapshot information, content and/or references to its content. Shall be present when the individual VNF - snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot" task - resource or extracted from a VNF snapshot package. + Information about the VNF snapshot, content and/or references to its content. Shall be present when the + individual VNF snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF + snapshot" task resource or extracted from a VNF snapshot package. $ref: '#/definitions/VnfSnapshot' + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + takenFrom: + description: > + Link to the VNF instance from which this snapshot was taken. Shall be present when the "Individual VNF + snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot" + task resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" VnfSnapshot: description: > @@ -741,22 +783,22 @@ definitions: description: > Identifier of the snapshotted VNF instance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - triggeredAt: + creationStartedAt: description: > - Timestamp indicating when the VNF snapshot creation has been started. + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - createdAt: + creationFinishedAt: description: > - Timestamp indicating when the VNF snapshot has been completed. Shall be present once the VNF snapshot creation - has been completed. + Timestamp indicating when the VNF snapshot has been completed by the VNFM. + Shall be present once the VNF snapshot creation has been completed. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfdId: description: > Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfInfo: + vnfInstance: description: > - VnfInfo of the snapshotted VNF instance. This is a copy of the individual VNF instance resource. + VNF Instance information of the snapshotted VNF instance. This is a copy of the individual VNF instance resource. $ref: '#/definitions/VnfInstance' vnfcSnapshots: description: > @@ -768,6 +810,17 @@ definitions: description: > User defined data for the VNF snapshot. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" VnfcSnapshotInfo: description: > @@ -787,32 +840,49 @@ definitions: vnfcInstanceId: description: > Identifier of the snapshotted VNFC instance. + The identifier references the "id" attribute in a "VnfcInfo" structure. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - triggeredAt: + creationStartedAt: description: > - Timestamp indicating when the VNF snapshot creation has been started. + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - createdAt: + creationFinishedAt: description: > Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot - creation has been completed. + creation has been completed by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfcInfo: + vnfcResourceInfoId: description: > - Information of the snapshotted VNFC instance. This is a copy of the individual VnfcResourceInfo. + Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resources of + the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the + "VnfSnapshot" structure. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" computeSnapshotResource: description: > - Reference to a compute snapshot resource. The identifiers of the compute and storage snapshot resources are + Reference to a compute snapshot resource. The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message - of the individual resource operations. + of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been + newly created by the VNFM as a result of the "Create VNF snapshot task". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" storageSnapshotResources: description: > - Reference to a storage snapshot resource. The identifiers of the compute and storage snapshot resources are - assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message - of the individual resource operations. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + Mapping of the storage resources associated to the VNFC with the storage snapshot resources. + type: object + required: + - storageResourceId + properties: + storageResourceId: + description: > + Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents + the virtual storage resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + storageSnapshotResource: + description: > + Reference to a storage snapshot resource. The identifier of the storage snapshot resource is assigned during + creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual + resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource + and that has been newly created by the VNFM as a result of the "Create VNF snapshot task". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" userDefinedData: description: > User defined data for the VNF snapshot. diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 8860000b..d5481090 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -236,15 +236,6 @@ definitions: type: array items: $ref: "#/definitions/VnfcInfoModifications" - vnfcInfoModificationsDeleteIds: - description: > - If present, this attribute signals the deletion of certain - entries in the "vnfcInfo" attribute array in the - "instantiatedVnfInfo" attribute of "VnfInstance", as defined - in clause 5.5.2.12 - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" VnfLcmOpOcc: description: > @@ -365,6 +356,15 @@ definitions: This allows the API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of + signaling affected VL instances involving the addition of a particular VL + instance with links ports, one "AffectedVirtualLink" entry signals the + addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" + structure equal to "ADDED", and another "AffectedVirtualLink" entry signals + the addition of VNF link ports of the VL by using the "changeType" equal to + "LINK_PORT_ADDED". type: array items: $ref: "#/definitions/AffectedVirtualLink" @@ -411,10 +411,10 @@ definitions: not received it due to an error or a wrongly configured subscription filter. Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" - vnfSnapshotResId: + vnfSnapshotInfoId: description: > - Identifier of the individual VNF snapshot resource, if applicable by the type of LCM operation, i.e., if value - of operation is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, + i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" _links: description: > @@ -558,6 +558,7 @@ definitions: required: - id - resourceHandle + - currentVnfExtCpData properties: id: description: > @@ -576,6 +577,19 @@ definitions: type: array items: $ref: "#/definitions/ExtLinkPortInfo" + currentVnfExtCpData: + description: > + Allows the API consumer to read the current CP configuration information for the connection of external CPs + to the external virtual link. + This attribute reflects the current configuration information that has resulted from merging into this attribute + the "VnfExtCpData" information which was passed as part of the "ExtVirtualLinkData" structure in the input of + the most recent VNF LCM operation such as "InstantiateVnfRequest", "ChangeExtVnfConnectivityRequest", + "ChangeVnfFlavourRequest" or "ChangeCurrentVnfPkgRequest", or has been provided by the NFVO during the granting + procedure. If applying such change results in an empty list of "currentVnfExtCpData" structure instances, the + affected instance of "ExtVirtualLinkInfo" shall be removed from its parent data structure. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/VnfExtCpData" ExtManagedVirtualLinkInfo: type: object @@ -603,7 +617,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" networkResource: description: > - Reference to the VirtualNetwork resource. + Reference to the VirtualNetwork resource providing this VL. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPorts: description: > @@ -683,7 +697,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfcCpInfo: description: > - CPs of the VNFC instance. + All the 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. @@ -705,20 +719,22 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" vnfExtCpId: description: > - When the VNFC CP is exposed as external CP of the VNF, the - identifier of this external VNF CP. + WhenIdentifier of the related external CP. Shall be present when the VNFC CP is exposed as an external + instance or connected to an external CP of the VNF instance and shall be absent otherwise. + A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes + an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpProtocolInfo: description: > - Network protocol information for this CP. + Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. + The information can be omitted because it is already available as part of the external CP information. type: array items: $ref: "#/definitions/CpProtocolInfo" vnfLinkPortId: description: > - Identifier of the "vnfLinkPorts" structure in the - "VnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port. + Identifier of the "vnfLinkPorts" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if + the CP is associated to a link port, on an internal VL of the VNF instance and shall be absent otherwise. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" metadata: description: > @@ -1100,7 +1116,7 @@ definitions: AffectedVirtualLink: description: > This type provides information about added, deleted, modified and - temporary VLs. + temporary VLs, and added or removed VNF link ports. type: object required: - id @@ -1134,6 +1150,10 @@ definitions: * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. type: string enum: - ADDED @@ -1147,13 +1167,23 @@ definitions: Reference to the VirtualNetwork resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in + the "vnfLinkPortIds" attribute. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPortIds: description: > Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. - Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related vnfLinkPort - structures are present (case "added") or have been present (case "removed") in the VnfVirtualLinkResourceInfo - structure that is represented by the "vnfVirtualLinkResourceInfo" attribute in the "VnfInstance" structure. + Each identifier references a "VnfLinkPortInfo" structure. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related + “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the + “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the + "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" @@ -1322,6 +1352,7 @@ definitions: required: - id - cpdId + - cpConfigId - cpProtocolInfo oneOf: - required: @@ -1337,6 +1368,11 @@ definitions: description: > Identifier of the external CPD, VnfExtCpd, in the VNFD. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + cpConfigId: + description: > + Identifier that references the applied "VnfExtCpConfig" entry in the "cpConfig" map of the "currentVnfExtCpData" + in the "ExtVirtualLinkInfo" structure. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfdId: description: > Identifier of the VNFD. @@ -1351,7 +1387,7 @@ definitions: $ref: "#/definitions/CpProtocolInfo" extLinkPortId: description: > - Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo" structure. + Identifier of the "ExtLinkPortInfo" structure inside the "ExtVirtualLinkInfo" structure. Shall be present if the CP is associated to a link port. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" metadata: @@ -1436,9 +1472,9 @@ definitions: notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. - This notification shall be triggered by the VNFM when there is a change - in the state of a VNF LCM operation occurrence that changes the VNF lifecycle, - which represents an occurrence of one the following LCM operations: + This notification shall be triggered by the VNFM when there is a change in the state of a + VNF LCM operation occurrence that changes the VNF lifecycle, includingwhich represents an + occurrence of one the following LCM operations: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) @@ -1448,7 +1484,9 @@ definitions: * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable properties through the "PATCH" method on the "Individual VNF instance" - resource. + resource + * Creation of a VNF snapshot + * Reversion of the VNF instance to a VNF snapshot. Clause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, and also specifies details of the notifications to be emitted at each state transition. If this is the initial notification about the start of a VNF LCM operation occurrence, @@ -1567,6 +1605,14 @@ definitions: cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of signaling + affected VL instances involving the addition of a particular VL instance with + links ports, one "AffectedVirtualLink" entry signals the addition of the VL by + using the "changeType" attribute of "AffectedVirtualLink" structure equal to + "ADDED", and another "AffectedVirtualLink" entry signals the addition of VNF + link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". type: array items: $ref: "#/definitions/AffectedVirtualLink" @@ -1736,10 +1782,16 @@ definitions: id: description: > Identifier of the VNFC instance of which the information is to be modified. + The identifier references the "id" attribute in a "VnfcInfo" structure. + The attribute "id" in this data type represents the same identifier as the attribute + "vnfcInstanceId" in other related data types in the present document. For reasons of + backward compatibility, this misalignment is not corrected. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcConfigurableProperties: description: > Changes of the configurable properties of the VNFC instance. + When this structure is part of a request, the modifications signalled in this attribute + shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfcInfo: @@ -1750,7 +1802,6 @@ definitions: required: - id - vduId - - vnfcResourceInfoId - vnfcState properties: id: @@ -1766,6 +1817,8 @@ definitions: description: > Identifier of the VnfcResourceInfo instance representing the virtualised resources used by this VNFC instance. + Shall be present in case a corresponding VnfcResourceInfo instance exists. + This allows to represent the error condition that a VNFC instance has lost its resources. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcState: description: > @@ -1800,17 +1853,23 @@ definitions: properties: vnfConfigurableProperties: description: > - This attribute signals the content of the "vnfConfigurableProperties" attribute in "VnfInstance" after the - modification and shall be present if that attribute was modified during the operation. + This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed + by the operation and shall be present if that attribute was modified during the operation. + This attribute represents the delta (semantics as per IETF RFC 7386 [3], JSON Merge Patch) between the value + of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at + its completion. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > - This attribute signals the content of the "metadata" attribute in "VnfInstance" after the modification and - shall be present if that attribute was modified during the operation. + This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation + and shall be present if that attribute was modified during the operation. + This attribute represents the delta (semantics as per IETF RFC 7386 [3], JSON Merge Patch) between the value + of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at + its completion. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > - This attribute signals the content of the "extensions" attribute in "VnfInstance" after the modification and + This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfdId: @@ -1821,22 +1880,22 @@ definitions: description: > If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related - operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" - attribute. + operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified + by the "vnfdId" attribute. type: string vnfProductName: description: > If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related - operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" - attribute. + operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified + by the "vnfdId" attribute. type: string vnfSoftwareVersion: description: > If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related - operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId" - attribute. + operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified + by the "vnfdId" attribute. $ref: "SOL002SOL003_def.yaml#/definitions/Version" vnfdVersion: description: > diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index e3568fbb..841d5fcc 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -329,9 +329,21 @@ definitions: $ref: "#/definitions/IdentifierInVnfd" cpConfig: description: > - List of instance data that need to be configured on the CP instances + Map of instance data that need to be configured on the CP instances created from the respective CPD. - type: array + The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. + The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). + Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. + Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC + instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. + If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same + segmentationId, which means they are connected to the same set of external VLs via the trunk. + The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" entry identified by a + particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed + by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance + in case it represents a subport. Deleting the last key from the map removes the affected instance of the + "VnfExtCpData" structure from its parent data structure. + type: items: $ref: "#/definitions/VnfExtCpConfig" @@ -344,45 +356,31 @@ definitions: shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object - required: - - id properties: - id: - description: > - Identifier of the VnfExtCpConfig entry. Managed by the API consumer. - $ref: "#/definitions/IdentifierInVnf" parentCpConfigId: description: > - Reference to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present in - "VnfExtCpConfig" structures that provide configuration information for a CP which represents a sub-port in + Value of the key that identifies the "VnfExtCpConfig" map entry which corresponds to the parent port of the + trunk. Reference to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present + in "VnfExtCpConfig" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. $ref: "#/definitions/IdentifierInVnf" - cpInstanceId: - description: > - Identifier of the external CP instance to which this set of - configuration parameters is requested to be applied. - Shall be present if this instance has already been created. - $ref: "#/definitions/IdentifierInVnf" linkPortId: description: > Identifier of a pre-configured link port to which the external CP will be associated. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": - 1) The "linkPortId" and "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - 2) At least one of these attributes shall be present for a - to-be-created external CP instance or an existing external + 1) At least one of the "linkPortId" and "cpProtocolData" attributes shall + be present for a to-be-created external CP instance or an existing external CP instance. - 3) If the "linkPortId" attribute is absent, the VNFM shall create a + 2) If the "linkPortId" attribute is absent, the VNFM shall create a link port. - 4) If the "cpProtocolData" attribute is absent, the "linkPortId" + 3) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present document to obtain the pre-configured address information for the connection point from the resource representing the link port. - 5) If both "cpProtocolData" and "linkportId" are provided, the API + 4) If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". $ref: "#/definitions/Identifier" -- GitLab From 8ba978e544cbf7de4ddb50479f7e7854ae04ed30 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 29 Jun 2020 10:31:23 +0200 Subject: [PATCH 053/116] SOL002 modifications according to v03006 --- .../SOL002VNFConfiguration_def.yaml | 1 + .../VNFFaultManagement.yaml | 13 ++-- .../SOL002VNFFaultManagement_def.yaml | 2 + .../VNFIndicatorNotification.yaml | 66 +++++++++++++++++ .../SOL002VNFIndicatorNotification_def.yaml | 72 ++++++++++++++++++- .../SOL002SOL003VNFIndicator_def.yaml | 13 ++++ ...002SOL003VNFPerformanceManagement_def.yaml | 5 ++ 7 files changed, 165 insertions(+), 7 deletions(-) diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 761f41b8..d56c1edc 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -105,6 +105,7 @@ definitions: vnfcInstanceId: description: > Identifier of a VNFC instance to which this set of configuration data applies. + The identifier references the "id" attribute in a "VnfcInfo" structure. $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' intCpConfig: description: > diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index f0f8cb5f..89b3e833 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -515,12 +515,13 @@ components: Subscriptions.Get: description: | 200 OK - The list of subscriptions has been queried successfully. The response body shall contain the representations of - all active subscriptions of the functional block that invokes the method. If the "filter" URI parameter was - supplied in the request, the data in the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. 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. + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain the representations of all active subscriptions of the functional block that + invokes the method. If the "filter" URI parameter was supplied in the request, the data in the response body + shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. headers: Version: description: The used API version. diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index e2b4c336..20f70fe3 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -29,6 +29,8 @@ definitions: vnfcInstanceIds: description: > Identifiers of the affected VNFC instances. + Each identifier references the "id" attribute in a "VnfcInfo" structure. + Shall be present if the alarm affects at least one VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 923a15a8..e0075af3 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -80,6 +80,63 @@ paths: "503": $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + '/URI-is-provided-by-the-client-when-creating-the-subscription_SupportedIndicatorsChangeNotification': + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + get: + summary: Test notification endpoint. + description: | + Service Unavailable + The GET method allows the server to test the notification endpoint that is provided by the client, + e.g. during subscription. + responses: + "204": + $ref: '#/components/responses/VNFInNotification.Get' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + + post: + summary: Notification endpoint + description: | + The API producer can use this resource to send notifications related to VNF indicator value changes to a + subscribed API consumer, which has provided the URI of this resource during the subscription process. + The POST method delivers a notification from API producer to an API consumer. The API consumer shall have + previously created an "Individual subscription" resource with a matching filter. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/SupportedIndicatorsChangeNotification' + responses: + "204": + $ref: '#/components/responses/VNFInNotification.Post' + "400": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 + "401": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 + "403": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 + "405": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 + "406": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 + "500": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 + "503": + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + components: requestBodies: VnfIndicatorValueChangeNotification: @@ -91,6 +148,15 @@ components: $ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification required: true + SupportedIndicatorsChangeNotification: + description: | + A notification about changes of the set of supported indicators. + content: + application/json: + schema: + $ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/SupportedIndicatorsChangeNotification + required: true + responses: VNFInNotification.Get: description: | diff --git a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml index 8c042ff3..8b90980c 100644 --- a/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml +++ b/src/SOL002/VNFIndicatorNotification/definitions/SOL002VNFIndicatorNotification_def.yaml @@ -67,4 +67,74 @@ definitions: subscription: description: > Link to the related subscription. - $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link' \ No newline at end of file + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link' + + SupportedIndicatorsChangeNotification: + description: | + This type represents a notification to inform the receiver that the set of indicators supported by a VNF instance + has changed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfInstanceId + properties: + id: + descriptions: | + Identifier of this notification. + If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + notificationType: + description: | + Discriminator for the different notification types. Shall be set to "SupportedIndicatorsChangeNotification" + for this notification type. + type: string + subscriptionId: + description: | + Identifier of the subscription that this notification relates to. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + timeStamp: + description: | + Date-time of the generation of the notification. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime' + vnfInstanceId: + description: | + Identifier of the VNF instance which provides the indicator value. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier' + supportedIndicators: + description: | + Set of VNF indicators supported by the VNF instance. + type: array + items: + type: object + required: + - vnfIndicatorId + properties: + vnfIndicatorId: + description: | + Identifier of the VNF indicator whose value has changed. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' + name: + description: | + Human readable name of the VNF indicator. Shall be present if defined in the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + type: string + _links: + description: | + Links for this resource. + type: object + required: + - subscription + properties: + vnfInstance: + description: | + Link to the related "Individual VNF instance" resource. Shall be present if the VNF instance information + is accessible as a resource. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink' + subscription: + description: | + Link to the related subscription. + $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink' \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFIndicator_def.yaml b/src/definitions/SOL002SOL003VNFIndicator_def.yaml index 36baa383..7dc38d5e 100644 --- a/src/definitions/SOL002SOL003VNFIndicator_def.yaml +++ b/src/definitions/SOL002SOL003VNFIndicator_def.yaml @@ -64,6 +64,19 @@ definitions: description: > Filter criteria to select VNF instances about which to notify. $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter" + notificationTypes: + description: > + Match particular notification types. + Permitted values: + * VnfIndicatorValueChangeNotification + * SupportedIndicatorsChangeNotification + The permitted values of the "notificationTypes" attribute are spelled exactly + as the names of the notification types to facilitate automated code generation + systems. + type: string + enum: + - VnfIndicatorValueChangeNotification + - SupportedIndicatorsChangeNotification indicatorIds: description: > Match particular VNF indicator identifiers. diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index e153cc77..9b9f3976 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -125,6 +125,7 @@ definitions: - id - notificationType - timeStamp + - pmJobId - objectType - objectInstanceId - _links @@ -147,6 +148,10 @@ definitions: description: > Date and time of the generation of the notification. $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + pmJobId: + description: > + Identifier of the PM job for which performance information is available. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" objectType: description: > Type of the measured object. -- GitLab From 3d9490fb6102c8c2e2150a356a9ced4d58d3fb6d Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 29 Jun 2020 10:45:32 +0200 Subject: [PATCH 054/116] SOL002 minor fix --- src/definitions/SOL002SOL003_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 841d5fcc..512d0090 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -343,7 +343,7 @@ definitions: by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the "VnfExtCpData" structure from its parent data structure. - type: + type: array items: $ref: "#/definitions/VnfExtCpConfig" -- GitLab From 234829fb2326c2f2793bda1942cfbad05294b8bd Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 29 Jun 2020 18:28:04 +0200 Subject: [PATCH 055/116] SOL003: passing VNFIND3 to OAS3 --- src/SOL003/VNFIndicator/VNFIndicator.yaml | 1082 +++++++++------------ 1 file changed, 446 insertions(+), 636 deletions(-) diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 03016577..a6819e72 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -1,408 +1,177 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Indicator interface - description: > + description: | SOL003 - VNF Indicator interface + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vnfind/v1" - -schemes: - - https +servers: + - url: http://127.0.0.1/vnfind/v1 + - url: https://127.0.0.1/vnfind/v1 -consumes: - - "application/json" -produces: - - "application/json" paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions ############################################################################### # VNF indicators # ############################################################################### - '/indicators': + /indicators: #SOL003 location: 8.4.2 get: - description: > + description: | Get Indicator Value. The GET method queries multiple VNF indicators. This method shall follow the provisions specified in the tables 8.4.2.3.2-1 and 8.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the VnfIndicator and in - data types referenced from it shall be supported by the VNFM - in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more VNF indicators has been queried successfully. - The response body shall contain in an array the representations of all VNF indicators that match - the attribute filter, i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have - been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" + $ref: '#/components/responses/Indicators.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # VNF indicators related to a VNF instance # ############################################################################### - '/indicators/{vnfInstanceId}': + /indicators/{vnfInstanceId}: #SOL003 location: 8.4.3 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to which the VNF indicator applies. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual VNF instance" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' get: - description: > + description: | Get Indicator Value. The GET method queries multiple VNF indicators related to a VNF instance. This method shall follow the provisions specified in the tables 8.4.3.3.2-1 and 8.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the VnfIndicator and in - data types referenced from it shall be supported by the VNFM - in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more VNF indicators has been queried successfully. - The response body shall contain in an array the representations of all VNF indicators that are related - to the particular VNF instance and that match the attribute filter, i.e. zero or more representations - of VNF indicators as defined in clause 8.5.2.2. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have been - transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" + $ref: '#/components/responses/VnfInstanceIndicators.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Individual VNF indicator # ############################################################################### - '/indicators/{vnfInstanceId}/{indicatorId}': + /indicators/{vnfInstanceId}/{indicatorId}: #SOL003 location: 8.4.4 parameters: - - name: indicatorId - description: > - Identifier of the VNF indicator. - This identifier can be retrieved from the resource referenced by the - payload body in the response to a POST request creating a new "Individual VNF - instance" resource. - in: path - type: string - required: true - - name: vnfInstanceId - description: > - Identifier of the VNF instance to which the VNF indicator applies. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual VNF instance" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/IndicatorId' + - $ref: '#/components/parameters/VnfInstanceId' get: - description: > + description: | Get Indicator Value. The GET method reads a VNF indicator. This method shall follow the provisions specified in the tables 8.4.4.3.2-1 and 8.4.4.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - Shall be returned when the VNF indicator has been read successfully. - The response body shall contain the representation of the VNF indicator. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" + $ref: '#/components/responses/VnfInstanceIndividualIndicator.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Subscriptions # ############################################################################### - '/subscriptions': + /subscriptions: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Subscribe. The POST method creates a new subscription. As the result of successfully executing this method, a new "Individual subscription" resource @@ -417,341 +186,123 @@ paths: filter and callback URI). This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: VnfIndicatorSubscriptionRequest - description: Details of the subscription to be created. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/VnfIndicatorSubscriptionRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location" HTTP header that points to the created resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" + $ref: '#/components/responses/Subscriptions.Post.201' 303: -# description: > -# 303 SEE OTHER -# -# Shall be returned when a subscription with the -# same callback URI and the same filter already -# exists and the policy of the VNFM is to not create -# redundant subscriptions. -# The HTTP response shall include a "Location" -# HTTP header that contains the resource URI of -# the existing "Individual subscription" resource. -# The response body shall be empty. - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" + # description: | + # 303 SEE OTHER + # + # Shall be returned when a subscription with the + # same callback URI and the same filter already + # exists and the policy of the VNFM is to not create + # redundant subscriptions. + # The HTTP response shall include a "Location" + # HTTP header that contains the resource URI of + # the existing "Individual subscription" resource. + # The response body shall be empty. + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 get: - description: > + description: | Query Subscription Information. 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. This method shall follow the provisions specified in the tables 8.4.5.3.2-1 and 8.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the VnfIndicatorSubscription - and in data types referenced from it shall be supported by the - VNFM in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active - subscriptions of the functional block that invokes the method which match the attribute filter, - i.e. zero or more representations of VNF indicator subscriptions as defined in clause 8.5.2.4. - If the "filter" URI parameter was supplied in the request, the data in the response body shall - have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" + $ref: '#/components/responses/Subscriptions.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 ############################################################################### # Individual subscription # ############################################################################### - '/indicators/subscriptions/{subscriptionId}': + /indicators/subscriptions/{subscriptionId}: #SOL003 location: 8.4.6 parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query Subscription Information. The GET method reads an individual subscription. This method shall follow the provisions specified in the tables 8.4.6.3.2-1 and 8.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has been read successfully. - The response body shall contain a representation of the "Individual subscription" resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" + $ref: '#/components/responses/IndividualSubscription.Get.200' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 delete: - description: > + description: | Terminate Subscription. The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the tables 8.4.6.3.5-1 and 8.4.6.3.5-2 @@ -762,66 +313,325 @@ paths: NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualSubscription.Delete.204' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 422: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + +components: + parameters: + VnfInstanceId: + name: vnfInstanceId + in: path + description: | + Identifier of the VNF instance to which the VNF indicator applies. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual VNF instance" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + IndicatorId: + name: indicatorId + in: path + description: | + Identifier of the VNF indicator. + This identifier can be retrieved from the resource referenced by the + payload body in the response to a POST request creating a new "Individual VNF + instance" resource. + required: true + style: simple + explode: false + schema: + type: string + + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual subscription" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + VnfIndicatorSubscriptionRequest: + description: Details of the subscription to be created. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest + required: true + + responses: + Indicators.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more VNF indicators has been queried successfully. + The response body shall contain in an array the representations of all VNF indicators that match + the attribute filter, i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have + been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfInstanceIndicators.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more VNF indicators has been queried successfully. + The response body shall contain in an array the representations of all VNF indicators that are related + to the particular VNF instance and that match the attribute filter, i.e. zero or more representations + of VNF indicators as defined in clause 8.5.2.2. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have been + transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + VnfInstanceIndividualIndicator.Get.200: + description: | + 200 OK + Shall be returned when the VNF indicator has been read successfully. + The response body shall contain the representation of the VNF indicator. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator + + Subscriptions.Post.201: + description: | + 201 CREATED + + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created "Individual subscription" resource. + The HTTP response shall include a "Location" HTTP header that points to the created resource. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + Subscriptions.Get.200: + description: | + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method which match the attribute filter, + i.e. zero or more representations of VNF indicator subscriptions as defined in clause 8.5.2.4. + If the "filter" URI parameter was supplied in the request, the data in the response body shall + have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + 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. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + IndividualSubscription.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the "Individual subscription" resource. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription + + IndividualSubscription.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 0770a721ad9776a92bc108208f2d2472670689fa Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 29 Jun 2020 18:57:42 +0200 Subject: [PATCH 056/116] SOL003: migrating VNFIND Notification API to OAS3 --- .../VNFIndicatorNotification.yaml | 193 ++++++++---------- 1 file changed, 90 insertions(+), 103 deletions(-) diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index e368576d..75cc33ee 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Indicator interface - description: > + description: | SOL003 - VNF Indicator interface @@ -20,147 +19,135 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/callback/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: ############################################################################### # Notification endpoint VnfIndicatorValueChangeNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIndicatorValueChangeNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfIndicatorValueChangeNotification: #SOL003 location: 8.4.7 post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription resource" with a matching filter. This method shall follow the provisions specified in the tables 8.4.7.3.1-1 and 8.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: AlarmListRebuiltNotification - description: > - Information that the alarm list has been rebuilt by the VNFM - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorValueChangeNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/AlarmListRebuiltNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VNFINDNotification.Post.204' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 8.4.7.3.2-1 and 8.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 204: - description: > - 204 NO CONTENT - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VNFINDNotification.Get.204' 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 401: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 403: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 500: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 + +components: + + requestBodies: + AlarmListRebuiltNotification: + description: Information that the alarm list has been rebuilt by the VNFM. + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorValueChangeNotification + required: true + + responses: + VNFINDNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VNFINDNotification.Get.204: + description: | + 204 NO CONTENT + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string -- GitLab From 6942b65b02509ac8dcd2c40931776038623538ba Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 30 Jun 2020 11:22:20 +0200 Subject: [PATCH 057/116] SOL003: migrating VNFLCM API to OAS3 --- .../VNFLifecycleManagement.yaml | 3476 +++++++---------- 1 file changed, 1359 insertions(+), 2117 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 9a92cc1a..c798acb9 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,11 +1,9 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Lifecycle Management interface - description: > - SOL003 - VNF Lifecycle Management interface definition - + description: | + SOL003 - VNF Lifecycle Management interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of @@ -20,38 +18,39 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vnflcm/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/vnflcm/v1 + - url: https://127.0.0.1/vnflcm/v1 paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': - $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + /api_versions: + $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions ############################################################################### # VNF instances # ############################################################################### - '/vnf_instances': + /vnf_instances: #SOL003 location: 5.4.2 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state. This method shall follow the provisions specified in the tables 5.4.2.3.1-1 and 5.4.2.3.1-2 @@ -69,79 +68,11 @@ paths: 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. - parameters: - - name: createVnfRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/CreateVnfRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when a new "Individual VNF instance" resource and - the associated VNF instance identifier washas been created successfully. - The response body shall contain a representation of the created VNF instance, - as defined in clause 5.5.2.2. - The HTTP response shall include a "Location" HTTP header that contains the resource - URI of the created VNF instance. - 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 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: '#/components/responses/VNFInstances.Post.201' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -164,129 +95,19 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query VNF. The GET method queries information about multiple VNF instances. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The NFVO may supply this parameter. - All attribute names that appear in the VnfInstance and in data types referenced from - it shall be supported by the VNFM in the filter expression. - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfInstance structure - in the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfConfigurableProperties - - vimConnectionInfo - - instantiatedVnfInfo - - metadata - - extensions - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more VNF instances has been queried successfully. - The response body shall contain in an array the representations of zero or more VNF instances, - as defined in clause 5.5.2.2. - If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" - (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response - body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of - ETSI GS NFV-SOL 013, respectively. - If the VNFM supports alternative 2 (paging) according to clause 5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: '#/components/responses/VNFInstances.Get.20' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -311,84 +132,24 @@ paths: ############################################################################### # Individual VNF instance # ############################################################################### - '/vnf_instances/{vnfInstanceId}': + /vnf_instances/{vnfInstanceId}: #SOL003 location: 5.4.3.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also - be retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - + - $ref: '#/components/parameters/VnfInstanceId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query VNF. The GET method retrieves information about a VNF instance by reading an "Individual VNF instance" resource. This method shall follow the provisions specified in the tables 5.4.3.3.2-1 and 5.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual VNF instance has been read successfully. - The response body shall contain a representation of the VNF instance, as defined in clause 5.5.2.2. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: '#/components/responses/IndividualVnfInstance.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -412,7 +173,7 @@ paths: patch: #SOL003 location: 5.4.3.3.4 - description: > + description: | Modify VNF Information. This method modifies an "Individual VNF instance" resource. Changes to the VNF configurable properties are applied to the configuration in the VNF instance, @@ -442,69 +203,11 @@ paths: 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. - parameters: - - name: VnfInfoModificationRequest - description: > - Parameters for the VNF modification, as defined in clause 5.5.2.12. - The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396. - required: true - in: body - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - type: string - enum: - - application/merge-patch+json - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/VnfInfoModificationRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - On success, the HTTP response shall include a "Location" HTTP header that - contains the URI of the newly-created "Individual VNF LCM operation occurrence" - resource corresponding to the operation. - The response body shall be empty. - 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 - 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/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: '#/components/responses/IndividualVnfInstance.Patch.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -518,7 +221,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -534,7 +237,7 @@ paths: delete: #SOL003 location: 5.4.3.3.5 - description: > + description: | Delete VNF Identifier. This method deletes an "Individual VNF instance" resource. This method shall follow the provisions specified in the tables 5.4.3.3.5-1 and 5.4.3.3.5-2 @@ -543,43 +246,9 @@ paths: shall not exist any longer. A notification of type "VnfIdentifierDeletionNotification" shall be triggered as part of successfully executing this method as defined in clause 5.5.2.19. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual VNF instance" resource and the associated - VNF identifier were deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfInstance.Delete.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -593,7 +262,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -610,22 +279,13 @@ paths: ############################################################################### # Instantiate VNF task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/instantiate': + /vnf_instances/{vnfInstanceId}/instantiate: #SOL003 location: 5.4.4.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also - be retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: #SOL003 location: 5.4.4.3.1 - description: > + description: | Instantiate VNF. The POST method instantiates a VNF instance. This method shall follow the provisions specified in the tables 5.4.4.3.1-1 and 5.4.4.3.1-2 @@ -653,70 +313,14 @@ paths: of the processing and validation, the attributes shall be provided in the "VnfInstance" data structure and the operation shall proceed to obtain the grant. parameters: - - name: InstantiateVnfRequest - description: Parameters for the VNF instantiation. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/InstantiateVnfRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing - The response body shall be empty. - The HTTP response shall include a "Location" HTTP header that - contains the URI of the newly-created "Individual VNF LCM operation - occurrence" resource corresponding to the operation. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/InstantiateVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -730,7 +334,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -751,22 +355,13 @@ paths: ############################################################################### # Scale VNF task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/scale': + /vnf_instances/{vnfInstanceId}/scale: #SOL003 location: 5.4.5.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new "Individual VNF instance" - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: #SOL003 location: 5.4.5.3.1 - description: > + description: | Scale VNF. The POST method requests to scale a VNF instance resource incrementally. This method shall follow the provisions specified in the tables 5.4.5.3.1-1 and 5.4.5.3.1-2 @@ -777,70 +372,14 @@ paths: it shall reflect the result of scaling the VNF instance by updating the "scaleStatus" attribute in the representation of the "Individual VNF instance" resource. parameters: - - name: ScaleVnfRequest - description: Parameters for the scale VNF operation. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/ScaleVnfRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ScaleVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -848,7 +387,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -864,7 +403,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -884,22 +423,13 @@ paths: ############################################################################### # Scale VNF to Level task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/scale_to_level': + /vnf_instances/{vnfInstanceId}/scale_to_level: #SOL003 location: 5.4.6.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled to a target level. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual VNF instance" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: #SOL003 location: 5.4.6.3.1 - description: > + description: | Scale VNF to Level. The POST method requests to scale a VNF instance resource to a target level. This method shall follow the provisions specified in the tables 5.4.6.3.1-1 and 5.4.6.3.1-2 @@ -910,70 +440,14 @@ paths: it shall reflect the result of scaling the VNF instance by updating the "scaleStatus" attribute in the representation of the "Individual VNF instance" resource. parameters: - - name: ScaleVnfToLevelRequest - description: Parameters for the scale VNF to Level operation. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/ScaleVnfToLevelRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -981,7 +455,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -997,7 +471,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1017,22 +491,12 @@ paths: ############################################################################### # Change VNF Flavour task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/change_flavour': + /vnf_instances/{vnfInstanceId}/change_flavour: #SOL003 location: 5.4.7.2 parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance of which the deployment flavour - is requested to be changed. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the - response to a POST request creating a new "Individual VNF instance" resource. It - can also be retrieved from the "id" attribute in the payload body of - that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | Change VNF Flavour. This method shall follow the provisions specified in the tables 5.4.7.3.1-1 and 5.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes. @@ -1059,70 +523,14 @@ paths: of the processing and validation, the attributes shall be provided in the "VnfInstance" data structure and the operation shall proceed to obtain the grant. parameters: - - name: ChangeVnfFlavourRequest - description: Parameters for the Change VNF Flavour operation. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/ChangeVnfFlavourRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1130,7 +538,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -1146,7 +554,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1166,21 +574,12 @@ paths: ############################################################################### # Terminate VNF task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/terminate': + /vnf_instances/{vnfInstanceId}/terminate: #SOL003 location: 5.4.8.2 parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance to be terminated. This identifier - can be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new "Individual VNF instance" - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | Terminate VNF. The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its used virtualised resources. @@ -1192,70 +591,14 @@ paths: it shall set the "instantiationState" attribute in the representation of the "Individual VNF instance" resource to the value "NOT_INSTANTIATED". parameters: - - name: TerminateVnfRequest - description: Parameters for the VNF termination. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/TerminateVnfRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/TerminateVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1269,7 +612,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1289,21 +632,12 @@ paths: ############################################################################### # Heal VNF task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/heal': + /vnf_instances/{vnfInstanceId}/heal: #SOL003 location: 5.4.9.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be healed. This identifier can be - retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new "Individual VNF instance" - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | Heal VNF. The POST method requests to heal a VNF instance. This method shall follow the provisions specified in the tables 5.4.9.3.1-1 and 5.4.9.3.1-2 @@ -1311,70 +645,14 @@ paths: The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. parameters: - - name: HealVnfRequest - description: Parameters for the Heal VNF operation. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/HealVnfRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/HealVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1382,7 +660,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -1398,7 +676,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1418,21 +696,12 @@ paths: ############################################################################### # Operate VNF task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/operate': + /vnf_instances/{vnfInstanceId}/operate: #SOL003 location: 5.4.10.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be operated. This identifier can - be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new "Individual VNF instance" - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | Operate VNF. The POST method changes the operational state of a VNF instance resource. This method shall follow the provisions specified in the tables 5.4.10.3.1-1 and 5.4.10.3.1-2 @@ -1443,70 +712,14 @@ paths: it shall set the "vnfState" attribute in the representation of the "Individual VNF instance" resource to the value of the "changeStateTo" attribute passed in the "OperateVnfRequest" data in the POST request. parameters: - - name: OperateVnfRequest - description: Parameters for the Operate VNF operation. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/OperateVnfRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/OperateVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1514,7 +727,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -1530,7 +743,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1550,22 +763,12 @@ paths: ############################################################################### # Change external VNF connectivity task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/change_ext_conn': + /vnf_instances/{vnfInstanceId}/change_ext_conn: #SOL003 location: 5.4.11.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance of which the external connectivity is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a POST request creating a new "Individual VNF instance" resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | Change External VNF Connectivity. The POST method changes the external connectivity of a VNF instance. This method shall follow the provisions specified in the tables 5.4.11.3.1-1 and 5.4.11.3.1-2 @@ -1573,71 +776,14 @@ paths: The steps and conditions that apply as the result of successfully executing this method are specified in clause 5.4.1.2. parameters: - - name: ChangeExtVnfConnectivityRequest - description: > - Parameters for the Change external VNF connectivity operation. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/ChangeExtVnfConnectivityRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ChangeExtConnVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1651,7 +797,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1670,22 +816,12 @@ paths: ############################################################################### # Change current VNF package task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/change_vnfpkg': + /vnf_instances/{vnfInstanceId}/change_vnfpkg: #SOL003 location: 5.4.11a.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance of which the underlying VNF package is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a POST request creating a new "Individual VNF instance" resource. - It can also be retrieved from the "id" attribute in the payload body - of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | The POST method changes the current VNF package on which the VNF instance is based. This method shall follow the provisions specified in the tables 5.4.11a.3.1-1 and 5.4.11a.3.1-2 for URI query parameters, request and response data structures, and @@ -1696,70 +832,14 @@ paths: VNF configurable properties and their data types, as well as the metadata data types, can differ between the source and the destination VNFD. parameters: - - name: ChangeCurrentVnfPkgRequest - description: > - Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/ChangeCurrentVnfPkgRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ChangeVnfpkgVnfInstance.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1773,7 +853,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -1792,134 +872,28 @@ paths: ############################################################################### # VNF LCM operation occurrences # ############################################################################### - '/vnf_lcm_op_occs': + /vnf_lcm_op_occs: #SOL003 location: 5.4.12 get: - description: > + description: | Get Operation Status. The API consumer can use this method to query status information about multiple VNF lifecycle management operation occurrences. This method shall follow the provisions specified in the tables 5.4.12.3.2-1 and 5.4.12.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The NFVO may supply this parameter. - All attribute names that appear in the VnfLcmOpOcc and in data types referenced from it - shall be supported by the VNFM in the filter expression. - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfLcmOpOcc structure - in the response body if this parameter is provided, or none of the parameters - "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - - vnfConfigurableProperties - - vimConnectionInfo - - instantiatedVnfInfo - - metadata - - extensions - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when status information for zero or more VNF lifecycle management - operation occurrences has been queried successfully. - The response body shall contain in an array the status information about zero or more - VNF lifecycle operation occurrences, as defined in clause 5.5.2.13. - If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), - "exclude_fields" (if supported) or "exclude_default" URI parameters was supplied in the request, - the data in the response body shall have been transformed according to the rules specified - in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: '#/components/responses/VnfLcmOpOccs.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1942,78 +916,24 @@ paths: ############################################################################### # Individual VNF LCM operation occurrence # ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}': + /vnf_lcm_op_occs/{vnfLcmOpOccId}: #SOL003 location: 5.4.13 parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a PATCH or POST request - triggering a VNF LCM operation. It can also be retrieved from the - "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' get: - description: > + description: | Get Operation Status. The API consumer can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an "Individual VNF LCM operation occurrence" resource. This method shall follow the provisions specified in the tables 5.4.13.3.2-1 and 5.4.13.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information about a VNF LCM operation occurrence washas been read successfully. - The response body shall contain status information about a VNF lifecycle management operation occurrence - (see clause 5.5.2.13). - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2036,22 +956,12 @@ paths: ############################################################################### # Retry operation task # ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': + /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry: #SOL003 location: 5.4.14 parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - retried. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH - or POST request triggering a VNF LCM operation. It can also be - retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' post: - description: > + description: | 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. @@ -2062,40 +972,11 @@ paths: "start" notification according to clause 5.6.2.2 shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds. parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response shall have an empty payload body. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2103,7 +984,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -2119,7 +1000,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -2137,22 +1018,12 @@ paths: ############################################################################### # Rollback operation task # ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': + /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback: #SOL003 location: 5.4.15 parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be rolled back. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH - or POST request triggering a VNF LCM operation. It can also be - retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' post: - description: > + description: | 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. @@ -2167,40 +1038,11 @@ paths: "start" notification according to clause 5.6.2.2 shall be emitted to indicate that rollback of the underlying VNF LCM operation occurrence is attempted. parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response shall have an empty payload body. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2208,7 +1050,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -2224,7 +1066,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -2242,22 +1084,12 @@ paths: ############################################################################### # Fail operation task # ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': + /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail: #SOL003 location: 5.4.16 parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be marked as "failed". This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a PATCH or POST request triggering a VNF LCM operation. It can also - be retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' post: - description: > + description: | The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" state. This method shall follow the provisions specified in the tables 5.4.16.3.1-1 and 5.4.16.3.1-2 @@ -2267,56 +1099,12 @@ paths: shall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence has finally and unrecoverably failed. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: '#/components/responses/FailVnfLcmOpOcc.Post.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2324,7 +1112,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -2340,7 +1128,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict @@ -2358,22 +1146,12 @@ paths: ############################################################################### # Cancel operation task # ############################################################################### - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': + /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel: #SOL003 location: 5.4.17 parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - be cancelled. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to - a PATCH or POST request triggering a VNF LCM operation. It can also - be retrieved from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfLcmOpOccId' post: - description: > + description: | The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related "Individual VNF LCM operation occurrence" resource is either in "STARTING" or "PROCESSING" or "ROLLING_BACK" state. @@ -2399,40 +1177,11 @@ paths: still succeed, in which case the "operationState" attribute in the representation of the parent resource shall represent the result of that operation, rather than the result of the cancellation. parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - The response shall have an empty payload body. - headers: - 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 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2446,7 +1195,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -2464,10 +1213,14 @@ paths: ############################################################################### # Subscriptions # ############################################################################### - '/subscriptions': + /subscriptions: #SOL003 location: 5.4.18 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 5.4.18.3.1-1 and 5.4.18.3.1-2 @@ -2482,78 +1235,13 @@ paths: 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 callback URI). - parameters: - - name: LccnSubscriptionRequest - description: > - Details of the subscription to be created. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/LccnSubscriptionRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location" HTTP header that points to the created - "Individual subscription" resource. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + $ref: '#/components/responses/Subscriptions.Post.201' 303: - #description: > + #description: | #303 SEE OTHER #Shall be returned if a subscription with the same callback URI and the same filter already exists @@ -2583,93 +1271,17 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query Subscription Information. 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. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 4.3.2. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the LccnSubscription and in - data types referenced from it shall be supported by the VNFM - in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the VNFM if the VNFM supports alternative 2 (paging) - according to clause 4.7.2.1 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active subscriptions of - the functional block that invokes the method, i.e. zero or more representations of lifecycle change - notification subscriptions as defined in clause 5.5.2.16. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have been - transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - If the VNFM supports alternative 2 (paging) according to clause 5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + $ref: '#/components/responses/Subscriptions.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2692,75 +1304,23 @@ paths: ############################################################################### # Individual subscription # ############################################################################### - '/subscriptions/{subscriptionId}': + /subscriptions/{subscriptionId}: #SOL003 location: 5.4.19 parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by - the "Location" HTTP header in the response to a POST request - creating a new subscription resource. It can also be retrieved from - the "id" attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query Subscription Information. The GET method retrieves information about a subscription by reading an "Individual subscription" resource. This method shall follow the provisions specified in the tables 5.4.19.3.2-1 and 5.4.19.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has been read successfully. - The response body shall contain a representation of the "Individual subscription" resource. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + $ref: '#/components/responses/IndividualSubscription.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2781,7 +1341,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: - description: > + description: | Terminate Subscription. The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the tables 5.4.19.3.5-1 and 5.4.19.3.5-2 @@ -2793,42 +1353,9 @@ paths: NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualSubscription.Delete.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2851,21 +1378,12 @@ paths: ############################################################################### # Create VNF snapshot task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/create_snapshot': + /vnf_instances/{vnfInstanceId}/create_snapshot: #SOL003 location: 5.4.21.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance from which a VNF snapshot is to be created. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual VNF instance" resource. It can also be retrieved from - the "id" attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | The POST method requests creating a VNF snapshot resource based on a VNF instance resource. The steps and conditions that apply as the result of successfully executing @@ -2879,71 +1397,14 @@ paths: and 5.4.21.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: CreateVnfSnapshotRequest - description: > - Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.20. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/CreateVnfSnapshotRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request was accepted for processing, but the processing - has not been completed. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/CreateVnfSnapshotTask.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2951,7 +1412,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -2969,7 +1430,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -2989,91 +1450,25 @@ paths: ############################################################################### # Revert to VNF snapshot task # ############################################################################### - '/vnf_instances/{vnfInstanceId}/revert_to_snapshot': + /vnf_instances/{vnfInstanceId}/revert_to_snapshot: #SOL003 location: 5.4.22.2 parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance for the VNF snapshot to be reverted to. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual VNF instance" resource. It can also be retrieved from - the "id" attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfInstanceId' post: - description: > + description: | The POST method requests reverting a VNF instance to a VNF snapshot. This method shall follow the provisions specified in the tables 5.4.22.3.1-1 and 5.4.22.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: RevertToVnfSnapshotRequest - description: > - Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.23. - in: body - required: true - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/RevertToVnfSnapshotRequest' responses: 202: - description: > - 202 ACCEPTED - - Shall be returned when the request was accepted for processing, but the processing has - not been completed. - The response body shall be empty. - 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: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/RevertToVnfSnapshotTask.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -3081,7 +1476,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: - #description: > + #description: | #404 NOT FOUND #Shall be returned upon the following error: The API producer did not find a current representation @@ -3099,7 +1494,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -3119,76 +1514,21 @@ paths: ############################################################################### # VNF snapshots # ############################################################################### - '/vnf_snapshots': + /vnf_snapshots: #SOL003 location: 5.4.23.2 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | The POST method creates a new "Individual VNF snapshot" resource. 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. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 201: - description: > - 201 CREATED - - 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. - The HTTP response shall include a "Location" HTTP header that contains the resource URI - of the "Individual VNF snapshot" resource. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: '#/components/responses/VnfSnapshots.Post.201' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -3216,118 +1556,15 @@ paths: and 5.4.23.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The NFVO may supply this parameter. - All attribute names that appear in the VnfSnapshot and in data types referenced from - it shall be supported by the VNFM in the filter expression. - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. - The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfSnapshot structure - in the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfInstance - - vnfcSnapshots - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of - ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - 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. - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: '#/components/responses/VnfSnapshots.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -3352,84 +1589,24 @@ paths: ############################################################################### # Individual VNF snapshot # ############################################################################### - '/vnf_snapshots/{vnfSnapshotInfoId}': + /vnf_snapshots/{vnfSnapshotInfoId}: #SOL003 location: 5.4.24.2 parameters: - - name: vnfSnapshotInfoId - description: > - Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved - from the resource referenced by the "Location" HTTP header in the response to a POST request - creating a new VNF snapshot resource. It can also be retrieved from the "id" attribute in - the payload body of that response. - in: path - type: string - required: true - + - $ref: '#/components/parameters/VnfSnapshotInfoId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: #SOL003 location: 5.4.24.3.2 - description: > + description: | The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource. This method shall follow the provisions specified in the tables 5.4.24.3.2-1 and 5.4.24.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: '#/components/responses/IndividualVnfSnapshot.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -3453,7 +1630,7 @@ paths: delete: #SOL003 location: 5.4.24.3.5 - description: > + description: | This method deletes an "Individual VNF snapshot" resource and the associated VNF snapshot information managed by the VNFM, and any resource associated to the VNF snapshot managed by the VIM. @@ -3461,43 +1638,9 @@ paths: shall not exist any longer. This method shall follow the provisions specified in the tables 5.4.24.3.5-1 and 5.4.24.3.5-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the VNF snapshot resource and the associated VNF snapshot were - deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfSnapshot.Delete.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -3511,7 +1654,7 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" 409: - #description: > + #description: | #409 CONFLICT #Shall be returned upon the following error: The operation cannot be executed currently, @@ -3528,22 +1671,1121 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" +components: + parameters: + VnfInstanceId: + name: vnfInstanceId + in: path + description: | + Identifier of the VNF instance for the VNF snapshot to be reverted to. This identifier can be retrieved from the resource + referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual VNF instance" resource. + It can also be retrieved from the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + VnfLcmOpOccId: + name: vnfLcmOpOccId + in: path + description: | + Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource + referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. + It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification. + required: true + style: simple + explode: false + schema: + type: string + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" + HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + VnfSnapshotId: + name: vnfSnapshotId + in: path + description: | + Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved + from the resource referenced by the "Location" HTTP header in the response to a POST request + creating a new VNF snapshot resource. It can also be retrieved from the "id" attribute in + the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + requestBodies: + CreateVnfRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest" + required: true + VnfInfoModificationRequest: + description: | + Parameters for the VNF modification, as defined in clause 5.5.2.12. + The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" + required: true + InstantiateVnfRequest: + description: Parameters for the VNF instantiation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" + required: true + ScaleVnfRequest: + description: Parameters for the scale VNF operation. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" + required: true + ScaleVnfToLevelRequest: + description: Parameters for the scale VNF to Level operation. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" + required: true + ChangeVnfFlavourRequest: + description: Parameters for the Change VNF Flavour operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" + required: true + TerminateVnfRequest: + description: Parameters for the VNF termination. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" + required: true + HealVnfRequest: + description: Parameters for the Heal VNF operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" + required: true + OperateVnfRequest: + description: Parameters for the Operate VNF operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" + required: true + ChangeExtVnfConnectivityRequest: + description: | + Parameters for the Change external VNF connectivity operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" + required: true + ChangeCurrentVnfPkgRequest: + description: | + Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest" + required: true + LccnSubscriptionRequest: + description: | + Details of the subscription to be created. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" + required: true + CreateVnfSnapshotRequest: + description: | + Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.20. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest" + required: true + RevertToVnfSnapshotRequest: + description: | + Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.23. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest" + required: true + + responses: + VNFInstances.Post.201: + description: | + 201 CREATED + + Shall be returned when a new "Individual VNF instance" resource and + the associated VNF instance identifier washas been created successfully. + The response body shall contain a representation of the created VNF instance, + as defined in clause 5.5.2.2. + The HTTP response shall include a "Location" HTTP header that contains the resource + URI of the created VNF instance. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + VNFInstances.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more VNF instances has been queried successfully. + The response body shall contain in an array the representations of zero or more VNF instances, + as defined in clause 5.5.2.2. + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" + (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of + ETSI GS NFV-SOL 013, respectively. + If the VNFM supports alternative 2 (paging) according to clause 5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + + IndividualVnfInstance.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual VNF instance has been read successfully. + The response body shall contain a representation of the VNF instance, as defined in clause 5.5.2.2. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + + IndividualVnfInstance.Patch.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + On success, the HTTP response shall include a "Location" HTTP header that + contains the URI of the newly-created "Individual VNF LCM operation occurrence" + resource corresponding to the operation. + The response body shall be empty. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + + IndividualVnfInstance.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the "Individual VNF instance" resource and the associated + VNF identifier were deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + InstantiateVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that + contains the URI of the newly-created "Individual VNF LCM operation + occurrence" resource corresponding to the operation. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ScaleVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ScaleToLevelVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ChangeFlavourVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + TerminateVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + HealVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + OperateVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ChangeExtConnVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ChangeVnfpkgVnfInstance.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfLcmOpOccs.Get.200: + description: | + 200 OK + + Shall be returned when status information for zero or more VNF lifecycle management + operation occurrences has been queried successfully. + The response body shall contain in an array the status information about zero or more + VNF lifecycle operation occurrences, as defined in clause 5.5.2.13. + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), + "exclude_fields" (if supported) or "exclude_default" URI parameters was supplied in the request, + the data in the response body shall have been transformed according to the rules specified + in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + + IndividualVnfLcmOpOcc.Get.200: + description: | + 200 OK + + Shall be returned when information about a VNF LCM operation occurrence washas been read successfully. + The response body shall contain status information about a VNF lifecycle management operation occurrence + (see clause 5.5.2.13). + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + + RollbackVnfLcmOpOcc.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response shall have an empty payload body. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + RetryVnfLcmOpOcc.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response shall have an empty payload body. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + FailVnfLcmOpOcc.Post.200: + description: | + 200 OK + + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + + CancelVnfLcmOpOcc.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing. + The response shall have an empty payload body. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + Subscriptions.Post.201: + description: | + 201 CREATED + + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created "Individual subscription" resource. + The HTTP response shall include a "Location" HTTP header that points to the created + "Individual subscription" resource. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + + Subscriptions.Get.200: + description: | + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active subscriptions of + the functional block that invokes the method, i.e. zero or more representations of lifecycle change + notification subscriptions as defined in clause 5.5.2.16. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have been + transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + If the VNFM supports alternative 2 (paging) according to clause 5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + + IndividualSubscription.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the "Individual subscription" resource. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" + + IndividualSubscription.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + CreateVnfSnapshotTask.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request was accepted for processing, but the processing + has not been completed. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + RevertToVnfSnapshotTask.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request was accepted for processing, but the processing has + not been completed. + The response body shall be empty. + 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: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfSnapshots.Post.201: + description: | + 201 CREATED + + 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. + The HTTP response shall include a "Location" HTTP header that contains the resource URI + of the "Individual VNF snapshot" resource. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + + VnfSnapshots.Get.200: + description: | + 200 OK + + 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. + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + + IndividualVnfSnapshot.Get.200: + description: | + 200 OK + + 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. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + + IndividualVnfSnapshot.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the VNF snapshot resource and the associated VNF snapshot were + deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string -- GitLab From 00f09dc9f2597eab6f84b782366a3ccc9d3ca702 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 30 Jun 2020 15:06:45 +0200 Subject: [PATCH 058/116] SOL003: migrating VNFLCM Notification API to OAS3 --- .../VNFLifecycleManagementNotification.yaml | 465 ++++++++---------- 1 file changed, 200 insertions(+), 265 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 3d24ee2d..7a6bfca7 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Lifecycle Management Notification interface - description: > + description: | SOL003 - VNF Lifecycle Management Notification interface @@ -20,84 +19,41 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/callback/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: ############################################################################### # Notification endpoint VnfLcmOperationOccurrenceNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: VnfLcmOperationOccurrenceNotification - description: A notification about lifecycle changes triggered by a VNF LCM operation occurrence.. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfLcmOperationOccurrenceNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -114,47 +70,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfLcmOperationOccurrenceNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -173,63 +96,22 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierCreationNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: VnfIdentifierCreationNotification - description: > - A notification about the creation of a VNF identifier and the related "Individual VNF instance" resource. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/VnfIdentifierCreationNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfIdentifierCreationNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -246,47 +128,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the server to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfIdentifierCreationNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -305,63 +154,22 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierDeletionNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: VnfIdentifierDeletionNotification - description: > - A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/VnfIdentifierDeletionNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfIdentifierDeletionNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -378,47 +186,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the server to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfIdentifierDeletionNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -432,4 +207,164 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + + +components: + requestBodies: + VnfLcmOperationOccurrenceNotification: + description: | + A notification about lifecycle changes triggered by a VNF LCM operation occurrence.. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" + required: true + + VnfIdentifierCreationNotification: + description: | + A notification about the creation of a VNF identifier and the related "Individual VNF instance" resource. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification" + required: true + + VnfIdentifierDeletionNotification: + description: | + A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification" + required: true + + responses: + VnfLcmOperationOccurrenceNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfLcmOperationOccurrenceNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfIdentifierCreationNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfIdentifierCreationNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfIdentifierDeletionNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfIdentifierDeletionNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 88ffb27353e4e04a59bfd09684fc4cf9429fc07d Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Tue, 30 Jun 2020 15:28:30 +0200 Subject: [PATCH 059/116] SOL003: migrating VNF Lifecycle Operation Granting API to OAS3 --- .../VNFLifecycleOperationGranting.yaml | 372 +++++++++--------- 1 file changed, 181 insertions(+), 191 deletions(-) diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index cf99cc22..dd17a80e 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Lifecycle Operation Granting interface - description: > + description: | SOL003 - VNF Lifecycle Operation Granting interface @@ -20,38 +19,35 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/grant/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/grant/v1 + - url: https://127.0.0.1/grant/v1 paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # Resource: Grants # ############################################################################### - '/grants': + /grants: #SOL003 location: 9.4.2 post: - description: > + description: | Grant Lifecycle Operation. The POST method requests a grant for a particular VNF lifecycle operation. This method shall follow the provisions specified in the tables 9.4.2.3.1-1 and 9.4.2.3.1-2 @@ -62,104 +58,25 @@ paths: case which is indicated by responding with "202 Accepted", this resource may be created after the response is returned. parameters: - - name: GrantRequest - in: body - required: true - schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + requestBody: + $ref: '#/components/requestBodies/GrantRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the grant has been created successfully (synchronous mode). - A representation of the created "Individual grant" resource shall be returned in the response body. - The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual grant" - resource just created. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + $ref: '#/components/responses/Grants.Post.201' 202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing - and it is expected to take some time to create the grant (asynchronous mode). - The response body shall be empty. - The HTTP response shall include a "Location" HTTP header that indicates the URI - of the "Individual grant" resource that will be created once the granting decision has been made. - 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 + $ref: '#/components/responses/Grants.Post.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: -# description: > -# 403 FORBIDDEN -# -# Shall be returned upon the following error: The grant has been rejected. + #description: | + # 403 FORBIDDEN + # + # Shall be returned upon the following error: The grant has been rejected. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" @@ -179,105 +96,34 @@ paths: ############################################################################### # Resource: Individual grant # ############################################################################### - '/grants/{grantId}': + /grants/{grantId}: #SOL003 location: 9.4.3 parameters: - - name: grantId - description: > - Identifier of the grant. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request granting a - new VNF lifecycle operation. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/GrantId' get: - description: > + description: | Grant Lifecycle Operation. The GET method reads a grant. This method shall follow the provisions specified in the tables 9.4.3.3.2-1 and 9.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when the grant has been read successfully. - A representation of the "Individual grant" resource shall be returned in the response body. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + $ref: '#/components/responses/IndividualGrant.Get.200' 202: - description: > - 202 ACCEPTED - - Shall be returned when the process of creating the grant is ongoing, no grant is available yet. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualGrant.Get.202' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" 403: -# description: > -# 403 FORBIDDEN -# -# Shall be returned upon the following error: The grant has been rejected. + #description: | + # 403 FORBIDDEN + # + # Shall be returned upon the following error: The grant has been rejected. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" 404: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" @@ -292,4 +138,148 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + +components: + parameters: + GrantId: + name: grantId + in: path + description: | + Identifier of the grant. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request granting a + new VNF lifecycle operation. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + GrantRequest: + content: + application/json: + schema: + $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest" + required: true + + responses: + Grants.Post.201: + description: | + 201 CREATED + + Shall be returned when the grant has been created successfully (synchronous mode). + A representation of the created "Individual grant" resource shall be returned in the response body. + The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual grant" + resource just created. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + + Grants.Post.202: + description: | + 202 ACCEPTED + + Shall be returned when the request has been accepted for processing + and it is expected to take some time to create the grant (asynchronous mode). + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that indicates the URI + of the "Individual grant" resource that will be created once the granting decision has been made. + headers: + Location: + description: | + The resource URI of the created subscription resource. + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualGrant.Get.200: + description: | + 200 OK + + Shall be returned when the grant has been read successfully. + A representation of the "Individual grant" resource shall be returned in the response body. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + + IndividualGrant.Get.202: + description: | + 202 ACCEPTED + + Shall be returned when the process of creating the grant is ongoing, no grant is available yet. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 0b0d4c175c33094e86413c9e5ecaa50de09332bd Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 14:06:28 +0200 Subject: [PATCH 060/116] SOL003: migrating VNF Pkg Mgmt API to OAS3 --- .../VNFPackageManagement.yaml | 2906 +++++++---------- 1 file changed, 1238 insertions(+), 1668 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 91cd80d6..9b098ad3 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" - title: SOL003 - VNF Package Management interface - description: > + title: SSOL003 - VNF Package Management interface + description: | SOL003 - VNF Package Management interface @@ -20,169 +19,52 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vnfpkgm/v2" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/vnfpkgm/v2 + - url: https://127.0.0.1/vnfpkgm/v2 paths: ############################################################################### # API Versions # ############################################################################### - '/api_versions': + /api_versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # VNF packages # ############################################################################### - '/onboarded_vnf_packages': + /onboarded_vnf_packages: #SOL003 location: 10.4.2 get: - description: > + description: | Query VNF Package Info. The GET method queries the information of the VNF packages matching the filter. This method shall follow the provisions specified in the tables 10.4.2.3.2-1 and 10.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the VnfPkgInfo and in data - types referenced from it shall be supported by the VNFM in the - filter expression. - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM should support this parameter. - The following attributes shall be excluded from the VnfPkgInfo structure in the response - body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - - softwareImages - - additionalArtifacts - - userDefinedData. - - checksum - - onboardingFailureDetails - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the VnfPkgInfo structure - in the response body if this parameter is provided, or none of the parameters - "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - - softwareImages - - additionalArtifacts - - userDefinedData. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - NFVO if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more VNF packages has been queried successfully. - The response body shall contain in an array the VNF package info representations that match the - attribute filter, i.e. zero or more VNF package info representations as defined in clause 10.5.2.2. - If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" - (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the - response body shall have been transformed according to the rules specified in clauses 5.2.2 and - 5.3.2 of ETSI GS NFV-SOL 013, respectively. - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: '#/components/responses/OnboardedVnfPackages.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -207,84 +89,24 @@ paths: ############################################################################### # Individual VNF package # ############################################################################### - '/vnf_packages/{vnfPkgId}': + /vnf_packages/{vnfPkgId}: parameters: - - name: vnfPkgId - description: > - Identifier of the VNF package. The identifier is allocated by the - NFVO. - This identifier can be retrieved from the "vnfPkgId" attribute in - the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Query VNF Package Info. The GET method reads the information of an individual VNF package. This method shall follow the provisions specified in the tables 10.4.3.3.2-1 and 10.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signature - description: > - If this parameter is provided, the NFVO shall include in the ZIP - archive the security information as specified above. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when information of the VNF package has been read successfully. - The response body shall contain the VNF package info representation defined in clause 10.5.2.2. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: '#/components/responses/IndividualVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -304,74 +126,23 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}': + /onboarded_vnf_packages/{vnfdId}: parameters: - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Query VNF Package Info. The GET method reads the information of an individual VNF package. This method shall follow the provisions specified in the tables 10.4.3.3.2-1 and 10.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information of the VNF package has been read successfully. - The response body shall contain the VNF package info representation defined in clause 10.5.2.2. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: '#/components/responses/IndividualOnboardedVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -396,20 +167,11 @@ paths: ############################################################################### # VNFD in an individual VNF package # ############################################################################### - '/vnf_packages/{vnfPkgId}/vnfd': + /vnf_packages/{vnfPkgId}/vnfd: parameters: - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. The identifier is - allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Query VNF Package Info The GET method reads the content of the VNFD within a VNF package. @@ -499,75 +261,13 @@ paths: and 10.4.4.3.2-2 for URI query parameters, request and response data structures, nd response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Permitted values: "text/plain" and/or "application/zip" - Reference: IETF RFC 7231 - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - text/plain+application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall include in the ZIP - archive the security information as specified above. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the content of the VNFD has been read successfully. - The payload body shall contain a copy of the file representing the VNFD or - a ZIP file that contains the file or multiple files representing the VNFD, - as specified above. - The "Content-Type" HTTP header shall be set according to the format of the - returned file, i.e. to "text/plain" for a YAML file or to "application/zip" - for a ZIP file. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - enum: - - text/plain - - application/zip - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfdInIndividualVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -579,7 +279,7 @@ paths: 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 409: - # description: > + # description: | # 409 CONFLICT # # Shall be returned upon the following error: The operation cannot @@ -596,19 +296,11 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}/vnfd': + /onboarded_vnf_packages/{vnfdId}/vnfd: parameters: - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Query VNF Package Info The GET method reads the content of the VNFD within a VNF package. @@ -698,75 +390,13 @@ paths: and 10.4.4.3.2-2 for URI query parameters, request and response data structures, nd response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Permitted values: "text/plain" and/or "application/zip" - Reference: IETF RFC 7231 - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - text/plain+application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall include in the ZIP - archive the security information as specified above. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the content of the VNFD has been read successfully. - The payload body shall contain a copy of the file representing the VNFD or - a ZIP file that contains the file or multiple files representing the VNFD, - as specified above. - The "Content-Type" HTTP header shall be set according to the format of the - returned file, i.e. to "text/plain" for a YAML file or to "application/zip" - for a ZIP file. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - enum: - - text/plain - - application/zip - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfdInIndividualOnboardedVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -778,7 +408,7 @@ paths: 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" 409: - # description: > + # description: | # 409 CONFLICT # # Shall be returned upon the following error: The operation cannot @@ -798,20 +428,11 @@ paths: ############################################################################### # Manifest in an individual VNF package # ############################################################################### - '/vnf_packages/{vnfPkgId}/manifest': + /vnf_packages/{vnfPkgId}/manifest: parameters: - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. The identifier is - allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Query VNF Package Manifest The GET method reads the content of the manifest within a VNF package. @@ -819,83 +440,13 @@ paths: and 10.4.4a.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Permitted values: "text/plain" and/or "application/zip" - Reference: IETF RFC 7231 - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - text/plain+application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall return the manifest and related security - information (such as certificate) in a ZIP archive. - If this parameter is not given, the NFVO shall provide only a copy of the manifest file. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the content of the manifest has been read successfully. - If the "include_signatures" URI query parameter was absent in the request, - or if the manifest file has all security-related information embedded - (i.e. there is no separate certificate file), the payload body shall contain - a copy of the manifest file of the VNF package and the "Content-Type" HTTP - header shall be set to "text/plain". - - If the "include_signatures" URI query parameter was present in the related - request and the manifest file does not have all the security-related - information embedded (i.e. there is a separate certificate file), - the "Content-Type" HTTP header shall be set to "application/zip and the - payload body shall contain a ZIP archive which includes: - • a copy of the manifest file of the VNF package; - • a copy of the related individual certificate file. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - enum: - - text/plain - - application/zip - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ManifestInIndividualVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -919,19 +470,11 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}/manifest': + /onboarded_vnf_packages/{vnfdId}/manifest: parameters: - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Query VNF Package Manifest The GET method reads the content of the manifest within a VNF package. @@ -939,83 +482,13 @@ paths: and 10.4.4a.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Permitted values: "text/plain" and/or "application/zip" - Reference: IETF RFC 7231 - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - text/plain+application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall return the manifest and related security - information (such as certificate) in a ZIP archive. - If this parameter is not given, the NFVO shall provide only a copy of the manifest file. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the content of the manifest has been read successfully. - If the "include_signatures" URI query parameter was absent in the request, - or if the manifest file has all security-related information embedded - (i.e. there is no separate certificate file), the payload body shall contain - a copy of the manifest file of the VNF package and the "Content-Type" HTTP - header shall be set to "text/plain". - - If the "include_signatures" URI query parameter was present in the related - request and the manifest file does not have all the security-related - information embedded (i.e. there is a separate certificate file), - the "Content-Type" HTTP header shall be set to "application/zip and the - payload body shall contain a ZIP archive which includes: - • a copy of the manifest file of the VNF package; - • a copy of the related individual certificate file. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - enum: - - text/plain - - application/zip - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ManifestInIndividualOnboardedVnfPackage.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1042,20 +515,11 @@ paths: ############################################################################### # VNF package content # ############################################################################### - '/vnf_packages/{vnfPkgId}/package_content': + /vnf_packages/{vnfPkgId}/package_content: parameters: - - name: vnfPkgId - description: > - Identifier of the VNF package. The identifier is - allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Fetch VNF Package. The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. @@ -1072,102 +536,15 @@ paths: 10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - - If the "Range" header is present in the request and the NFVO - does not support responding to range requests with a 206 response, - it shall return a 200 OK response instead as defined below. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the VNF package file has been read successfully. - The response body shall include a copy of the VNF package file. - The "Content-Type HTTP" header shall be set according to the type of the file, - i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageContent.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests, this response shall be returned when - a single consecutive byte range from the content of the VNF package file - has been read successfully according to the request. - The response body shall contain the requested part of the VNF package file. - The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. - The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageContent.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1181,20 +558,20 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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 "onboardingState" of the VNF package has -# a value different from "ONBOARDED". + # 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 "onboardingState" of the VNF package has + # a value different from "ONBOARDED". $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: -# description: > -# 416 RANGE NOT SATISFIABLE -# -# Shall be returned upon the following error: The byte range passed in the "Range" header -# did not match any available byte range in the VNF package file (e.g. "access after end of file"). + # description: | + # 416 RANGE NOT SATISFIABLE + + # Shall be returned upon the following error: The byte range passed in the "Range" header + # did not match any available byte range in the VNF package file (e.g. "access after end of file"). $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" @@ -1203,19 +580,11 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}/package_content': + /onboarded_vnf_packages/{vnfdId}/package_content: parameters: - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Fetch VNF Package. The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. @@ -1232,102 +601,15 @@ paths: 10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - - If the "Range" header is present in the request and the NFVO - does not support responding to range requests with a 206 response, - it shall return a 200 OK response instead as defined below. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the VNF package file has been read successfully. - The response body shall include a copy of the VNF package file. - The "Content-Type HTTP" header shall be set according to the type of the file, - i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests, this response shall be returned when - a single consecutive byte range from the content of the VNF package file - has been read successfully according to the request. - The response body shall contain the requested part of the VNF package file. - The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. - The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageContent.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1341,20 +623,20 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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 "onboardingState" of the VNF package has -# a value different from "ONBOARDED". + # 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 "onboardingState" of the VNF package has + # a value different from "ONBOARDED". $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" 416: -# description: > -# 416 RANGE NOT SATISFIABLE -# -# Shall be returned upon the following error: The byte range passed in the "Range" header -# did not match any available byte range in the VNF package file (e.g. "access after end of file"). + # description: | + # 416 RANGE NOT SATISFIABLE + + # Shall be returned upon the following error: The byte range passed in the "Range" header + # did not match any available byte range in the VNF package file (e.g. "access after end of file"). $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" @@ -1366,18 +648,11 @@ paths: ############################################################################### # VNF package artifacts # ############################################################################### - '/vnf_packages/{vnfPkgId}/artifacts': + /vnf_packages/{vnfPkgId}/artifacts: parameters: - - name: vnfPkgId - description: > - Identifier of the VNF package. The identifier is allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" attribute in the - VnfPackageOnboardingNotification or VnfPackageChangeNotification - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Fetch VNF Package Artifacts. The GET method shall return an archive that contains a set of artifacts @@ -1403,113 +678,15 @@ paths: This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and 10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - The "Accept" HTTP header shall be set to "application/zip". - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - If the NFVO does not support range requests, it should return the - whole file with a 200 OK response instead. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the archive containing - the artifact files has been read successfully. - The payload body shall be a ZIP archive containing the requested - set of artifacts selected according to the provisions specified above - in this clause, and, if the flag "include_signatures" was provided in - the related request, the applicable signature files and, if available, - the separate certificate files from the VNF package. - The "Content-Type" HTTP header shall be set to "application/zip". - headers: - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests, this response shall be returned - when a single consecutive byte range from the content of the archive - that would have been returned in a "200 OK" response has been read - successfully according to the request. - The response body shall contain the requested part of the archive. - The "Content-Type" HTTP header shall be set to "application/zip". - The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageArtifacts.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1533,19 +710,11 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}/artifacts': + /onboarded_vnf_packages/{vnfdId}/artifacts: parameters: - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - required: true - type: string + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Fetch VNF Package Artifacts. The GET method shall return an archive that contains a set of artifacts @@ -1571,113 +740,15 @@ paths: This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and 10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - The "Accept" HTTP header shall be set to "application/zip". - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - If the NFVO does not support range requests, it should return the - whole file with a 200 OK response instead. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the archive containing - the artifact files has been read successfully. - The payload body shall be a ZIP archive containing the requested - set of artifacts selected according to the provisions specified above - in this clause, and, if the flag "include_signatures" was provided in - the related request, the applicable signature files and, if available, - the separate certificate files from the VNF package. - The "Content-Type" HTTP header shall be set to "application/zip". - headers: - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests, this response shall be returned - when a single consecutive byte range from the content of the archive - that would have been returned in a "200 OK" response has been read - successfully according to the request. - The response body shall contain the requested part of the archive. - The "Content-Type" HTTP header shall be set to "application/zip". - The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifacts.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1704,174 +775,28 @@ paths: ############################################################################### # Individual VNF package artifact # ############################################################################### - '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': + /vnf_packages/{vnfPkgId}/artifacts/{artifactPath}: parameters: - - name: artifactPath - description: > - SequenceFor an artifact contained as a file in the VNF package, - this variable shall contain a sequence of one or more path segments - representing the path of the artifact within the VNF package, - relative to the root of the package. - - EXAMPLE: foo/bar/m%40ster.sh - - For an external artifact represented as a URI in the VNF package - manifest, this variable shall contain a sequence of one or more path - segments as synthesized by the NFVO (see clause 10.5.3.3), - representing this artifact. - - Since multiple path segments are allowed to be contained in this variable, - the "/" character that separates these segments is not percent-encoded. - Each individual segment is percent-encoded if necessary as defined in clause - 4.1 of ETSI GS NFV-SOL 013. - in: path - type: string - required: true - - name: vnfPkgId - description: > - Identifier of the VNF package. The identifier is - allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/ArtifactPath' + - $ref: '#/components/parameters/VnfPkgId' get: - description: > + description: | Fetch VNF Package Artifacts. The GET method fetches the content of an artifact within a VNF package. This method shall follow the provisions specified in the tables 10.4.6.3.2-1 and 10.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - If the "Range" header is present in the request and the NFVO - does not support responding to range requests with a 206 response, - it shall return a 200 OK response instead as defined below. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall return the artifact - and related security information (such as signature and optional - certificate) in a ZIP archive. - If this parameter is not given, the NFVO shall provide only a copy - of the artifact file. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the artifact file has - been read successfully. - - If the "include_signatures" request URI parameter was not provided in - the related request, the payload body shall contain a copy of the artifact - file from the VNF package, as defined by ETSI GS NFV-SOL 004 and the "Content-Type" - HTTP header shall be set according to the content type of the artifact file. - If the artifact is encrypted, the header shall be set to the value "application/cms" - (IETF RFC 7193). If the content type cannot be determined, the header shall be set - to the value "application/octet-stream". - - If the "include_signatures" request URI parameter was provided in the related request, - the "Content-Type" HTTP header shall be set to "application/zip and the payload body - shall contain a ZIP archive which includes: - • a copy of the artifact file from the VNF package, as defined by ETSI GS NFV SOL 004; - • the related security information (individual signature file and optional related - individual certificate file). - headers: - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests and the "include_signatures" request - URI parameter was not present in the related request, this response shall - be returned when a single consecutive byte range from the content of the - artifact file, if the NFVO supports range requests has been read successfully - according to the request. - The response body shall contain the requested part of the VNF - package file. - The "Content-Range" HTTP header shall be provided according to - IETF RFC 7233. - The "Content-Type" HTTP header shall be set as defined above for - the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualVnfPackageArtifact.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1885,25 +810,25 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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 "onboardingState" of the -# VNF package has a value different from "ONBOARDED". -# The response body shall contain a ProblemDetails structure, -# in which the "detail" attribute shall convey more information -# about the error. + # 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 "onboardingState" of the + # VNF package has a value different from "ONBOARDED". + # 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" 416: -# description: > -# 416 RANGE NOT SATISFIABLE -# -# Shall be returned upon the following error: The byte range passed in the -# "Range" header did not match any available byte range in the artifact file -# (e.g. "access after end of file"). -# The response body may contain a ProblemDetails structure. + # description: | + # 416 RANGE NOT SATISFIABLE + + # Shall be returned upon the following error: The byte range passed in the + # "Range" header did not match any available byte range in the artifact file + # (e.g. "access after end of file"). + # The response body may contain a ProblemDetails structure. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" @@ -1912,173 +837,28 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" - '/onboarded_vnf_packages/{vnfdId}/artifacts/{artifactPath}': + /onboarded_vnf_packages/{vnfdId}/artifacts/{artifactPath}: parameters: - - name: artifactPath - description: > - SequenceFor an artifact contained as a file in the VNF package, - this variable shall contain a sequence of one or more path segments - representing the path of the artifact within the VNF package, - relative to the root of the package. - - EXAMPLE: foo/bar/m%40ster.sh - - For an external artifact represented as a URI in the VNF package - manifest, this variable shall contain a sequence of one or more path - segments as synthesized by the NFVO (see clause 10.5.3.3), - representing this artifact. - - Since multiple path segments are allowed to be contained in this variable, - the "/" character that separates these segments is not percent-encoded. - Each individual segment is percent-encoded if necessary as defined in clause - 4.1 of ETSI GS NFV-SOL 013. - in: path - type: string - required: true - - name: vnfdId - description: > - Identifier of the VNFD and the VNF package. - The identifier is allocated by the VNF provider. - This identifier can be retrieved from the "vnfdId" attribute - in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. - in: path - type: string - required: true + - $ref: '#/components/parameters/ArtifactPath' + - $ref: '#/components/parameters/VnfdId' get: - description: > + description: | Fetch VNF Package Artifacts. The GET method fetches the content of an artifact within a VNF package. This method shall follow the provisions specified in the tables 10.4.6.3.2-1 and 10.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - If the "Range" header is present in the request and the NFVO - does not support responding to range requests with a 206 response, - it shall return a 200 OK response instead as defined below. - in: header - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - - name: include_signatures - description: > - If this parameter is provided, the NFVO shall return the artifact - and related security information (such as signature and optional - certificate) in a ZIP archive. - If this parameter is not given, the NFVO shall provide only a copy - of the artifact file. - This URI query parameter is a flag, i.e. it shall have no value. - The NFVO shall support this parameter. - in: query - required: false - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/Range' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + - $ref: '#/components/parameters/include_signature' responses: 200: - description: > - 200 OK - - Shall be returned when the whole content of the artifact file has - been read successfully. - - If the "include_signatures" request URI parameter was not provided in - the related request, the payload body shall contain a copy of the artifact - file from the VNF package, as defined by ETSI GS NFV-SOL 004 and the "Content-Type" - HTTP header shall be set according to the content type of the artifact file. - If the artifact is encrypted, the header shall be set to the value "application/cms" - (IETF RFC 7193). If the content type cannot be determined, the header shall be set - to the value "application/octet-stream". - - If the "include_signatures" request URI parameter was provided in the related request, - the "Content-Type" HTTP header shall be set to "application/zip and the payload body - shall contain a ZIP archive which includes: - • a copy of the artifact file from the VNF package, as defined by ETSI GS NFV SOL 004; - • the related security information (individual signature file and optional related - individual certificate file). - headers: - Content-Type: - description: > - The MIME type of the body of the response. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot - be determined, the header shall be set to the value - "application/octet-stream". - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.200' 206: - description: > - 206 PARTIAL CONTENT - - If the NFVO supports range requests and the "include_signatures" request - URI parameter was not present in the related request, this response shall - be returned when a single consecutive byte range from the content of the - artifact file, if the NFVO supports range requests has been read successfully - according to the request. - The response body shall contain the requested part of the VNF - package file. - The "Content-Range" HTTP header shall be provided according to - IETF RFC 7233. - The "Content-Type" HTTP header shall be set as defined above for - the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualOnboardedVnfPackageArtifact.Get.206' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2092,26 +872,26 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/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 "onboardingState" of the -# VNF package has a value different from "ONBOARDED". -# The response body shall contain a ProblemDetails structure, -# in which the "detail" attribute shall convey more information -# about the error. + # 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 "onboardingState" of the + # VNF package has a value different from "ONBOARDED". + # 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" 416: -# description: > -# 416 RANGE NOT SATISFIABLE -# -# Shall be returned upon the following error: The byte range passed in the -# "Range" header did not match any available byte range in the artifact file -# (e.g. "access after end of file"). -# The response body may contain a ProblemDetails structure. - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + # description: | + # 416 RANGE NOT SATISFIABLE + + # Shall be returned upon the following error: The byte range passed in the + # "Range" header did not match any available byte range in the artifact file + # (e.g. "access after end of file"). + # The response body may contain a ProblemDetails structure. + # $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: @@ -2122,9 +902,13 @@ paths: ############################################################################### # Subscriptions # ############################################################################### - '/subscriptions': + /subscriptions: + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables @@ -2144,88 +928,20 @@ paths: "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 callback URI). - parameters: - - name: PkgmSubscriptionRequest - description: > - Representation of the created subscription resource. - The HTTP response shall include a "Location" HTTP header that - points to the created subscription resource. - in: body - required: true - schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + requestBody: + $ref: '#/components/requestBodies/PkgmSubscriptionRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created "Individual subscription" resource. - The HTTP response shall include a "Location" HTTP header that points to the created resource. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - type: array - items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: '#/components/responses/Subscriptions.Post.201' 303: -# description: > -# 303 SEE OTHER -# -# Shall be returned when a subscription with the same callback URI and the same filter -# already exists and the policy of the NFVO is to not create redundant subscriptions. -# The HTTP response shall include a "Location" HTTP header that contains the resource -# URI of the existing "Individual subscription" resource. -# The response body shall be empty. + # description: | + # 303 SEE OTHER + + # Shall be returned when a subscription with the same callback URI and the same filter + # already exists and the policy of the NFVO is to not create redundant subscriptions. + # The HTTP response shall include a "Location" HTTP header that contains the resource + # URI of the existing "Individual subscription" resource. + # The response body shall be empty. $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" @@ -2249,97 +965,18 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query Subscription Information. 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. This method shall follow the provisions specified in the tables 10.4.7.3.2-1 and 10.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the PkgmSubscription and in - data types referenced from it shall be supported by the VNFM in - the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFVO if the NFVO supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried successfully. - The response body shall contain in an array the representations of all active - subscriptions of the functional block that invokes the method, i.e. zero or more - representations of VNF package management subscriptions as defined in clause 10.5.2.4. - If the "filter" URI parameter was supplied in the request, the data in the response - body shall have been transformed according to the rules specified in clause 5.2.2 - of ETSI GS NFV-SOL 013 - 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. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: '#/components/responses/Subscriptions.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2364,76 +1001,24 @@ paths: ############################################################################### # Individual subscription # ############################################################################### - '/subscriptions/{subscriptionId}': + /subscriptions/{subscriptionId}: #SOL003 location: 10.4.8 parameters: - - name: subscriptionId - description: > - Identifier of this subscription. - This identifier can be retrieved from the resource referenced by - the "Location" HTTP header in the response to a POST request - creating a new "Individual subscription" resource. It can also be retrieved from - the "id" attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/SubscriptionId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query Subscription Information. The GET method reads an individual subscription. This method shall follow the provisions specified in the tables 10.4.8.3.2-1 and 10.4.8.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has been read successfully. - The response body shall contain a representation of the "Individual subscription" resource. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: '#/components/responses/IndividualSubscription.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2456,7 +1041,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: - description: > + description: | Terminate subscription. The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the tables 10.4.8.3.5-1 and 10.4.8.3.5-2 @@ -2467,41 +1052,9 @@ paths: NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been deleted successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualSubscription.Delete.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -2521,4 +1074,1021 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" 504: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + +components: + parameters: + VnfPkgId: + name: vnfPkgId + in: path + description: | + Identifier of the VNF package. The identifier is allocated by the + NFVO. + This identifier can be retrieved from the "vnfPkgId" attribute in + the VnfPackageOnboardingNotification or + VnfPackageChangeNotification. + required: true + style: simple + explode: false + schema: + type: string + + VnfdId: + name: vnfdId + in: path + description: | + Identifier of the VNFD and the VNF package. + The identifier is allocated by the VNF provider. + This identifier can be retrieved from the "vnfdId" attribute + in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. + required: true + style: simple + explode: false + schema: + type: string + + ArtifactPath: + name: artifactPath + in: path + description: | + SequenceFor an artifact contained as a file in the VNF package, + this variable shall contain a sequence of one or more path segments + representing the path of the artifact within the VNF package, + relative to the root of the package. + + EXAMPLE: foo/bar/m%40ster.sh + + For an external artifact represented as a URI in the VNF package + manifest, this variable shall contain a sequence of one or more path + segments as synthesized by the NFVO (see clause 10.5.3.3), + representing this artifact. + + Since multiple path segments are allowed to be contained in this variable, + the "/" character that separates these segments is not percent-encoded. + Each individual segment is percent-encoded if necessary as defined in clause + 4.1 of ETSI GS NFV-SOL 013. + required: true + style: simple + explode: false + schema: + type: string + + SubscriptionId: + name: subscriptionId + in: path + description: | + Identifier of this subscription. + This identifier can be retrieved from the resource referenced by + the "Location" HTTP header in the response to a POST request + creating a new "Individual subscription" resource. It can also be retrieved from + the "id" attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + include_signature: + name: include_signature + in: query + description: | + If this parameter is provided, the NFVO shall include in the ZIP + archive the security information as specified above. + This URI query parameter is a flag, i.e. it shall have no value. + The NFVO shall support this parameter. + required: false + schema: + type: string + + Range: + name: Range + in: header + description: | + The request may contain a "Range" HTTP header to obtain single + range of bytes from the VNF package file. This can be used to + continue an aborted transmission. + + If the "Range" header is present in the request and the NFVO + does not support responding to range requests with a 206 response, + it shall return a 200 OK response instead as defined below. + required: false + schema: + type: string + + requestBodies: + PkgmSubscriptionRequest: + description: | + Representation of the created subscription resource. + The HTTP response shall include a "Location" HTTP header that + points to the created subscription resource. + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" + required: true + + responses: + OnboardedVnfPackages.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more VNF packages has been queried successfully. + The response body shall contain in an array the VNF package info representations that match the + attribute filter, i.e. zero or more VNF package info representations as defined in clause 10.5.2.2. + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" + (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the + response body shall have been transformed according to the rules specified in clauses 5.2.2 and + 5.3.2 of ETSI GS NFV-SOL 013, respectively. + 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. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + + IndividualVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when information of the VNF package has been read successfully. + The response body shall contain the VNF package info representation defined in clause 10.5.2.2. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + + IndividualOnboardedVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when information of the VNF package has been read successfully. + The response body shall contain the VNF package info representation defined in clause 10.5.2.2. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + + VnfdInIndividualVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when the content of the VNFD has been read successfully. + The payload body shall contain a copy of the file representing the VNFD or + a ZIP file that contains the file or multiple files representing the VNFD, + as specified above. + The "Content-Type" HTTP header shall be set according to the format of the + returned file, i.e. to "text/plain" for a YAML file or to "application/zip" + for a ZIP file. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + enum: + - text/plain + - application/zip + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + VnfdInIndividualOnboardedVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when the content of the VNFD has been read successfully. + The payload body shall contain a copy of the file representing the VNFD or + a ZIP file that contains the file or multiple files representing the VNFD, + as specified above. + The "Content-Type" HTTP header shall be set according to the format of the + returned file, i.e. to "text/plain" for a YAML file or to "application/zip" + for a ZIP file. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + enum: + - text/plain + - application/zip + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ManifestInIndividualVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when the content of the manifest has been read successfully. + If the "include_signatures" URI query parameter was absent in the request, + or if the manifest file has all security-related information embedded + (i.e. there is no separate certificate file), the payload body shall contain + a copy of the manifest file of the VNF package and the "Content-Type" HTTP + header shall be set to "text/plain". + + If the "include_signatures" URI query parameter was present in the related + request and the manifest file does not have all the security-related + information embedded (i.e. there is a separate certificate file), + the "Content-Type" HTTP header shall be set to "application/zip and the + payload body shall contain a ZIP archive which includes: + • a copy of the manifest file of the VNF package; + • a copy of the related individual certificate file. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + enum: + - text/plain + - application/zip + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + ManifestInIndividualOnboardedVnfPackage.Get.200: + description: | + 200 OK + + Shall be returned when the content of the manifest has been read successfully. + If the "include_signatures" URI query parameter was absent in the request, + or if the manifest file has all security-related information embedded + (i.e. there is no separate certificate file), the payload body shall contain + a copy of the manifest file of the VNF package and the "Content-Type" HTTP + header shall be set to "text/plain". + + If the "include_signatures" URI query parameter was present in the related + request and the manifest file does not have all the security-related + information embedded (i.e. there is a separate certificate file), + the "Content-Type" HTTP header shall be set to "application/zip and the + payload body shall contain a ZIP archive which includes: + • a copy of the manifest file of the VNF package; + • a copy of the related individual certificate file. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + enum: + - text/plain + - application/zip + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageContent.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the VNF package file has been read successfully. + The response body shall include a copy of the VNF package file. + The "Content-Type HTTP" header shall be set according to the type of the file, + i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageContent.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned when + a single consecutive byte range from the content of the VNF package file + has been read successfully according to the request. + The response body shall contain the requested part of the VNF package file. + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageContent.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the VNF package file has been read successfully. + The response body shall include a copy of the VNF package file. + The "Content-Type HTTP" header shall be set according to the type of the file, + i.e. to "application/zip" for a VNF Package as defined in ETSI GS NFV SOL 004. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifact.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the artifact file has + been read successfully. + + If the "include_signatures" request URI parameter was not provided in + the related request, the payload body shall contain a copy of the artifact + file from the VNF package, as defined by ETSI GS NFV-SOL 004 and the "Content-Type" + HTTP header shall be set according to the content type of the artifact file. + If the artifact is encrypted, the header shall be set to the value "application/cms" + (IETF RFC 7193). If the content type cannot be determined, the header shall be set + to the value "application/octet-stream". + + If the "include_signatures" request URI parameter was provided in the related request, + the "Content-Type" HTTP header shall be set to "application/zip and the payload body + shall contain a ZIP archive which includes: + • a copy of the artifact file from the VNF package, as defined by ETSI GS NFV SOL 004; + • the related security information (individual signature file and optional related + individual certificate file). + headers: + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageContent.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned when + a single consecutive byte range from the content of the VNF package file + has been read successfully according to the request. + The response body shall contain the requested part of the VNF package file. + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifacts.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the archive containing + the artifact files has been read successfully. + The payload body shall be a ZIP archive containing the requested + set of artifacts selected according to the provisions specified above + in this clause, and, if the flag "include_signatures" was provided in + the related request, the applicable signature files and, if available, + the separate certificate files from the VNF package. + The "Content-Type" HTTP header shall be set to "application/zip". + headers: + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifact.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests and the "include_signatures" request + URI parameter was not present in the related request, this response shall + be returned when a single consecutive byte range from the content of the + artifact file, if the NFVO supports range requests has been read successfully + according to the request. + The response body shall contain the requested part of the VNF + package file. + The "Content-Range" HTTP header shall be provided according to + IETF RFC 7233. + The "Content-Type" HTTP header shall be set as defined above for + the "200 OK" response. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + required: true + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualVnfPackageArtifacts.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned + when a single consecutive byte range from the content of the archive + that would have been returned in a "200 OK" response has been read + successfully according to the request. + The response body shall contain the requested part of the archive. + The "Content-Type" HTTP header shall be set to "application/zip". + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageArtifacts.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the archive containing + the artifact files has been read successfully. + The payload body shall be a ZIP archive containing the requested + set of artifacts selected according to the provisions specified above + in this clause, and, if the flag "include_signatures" was provided in + the related request, the applicable signature files and, if available, + the separate certificate files from the VNF package. + The "Content-Type" HTTP header shall be set to "application/zip". + headers: + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageArtifacts.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned + when a single consecutive byte range from the content of the archive + that would have been returned in a "200 OK" response has been read + successfully according to the request. + The response body shall contain the requested part of the archive. + The "Content-Type" HTTP header shall be set to "application/zip". + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageArtifact.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the artifact file has + been read successfully. + + If the "include_signatures" request URI parameter was not provided in + the related request, the payload body shall contain a copy of the artifact + file from the VNF package, as defined by ETSI GS NFV-SOL 004 and the "Content-Type" + HTTP header shall be set according to the content type of the artifact file. + If the artifact is encrypted, the header shall be set to the value "application/cms" + (IETF RFC 7193). If the content type cannot be determined, the header shall be set + to the value "application/octet-stream". + + If the "include_signatures" request URI parameter was provided in the related request, + the "Content-Type" HTTP header shall be set to "application/zip and the payload body + shall contain a ZIP archive which includes: + • a copy of the artifact file from the VNF package, as defined by ETSI GS NFV SOL 004; + • the related security information (individual signature file and optional related + individual certificate file). + headers: + Content-Type: + description: | + The MIME type of the body of the response. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot + be determined, the header shall be set to the value + "application/octet-stream". + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualOnboardedVnfPackageArtifact.Get.206: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests and the "include_signatures" request + URI parameter was not present in the related request, this response shall + be returned when a single consecutive byte range from the content of the + artifact file, if the NFVO supports range requests has been read successfully + according to the request. + The response body shall contain the requested part of the VNF + package file. + The "Content-Range" HTTP header shall be provided according to + IETF RFC 7233. + The "Content-Type" HTTP header shall be set as defined above for + the "200 OK" response. + headers: + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + Subscriptions.Post.201: + description: | + 201 CREATED + + Shall be returned when the subscription has been created successfully. + The response body shall contain a representation of the created "Individual subscription" resource. + The HTTP response shall include a "Location" HTTP header that points to the created resource. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Location: + description: The resource URI of the created PM Job + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + + Subscriptions.Get.200: + description: | + 200 OK + + Shall be returned when the list of subscriptions has been queried successfully. + The response body shall contain in an array the representations of all active + subscriptions of the functional block that invokes the method, i.e. zero or more + representations of VNF package management subscriptions as defined in clause 10.5.2.4. + If the "filter" URI parameter was supplied in the request, the data in the response + body shall have been transformed according to the rules specified in clause 5.2.2 + of ETSI GS NFV-SOL 013 + 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. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + + IndividualSubscription.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual subscription has been read successfully. + The response body shall contain a representation of the "Individual subscription" resource. + headers: + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + + IndividualSubscription.Delete.204: + description: | + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been deleted successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 240ee54f5ac873e44e9723f32ce3941f58e20cb6 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 14:20:26 +0200 Subject: [PATCH 061/116] SOL003: migrating VNF Pkg Mgmt Notification API to OAS3 --- .../VNFPackageManagementNotification.yaml | 328 ++++++++---------- 1 file changed, 146 insertions(+), 182 deletions(-) diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index c7e5dad2..cede4631 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -1,12 +1,10 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Package Management Notification interface - description: > + description: | SOL003 - VNF Package Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. @@ -20,85 +18,44 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf - -basePath: "/callback/v2" - -schemes: - - https + description: ETSI GS NFV-SOL 002 V3.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/callback/v2 + - url: https://127.0.0.1/callback/v2 paths: ############################################################################### # Notification endpoint VnfPackageOnboardingNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageOnboardingNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageOnboardingNotification: #SOL003 location: 10.4.9 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. This method shall follow the provisions specified in the tables 10.4.9.3.1-1 and 10.4.9.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: VnfPackageOnboardingNotification - description: A notification about on-boarding of a VNF package. - in: body - required: true - schema: - $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfPackageOnboardingNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfPackageOnboardingNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -115,47 +72,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfPackageOnboardingNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -174,64 +98,25 @@ paths: ############################################################################### # Notification endpoint VnfPackageChangeNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageChangeNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageChangeNotification: #SOL003 location: 10.4.9 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have previously created an "Individual subscription" resource with a matching filter. This method shall follow the provisions specified in the tables 10.4.9.3.1-1 and 10.4.9.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: VnfPackageChangeNotification - description: > - A notification about changes of status in a VNF package. - in: body - required: true - schema: - $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfPackageChangeNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfPackageChangeNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -248,47 +133,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/VnfPackageChangeNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -302,4 +154,116 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + +components: + requestBodies: + + VnfPackageOnboardingNotification: + description: A notification about on-boarding of a VNF package. + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" + required: true + + VnfPackageChangeNotification: + description: | + A notification about changes of status in a VNF package.= + content: + application/json: + schema: + $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" + required: true + + responses: + + VnfPackageOnboardingNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + VnfPackageOnboardingNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + VnfPackageChangeNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + VnfPackageChangeNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string -- GitLab From 5916ce8633e9b4b16c36e1b55efacfdbf851c951 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 17:07:41 +0200 Subject: [PATCH 062/116] SOL003: migrating VNF PerfMgmt API to OAS3 --- .../VNFPerformanceManagement.yaml | 1301 +++++++---------- 1 file changed, 566 insertions(+), 735 deletions(-) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index b1d7f874..8ccb17ab 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Performance Management interface - description: > + description: | SOL003 - VNF Performance Management interface @@ -20,38 +19,40 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 003 V2.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/vnfpm/v2" +servers: + - url: http://127.0.0.1/vnfpm/v2 + - url: https://127.0.0.1/vnfpm/v2 -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" paths: ############################################################################### # API Versions # ############################################################################### - '/api-versions': + /api-versions: $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' ############################################################################### # PM jobs # ############################################################################### - '/pm_jobs': + /pm_jobs: #SOL003 location: 6.4.2 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Create PM Job. The POST method creates a PM job. This method shall follow the provisions specified in the tables 6.4.2.3.1-1 and 6.4.2.3.1-2 @@ -59,70 +60,12 @@ paths: As the result of successfully executing this method, a new "Individual PM job" resource as defined in clause 6.4.3 shall have been created. parameters: - - name: CreatePmJobRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + requestBody: + $ref: '#/components/requestBodies/CreatePmJobRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when the PM job has been created successfully. - The response body shall contain a representation of the created "Individual PM job" resource, - as defined in clause 6.5.2.7. - The HTTP response shall include a "Location" HTTP header that points to the created - "Individual PM job" resource. - headers: - Location: - description: The resource URI of the created PM Job - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + $ref: '#/components/responses/PMJobs.Post.201' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -145,131 +88,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query PM Job. The API consumer can use this method to retrieve information about PM jobs. This method shall follow the provisions specified in the tables 6.4.2.3.2-1 and 6.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. The API consumer can use this method to retrieve information about PM jobs. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the - URI query string. The NFVO may supply this parameter. - All attribute names that appear in the PmJob and in data - types referenced from it shall be supported by the VNFM in the - filter expression. - in: query - required: false - type: string - - name: all_fields - description: > - Include all complex attributes in the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - in: query - required: false - type: string - - name: fields - description: > - Complex attributes to be included into the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter. - in: query - required: false - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the response. - See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the PmJob structure - in the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - reports - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by the - VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 - for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more PM jobs has been queried successfully. - The response body shall contain in an array the representations of zero or more PM jobs, - as defined in clause 6.5.2.7. - If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" - (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the - response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 - of ETSI GS NFV-SOL 013, respectively. - 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. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + $ref: '#/components/responses/PMJobs.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -294,78 +128,23 @@ paths: ############################################################################### # Individual PM job # ############################################################################### - '/pm_jobs/{pmJobId}': + /pm_jobs/{pmJobId}: #SOL003 location: 6.4.3 parameters: - - name: pmJobId - description: > - Identifier of the PM job. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual PM job" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/PmJobId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query PM Job. The API consumer can use this method for reading an individual PM job. This method shall follow the provisions specified in the tables 6.4.3.3.2-1 and 6.4.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual PM job has been read successfully. - The response body shall contain a representation of the "Individual PM job" resource, - as defined in clause 6.5.2.7. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + $ref: '#/components/responses/IndividualPMJob.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -388,56 +167,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: - description: > + description: | This method allows to modify an "Individual PM job" resource. This method shall follow the provisions specified in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: - description: > - 200 OK - - Shall be returned when the request has been processed successfully. - The response body shall contain a data structure of type "PmJobModifications". - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" + $ref: '#/components/responses/IndividualPMJob.Patch.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -462,48 +199,15 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: - description: > + description: | Delete PM Job. This method terminates an individual PM job. This method shall follow the provisions specified in the tables 6.4.3.3.5-1 and 6.4.3.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the "Individual PM job" resource shall not exist any longer. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualPMJob.Delete.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -528,79 +232,23 @@ paths: ############################################################################### # Individual performance report # ############################################################################### - '/pm_jobs/{pmJobId}/reports/{reportId}': + /pm_jobs/{pmJobId}/reports/{reportId}: #SOL003 location: 6.4.4 parameters: - - name: pmJobId - description: > - Identifier of the PM job. - in: path - type: string - required: true - - name: reportId - description: > - Identifier of the performance report. - in: path - type: string - required: true + - $ref: '#/components/parameters/PmJobId' + - $ref: '#/components/parameters/ReportId' get: - description: > + description: | The API consumer can use this method for reading an individual performance report. This method shall follow the provisions specified in the tables 6.4.4.3.2-1 and 6.4.4.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version responses: 200: - description: > - 200 OK - - Shall be returned when information of an individual performance report has been read successfully. - The response body shall contain a representation of the "Individual performance report" resource, - as defined in clause 6.5.2.10. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" + $ref: '#/components/responses/IndividualPerformanceReport.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -625,10 +273,14 @@ paths: ############################################################################### # Thresholds # ############################################################################### - '/thresholds': + /thresholds: #SOL003 location: 6.4.5 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Create Threshold. The POST method can be used by the API consumer to create a threshold. This method shall follow the provisions specified in the tables 6.4.5.3.1-1 and 6.4.5.3.1-2 @@ -636,78 +288,12 @@ paths: As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. parameters: - - name: CreateThresholdRequest - description: > - Request parameters to create a threshold resource. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + requestBody: + $ref: '#/components/requestBodies/CreateThresholdRequest' responses: 201: - description: > - 201 CREATED - - Shall be returned when a threshold has been created successfully. - The response body shall contain a representation of the created "Individual threshold" resource, - as defined in clause 6.5.2.9. - The HTTP response shall include a "Location" HTTP header that contains the resource URI of the - created threshold resource. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + $ref: '#/components/responses/Thresholds.Post.201' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -730,100 +316,17 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" get: - description: > + description: | Query Threshold. The API consumer can use this method to query information about thresholds. This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. - The VNFM shall support receiving this parameter as part of the URI query string. - The NFVO may supply this parameter. - All attribute names that appear in the Thresholds data type and in data types referenced - from it shall be supported by the VNFM in the filter expression. - in: query - required: false - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. - Shall be supported by the VNFM if the VNFM supports alternative 2 (paging) according to clause - 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - description: > - 200 OK - - Shall be returned when information about zero or more thresholds has been queried successfully. - If the "filter" URI parameter was supplied in the request, the data in the response body shall have - been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - The response body shall contain in an array the representations of zero or more thresholds, - as defined in clause 6.5.2.9. - 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. - - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + $ref: '#/components/responses/Thresholds.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -848,77 +351,23 @@ paths: ############################################################################### # Individual threshold # ############################################################################### - '/thresholds/{thresholdId}': + /thresholds/{thresholdId}: #SOL003 location: 6.4.6 parameters: - - name: thresholdId - description: > - Identifier of the threshold. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new "Individual threshold" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true + - $ref: '#/components/parameters/ThresholdId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version get: - description: > + description: | Query Threshold. The API consumer can use this method for reading an individual threshold This method shall follow the provisions specified in the tables 6.4.6.3.2-1 and 6.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: 200: - description: > - 200 OK - - Shall be returned when information about an individual threshold has been read successfully. - The response body shall contain a representation of the threshold, as defined in clause 6.5.2.9. - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + $ref: '#/components/responses/IndividualThreshold.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -941,56 +390,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" patch: - description: > + description: | This method allows to modify an "Individual threshold" resource. This method shall follow the provisions specified in the tables 6.4.6.3.4-1 and 6.4.6.3.4-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: - description: > - 200 OK - - Shall be returned when the request has been processed successfully. - The response body shall contain a data structure of type "ThresholdModifications". - headers: - Content-Type: - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" + $ref: '#/components/responses/IndividualThreshold.Patch.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1015,49 +422,16 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" delete: - description: > + description: | Delete Threshold. This method allows to delete a threshold. This method shall follow the provisions specified in the tables 6.4.6.3.5-1 and 6.4.6.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the "Individual threshold" resource shall not exist any longer. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - The threshold was deleted successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/IndividualThreshold.Delete.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1085,7 +459,7 @@ paths: # '/subscriptions': # #SOL003 location: 6.4.7 # post: -# description: > +# description: | # Subscribe. # The POST method creates a new subscription. # This method shall follow the provisions specified in the tables 6.4.7.3.1-1 and 6.4.7.3.1-2 @@ -1102,42 +476,42 @@ paths: # with the same filter and callbackUri). # parameters: # - name: PmSubscriptionRequest -# description: > +# description: | # Details of the subscription to be created. # in: body # required: true # schema: # $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest" # - name: Accept -# description: > +# description: | # Content-Types that are acceptable for the response. # Reference: IETF RFC 7231 # in: header # required: true # type: string # - name: Authorization -# description: > +# description: | # The authorization token for the request. # Reference: IETF RFC 7235 # in: header # required: false # type: string # - name: Content-Type -# description: > +# description: | # The MIME type of the body of the request. # Reference: IETF RFC 7231 # in: header # required: true # type: string # - name: Version -# description: > +# description: | # Version of the API requested to use when responding to this request. # in: header # required: true # type: string # responses: # 201: -# description: > +# description: | # 201 CREATED # # Shall be returned when the subscription has been created successfully. @@ -1151,14 +525,14 @@ paths: # type: string # format: url # Content-Type: -# description: > +# description: | # The MIME type of the body of the request. # Reference: IETF RFC 7231 # type: string # maximum: 1 # minimum: 1 # WWW-Authenticate: -# description: > +# 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. @@ -1166,7 +540,7 @@ paths: # maximum: 1 # minimum: 0 # Version: -# description: > +# description: | # Version of the API used in the response. # type: string # maximum: 1 @@ -1197,7 +571,7 @@ paths: # $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # # get: -# description: > +# description: | # Query Subscription Information. # TThe client can use this method to query the list of active subscriptions # to Performance management notifications subscribed by the client. @@ -1205,21 +579,21 @@ paths: # for URI query parameters, request and response data structures, and response codes. # parameters: # - name: Accept -# description: > +# description: | # Content-Types that are acceptable for the response. # Reference: IETF RFC 7231 # in: header # required: true # type: string # - name: Authorization -# description: > +# description: | # The authorization token for the request. # Reference: IETF RFC 7235 # in: header # required: false # type: string # - name: filter -# description: > +# description: | # Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. # The VNFM shall support receiving this parameter as part of the # URI query string. The NFVO may supply this parameter. @@ -1230,7 +604,7 @@ paths: # required: false # type: string # - name: nextpage_opaque_marker -# description: > +# description: | # Marker to obtain the next page of a paged response. Shall be # supported by the VNFM if the VNFM supports alternative 2 (paging) # according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. @@ -1238,14 +612,14 @@ paths: # required: false # type: string # - name: Version -# description: > +# description: | # Version of the API requested to use when responding to this request. # in: header # required: true # type: string # responses: # 200: -# description: > +# description: | # 200 OK # # Shall be returned when the list of subscriptions has been queried successfully. @@ -1259,14 +633,14 @@ paths: # in clause 5.4.2.3 of ETSI GS NFV-SOL 013. # headers: # Content-Type: -# description: > +# description: | # The MIME type of the body of the request. # Reference: IETF RFC 7231 # type: string # maximum: 1 # minimum: 1 # WWW-Authenticate: -# description: > +# 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. @@ -1274,13 +648,13 @@ paths: # maximum: 1 # minimum: 0 # Version: -# description: > +# description: | # Version of the API used in the response. # type: string # maximum: 1 # minimum: 1 # Link: -# description: > +# description: | # Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. # type: string # maximum: 1 @@ -1317,7 +691,7 @@ paths: # #SOL003 location: 6.4.8 # parameters: # - name: subscriptionId -# description: > +# description: | # This identifier can be retrieved from the resource referenced by the # "Location" HTTP header in the response to a POST request creating a # new "Individual subscription" resource. It can also be retrieved from the "id" @@ -1326,7 +700,7 @@ paths: # type: string # required: true # get: -# description: > +# description: | # Query Subscription Information. # The client can use this method for reading an individual subscription about # Performance management notifications subscribed by the client. @@ -1334,28 +708,28 @@ paths: # for URI query parameters, request and response data structures, and response codes. # parameters: # - name: Accept -# description: > +# description: | # Content-Types that are acceptable for the response. # Reference: IETF RFC 7231 # in: header # required: true # type: string # - name: Authorization -# description: > +# description: | # The authorization token for the request. # Reference: IETF RFC 7235 # in: header # required: false # type: string # - name: Version -# description: > +# description: | # Version of the API requested to use when responding to this request. # in: header # required: true # type: string # responses: # 200: -# description: > +# description: | # 200 OK # # Shall be returned when the subscription has been read successfully. @@ -1363,14 +737,14 @@ paths: # as defined in clause 6.5.2.3. # headers: # Content-Type: -# description: > +# description: | # The MIME type of the body of the request. # Reference: IETF RFC 7231 # type: string # maximum: 1 # minimum: 1 # WWW-Authenticate: -# description: > +# 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. @@ -1378,7 +752,7 @@ paths: # maximum: 1 # minimum: 0 # Version: -# description: > +# description: | # Version of the API used in the response. # type: string # maximum: 1 @@ -1407,7 +781,7 @@ paths: # $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" # # delete: -# description: > +# description: | # Terminate Subscription. # This method terminates an individual subscription. # This method shall follow the provisions specified in the tables 6.4.8.3.5-1 and 6.4.8.3.5-2 @@ -1420,28 +794,28 @@ paths: # API consumer for a certain time period after the deletion. # parameters: # - name: Authorization -# description: > +# description: | # The authorization token for the request. # Reference: IETF RFC 7235 # in: header # required: false # type: string # - name: Version -# description: > +# description: | # Version of the API requested to use when responding to this request. # in: header # required: true # type: string # responses: # 204: -# description: > +# description: | # 204 NO CONTENT # # Shall be returned when the "Individual subscription" resource has been deleted successfully. # The response body shall be empty. # headers: # WWW-Authenticate: -# description: > +# 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. @@ -1449,7 +823,7 @@ paths: # maximum: 1 # minimum: 0 # Version: -# description: > +# description: | # Version of the API used in the response. # type: string # maximum: 1 @@ -1473,4 +847,461 @@ paths: # 503: # $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" # 504: -# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" \ No newline at end of file +# $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + + +components: + parameters: + PmJobId: + name: pmJobId + in: path + description: | + Identifier of the PM job. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual PM job" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + ReportId: + name: reportId + in: path + description: | + Identifier of the performance report. + required: true + style: simple + explode: false + schema: + type: string + + ThresholdId: + name: thresholdId + in: path + description: | + Identifier of the threshold. + This identifier can be retrieved from the resource referenced by the + "Location" HTTP header in the response to a POST request creating a + new "Individual threshold" resource. It can also be retrieved from the "id" + attribute in the payload body of that response. + required: true + style: simple + explode: false + schema: + type: string + + requestBodies: + CreatePmJobRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" + required: true + + CreateThresholdRequest: + description: Request parameters to create a threshold resource. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" + required: true + + responses: + PMJobs.Post.201: + description: | + 201 CREATED + + Shall be returned when the PM job has been created successfully. + The response body shall contain a representation of the created "Individual PM job" resource, + as defined in clause 6.5.2.7. + The HTTP response shall include a "Location" HTTP header that points to the created + "Individual PM job" resource. + headers: + Location: + description: The resource URI of the created PM Job + style: simple + explode: false + schema: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + + PMJobs.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more PM jobs has been queried successfully. + The response body shall contain in an array the representations of zero or more PM jobs, + as defined in clause 6.5.2.7. + If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" + (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the + response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 + of ETSI GS NFV-SOL 013, respectively. + 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. + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + + IndividualPMJob.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual PM job has been read successfully. + The response body shall contain a representation of the "Individual PM job" resource, + as defined in clause 6.5.2.7. + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" + + IndividualPMJob.Patch.200: + description: | + 200 OK + + Shall be returned when the request has been processed successfully. + The response body shall contain a data structure of type "PmJobModifications". + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications" + + IndividualPMJob.Delete.200: + description: | + 204 NO CONTENT + + Shall be returned when the PM job has been deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + + IndividualPerformanceReport.Get.200: + description: | + 200 OK + + Shall be returned when information of an individual performance report has been read successfully. + The response body shall contain a representation of the "Individual performance report" resource, + as defined in clause 6.5.2.10. + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport" + + Thresholds.Post.201: + description: | + 201 CREATED + + Shall be returned when a threshold has been created successfully. + The response body shall contain a representation of the created "Individual threshold" resource, + as defined in clause 6.5.2.9. + The HTTP response shall include a "Location" HTTP header that contains the resource URI of the + created threshold resource. + headers: + Location: + description: TThe resource URI of the created VNF instance + style: simple + explode: false + schema: + type: string + format: url + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + + Thresholds.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more thresholds has been queried successfully. + If the "filter" URI parameter was supplied in the request, the data in the response body shall have + been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. + The response body shall contain in an array the representations of zero or more thresholds, + as defined in clause 6.5.2.9. + 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. + headers: + Location: + description: The resource URI of the created VNF instance + style: simple + explode: false + schema: + type: string + format: url + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + + IndividualThreshold.Get.200: + description: | + 200 OK + + Shall be returned when information about an individual threshold has been read successfully. + The response body shall contain a representation of the threshold, as defined in clause 6.5.2.9. + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" + + IndividualThreshold.Patch.200: + description: | + 200 OK + + Shall be returned when the request has been processed successfully. + The response body shall contain a data structure of type "ThresholdModifications". + headers: + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications" + + IndividualThreshold.Delete.200: + description: | + 204 NO CONTENT + + The threshold was deleted successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 9cbae44190d9c382b0b4f6652a9304c9a8a8adc5 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 17:21:23 +0200 Subject: [PATCH 063/116] SOL003: migrating VNF PerfMgmt Notification API to OAS3 --- .../VNFPerformanceManagementNotification.yaml | 325 ++++++++---------- 1 file changed, 144 insertions(+), 181 deletions(-) diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 4c89fba6..6afb3367 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Performance Management Notification interface - description: > + description: | SOL003 - VNF Performance Management Notification interface @@ -20,32 +19,32 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/callback/v2" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/callback/v2 + - url: https://127.0.0.1/callback/v2 paths: ############################################################################### # Notification endpoint PerformanceInformationAvailableNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationAvailableNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationAvailableNotification: #SOL003 location: 6.4.9 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification regarding a performance management event from the API producer to an API consumer. @@ -53,54 +52,12 @@ paths: This method shall follow the provisions specified in the tables 6.4.9.3.1-1 and 6.4.9.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: PerformanceInformationAvailableNotification - description: > - Notification about performance information availability. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/PerformanceInformationAvailableNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/PerformanceInformationAvailableNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -117,47 +74,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during the creation of the PM job or threshold resource. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/PerformanceInformationAvailableNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -176,10 +100,13 @@ paths: ############################################################################### # Notification endpoint ThresholdCrossedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification: #SOL003 location: 6.4.9 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method delivers a notification regarding a performance management event from the API producer to an API consumer. @@ -187,54 +114,12 @@ paths: This method shall follow the provisions specified in the tables 6.4.9.3.1-1 and 6.4.9.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: ThresholdCrossedNotification - description: > - Notification about performance information availability. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/ThresholdCrossedNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ThresholdCrossedNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -251,47 +136,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/ThresholdCrossedNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -305,4 +157,115 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + +components: + requestBodies: + PerformanceInformationAvailableNotification: + description: | + Notification about performance information availability. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" + required: true + + ThresholdCrossedNotification: + description: | + Notification about performance information availability. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification" + required: true + + responses: + PerformanceInformationAvailableNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + PerformanceInformationAvailableNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + ThresholdCrossedNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + ThresholdCrossedNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 323cdeec366d4287687f206a9108fc69dd4ade38 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 18:06:22 +0200 Subject: [PATCH 064/116] SOL003_107: "VNF Snapshot Package Management" interface completed --- .../VNFSnapshotPackageManagement.yaml | 397 +++++++++++++++--- 1 file changed, 333 insertions(+), 64 deletions(-) diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 8c5278bf..021a7bff 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -42,37 +42,38 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - "200": + 200: $ref: '#/components/responses/VNFSnapshotPackages.Get.200' - "400": + 400: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": + 401: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": + 403: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "404": + 404: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 - "405": + 405: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": + 406: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "416": + 416: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 - "422": + 422: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 - "429": + 429: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 - "500": + 500: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": + 503: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - "504": + 504: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_snapshot_packages/{vnfSnapshotPkgId}: parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: '#/components/parameters/VnfSnapshotPkgId' get: description: | The GET method reads the information of an individual VNF snapshot package. @@ -82,31 +83,31 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: - "200": + 200: $ref: '#/components/responses/IndividualVNFSnapshotPackages.Get.200' - "400": + 400: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": + 401: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": + 403: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "404": + 404: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 - "405": + 405: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": + 406: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "416": + 416: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 - "422": + 422: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 - "429": + 429: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 - "500": + 500: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": + 503: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - "504": + 504: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 /vnf_snapshot_packages/{vnfSnapshotPkgId}/package_content: @@ -121,46 +122,43 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType responses: - "200": + 200: $ref: '#/components/responses/PackageContent.Get.200' - "206": + 206: $ref: '#/components/responses/PackageContent.Get.206' - "409": - $ref: '#/components/responses/PackageContent.Get.409' - "400": + 400: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": + 401: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": + 403: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "404": + 404: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 - "405": + 405: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": + 406: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "416": + 409: + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + 416: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 - "422": + 422: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 - "429": + 429: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 - "500": + 500: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": + 503: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - "504": + 504: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 - - /vnf_snapshot_packages/{vnfSnapshotPkgId}/artifacts/{artifactPath}: parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization - $ref: '#/components/parameters/VnfSnapshotPkgId' - $ref: '#/components/parameters/ArtifactPath' - get: description: | The GET method fetches the content of an artifact within the VNF snapshot package. @@ -168,57 +166,328 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType responses: - "200": + 200: $ref: '#/components/responses/IndividualArtifact.Get.200' - "206": + 206: $ref: '#/components/responses/IndividualArtifact.Get.206' - "409": - $ref: '#/components/responses/IndividualArtifact.Get.409' - "400": + 400: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400 - "401": + 401: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401 - "403": + 403: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403 - "404": + 404: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404 - "405": + 405: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405 - "406": + 406: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406 - "416": + 409: + $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409 + 416: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416 - "422": + 422: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422 - "429": + 429: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429 - "500": + 500: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500 - "503": + 503: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503 - "504": + 504: $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504 + components: parameters: VnfSnapshotPkgId: + name: vnfSnapshotPkgId + in: path + description: | + Identifier of the VNF snapshot package. The identifier is allocated by the NFVO. + This identifier can be retrieved from the "id" attribute of the applicable "VnfSnapshotPkgInfo" in the body of + the response to requesting the creation of a new "Individual VNF snapshot package" resource or in a response to + a GET request querying the "Individual VNF snapshot package" or the "VNF snapshot packages" resource. + required: true + style: simple + explode: false + schema: + type: string ArtifactPath: + name: artifactPath + in: path + description: | + For an artifact contained as a file in the VNF snapshot package, this variable shall contain a sequence + of one or path segments representing the path of the artifact within the VNF snapshot package, relative + to the root of the package. + EXAMPLE: foo/bar/m%40ster.sh - requestBodies: + For an external artefact represented as a URI in the VNF snapshot package manifest, this variable shall + contain a sequence of one or more path segments as synthesized by the NFVO (see clause 12.5.3.3) representing + this artifact. + + This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts" + entry in the body of the response to a GET request querying the "Individual VNF snapshot package" or the + "VNF snapshot packages" resource. + + Since multiple path segments are allowed to be contained in this variable, the "/" character that separates + these segments is not percent-encoded. Each individual segment is percent-encoded if necessary as defined + in clause 4.1 of ETSI GS NFV-SOL 013. + required: true + style: simple + explode: false + schema: + type: string responses: VNFSnapshotPackages.Get.200: + description: | + 200 OK + + Shall be returned when information about zero or more VNF snapshot packages has been queried successfully. + + The response body shall contain in an array the VNF snapshot package info representations that match the + attribute filter, i.e. zero or more VNF snapshot package info representations as defined in clause 12.5.2.2. + + If the "filter" URI parameter or one of the "all_fields", "fields", "exclude_fields" or "exclude_default" + URI parameters was supplied in the request and is supported, the data in the response body shall have been + transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. + + If the NFVO 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. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Link: + description: | + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + type: array + items: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/VnfSnapshotPkgInfo IndividualVNFSnapshotPackages.Get.200: + description: | + 200 OK + + Shall be returned when information of the VNF snapshot package has been read successfully. + + The response body shall contain the VNF snapshot package info representation defined in clause 12.5.2.2. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/VnfSnapshotPkgInfo PackageContent.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the VNF snapshot package file has been read successfully. + + The response body shall include a copy of the VNF snapshot package file. + + The "Content-Type" HTTP header shall be set according to the type of the file, i.e. to "application/zip" + for a VNF snapshot package as defined in ETSI GS NFV-SOL 010. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/*: + schema: + type: string + format: binary + PackageContent.Get.206: - PackageContent.Get.409: + description: | + 206 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned when a single consecutive byte range + from the content of the VNF snapshot package file has been read successfully according to the request. + + The response body shall contain the requested part of the VNF snapshot package file. The "Content-Range" + HTTP header shall be provided according to IETF RFC 7233. The "Content-Type" HTTP header shall be set as + defined above for the "200 OK" response. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/*: + schema: + type: string + format: binary IndividualArtifact.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the artifact file has been read successfully. + + The response body shall include a copy of the artifact file from the VNF snapshot package, + as defined by ETSI GS NFV-SOL 010. + + The "Content-Type" HTTP header shall be set according to the content type of the artifact file. + If the content type cannot be determined, the header shall be set to the value "application/octet-stream". + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + content: + application/*: + schema: + type: string + format: binary + IndividualArtifact.Get.206: - IndividualArtifact.Get.409: + description: | + 2006 PARTIAL CONTENT + + If the NFVO supports range requests, this response shall be returned when a single consecutive byte range + from the content of the artifact file has been read successfully according to the request. + The response body shall contain the requested part of the artifact file from the VNF snapshot package, + as defined by ETSI GS NFV-SOL 010. + The "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the + content type cannot be determined, the header shall be set to the value "application/octet-stream". + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + headers: + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + 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. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/*: + schema: + type: string + format: binary \ No newline at end of file -- GitLab From 89b9f979938a2148bafa51a200f731132a02c88c Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Wed, 1 Jul 2020 18:36:40 +0200 Subject: [PATCH 065/116] SOL003: migrating VNF FM Notification API to OAS3 --- .../VNFFaultManagementNotification.yaml | 479 ++++++++---------- 1 file changed, 209 insertions(+), 270 deletions(-) diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 8791a67d..cf0d3833 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -1,9 +1,8 @@ -swagger: "2.0" +openapi: 3.0.2 info: - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Fault Management Notification interface - description: > + description: | SOL003 - VNF Fault Management Notification interface @@ -20,88 +19,44 @@ info: design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + contact: + name: NFV-SOL WG license: - name: "ETSI Forge copyright notice" + name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 + description: ETSI GS NFV-SOL 003 V3.3.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf -basePath: "/callback/v1" - -schemes: - - https - -consumes: - - "application/json" -produces: - - "application/json" +servers: + - url: http://127.0.0.1/callback/v1 + - url: https://127.0.0.1/callback/v1 paths: ############################################################################### # Notification endpoint AlarmNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification: #SOL003 location: 7.4.6 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription resource" with a matching filter. This method shall follow the provisions specified in the tables 7.4.6.3.1-1 and 7.4.6.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: AlarmNotification - description: > - Information of a VNF alarm. - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -118,47 +73,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -177,66 +99,25 @@ paths: ############################################################################### # Notification endpoint AlarmClearedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification: #SOL003 location: 7.4.6 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription resource" with a matching filter. This method shall follow the provisions specified in the tables 7.4.6.3.1-1 and 7.4.6.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: AlarmClearedNotification - description: > - Information of the clearance of a VNF alarm - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmClearedNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmClearedNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -253,47 +134,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmClearedNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -312,66 +160,25 @@ paths: ############################################################################### # Notification endpoint AlarmListRebuiltNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': + /URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification: #SOL003 location: 7.4.6 + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version post: - description: > + description: | Notify. The POST method notifies a VNF alarm or that the alarm list has been rebuilt. The API consumer shall have previously created an "Individual subscription resource" with a matching filter. This method shall follow the provisions specified in the tables 7.4.6.3.1-1 and 7.4.6.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: AlarmListRebuiltNotification - description: > - Information that the alarm list has been rebuilt by the VNFM - in: body - required: true - schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/AlarmListRebuiltNotification' responses: 204: - description: > - 204 NO CONTENT - - Shall be returned when the notification has been delivered successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmListRebuiltNotification.Post.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -388,47 +195,14 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" get: - description: > + description: | The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: - description: > - 204 NO CONTENT - - Shall be returned to indicate that the notification endpoint has been tested successfully. - The response body shall be empty. - headers: - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 + $ref: '#/components/responses/AlarmListRebuiltNotification.Get.204' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -442,4 +216,169 @@ paths: 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: - $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" \ No newline at end of file + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + +components: + requestBodies: + AlarmNotification: + description: Information of a VNF alarm. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" + required: true + + AlarmClearedNotification: + description: Information of the clearance of a VNF alarm + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmClearedNotification" + required: true + + AlarmListRebuiltNotification: + description: Information that the alarm list has been rebuilt by the VNFM + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" + required: true + + responses: + AlarmNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + AlarmNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + AlarmClearedNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + AlarmClearedNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + AlarmListRebuiltNotification.Post.204: + description: | + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + + AlarmListRebuiltNotification.Get.204: + description: | + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string \ No newline at end of file -- GitLab From 5222f54e85daf953b65343af951018ab85db8510 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 06:33:11 +0200 Subject: [PATCH 066/116] SOL003_INT_15: attributes interdependecy in PkgmNotificationsFilter --- .../definitions/VNFPackageManagement_def.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index 7e5dc18f..6972a0ce 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -440,6 +440,14 @@ definitions: in the array matches (logical "or" between the values of one filter attribute). type: object + anyOf: + - oneOf: + - required: + - vnfProductsFromProviders + - required: + - vnfdId + - required: + - vnfPkgId properties: notificationTypes: description: > -- GitLab From 08c06716221d89290a3983e82d63bdff6fcb03e2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 08:31:48 +0200 Subject: [PATCH 067/116] SOL003: v308 updates -> API versions --- src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 2 +- .../VNFLifecycleOperationGranting.yaml | 2 +- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index c798acb9..e258c6ad 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -23,7 +23,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 7a6bfca7..6db7bf95 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -24,7 +24,7 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index dd17a80e..398e606f 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -24,7 +24,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 9b098ad3..c54bed83 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -24,7 +24,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index cede4631..1a9cb2ca 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -23,7 +23,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 8ccb17ab..7e35a7eb 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -24,7 +24,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 003 V2.7.1 diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 6afb3367..40139d36 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -24,7 +24,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 -- GitLab From 41e2824dbe1bf6b902577350f63dbab8cc6ff6d5 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 08:33:02 +0200 Subject: [PATCH 068/116] SOL003: v308 updates ->VimConnectionInfo updated --- src/definitions/SOL002SOL003_def.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 6666f0a2..cbedc2d4 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -205,14 +205,8 @@ definitions: the identifier of that VIM. type: object required: - - id - vimType properties: - id: - description: > - The identifier of the VIM Connection. This identifier is managed by - the NFVO. - $ref: "#/definitions/Identifier" vimId: description: > The identifier of the VIM instance. This identifier is managed by -- GitLab From 58afd141c631c99a6d6bfd7493de9ab3f4a0f980 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 08:38:19 +0200 Subject: [PATCH 069/116] SOL003: v308 updates -> VnfExtCpData updated --- src/definitions/SOL002SOL003_def.yaml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index cbedc2d4..8613a756 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -326,8 +326,24 @@ definitions: $ref: "#/definitions/IdentifierInVnfd" cpConfig: description: > - List of instance data that need to be configured on the CP instances + Map of instance data that need to be configured on the CP instances created from the respective CPD. + + The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. + + The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). + + Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. + Thus, given a particular value of the "cpdId" attribute, there shall be one "cpConfig" entry for each VNFC + instance that has been or can be created from a VDU which includes a CPD identified by the "cpdId" attribute. + If the cpConfig represents a subport in a trunk, all "cpConfig" entries in this list shall have the same + segmentationId, which means they are connected to the same set of external VLs via the trunk. + + The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" entry identified by a + particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed + by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance + in case it represents a subport. Deleting the last key from the map removes the affected instance of the + "VnfExtCpData" structure from its parent data structure. type: array items: $ref: "#/definitions/VnfExtCpConfig" -- GitLab From 296615fe1050440472415b8d817843e431b00e50 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 08:46:04 +0200 Subject: [PATCH 070/116] SOL003: v308 updates -> VnfExtCpConfig updated --- src/definitions/SOL002SOL003_def.yaml | 49 ++++++++++++--------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 8613a756..c6520af8 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -357,24 +357,17 @@ definitions: shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object - required: - - id + anyOf: + - required: + - linkPortId + - required: + - cpProtocolData properties: - id: - description: > - Identifier of the VnfExtCpConfig entry. Managed by the API consumer. - $ref: "#/definitions/IdentifierInVnf" parentCpConfigId: description: > - Reference to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk. Only present in - "VnfExtCpConfig" structures that provide configuration information for a CP which represents a sub-port in - a trunk, and if parent ports are supported. - $ref: "#/definitions/IdentifierInVnf" - cpInstanceId: - description: > - Identifier of the external CP instance to which this set of - configuration parameters is requested to be applied. - Shall be present if this instance has already been created. + Value of the key that identifies the "VnfExtCpConfig" map entry which corresponds to the parent port of + the trunk. Only present in "VnfExtCpConfig" structures that provide configuration information for a CP + which represents a sub-port in a trunk, and if parent ports are supported. $ref: "#/definitions/IdentifierInVnf" linkPortId: description: > @@ -382,12 +375,13 @@ definitions: will be associated. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": - 1) The "linkPortId" and "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - 2) At least one of these attributes shall be present for a - to-be-created external CP instance or an existing external - CP instance. + 1) Void + 2) At least one of the "linkPortId" and "cpProtocolData" attributes + shall be present for an external CP instance representing a subport + that is to be created, or an external CP instance that is to be created + by creating the corresponding VNFC or VNF instance during the current or + a subsequent LCM operation, or for an existing external CP instance + that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" @@ -405,12 +399,13 @@ definitions: that connects the CP to a VL. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": - 1) The "linkPortId" and "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - 2) At least one of these attributes shall be present for a - to-be-created external CP instance or an existing external - CP instance. + 1) Void + 2) At least one of the "linkPortId" and "cpProtocolData" attributes + shall be present for an external CP instance representing a subport + that is to be created, or an external CP instance that is to be created + by creating the corresponding VNFC or VNF instance during the current or + a subsequent LCM operation, or for an existing external CP instance + that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" -- GitLab From 282bdc583d9b6ba8f2a938a66a2648a295948da3 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 09:21:03 +0200 Subject: [PATCH 071/116] SOL003: v308 updates -> VNF LCM updated (1/2) --- .../VNFLifecycleManagement.yaml | 107 +++++++++++++----- 1 file changed, 80 insertions(+), 27 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index e258c6ad..2d6ca5be 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -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: @@ -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: @@ -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 @@ -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 @@ -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. @@ -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: @@ -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' @@ -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: @@ -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: | @@ -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: | @@ -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: @@ -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. @@ -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: | @@ -2764,7 +2815,9 @@ components: content: application/json: schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + type: array + items: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Delete.204: description: | -- GitLab From 1f2cecef9426bef85c4fe2354e2fb831d0fc1669 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Thu, 2 Jul 2020 23:55:22 +0200 Subject: [PATCH 072/116] SOL003 : typos fixes --- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 4 ++-- .../VirtualisedResourcesQuotaAvailableNotification.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 7e35a7eb..5066a0b1 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -60,7 +60,7 @@ paths: As the result of successfully executing this method, a new "Individual PM job" resource as defined in clause 6.4.3 shall have been created. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/CreatePmJobRequest' responses: @@ -288,7 +288,7 @@ paths: As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. parameters: - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/CreateThresholdRequest' responses: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 0ac6d6e1..01f41fdd 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -68,7 +68,7 @@ paths: resource with the same filter and callback URI). parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Content-Type + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType requestBody: $ref: '#/components/requestBodies/VrQuotaAvailSubscriptionRequest' responses: -- GitLab From be504451f185618497528f3b35f656f7384d7353 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 13:44:53 +0200 Subject: [PATCH 073/116] SOL003: v308 updates to VNF LCM -> Added: (1) Patch method in IndividualVNFSnapshot endpoint, (2) new endpoint "VNF Snapshot State", (3) minor fixes --- .../VNFLifecycleManagement.yaml | 557 ++++++++++++++---- 1 file changed, 428 insertions(+), 129 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 2d6ca5be..59a4a42c 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1669,6 +1669,52 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + patch: + #SOL003 location: 5.4.24.3.4 + description: | + This method modifies an "Individual VNF snapshot" resource. + + Changes are applied to the VNF snapshot information managed by the VNFM and are reflected in the + representation of this resource. The VNFM shall reject the modification request if the "vnfSnapshot" + attribute in the "VnfSnapshotInfo" structure representing the "Individual VNF snapshot" resource + is not empty, or the resource is associated to an ongoing VNF snapshot operation (e.g., a VNF + snapshot creation process has started). + + This method shall follow the provisions specified in the tables 5.4.24.3.4-1 and 5.4.24.3.4-2 + for URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType + requestBody: + $ref: '#/components/requestBodies/VnfSnapshotInfoModificationRequest' + responses: + 200: + $ref: '#/components/responses/IndividualVnfSnapshot.Patch.200' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + 409: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" + 412: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + delete: #SOL003 location: 5.4.24.3.5 description: | @@ -1712,6 +1758,50 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + /vnf_snapshots/{vnfSnapshotInfoId}/vnf_state_snapshot: + #SOL003 location: 5.4.25.2 + parameters: + - $ref: '#/components/parameters/VnfSnapshotInfoId' + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version + + get: + #SOL003 location: 5.4.25.3.2 + description: | + The GET method fetches the content of the VNF state snapshot. + This method shall follow the provisions specified in the tables 5.4.25.3.2-1 and 5.4.25.3.2-2 + for URI query parameters, request and response data structures, and response codes. + parameters: + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept + - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Range + responses: + 200: + $ref: '#/components/responses/IndividualVnfSnapshotState.Get.200' + 206: + $ref: '#/components/responses/IndividualVnfSnapshotState.Get.206' + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406" + 409: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504" + components: parameters: VnfInstanceId: @@ -1753,8 +1843,8 @@ components: schema: type: string - VnfSnapshotId: - name: vnfSnapshotId + VnfSnapshotInfoId: + name: VnfSnapshotInfoId in: path description: | Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved @@ -1768,133 +1858,141 @@ components: type: string requestBodies: - CreateVnfRequest: - description: The VNF creation parameters - content: - application/json: - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest" - required: true - - VnfInfoModificationRequest: - description: | - Parameters for the VNF modification, as defined in clause 5.5.2.12. - The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" - required: true - - InstantiateVnfRequest: - description: Parameters for the VNF instantiation. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" - required: true - - ScaleVnfRequest: - description: Parameters for the scale VNF operation. - content: - application/json: - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" - required: true - - ScaleVnfToLevelRequest: - description: Parameters for the scale VNF to Level operation. - content: - application/json: - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" - required: true - - ChangeVnfFlavourRequest: - description: Parameters for the Change VNF Flavour operation. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" - required: true - - TerminateVnfRequest: - description: Parameters for the VNF termination. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" - required: true - - HealVnfRequest: - description: Parameters for the Heal VNF operation. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" - required: true - - OperateVnfRequest: - description: Parameters for the Operate VNF operation. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" - required: true - - ChangeExtVnfConnectivityRequest: - description: | - Parameters for the Change external VNF connectivity operation. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" - required: true - - ChangeCurrentVnfPkgRequest: - description: | - Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest" - required: true - - LccnSubscriptionRequest: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" - required: true - - CreateVnfSnapshotRequest: - description: | - Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.21. - content: - application/json: - schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest" - required: true - - RevertToVnfSnapshotRequest: - description: | - 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 + CreateVnfRequest: + description: The VNF creation parameters + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest" + required: true + + VnfInfoModificationRequest: + description: | + Parameters for the VNF modification, as defined in clause 5.5.2.12. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" + required: true + + InstantiateVnfRequest: + description: Parameters for the VNF instantiation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" + required: true + + ScaleVnfRequest: + description: Parameters for the scale VNF operation. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" + required: true + + ScaleVnfToLevelRequest: + description: Parameters for the scale VNF to Level operation. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" + required: true + + ChangeVnfFlavourRequest: + description: Parameters for the Change VNF Flavour operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" + required: true + + TerminateVnfRequest: + description: Parameters for the VNF termination. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" + required: true + + HealVnfRequest: + description: Parameters for the Heal VNF operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" + required: true + + OperateVnfRequest: + description: Parameters for the Operate VNF operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" + required: true + + ChangeExtVnfConnectivityRequest: + description: | + Parameters for the Change external VNF connectivity operation. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" + required: true + + ChangeCurrentVnfPkgRequest: + description: | + Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest" + required: true + + LccnSubscriptionRequest: + description: | + Details of the subscription to be created. + content: + application/json: + schema: + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" + required: true + + CreateVnfSnapshotRequest: + description: | + Parameters for the "Create VNF Snapshot" operation, as defined in clause 5.5.2.21. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest" + required: true + + RevertToVnfSnapshotRequest: + description: | + 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 + + VnfSnapshotInfoModificationRequest: + description: | + Parameters for the VNF snapshot information modification, as defined in clause 5.5.2.24. + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfoModificationRequest" + required: true responses: VNFInstances.Post.201: @@ -1930,6 +2028,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -1964,6 +2069,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string Link: description: | Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. @@ -1999,6 +2111,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2036,6 +2155,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2390,6 +2516,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string Link: description: | Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. @@ -2424,6 +2557,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2496,6 +2636,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2554,6 +2701,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2587,6 +2741,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string Link: description: | Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. @@ -2620,6 +2781,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2746,6 +2914,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2776,6 +2951,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string Link: description: | Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. @@ -2812,6 +2994,13 @@ components: explode: false schema: type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -2819,6 +3008,38 @@ components: items: $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + IndividualVnfSnapshot.Patch.200: + description: | + 200 OK + + Shall be returned when the modification of VNF snapshot information has been accepted and completed. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + content: + application/json: + schema: + $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfoModifications" + IndividualVnfSnapshot.Delete.204: description: | 204 NO CONTENT @@ -2842,3 +3063,81 @@ components: schema: type: string + IndividualVnfSnapshotState.Get.200: + description: | + 200 OK + + Shall be returned when the whole content of the VNF state snapshot file has been read successfully. + + The payload body shall contain a copy of the VNF state snapshot file and the "Content-Type" HTTP + header shall be set according to the content type of the VNF state snapshot file. If the VNF state + snapshot content is encrypted, the header shall be set to the value "application/cms" (IETF RFC 7193). + + If the content type cannot be determined, the header shall be set to the value "application/octet-stream". + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Type: + description: | + The MIME type of the body of the response. Reference: IETF RFC 7231 + style: simple + explode: false + schema: + type: string + content: + application/*: + schema: + type: string + format: binary + + + IndividualVnfSnapshotState.Get.206: + description: | + 206 PARTIAL CONTENT + + If the VNFM supports range requests, this response shall be returned when a single consecutive byte + range from the content of the VNF state snapshot file has been read successfully according to the request. + + The response body shall contain the requested part of the VNF state snapshot file. The "Content-Type" HTTP + header shall be set according to the content type of the VNF state snapshot file. If the content type cannot + be determined, the header shall be set to the value "application/octet-stream". + + The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. + headers: + 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. + style: simple + explode: false + schema: + type: string + Version: + description: The used API version. + style: simple + explode: false + schema: + type: string + Content-Range: + required : true + style: simple + explode: false + schema: + type: string + content: + application/*: + schema: + type: string + format: binary -- GitLab From 34e7742f82c4889e24ac0899a381be96661ffca2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 14:03:38 +0200 Subject: [PATCH 074/116] SOL003: v308 updates -> VnfInstance updated --- .../SOL003VNFLifecycleManagement_def.yaml | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index bb3895cc..6e4b3c52 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -100,9 +100,12 @@ definitions: vimConnectionInfo: description: > Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in direct - mode is applicable. + resources for the VNF instance. The keys of the map, each of + which identifies information about a particular VIM connection, + are managed by the NFVO and referenced from other data structures + via the "vimConnectionId" attribute. This attribute shall only + be supported and present if VNF-related resource management in + direct mode is pplicable. This attribute can be modified with the PATCH method. type: array items: @@ -150,7 +153,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" extCpInfo: description: > - Information about the external CPs exposed by the VNF instance. + Information about the external CPs exposed by the VNF instance. When trunking is enabled, + the list of entries includes both, external CPs corresponding to parent ports of a trunk, + and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: @@ -321,6 +326,18 @@ definitions: operation is possible based on the current status of this VNF instance resource (i.e. VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + createSnapshot: + description: > + Link to the "Create VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + revertToSnapshot: + description: > + Link to the "Revert to VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" InstantiateVnfRequest: #SOL003 location: 5.5.2.4 -- GitLab From 3e978f2f509042c07607524e195df201ee24dc82 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 14:10:35 +0200 Subject: [PATCH 075/116] SOL003: v308 updates -> InstantiateVnfRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 6e4b3c52..3806df40 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -365,21 +365,26 @@ definitions: description: > Information about internal VLs that are managed by the NFVO. - NOTE: It is possible to have several ExtManagedVirtualLinkData for the same - VNF internal VL in case of a multi-site VNF spanning several VIMs. The set - of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall - indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed - multi-site VL instance (refer to clause 4.4.1.12). + NOTES: + The indication of externally-managed internal VLs is needed in case networks have been pre-configured + for use with certain VNFs, for instance to ensure that these networks have certain properties such as + security or acceleration features, or to address particular network topologies. The present document + assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. + + It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a + multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same + VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > - 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. + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external / externally-managed virtual links. This attribute shall only be supported and may be present if + VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this + attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch + (see IETF RFC 7396). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" @@ -403,10 +408,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the default values, - as obtained from the VNFD, of the VNF configurable properties attribute in - the "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling - configurable properties during the operation are defined in clause 5.4.4.3.1. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of + the "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for + handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: -- GitLab From b4274c9abeea44fbebd9a2bd8dc1e4fcd8d93ae0 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 14:14:11 +0200 Subject: [PATCH 076/116] SOL003: v308 updates -> ScaleVnfToLevelRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 1 - .../SOL002SOL003VNFLifecycleManagement_def.yaml | 17 ----------------- 2 files changed, 18 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 3806df40..1ab66f05 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -672,7 +672,6 @@ definitions: defined in clause 5.4.11a.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfInfoModificationRequest: description: > This type represents attribute modifications for an diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 37a56ea8..6520b98a 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -97,21 +97,6 @@ definitions: process, specific to the VNF being scaled, as declared in the VNFD as part of "ScaleVnfToLevelOpConfig". $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - If present, this attribute provides modifications to the values of - the "extensions" attribute in "VnfInstance", as defined in clause - 5.5.2.2. Provisions for handling extensions during the operation, - are defined in clause 5.4.7.3.1. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - vnfConfigurableProperties: - description: > - If present, this attribute provides modifications to the values of - the VNF configurable properties attribute in the "VnfInstance", as - defined in clause 5.5.2.2. Provisions for handling VNF configurable - properties during the operation, are defined in clause 5.4.7.3.1. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfInfoModificationRequest: description: > @@ -650,7 +635,6 @@ definitions: virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - ScaleInfo: required: - aspectId @@ -1519,7 +1503,6 @@ definitions: Resource handle of the virtualised resource that realizes the link port. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - VnfOperationalStateType: description: > STARTED: The VNF instance is up and running. -- GitLab From 3135b823d1494a4ad1efd10f766c5056c5b37822 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:16:06 +0200 Subject: [PATCH 077/116] SOL003: v308 updates -> ChangeVnfFlavourRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 1ab66f05..39e26e41 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -442,21 +442,26 @@ definitions: description: > Information about internal VLs that are managed by the NFVO. - NOTE: It is possible to have several ExtManagedVirtualLinkData for the same VNF - internal VL in case of a multi-site VNF spanning several VIMs. The set of - ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate - so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site - VL instance (refer to clause 4.4.1.12). + NOTES: + The indication of externally-managed internal VLs is needed in case networks have been pre-configured + for use with certain VNFs, for instance to ensure that these networks have certain properties such as + security or acceleration features, or to address particular network topologies. The present document + assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. + + It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a + multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same + VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed + multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > - 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. + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external / externally-managed virtual links. This attribute shall only be supported and may be present if + VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this + attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch + (see IETF RFC 7396 [5]). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" @@ -474,10 +479,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the values of the VNF - configurable properties attribute in the "VnfInstance", as defined in clause 5.5.2.2. - Provisions for handling VNF configurable properties during the operation, are defined - in clause 5.4.7.3.1. + If present, this attribute provides modifications to the values of the "vnfConfigurableProperties" attribute + in "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling VNF configurable properties during the operation, are defined in clause 5.4.7.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: -- GitLab From 886574e628176da5ee7cac5b89caa362eb9e22f8 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:18:35 +0200 Subject: [PATCH 078/116] SOL003: v308 updates -> ChangeExtVnfConnectivityRequest updated --- .../definitions/SOL003VNFLifecycleManagement_def.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 39e26e41..b0af0dd3 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -461,7 +461,7 @@ definitions: external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch - (see IETF RFC 7396 [5]). + (see IETF RFC 7396). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" @@ -604,10 +604,10 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" vimConnectionInfo: description: > - Information about VIM connections to be used for managing the - resources for the VNF instance, or refer to external virtual - links. This attribute shall only be supported and may be present - if VNF-related resource management in direct mode is applicable. + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external virtual links. This attribute shall only be supported and may be present if VNF-related resource + management in direct mode is applicable. The VNFM shall apply the content of this attribute to the + "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" -- GitLab From a1f413daaf94a0a939b155775e7be3ad94c94455 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:38:35 +0200 Subject: [PATCH 079/116] SOL003: v308 updates -> ChangeCurrentVnfPkgRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index b0af0dd3..b28b0ec7 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -642,15 +642,25 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. + + NOTES: + The indication of externally-managed internal VLs is needed in case networks have been pre-configured for + use with certain VNFs, for instance to ensure that these networks have certain properties such as security or + acceleration features, or to address particular network topologies. The present document assumes that + externally-managed internal VLs are managed by the NFVO and created towards the VIM. + It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site + VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal + VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL + instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > - Information about VIM connections to be used for managing the resources - for the VNF instance, or refer to external virtual links. This attribute - shall only be supported and may be present if VNF-related resource - management in direct mode is applicable. + Information about VIM connections to be used for managing the resources for the VNF instance, or refer to + external virtual links. This attribute shall only be supported and may be present if VNF-related resource + management in direct mode is applicable. The VNFM shall apply the content of this attribute to the + "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" @@ -669,11 +679,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the values of the VNF - configurable properties attribute in the "VnfInstance", as defined in clause - 5.5.2.2. Provisions for handling VNF configurable properties during the - operation, and needed passed parameter values in case of conflicts, are - defined in clause 5.4.11a.3.1. + If present, this attribute provides modifications to the values of the "vnfConfigurableProperties" attribute + in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the + operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfInfoModificationRequest: -- GitLab From bbfabb7fb29dd40c1f4391549de3f4e803cf1926 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:40:55 +0200 Subject: [PATCH 080/116] SOL003: v308 updates -> VnfInfoModificationRequest updated --- .../SOL003VNFLifecycleManagement_def.yaml | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index b28b0ec7..c762ff91 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -710,35 +710,29 @@ definitions: 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). + according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > Modifications of the "metadata" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules - of JSON Merge PATCH (see IETF RFC 7396). + of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/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). + of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > - New content of certain entries in the "vimConnectionInfo" attribute - array in "VnfInstance", as defined below this table. + Modifications of the "vimConnectionInfo" attribute. If present, these + modifications shall be applied according to the rules of + JSON Merge Patch (see IETF RFC 7396 ). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - vimConnectionInfoDeleteIds: - description: > - List of identifiers entries to be deleted from the "vimConnectionInfo" - attribute array in "VnfInstance", to be used as "deleteIdList" as defined - below this table. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + VnfInfoModifications: description: > -- GitLab From 78404c60503c86904b668fda290c13435c42f836 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:42:06 +0200 Subject: [PATCH 081/116] SOL003: v308 updates -> VnfInfoModifications updated --- .../SOL003VNFLifecycleManagement_def.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index c762ff91..d5e93d9c 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -733,7 +733,6 @@ definitions: items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - VnfInfoModifications: description: > This type represents attribute modifications that were performed on an @@ -771,18 +770,11 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > - If present, this attribute signals modifications of certain entries - in the "vimConnectionInfo" attribute array in "VnfInstance". + If present, this attribute signals modifications the "vimConnectionInfo" + attribute array in "VnfInstance". type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - vimConnectionInfoDeleteIds: - description: > - If present, this attribute signals the deletion of certain entries - in the "vimConnectionInfo" attribute array in "VnfInstance". - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfdId: description: > If present, this attribute signals modifications of the "vnfdId" -- GitLab From 515bf8dd37fcbdf7d33315ba4ec1d349977bdbc2 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:49:41 +0200 Subject: [PATCH 082/116] SOL003: v308 updates -> VnfLcmOpOcc updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 6520b98a..66afdd6c 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -280,7 +280,9 @@ definitions: grantId: description: > Identifier of the grant related to this VNF LCM operation - occurrence, if such grant exists. + occurrence. Shall be set to the value of the "id" attribute + in the "Grant" representing the associated "Individual Grant", + if such grant exists. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" operation: description: > -- GitLab From 662d49b248c5bf6e7ebb0040e6adf3c90a2fde9a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Fri, 3 Jul 2020 17:56:19 +0200 Subject: [PATCH 083/116] SOL003: v308 updates -> VnfLcmOperationOccurrenceNotification updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 66afdd6c..774b4ac5 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1781,6 +1781,9 @@ definitions: _links: description: > Links to resources related to this notification. + The link URIs in this structure shall be set to point to the + resources identified by the corresponding identifier attributes + in this notification. $ref: "#/definitions/LccnLinks" VnfIdentifierCreationNotification: -- GitLab From 7c67bd4cfc75b56a1deb8f8811080178e93e700f Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 10:57:31 +0200 Subject: [PATCH 084/116] SOL003: v308 updates -> VnfSnapshotInfo updated --- .../SOL003VNFLifecycleManagement_def.yaml | 48 ++++++++++++++++++- ...OL002SOL003VNFLifecycleManagement_def.yaml | 31 ++++++++++-- 2 files changed, 75 insertions(+), 4 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index d5e93d9c..dcf1dcaf 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -827,4 +827,50 @@ definitions: type: string enum: - FORCEFUL - - GRACEFUL \ No newline at end of file + - GRACEFUL + + CreateVnfSnapshotRequest: + description: > + This type represents request parameters for the "Create VNF Snapshot" + LCM operation which takes a snapshot of a VNF instance and populates + a previously-created "Individual VNF snapshot" resource with the content + of the snapshot. + It shall comply with the provisions defined in table 5.5.2.21-1. + type: object + required: + - vnfSnapshotResId + properties: + vnfSnapshotInfoId: + description: > + Identifier of the "Individual VNF snapshot" resource to which the + VNF snapshot is to be associated. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + additionalParams: + description: > + Additional input parameters for the snapshot creation process, specific + for the VNF being “snapshotted”, as declared in the VNFD as part of + “CreateSnapshotVnfOpConfig”. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + CreateVnfSnapshotInfoRequest: + description: | + This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be + populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a + VNF snapshot package. It shall comply with the provisions defined in table 5.5.2.20-1. + type: object + properties: + vnfSnapshotPkgId: + description: | + Identifier of the VNF snapshot package information held by the NFVO. + + The present attribute shall be provided if the "Individual VNF snapshot" resource is requested to be created + as part of a VNF snapshot package extraction. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: | + Information about the VNF snapshot, content and/or reference to its content. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfSnapshot" \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 774b4ac5..8bb3d5be 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1878,21 +1878,46 @@ definitions: VnfSnapshotInfo: description: > - This type represents an "Individual VNF snapshot" resource. + This type represents an "Individual VNF snapshot" resource. + It shall comply with the provisions defined in table 5.5.2.22-1. type: object required: - - id - parameters: + - id + - _links + properties: id: description: > Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotPkgId: + description: > + Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the + “Individual VNF snapshot" resource is created from a VNF snapshot package extraction. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfSnapshot: description: > Information about the VNF snapshot, content and/or references to its content. Shall be present when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package. $ref: "SOL002SOL003_def.yaml#/definitions/VnfSnapshot" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + takenFrom: + description: > + Link to the VNF instance from which this snapshot was taken. Shall be present when the + "Individual VNF snapshot" resource is associated to a VNF snapshot created via the + corresponding "Create VNF snapshot" task resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + VnfcInfoModifications: description: > -- GitLab From a9b6bb8d111020039072c1914e3cd42a0d4bf473 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:17:21 +0200 Subject: [PATCH 085/116] SOL003: v308 updates -> VnfSnapshot updated, VnfSnapshotInfoModificationRequest,VnfSnapshotInfoModifications added --- .../SOL003VNFLifecycleManagement_def.yaml | 42 ++++++++++- ...OL002SOL003VNFLifecycleManagement_def.yaml | 74 +++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index dcf1dcaf..e7d3085e 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -873,4 +873,44 @@ definitions: vnfSnapshot: description: | Information about the VNF snapshot, content and/or reference to its content. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfSnapshot" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" + + VnfSnapshotInfoModificationRequest: + description: | + This type represents attribute modifications for an "Individual VNF snapshot" resource, i.e. modifications + to a resource representation based on the "VnfSnapshotInfo" data type. The attributes of "VnfSnapshotInfo" + that can be modified according to the provisions in clause 5.5.2.22 are included in the + "VnfSnapshotInfoModificationRequest" data type. The "VnfSnapshotInfoModificationRequest" data type shall + comply with the provisions defined in table 5.5.2.24-1. + type: object + properties: + vnfSnapshotPkgId: + description: | + New value of the "vnfSnapshotPkgId" attribute in "VnfSnapshotInfo". + The value "null" is not permitted. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: | + New value of the "vnfSnapshot" attribute in "VnfSnapshotInfo". + The value "null" is not permitted. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" + + VnfSnapshotInfoModifications: + description: | + This type represents attribute modifications that were performed on an "Individual VNF snapshot" + resource. The attributes that can be included consist of those requested to be modified explicitly + in the "VnfSnapshotInfoModificationRequest" data structure, and additional attributes of the + "VnfSnapshotInfo" data structure that were modified implicitly. The "VnfSnapshotInfoModifications" + data type shall comply with the provisions defined in table 5.5.2.25-1. + type: object + properties: + vnfSnapshotPkgId: + description: | + If present, this attribute signals modifications of the "vnfSnapshotPkgId" attribute in + "VnfSnapshotInfo" as defined in clause 5.5.2.22. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: | + If present, this attribute signals modifications of the "vnfSnapshot" attribute in + "VnfSnapshotInfo" as defined in clause 5.5.2.22. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" \ No newline at end of file diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 8bb3d5be..bd733103 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1918,6 +1918,80 @@ definitions: corresponding "Create VNF snapshot" task resource. $ref: "SOL002SOL003_def.yaml#/definitions/Link" + VnfSnapshot: + description: > + This type represents a VNF snapshot. + It shall comply with the provisions defined in table 5.5.2.23-1. + type: object + required: + - id + - vnfInstanceId + - triggeredAt + - vnfdId + - vnfInfo + - vnfcSnapshots + properties: + id: + description: > + Identifier of the VNF Snapshot. This identifier is allocated by the VNFM. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceId: + description: > + Identifier of the snapshotted VNF instance. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + creationStartedAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + creationFinishedAt: + description: > + Timestamp indicating when the VNF snapshot has been completed by the VNFM. + Shall be present once the VNF snapshot creation has been completed. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfdId: + description: > + Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstance: + description: > + VNF Instance information of the snapshotted VNF instance. This is a copy of the "ndividual VNF instance" resource. + $ref: '#/definitions/VnfInstance' + vnfcSnapshots: + description: > + Information about VNFC snapshots constituting this VNF snapshot. + type: array + items: + $ref: '#/definitions/VnfcSnapshotInfo' + vnfStateSnapshotInfo: + description: > + Information about VNF-specific state snapshot data. + This attribute shall not be present before the VNF snapshot has been completed. + Otherwise, this attribute shall be present if the VNF snapshot has associated + additional VNF-specific state data. + type: + $ref: '#/definitions/VnfStateSnapshotInfo' + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfStateSnapshot: + description: > + Link to the "VNF state snapshot" resource. This attribute shall not be + present before the VNF snapshot has been completed. Otherwise, this + attribute shall be present if the VNF snapshot has associated additional + VNFspecific state data. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" VnfcInfoModifications: description: > -- GitLab From 0d76784375f8a656a96a95f39a63c11191d4f701 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:25:14 +0200 Subject: [PATCH 086/116] SOL003: v308 updates -> VnfcResourceInfo updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index bd733103..1167afed 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -709,8 +709,10 @@ definitions: vnfcCpInfo: description: > All the 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. + Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance + or is connected to an external CP of the VNF instance. + A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. + A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. May be present otherwise. type: array items: @@ -730,9 +732,10 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" vnfExtCpId: description: > - WhenIdentifier of the related external CP. Shall be present when the VNFC CP is exposed as an external - instance or connected to an external CP of the VNF instance and shall be absent otherwise. - A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes + Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of + the VNF instance or connected to an external CP of the VNF instance (see note) and shall be absent otherwise. + + NOTE: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpProtocolInfo: @@ -744,8 +747,8 @@ definitions: $ref: "#/definitions/CpProtocolInfo" vnfLinkPortId: description: > - Identifier of the "vnfLinkPorts" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port, on an internal VL of the VNF instance and shall be absent otherwise. + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if + the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" metadata: description: > -- GitLab From cd5fdb780ff772b0ff9023b85611608e689db4a5 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:26:21 +0200 Subject: [PATCH 087/116] SOL003: v308 updates -> VnfLinkPortInfo updated --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 1167afed..31d890eb 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -888,7 +888,7 @@ definitions: 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 "vnfcResouceInfo" item in the VnfInstance. + "vnfcCpInfo" item of a "vnfcResourceInfo" item in the VnfInstance. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" cpInstanceType: description: > -- GitLab From 9f18412edb6688772af19e3d60e7eba17de24ae4 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:31:35 +0200 Subject: [PATCH 088/116] SOL003: v308 updates -> AffectedVirtualLink updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 31d890eb..04750f52 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1206,12 +1206,14 @@ definitions: The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. It shall be present when an applicable GrantInfo for the granted resource exists. - The "resourceDefinitionId" attribute provides information to the API - consumer (i.e. the NFVO) to assist in correlating the resource changes - performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available - in the "Individual VNF lifecycle management operation occurrence" and - the "id" in the "Individual Grant". + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist + in correlating the resource changes performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle + management operation occurrence" and the "id" in the "Individual Grant". $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" zoneId: description: > -- GitLab From 10e457fb6e87b30ad4217fb1dc7e28dd9f1f1352 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:34:32 +0200 Subject: [PATCH 089/116] SOL003: v308 updates -> AffectedExtLinkPort updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 04750f52..adfbc5bc 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1241,7 +1241,7 @@ definitions: id: description: > Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data - type (see clause 5.5.3.3). + type (see clause 5.5.3.2). $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > @@ -1262,6 +1262,15 @@ definitions: Reference to the link port resource. Detailed information is (for added resources) or has been (for removed resources) available from the VIM. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. + It shall be present when an applicable GrantInfo for the granted resource exists. + The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist in + correlating the resource changes performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle + management operation occurrence" and the "id" in the "Individual Grant". + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" AffectedVirtualStorage: description: > -- GitLab From 74fddf98158f8def2677cb26d37aefdc18f9ea1f Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:41:44 +0200 Subject: [PATCH 090/116] SOL003: v308 updates -> VnfcSnapshotInfo updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index adfbc5bc..2b4965cd 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1451,24 +1451,25 @@ definitions: description: > Identifier of the snapshotted VNFC instance. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - triggeredAt: + creationStartedAt: description: > - Timestamp indicating when the VNF snapshot creation has been started. + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - createdAt: + creationFinishedAt: description: > Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot - creation has been completed. + creation has been completed by the VNFM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfcResourceId: + vnfcResourceInfoId: description: > - Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the snapshotted - VNFC instance. + Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource + of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute + of the "VnfSnapshot" structure. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" computeSnapshotResource: description: > Reference to a compute snapshot resource. - The identifier of the compute and storage snapshot resource is assigned during creation of a VNFC snapshot + The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result o f the "Create VNF snapshot task". -- GitLab From f6691ff10758f0ebafe4b1db12d750c17501d69a Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:56:28 +0200 Subject: [PATCH 091/116] SOL003: v308 updates -> VnfStateSnapshotInfo, Checksum (holder) added --- .../definitions/VNFPackageManagement_def.yaml | 6 ++--- .../VNFSnapshotPackageManagement_def.yaml | 10 ++++---- ...OL002SOL003VNFLifecycleManagement_def.yaml | 25 +++++++++++++++++++ src/definitions/SOL002SOL003_def.yaml | 5 ++++ 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index 6972a0ce..b9d86bef 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -67,7 +67,7 @@ definitions: It shall be present after the VNF package content has been on-boarded and absent otherwise. Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. - $ref: "#/definitions/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" packageSecurityOption: description: > Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004. @@ -266,7 +266,7 @@ definitions: description: > Checksum of the software image file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. - $ref: "#/definitions/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the image is encrypted (true) or not (false). @@ -388,7 +388,7 @@ definitions: description: > Checksum of the artifact file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. - $ref: "#/definitions/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the artifact is encrypted (true) or not (false). diff --git a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml index 7ff4cdbd..7914c392 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml @@ -41,7 +41,7 @@ definitions: NOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector. - $ref: "xxx/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" createdAt: description: > Timestamp indicating when the VNF snapshot package creation has been completed. @@ -212,7 +212,7 @@ definitions: description: > Checksum of the snapshot image file. Permitted hashalgorithms are defined in ETSI GS NFV-SOL 010. - $ref: "xxx/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the artifact is encrypted (true) or not (false). @@ -361,7 +361,7 @@ definitions: checksum: description: > Checksum of the artifact file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 010. - $ref: "xxx/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the artifact is encrypted (true) or not (false). @@ -400,7 +400,7 @@ definitions: description: > Checksum of the VNFD archive file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. - $ref: "xxx/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the VNFD archive file is encrypted (true) or not (false). @@ -428,7 +428,7 @@ definitions: description: > Checksum of the VNF snapshot record file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 010. - $ref: "xxx/Checksum" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the VNF snapshot record file is encrypted (true) or not (false). diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 2b4965cd..9008b994 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -2008,6 +2008,31 @@ definitions: VNFspecific state data. $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + VnfStateSnapshotInfo: + description: > + This type represents information about VNF-specific state snapshot data. + type: object + required: + - checksum + - isEncrypted + properties: + checksum: + description: > + Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts + are defined in ETSI GS NFV-SOL 010. + type: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" + isEncrypted: + description: > + Reflects whether the VNF state snapshot content is encrypted (true) or not (false). + type: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + metadata: + description: > + The metadata with additional information such as content type, size, creation date, etc. + type: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfcInfoModifications: description: > This type represents modifications of an entry in an array of "VnfcInfo" objects. diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 793fe116..3ef766c5 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -717,6 +717,11 @@ definitions: Representation: string of variable length. type: string + Checksum: #no definition found + description: > + Cheksum description + type: string + ######################################################################################################################## # TO CHECK IF INCLUDE THESE DATA TYPES IN ANOTHER DEF FILES -- GitLab From 058ca35ba92dcf0500ee53bb8915438b6a68efab Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 11:59:58 +0200 Subject: [PATCH 092/116] SOL003: v308 updates -> ModificationsTriggeredByVnfPkgChange updated --- .../SOL002SOL003VNFLifecycleManagement_def.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 9008b994..87f460b9 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -2118,7 +2118,7 @@ definitions: description: > This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. - This attribute represents the delta (semantics as per IETF RFC 7386 [3], JSON Merge Patch) between the value + This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at its completion. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" @@ -2126,7 +2126,7 @@ definitions: description: > This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. - This attribute represents the delta (semantics as per IETF RFC 7386 [3], JSON Merge Patch) between the value + This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at its completion. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" @@ -2134,6 +2134,9 @@ definitions: description: > This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and shall be present if that attribute was modified during the operation. + This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value + of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at + its completion. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfdId: description: > -- GitLab From f02f557c902ee659917ea0a18ec49fc1b9358fcb Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 12:01:08 +0200 Subject: [PATCH 093/116] SOL003: v308 updates -> StopType updated --- .../SOL003VNFLifecycleManagement_def.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index e7d3085e..cc56938e 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -818,12 +818,12 @@ definitions: StopType: description: > - * FORCEFUL: The VNFM will stop the VNF immediately after accepting the - request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of service - after accepting the request. Once that operation is successful or once - the timer value specified in the "gracefulStopTimeout" attribute - expires, the VNFM will stop the VNF. + * FORCEFUL: The VNFM will stop the VNF instance immediately after accepting + the request. + * GRACEFUL: The VNFM instance will first arrange to take the VNF out of + service after accepting the request. Once that operation is successful + or once the timer value specified in the "gracefulStopTimeout" attribute + expires, the VNFM will stop the VNF instance. type: string enum: - FORCEFUL -- GitLab From c43d91f5f313b807a69ef58b2119dac74db082d7 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 12:55:55 +0200 Subject: [PATCH 094/116] SOL003: v308 updates : SupportedIndicatorsChangeNotification added and minor fixes --- .../VNFFaultManagement.yaml | 2 +- .../VNFIndicatorNotification.yaml | 4 +- .../VNFLifecycleOperationGranting_def.yaml | 57 +++++++++---- .../definitions/VNFPackageManagement_def.yaml | 51 ++++++++---- .../VNFSnapshotPackageManagement.yaml | 12 +-- .../VNFSnapshotPackageManagement_def.yaml | 35 ++++---- .../SOL002SOL003VNFFaultManagement_def.yaml | 4 +- .../SOL002SOL003VNFIndicator_def.yaml | 82 ++++++++++++++++++- ...002SOL003VNFPerformanceManagement_def.yaml | 6 +- 9 files changed, 193 insertions(+), 60 deletions(-) diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index ec90495f..04aedb1a 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -499,7 +499,7 @@ components: description: | 200 OK - The list of subscriptions has been queried successfully. + Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.5.2.3. diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 75cc33ee..c11a0e2f 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -105,7 +105,9 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorValueChangeNotification + oneOf: + - $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorValueChangeNotification + - $ref: ../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/SupportedIndicatorsChangeNotification required: true responses: diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index dc516b90..ed41fc28 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -189,13 +189,17 @@ definitions: vnfInstanceId: description: > Identifier of the related VNF instance. + The NFVO shall set the value of the attribute by copying the value + from the associated GrantRequest. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfLcmOpOccId: description: > Identifier of the related VNF lifecycle management operation occurrence. + The NFVO shall set the value of the attribute by copying the value + from the associated GrantRequest. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vimConnections: + vimConnectionInfo: description: > Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters @@ -203,7 +207,7 @@ definitions: The VNFM shall update the " vimConnectionInfo" attribute of the "VnfInstance" structure by adding unknown entries received in this attribute. - This attribute is not intended for the modification of VimConnection + This attribute is not intended for the modification of vimConnectionInfo entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource @@ -239,7 +243,7 @@ definitions: addResources: description: > List of resources that are approved to be added, with one entry per - resource. + resource. Shall be set when resources are approved to be added. type: array items: $ref: "#/definitions/GrantInfo" @@ -247,21 +251,22 @@ definitions: description: > List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per - resource. + resource. Shall be set when resources are approved to be temporarily + instantiated. type: array items: $ref: "#/definitions/GrantInfo" removeResources: description: > List of resources that are approved to be removed, with one entry - per resource. + per resource. Shall be set when resources are approved to be removed. type: array items: $ref: "#/definitions/GrantInfo" updateResources: description: > List of resources that are approved to be modified, with one entry - per resource. + per resource. Shall be set when resources are approved to be updated. type: array items: $ref: "#/definitions/GrantInfo" @@ -319,15 +324,29 @@ definitions: externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. + In case of granting an InstantiateVnf request that has originated from the NFVO + and that did not contain the "extVirtualLinks" attribute, this attribute shall be + set by the NFVO. Further in case of granting an InstantiateVnf request that has + originated from the NFVO and that did not contain the "extManagedVirtualLinks" + attribute, this attribute shall be set by the NFVO if there is the need to provide + information about externally-managed virtual links. + If this attribute is present , it need not contain those entries that are unchanged compared to the entries that were passed in the LCM operation which is related to this granting exchange. - External and/or externally-managed internal VLs can be passed in - VNF lifecycle management operation requests such as InstantiateVnf - or ChangeVnfFlavour, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed VL - instances that have been passed previously in the associated VNF lifecycle - management request, if the lifecycle management request has originated from the NFVO itself. + External and/or externally-managed internal VLs can be passed in VNF + lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, + ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. + The NFVO may choose to override in the grant response external and/or + externally-managed VL instances that have been passed previously in the + associated VNF lifecycle management request, if the lifecycle management request + has originated from the NFVO itself. + In case of granting an InstantiateVnf request that has originated from the NFVO + and that did not contain the "extVirtualLinks" attribute, this attribute shall be + set by the NFVO. Further in case of granting an InstantiateVnf request that has + originated from the NFVO and that did not contain the "extManagedVirtualLinks" + attribute, this attribute shall be set by the NFVO if there is the need to provide + information about externally-managed virtual links. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" @@ -349,6 +368,12 @@ definitions: externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. + In case of granting an InstantiateVnf request that has originated from the NFVO + and that did not contain the "extVirtualLinks" attribute, this attribute shall be + set by the NFVO. Further in case of granting an InstantiateVnf request that has + originated from the NFVO and that did not contain the "extManagedVirtualLinks" + attribute, this attribute shall be set by the NFVO if there is the need to provide + information about externally-managed virtual links. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -421,9 +446,11 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" resourceTemplateId: description: > - Reference to a resource template (VnfVirtualLinkDesc, - VirtualComputeDesc, VnfExtCpd, VirtualStorageDesc) in the - VNFD. + Reference to the applicable resource template in the VNFD as follows: + - if type="VL" : VnfVirtualLinkDesc + - if type="COMPUTE": VirtualComputeDesc + - if type="LINKPORT" : VnfExtCpd + - if type="STORAGE" : VirtualStorageDesc $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resource: description: > diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index b9d86bef..ff51d394 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -228,7 +228,7 @@ definitions: VnfPackageSoftwareImageInfo: description: > - This type represents an artifact contained in a VNF package which + This type represents an artifact contained in or external to a VNF package which represents a software image. type: object required: @@ -244,7 +244,6 @@ definitions: - minDisk - minRam - size - - imagePath properties: id: description: > @@ -346,14 +345,38 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" imagePath: description: > - Path in the VNF package, which identifies the image artifact and also + Path which identifies the image artifact and also allows to access a copy of the image artifact. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + For a software image contained as a file in the VNF + package, this attribute shall be present, and the value of + this attribute shall start with the name of the first segment + in the path in the package, i.e., it shall not be prefixed by + path separator characters such as "." and "/". + EXAMPLE: foo/bar/m%40ster.vhd + For an external software image represented as a URI in + the VNF descriptor, this attribute shall be present if the + image artifact has been downloaded by the NFVO and + shall be absent otherwise. If present, it shall contain the + artifactPath under which the image artifact can be + obtained using the "Individual artifact in a VNF package" + resource defined in clause 9.4.7. It is the responsibility of + the NFVO to synthesize this path in a manner that avoids + any collision of the synthesized artifact path with the + paths and names of image artifacts included in the + package. + type: string + imageUri: + description: > + URI of the image artifact as defined in the VNF package + manifest. Shall be present if the image artifact is external + to the VNF package and shall be absent otherwise. + EXAMPLE: https://example.com/m%40ster.vhd + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" VnfPackageArtifactInfo: description: > This type represents an artifact other than a software image which is - contained in a VNF package. + contained in or external to a VNF package. type: object required: - artifactPath @@ -384,15 +407,6 @@ definitions: collision of the synthesized artifact path with the paths and names of artifacts included in the package. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" - checksum: - description: > - Checksum of the artifact file. - Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" - isEncrypted: - description: > - Reflects whether the artifact is encrypted (true) or not (false). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" artifactURI: description: > URI of the artifact as defined in the VNF package manifest. @@ -403,6 +417,15 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + checksum: + description: > + Checksum of the artifact file. + Permitted hash algorithms are defined in ETSI GS NFV-SOL 004. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" + isEncrypted: + description: > + Reflects whether the artifact is encrypted (true) or not (false). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" nonManoArtifactSetId: description: > Non-MANO artifact set identifier of the non-MANO artifact set to diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 021a7bff..491fd0cd 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -223,7 +223,7 @@ components: EXAMPLE: foo/bar/m%40ster.sh - For an external artefact represented as a URI in the VNF snapshot package manifest, this variable shall + For an external artifact represented as a URI in the VNF snapshot package manifest, this variable shall contain a sequence of one or more path segments as synthesized by the NFVO (see clause 12.5.3.3) representing this artifact. @@ -334,7 +334,7 @@ components: The response body shall include a copy of the VNF snapshot package file. The "Content-Type" HTTP header shall be set according to the type of the file, i.e. to "application/zip" - for a VNF snapshot package as defined in ETSI GS NFV-SOL 010. + for a VNF snapshot package. The VNF snapshot package format is defined in ETSI GS NFV-SOL 010. headers: Version: description: The used API version. @@ -412,8 +412,8 @@ components: Shall be returned when the whole content of the artifact file has been read successfully. - The response body shall include a copy of the artifact file from the VNF snapshot package, - as defined by ETSI GS NFV-SOL 010. + The response body shall include a copy of the artifact file from the VNF snapshot package. + The VNF snapshot package format is defined in ETSI GS NFV-SOL 010. The "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the content type cannot be determined, the header shall be set to the value "application/octet-stream". @@ -451,8 +451,8 @@ components: If the NFVO supports range requests, this response shall be returned when a single consecutive byte range from the content of the artifact file has been read successfully according to the request. - The response body shall contain the requested part of the artifact file from the VNF snapshot package, - as defined by ETSI GS NFV-SOL 010. + The response body shall contain the requested part of the artifact file from the VNF snapshot package. + The VNF snapshot package is defined in ETSI GS NFV-SOL 010. The "Content-Type" HTTP header shall be set according to the content type of the artifact file. If the content type cannot be determined, the header shall be set to the value "application/octet-stream". diff --git a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml index 7914c392..15ef041f 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml @@ -35,8 +35,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" checksum: description: > - Checksum of the stored VNF snapshot package. Permitted hash algorithms are defined in - ETSI GS NFV-SOL 010. + Checksum of the stored VNF snapshot package. Hash algorithms applicable to VNF + snapshot packages are defined in ETSI GS NFV-SOL 010. NOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it @@ -50,15 +50,16 @@ definitions: has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfSnapshotInfoId: + vnfSnapshotId: description: > - Identifier of information held by the NFVO about a specific VNF snapshot. This identifier - is allocated by the NFVO during the VNF snapshot creation. + Identifier of specific VNF snapshot in the VNF snapshot package. + This identifier is allocated by the VNFM during the VNF snapshot creation. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfcSnapshotInfoIds: description: > - Identifier of information held by the NFVO about specific VNFC snapshot(s). This identifier - is allocated by the NFVO during the VNF snapshot creation. + Identifiers of information held by the VNFM about specific VNFC snapshots part + of the VNF snapshot and contained in the VNF snapshot package. This identifier + is allocated by the VNFM during the VNF snapshot creation. NOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it @@ -158,7 +159,7 @@ definitions: details: description: > Failure details containing error information (such as failed uploading or processing - operation, affected artefact, reason for cancellation, etc.). See clause 6.3 of + operation, affected artifact, reason for cancellation, etc.). See clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails" structure. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" userDefinedData: @@ -210,8 +211,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" checksum: description: > - Checksum of the snapshot image file. Permitted hashalgorithms are defined in - ETSI GS NFV-SOL 010. + Checksum of the snapshot image file. Hash algorithms applicable to VNF + snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > @@ -360,7 +361,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" checksum: description: > - Checksum of the artifact file. Permitted hash algorithms are defined in ETSI GS NFV-SOL 010. + Checksum of the artifact file. Hash algorithms applicable to VNF + snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > @@ -390,7 +392,8 @@ definitions: description: > Path which allows to access a copy of the VNFD. The VNFD is implemented as a collection of one or more files, and the path refers to the ZIP archive - file embedding these files as specified in the ETSI GS NFV-SOL 010. + file embedding these files. The VNF snapshot package format is defined + specified in the ETSI GS NFV-SOL 010. The value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as "." and "/". @@ -398,8 +401,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" checksum: description: > - Checksum of the VNFD archive file. Permitted hash algorithms are defined in - ETSI GS NFV-SOL 004. + Checksum of the VNFD archive file. Hash algorithms applicable to VNF + snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > @@ -426,8 +429,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" checksum: description: > - Checksum of the VNF snapshot record file. Permitted hash algorithms are defined in - ETSI GS NFV-SOL 010. + Checksum of the VNF snapshot record file. Hash algorithms applicable to VNF + snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index 1a3ef012..653786da 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -98,7 +98,7 @@ definitions: rootCauseFaultyResource: description: > The virtualised resources that are causing the VNF fault. - Shall be present if the alarm affects virtualized resources. + Shall be present if the alarm affects virtualised resources. $ref: "#/definitions/FaultyResourceInfo" alarmRaisedTime: description: > @@ -154,7 +154,7 @@ definitions: description: > Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute - "correlatedAlarmId" are caused by this fault. + "correlatedAlarmIds" are caused by this fault. type: boolean correlatedAlarmIds: description: > diff --git a/src/definitions/SOL002SOL003VNFIndicator_def.yaml b/src/definitions/SOL002SOL003VNFIndicator_def.yaml index 7dc38d5e..8270a897 100644 --- a/src/definitions/SOL002SOL003VNFIndicator_def.yaml +++ b/src/definitions/SOL002SOL003VNFIndicator_def.yaml @@ -51,8 +51,8 @@ definitions: VnfIndicatorNotificationsFilter: description: > - This type represents a subscription filter related to notifications - about VNF indicator value changes. + This type represents a subscription filter for notifications + related to VNF indicators. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is @@ -220,6 +220,84 @@ definitions: Link to the related "Individual VNF instance" resource. Shall be present if the VNF instance information is accessible as a resource. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" + subscription: + description: > + Link to the related subscription. + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" + + SupportedIndicatorsChangeNotification: + description: > + This type represents a notification to inform the receiver that the set of indicators supported + by a VNF instance has changed. It shall comply with the provisions defined in table 8.5.2.6-1. + The notification shall be triggered by the VNFM when the set of supported VNF indicators has changed + as a side effect of the "Change current VNF package" operation. It may be triggered by the VNFM when + a VNF has been instantiated. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfInstanceId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple times + due to multiple subscriptions, the "id" attribute of all these notifications + shall have the same value. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "SupportedIndicatorsChangeNotification" for this notification type. + type: string + enum: + - VnfIndicatorValueChangeNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance which provides the indicator value. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + supportedIndicators: + description: > + Set of VNF indicators supported by the VNF instance. + type: array + items: + type: object + required: + - vnfIndicatorId + properties: + vnfIndicatorId: + description: > + Identifier of the VNF indicator whose value has changed. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + name: + description: > + Human readable name of the VNF indicator. + Shall be present if defined in the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of + the VNFD based on TOSCA specifications. + $ref: string + _links: + description: > + Links for this resource. + type: object + required: + - subscription + properties: + vnfInstance: + description: > + Link to the related "Individual VNF instance" resource. Shall be present + if the VNF instance information is accessible as a resource. + $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index f799b809..04c5b095 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -185,7 +185,7 @@ definitions: objectInstance: description: > Link to the resource representing the measured object instance to which the - notified change applies. Shall be present if the measured object instance + notification applies. Shall be present if the measured object instance information is accessible as a resource. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" pmJob: @@ -404,7 +404,7 @@ definitions: New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body, these modifications shall be applied according to the - rules of JSON Merge PATCH. + rules of JSON Merge Patch (see IETF RFC 7396). This attribute shall not be present in response bodies. At least one of the attributes defined in this type shall be present in request bodies. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" @@ -561,7 +561,7 @@ definitions: New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body, these modifications shall be applied according to the - rules of JSON Merge PATCH. + rules of JSON Merge PATCH (see IETF RFC 7396). This attribute shall not be present in response bodies. At least one of the attributes defined in this type shall be present in request bodies. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" -- GitLab From 2868cf3f2d8a05526f87b99d5e5b51b0f7363784 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 13:06:04 +0200 Subject: [PATCH 095/116] SOL003: Fixins definition files' names --- ...ting_def.yaml => SOL003VNFLifecycleOperationGranting_def.yaml} | 0 ...ageManagement_def.yaml => SOL003VNFPackageManagement_def.yaml} | 0 ...n_def.yaml => SOL003VNFPackageManagementNotification_def.yaml} | 0 ...ement_def.yaml => SOL003VNFSnapshotPackageManagement_def.yaml} | 0 ...SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename src/SOL003/VNFLifecycleOperationGranting/definitions/{VNFLifecycleOperationGranting_def.yaml => SOL003VNFLifecycleOperationGranting_def.yaml} (100%) rename src/SOL003/VNFPackageManagement/definitions/{VNFPackageManagement_def.yaml => SOL003VNFPackageManagement_def.yaml} (100%) rename src/SOL003/VNFPackageManagementNotification/definitions/{VNFPackageManagementNotification_def.yaml => SOL003VNFPackageManagementNotification_def.yaml} (100%) rename src/SOL003/VNFSnapshotPackageManagement/definitions/{VNFSnapshotPackageManagement_def.yaml => SOL003VNFSnapshotPackageManagement_def.yaml} (100%) rename src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/{VirtualisedResourcesQuotaAvailableNotification_def.yaml => SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml} (100%) diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml similarity index 100% rename from src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml rename to src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml similarity index 100% rename from src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml rename to src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml similarity index 100% rename from src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml rename to src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml diff --git a/src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml b/src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml similarity index 100% rename from src/SOL003/VNFSnapshotPackageManagement/definitions/VNFSnapshotPackageManagement_def.yaml rename to src/SOL003/VNFSnapshotPackageManagement/definitions/SOL003VNFSnapshotPackageManagement_def.yaml diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml similarity index 100% rename from src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml rename to src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml -- GitLab From 1c9ee83acbc9de84d0f805d15f85ac55f7334d35 Mon Sep 17 00:00:00 2001 From: Samir Medjiah Date: Mon, 6 Jul 2020 17:38:06 +0200 Subject: [PATCH 096/116] SOL003: fixing broken references --- .../VNFLifecycleManagement.yaml | 34 +- .../SOL003VNFLifecycleManagement_def.yaml | 353 +--------------- .../VNFLifecycleOperationGranting.yaml | 6 +- ...L003VNFLifecycleOperationGranting_def.yaml | 2 +- .../VNFPackageManagement.yaml | 18 +- .../VNFPackageManagementNotification.yaml | 4 +- ...3VNFPackageManagementNotification_def.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 4 +- ...edResourcesQuotaAvailableNotification.yaml | 8 +- .../SOL002SOL003VNFIndicator_def.yaml | 2 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 381 ++++++++++++++++-- ...002SOL003VNFPerformanceManagement_def.yaml | 3 +- src/definitions/SOL002SOL003_def.yaml | 18 + 13 files changed, 429 insertions(+), 406 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 59a4a42c..5d6334b9 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -109,7 +109,7 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker responses: 200: - $ref: '#/components/responses/VNFInstances.Get.20' + $ref: '#/components/responses/VNFInstances.Get.200' 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400" 401: @@ -1773,7 +1773,7 @@ paths: for URI query parameters, request and response data structures, and response codes. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Range + - $ref: '#/components/parameters/Range' responses: 200: $ref: '#/components/responses/IndividualVnfSnapshotState.Get.200' @@ -1857,6 +1857,19 @@ components: schema: type: string + Range: + name: Range + in: header + description: | + The request may contain a "Range" HTTP header to obtain single + range of bytes from a VNF state snapshot file. This can be used to + continue an aborted transmission. + If the "Range" header is present in the request and the VNFM + does not support responding to range requests with a 206 + response, it shall return a 200 OK response instead. + schema: + type: string + requestBodies: CreateVnfRequest: description: The VNF creation parameters @@ -2038,7 +2051,7 @@ components: content: application/json: schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" VNFInstances.Get.200: description: | @@ -2088,7 +2101,7 @@ components: schema: type: array items: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" IndividualVnfInstance.Get.200: description: | @@ -2121,8 +2134,8 @@ components: content: application/json: schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + IndividualVnfInstance.Patch.202: description: | 202 ACCEPTED @@ -2165,7 +2178,7 @@ components: content: application/json: schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" IndividualVnfInstance.Delete.204: description: | @@ -2924,7 +2937,7 @@ components: content: application/json: schema: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" VnfSnapshots.Get.200: description: | @@ -2970,7 +2983,7 @@ components: schema: type: array items: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Get.200: description: | @@ -3006,7 +3019,7 @@ components: schema: type: array items: - $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Patch.200: description: | @@ -3102,7 +3115,6 @@ components: type: string format: binary - IndividualVnfSnapshotState.Get.206: description: | 206 PARTIAL CONTENT diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index cc56938e..6470d28e 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -2,343 +2,6 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: - VnfInstance: - description: > - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - instantiationState - properties: - id: - description: > - Identifier of the VNF instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfInstanceName: - description: > - 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. - - Modifying the value of this attribute shall not be performed when conflicts - exist between the previous and the newly referred VNF package, - i.e. when the new VNFD is not changed with respect to the previous VNFD - in other aspects than merely referencing to other VNF software images. - In order to avoid misalignment of the VnfInstance with the current VNF's - on-boarded VNF Package, the values of attributes in the VnfInstance that - have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. - $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 - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the VNFD. - type: string - vnfSoftwareVersion: - description: > - Software version of the VNF. The value is copied from the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfdVersion: - description: > - Identifies the version of the VNFD. The value is copied from the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfConfigurableProperties: - description: > - Current values of the configurable properties of the VNF instance. - Configurable properties referred in this attribute are declared in - the VNFD. - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD - based on TOSCA specifications. - VNF configurable properties are sometimes also referred to as - configuration parameters applicable to a VNF. Some of these are set - prior to instantiation and cannot be modified if the VNF is - instantiated, some are set prior to instantiation (are part of - initial configuration) and can be modified later, and others can be - set only after instantiation. The applicability of certain - configuration may depend on the VNF and the required operation of - the VNF at a certain point in time. - These configurable properties include the following standard - attributes, which are declared in the VNFD if auto-scaling and/or - auto-healing are supported by the VNF: - * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If - set to true, auto-scaling is currently enabled. If set to false, - auto-scaling is currently disabled. - * isAutohealEnabled: If present, the VNF supports auto-healing. If - set to true, auto-healing is currently enabled. If set to false, - auto-healing is currently disabled. - These configurable properties can be initialized with default values - from the VNFD. - Configurable properties can be modified with values passed in the request - structures of certain LCM operations, such as the InstantiateVnfRequest - structure. - Further, these configurable properties can be created, modified or - deleted with the PATCH method. - - NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined - initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", - obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" - and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent - with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion - request. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. The keys of the map, each of - which identifies information about a particular VIM connection, - are managed by the NFVO and referenced from other data structures - via the "vimConnectionId" attribute. This attribute shall only - be supported and present if VNF-related resource management in - direct mode is pplicable. - This attribute can be modified with the PATCH method. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - instantiationState: - description: > - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This attribute - shall be present if the instantiateState attribute value is - INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: > - Identifier of the VNF deployment flavour applied to this VNF instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfState: - description: > - The state of the VNF instance. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. - Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. - This attribute shall be present if the VNF supports scaling. - See clause B.2 for an explanation of VNF scaling. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" - maxScaleLevels: - description: > - Maximum allowed scale levels of the VNF, one entry per aspect. - This attribute shall be present if the VNF supports scaling. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" - extCpInfo: - description: > - Information about the external CPs exposed by the VNF instance. When trunking is enabled, - the list of entries includes both, external CPs corresponding to parent ports of a trunk, - and external CPs associated to sub-ports of a trunk. - type: array - minItems: 1 - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo" - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is connected to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" - extManagedVirtualLinkInfo: - description: > - Information about the externally-managed internal VLs of the VNF instance. - - NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same - VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of - ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate - so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site - VL instance (refer to clause 5.5.3.3). - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" - monitoringParameters: - description: > - Active monitoring parameters. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" - localizationLanguage: - description: > - Information about localization language of the VNF (includes e.g. - strings in the VNFD). The localization languages supported by a VNF - can be declared in the VNFD, and localization language selection can - take place at instantiation time. - The value shall comply with the format defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage resources used - by the VNFCs of the VNF instance. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used by the VLs - of the VNF instance. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as storage for the VNF instance. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" - metadata: - description: > - Additional VNF-specific attributes that provide metadata describing the VNF instance. - These attributes represent values that are stored persistently in the VnfInstance structure - for consumption by functional blocks that invoke the VNF lifecycle management interface. - They are not consumed by the VNFM, or the lifecycle management scripts. - Modifying the values of these attributes has no effect on the VNF instance, it only affects - the information represented in the VnfInstance structure. - Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD. - The declaration of metadata in the VNFD can optionally contain the specification of initial values. - The VNFM shall accept requests to write metadata that are not declared in the VNFD. - These attributes can be initialized with default values from the VNFD or with values - passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). - This attributeThese attributes can be created, modified or removed with the PATCH method. - - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. - Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with - a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" - that have no declared initial value shall not be created, in order to be consistent with the semantics - of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. - These attributes represent values that are stored persistently in the VnfInstance structure - for consumption by the VNFM or the lifecycle management scripts during the execution of - VNF lifecycle management operations. - All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension - in the VNFD contains information on whether its presence is optional or required, and optionally - can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension - attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined - in clause 6.4 of ETSI GS NFV-SOL 013. - Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified - attribute values can be considered during subsequent VNF lifecycle management operations, which means that - the modified values can indirectly affect the configuration of the VNF instance. - These attributes can be initialized with default values from the VNFD. - These attributes can be modified with values passed in the request structures of certain LCM operations, - such as the InstantiateVnfRequest structure. - Further, these attributes can be created, modified or deleted with the PATCH method. - - NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined - initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", - obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" - and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent - with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion - request. - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: URI of this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - indicators: - description: Indicators related to this VNF instance, if applicable. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - instantiate: - description: > - Link to the "Instantiate VNF task" resource, if the related operation - is possible based on the current status of this VNF instance - resource (i.e. VNF instance in NOT_INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - terminate: - description: > - Link to the "Terminate VNF task" resource, if the related operation - is possible based on the current status of this VNF instance - resource (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scale: - description: > - Link to the "Scale VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource (i.e. VNF instance - is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scaleToLevel: - description: > - Link to the "Scale VNF to level task" resource, if the related - operation is supported for this VNF instance, and is possible - based on the current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeFlavour: - description: > - Link to the "Change VNF flavour task" resource, if the related - operation is supported for this VNF instance, and is possible - based on the current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - heal: - description: > - Link to the "Heal VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - operate: - description: > - Link to the "Operate VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeExtConn: - description: > - Link to the "Change external VNF connectivity task" resource, if the related - operation is possible based on the current status of this VNF - instance resource (i.e. VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - createSnapshot: - description: > - Link to the "Create VNF snapshot task" resource, if the related operation is - supported for this VNF instance and is possible based on the current status of - this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - revertToSnapshot: - description: > - Link to the "Revert to VNF snapshot task" resource, if the related operation is - supported for this VNF instance and is possible based on the current status of - this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - InstantiateVnfRequest: #SOL003 location: 5.5.2.4 type: object @@ -875,6 +538,22 @@ definitions: Information about the VNF snapshot, content and/or reference to its content. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" + RevertToVnfSnapshotRequest: + description: > + This type represents request parameters for the "Revert to VNF Snapshot" operation. + type: object + properties: + vnfSnapshotInfoId: + description: > + Identifier of the "Individual VNF snapshot" resource with the information of the VNF snapshot + to be reverted to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + additionalParams: + description: > + Additional input parameters for the revert to VNF snapshot process, specific for the VNF being + “reverted”, as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig”. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfSnapshotInfoModificationRequest: description: | This type represents attribute modifications for an "Individual VNF snapshot" resource, i.e. modifications diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 398e606f..fdf97a5d 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -163,7 +163,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest" + $ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest" required: true responses: @@ -201,7 +201,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + $ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" Grants.Post.202: description: | @@ -260,7 +260,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" + $ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/Grant" IndividualGrant.Get.202: description: | diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index ed41fc28..7fdc4f6d 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -463,7 +463,7 @@ definitions: Information to identify a snapshot resource. Shall only be present if the operation to be granted concerns to creating a VNF snapshot from the VNF or to reverting the VNF to a VNF snapshot. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SnapshotResourceDefinition" + $ref: "#/definitions/SnapshotResourceDefinition" GrantInfo: description: > diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index c54bed83..7e6f2754 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -891,7 +891,7 @@ paths: # "Range" header did not match any available byte range in the artifact file # (e.g. "access after end of file"). # The response body may contain a ProblemDetails structure. - # $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" + $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500" 503: @@ -1170,7 +1170,7 @@ components: If the "Range" header is present in the request and the NFVO does not support responding to range requests with a 206 response, - it shall return a 200 OK response instead as defined below. + it shall return a 200 OK response instead. required: false schema: type: string @@ -1184,7 +1184,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" required: true responses: @@ -1235,7 +1235,7 @@ components: schema: type: array items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" IndividualVnfPackage.Get.200: description: | @@ -1267,7 +1267,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" IndividualOnboardedVnfPackage.Get.200: description: | @@ -1299,7 +1299,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" VnfdInIndividualVnfPackage.Get.200: description: | @@ -1989,7 +1989,7 @@ components: schema: type: array items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" Subscriptions.Get.200: description: | @@ -2038,7 +2038,7 @@ components: schema: type: array items: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" IndividualSubscription.Get.200: description: | @@ -2070,7 +2070,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" IndividualSubscription.Delete.204: description: | diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 1a9cb2ca..f8e6bf04 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -164,7 +164,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" + $ref: "definitions/SOL003VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" required: true VnfPackageChangeNotification: @@ -173,7 +173,7 @@ components: content: application/json: schema: - $ref: "definitions/VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" + $ref: "definitions/SOL003VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" required: true responses: diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml index d12e46ef..c78f7e22 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/SOL003VNFPackageManagementNotification_def.yaml @@ -134,7 +134,7 @@ definitions: description: > New operational state of the VNF package. Only present when changeType is OP_STATE_CHANGE. - $ref: "../../VNFPackageManagement/definitions/VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType" + $ref: "../../VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType" _links: description: > Links to resources related to this notification. diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 491fd0cd..e7ed353d 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -290,7 +290,7 @@ components: schema: type: array items: - $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/VnfSnapshotPkgInfo + $ref: definitions/SOL003VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgInfo IndividualVNFSnapshotPackages.Get.200: description: | @@ -323,7 +323,7 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/VnfSnapshotPkgInfo + $ref: definitions/SOL003VNFSnapshotPackageManagement_def.yaml#/definitions/VnfSnapshotPkgInfo PackageContent.Get.200: description: | diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 01f41fdd..4ef637af 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -240,7 +240,7 @@ components: content: application/json: schema: - $ref: "xxx/VrQuotaAvailSubscriptionRequest" + $ref: "./definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscriptionRequest" required: true @@ -286,7 +286,7 @@ components: content: application/json: schema: - $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + $ref: ./definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription Subscriptions.Get.200: description: | @@ -336,7 +336,7 @@ components: schema: type: array items: - $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + $ref: ./definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription Subscriptions.Get.204: description: | @@ -393,7 +393,7 @@ components: content: application/json: schema: - $ref: ./definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription + $ref: ./definitions/SOL003VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription IndividualSubscription.Delete.204: description: | diff --git a/src/definitions/SOL002SOL003VNFIndicator_def.yaml b/src/definitions/SOL002SOL003VNFIndicator_def.yaml index 8270a897..978c3500 100644 --- a/src/definitions/SOL002SOL003VNFIndicator_def.yaml +++ b/src/definitions/SOL002SOL003VNFIndicator_def.yaml @@ -285,7 +285,7 @@ definitions: Shall be present if defined in the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. - $ref: string + type: string _links: description: > Links for this resource. diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 87f460b9..3bc90c5b 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1446,26 +1446,26 @@ definitions: description: > Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by the VNFM and is unique within the scope of a VNF snapshot. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" vnfcInstanceId: description: > Identifier of the snapshotted VNFC instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" creationStartedAt: description: > Timestamp indicating when the VNF snapshot creation has been started by the VNFM. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" creationFinishedAt: description: > Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot creation has been completed by the VNFM. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfcResourceInfoId: description: > Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the "VnfSnapshot" structure. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" computeSnapshotResource: description: > Reference to a compute snapshot resource. @@ -1473,7 +1473,7 @@ definitions: being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result o f the "Create VNF snapshot task". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" storageSnapshotResources: description: > Mapping of the storage resources associated to the VNFC with the storage snapshot resources. @@ -1487,7 +1487,7 @@ definitions: description: > Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents the virtual storage resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" storageSnapshotResource: description: > Reference to a storage snapshot resource. @@ -1496,29 +1496,11 @@ definitions: individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the "Create VNF snapshot task". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" userDefinedData: description: > User defined data for the VNFC snapshot. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - VnfLinkPortData: - description: > - This type represents an externally provided link port to be used to connect a VNFC connection point - to an exernallymanaged VL. - type: object - required: - - vnfLinkPortId - - resourceHandle - properties: - vnfLinkPortId: - description: > - Identifier of this link port as provided by the entity that has created the link port. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - resourceHandle: - description: > - Resource handle of the virtualised resource that realizes the link port. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfOperationalStateType: description: > @@ -1914,7 +1896,7 @@ definitions: Information about the VNF snapshot, content and/or references to its content. Shall be present when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package. - $ref: "SOL002SOL003_def.yaml#/definitions/VnfSnapshot" + $ref: "#/definitions/VnfSnapshot" _links: description: > Links to resources related to this resource. @@ -1983,8 +1965,7 @@ definitions: This attribute shall not be present before the VNF snapshot has been completed. Otherwise, this attribute shall be present if the VNF snapshot has associated additional VNF-specific state data. - type: - $ref: '#/definitions/VnfStateSnapshotInfo' + $ref: '#/definitions/VnfStateSnapshotInfo' userDefinedData: description: > User defined data for the VNF snapshot. @@ -2008,6 +1989,343 @@ definitions: VNFspecific state data. $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + VnfInstance: + description: > + This type represents a VNF instance. + type: object + required: + - id + - vnfdId + - vnfProvider + - vnfProductName + - vnfSoftwareVersion + - vnfdVersion + - instantiationState + properties: + id: + description: > + Identifier of the VNF instance. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceName: + description: > + 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. + + Modifying the value of this attribute shall not be performed when conflicts + exist between the previous and the newly referred VNF package, + i.e. when the new VNFD is not changed with respect to the previous VNFD + in other aspects than merely referencing to other VNF software images. + In order to avoid misalignment of the VnfInstance with the current VNF's + on-boarded VNF Package, the values of attributes in the VnfInstance that + have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. + $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 + vnfProductName: + description: > + Name to identify the VNF Product. The value is copied from the VNFD. + type: string + vnfSoftwareVersion: + description: > + Software version of the VNF. The value is copied from the VNFD. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + Identifies the version of the VNFD. The value is copied from the VNFD. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfConfigurableProperties: + description: > + Current values of the configurable properties of the VNF instance. + Configurable properties referred in this attribute are declared in + the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD + based on TOSCA specifications. + VNF configurable properties are sometimes also referred to as + configuration parameters applicable to a VNF. Some of these are set + prior to instantiation and cannot be modified if the VNF is + instantiated, some are set prior to instantiation (are part of + initial configuration) and can be modified later, and others can be + set only after instantiation. The applicability of certain + configuration may depend on the VNF and the required operation of + the VNF at a certain point in time. + These configurable properties include the following standard + attributes, which are declared in the VNFD if auto-scaling and/or + auto-healing are supported by the VNF: + * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If + set to true, auto-scaling is currently enabled. If set to false, + auto-scaling is currently disabled. + * isAutohealEnabled: If present, the VNF supports auto-healing. If + set to true, auto-healing is currently enabled. If set to false, + auto-healing is currently disabled. + These configurable properties can be initialized with default values + from the VNFD. + Configurable properties can be modified with values passed in the request + structures of certain LCM operations, such as the InstantiateVnfRequest + structure. + Further, these configurable properties can be created, modified or + deleted with the PATCH method. + + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vimConnectionInfo: + description: > + Information about VIM connections to be used for managing the + resources for the VNF instance. The keys of the map, each of + which identifies information about a particular VIM connection, + are managed by the NFVO and referenced from other data structures + via the "vimConnectionId" attribute. This attribute shall only + be supported and present if VNF-related resource management in + direct mode is pplicable. + This attribute can be modified with the PATCH method. + type: array + items: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + instantiationState: + description: > + The instantiation state of the VNF. + type: string + enum: + - NOT_INSTANTIATED + - INSTANTIATED + instantiatedVnfInfo: + description: > + Information specific to an instantiated VNF instance. This attribute + shall be present if the instantiateState attribute value is + INSTANTIATED. + type: object + required: + - flavourId + - vnfState + properties: + flavourId: + description: > + Identifier of the VNF deployment flavour applied to this VNF instance. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfState: + description: > + The state of the VNF instance. + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" + scaleStatus: + description: > + Scale status of the VNF, one entry per aspect. + Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. + This attribute shall be present if the VNF supports scaling. + See clause B.2 for an explanation of VNF scaling. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" + maxScaleLevels: + description: > + Maximum allowed scale levels of the VNF, one entry per aspect. + This attribute shall be present if the VNF supports scaling. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" + extCpInfo: + description: > + Information about the external CPs exposed by the VNF instance. When trunking is enabled, + the list of entries includes both, external CPs corresponding to parent ports of a trunk, + and external CPs associated to sub-ports of a trunk. + type: array + minItems: 1 + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo" + extVirtualLinkInfo: + description: > + Information about the external VLs the VNF instance is connected to. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + extManagedVirtualLinkInfo: + description: > + Information about the externally-managed internal VLs of the VNF instance. + + NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same + VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of + ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate + so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site + VL instance (refer to clause 5.5.3.3). + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" + monitoringParameters: + description: > + Active monitoring parameters. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" + localizationLanguage: + description: > + Information about localization language of the VNF (includes e.g. + strings in the VNFD). The localization languages supported by a VNF + can be declared in the VNFD, and localization language selection can + take place at instantiation time. + The value shall comply with the format defined in IETF RFC 5646. + type: string + vnfcResourceInfo: + description: > + Information about the virtualised compute and storage resources used + by the VNFCs of the VNF instance. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" + virtualLinkResourceInfo: + description: > + Information about the virtualised network resources used by the VLs + of the VNF instance. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" + virtualStorageResourceInfo: + description: > + Information on the virtualised storage resource(s) used as storage for the VNF instance. + type: array + items: + $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + metadata: + description: > + Additional VNF-specific attributes that provide metadata describing the VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure + for consumption by functional blocks that invoke the VNF lifecycle management interface. + They are not consumed by the VNFM, or the lifecycle management scripts. + Modifying the values of these attributes has no effect on the VNF instance, it only affects + the information represented in the VnfInstance structure. + Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD. + The declaration of metadata in the VNFD can optionally contain the specification of initial values. + The VNFM shall accept requests to write metadata that are not declared in the VNFD. + These attributes can be initialized with default values from the VNFD or with values + passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). + This attributeThese attributes can be created, modified or removed with the PATCH method. + + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with + a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" + that have no declared initial value shall not be created, in order to be consistent with the semantics + of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure + for consumption by the VNFM or the lifecycle management scripts during the execution of + VNF lifecycle management operations. + All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension + in the VNFD contains information on whether its presence is optional or required, and optionally + can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension + attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined + in clause 6.4 of ETSI GS NFV-SOL 013. + Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified + attribute values can be considered during subsequent VNF lifecycle management operations, which means that + the modified values can indirectly affect the configuration of the VNF instance. + These attributes can be initialized with default values from the VNFD. + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. + Further, these attributes can be created, modified or deleted with the PATCH method. + + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: URI of this resource. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + indicators: + description: Indicators related to this VNF instance, if applicable. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + instantiate: + description: > + Link to the "Instantiate VNF task" resource, if the related operation + is possible based on the current status of this VNF instance + resource (i.e. VNF instance in NOT_INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + terminate: + description: > + Link to the "Terminate VNF task" resource, if the related operation + is possible based on the current status of this VNF instance + resource (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scale: + description: > + Link to the "Scale VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource (i.e. VNF instance + is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scaleToLevel: + description: > + Link to the "Scale VNF to level task" resource, if the related + operation is supported for this VNF instance, and is possible + based on the current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeFlavour: + description: > + Link to the "Change VNF flavour task" resource, if the related + operation is supported for this VNF instance, and is possible + based on the current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + heal: + description: > + Link to the "Heal VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + operate: + description: > + Link to the "Operate VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeExtConn: + description: > + Link to the "Change external VNF connectivity task" resource, if the related + operation is possible based on the current status of this VNF + instance resource (i.e. VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + createSnapshot: + description: > + Link to the "Create VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + revertToSnapshot: + description: > + Link to the "Revert to VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" + VnfStateSnapshotInfo: description: > This type represents information about VNF-specific state snapshot data. @@ -2020,17 +2338,14 @@ definitions: description: > Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. - type: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" isEncrypted: description: > Reflects whether the VNF state snapshot content is encrypted (true) or not (false). - type: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" metadata: description: > The metadata with additional information such as content type, size, creation date, etc. - type: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfcInfoModifications: diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 04c5b095..52e47ec2 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -301,8 +301,7 @@ definitions: Type of the measured object. The applicable measured object type for a measurement is defined in clause 7.2 of ETSI GS NFV-IFA 027. - type: - string + type: string objectInstanceIds: description: > Identifiers of the VNF instances for which performance information diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 3ef766c5..49543e36 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -725,6 +725,24 @@ definitions: ######################################################################################################################## # TO CHECK IF INCLUDE THESE DATA TYPES IN ANOTHER DEF FILES + VnfLinkPortData: + description: > + This type represents an externally provided link port to be used to connect a VNFC connection point + to an exernally managed VL. + type: object + required: + - vnfLinkPortId + - resourceHandle + properties: + vnfLinkPortId: + description: > + Identifier of this link port as provided by the entity that has created the link port. + $ref: "#/definitions/Identifier" + resourceHandle: + description: > + Resource handle of the virtualised resource that realizes the link port. + $ref: "#/definitions/ResourceHandle" + ExtLinkPortData: description: > This type represents an externally provided link port to be used to -- GitLab From c17914f219f84244fe684b32c2621ba5134ab287 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 30 Jul 2020 11:46:22 +0200 Subject: [PATCH 097/116] Fixed issues on SOL003 from SOL WG review --- .../SOL003VNFLifecycleManagement_def.yaml | 25 ++++++++++--------- ...OL002SOL003VNFLifecycleManagement_def.yaml | 6 ++--- src/definitions/SOL002SOL003_def.yaml | 4 +-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 6470d28e..ec3411ab 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -48,9 +48,10 @@ definitions: VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + localizationLanguage: description: > Localization language of the VNF to be instantiated. The value shall @@ -125,8 +126,8 @@ definitions: VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" additionalParams: description: > @@ -271,8 +272,8 @@ definitions: external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" additionalParams: description: > @@ -324,8 +325,8 @@ definitions: external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" additionalParams: description: > @@ -392,8 +393,8 @@ definitions: Modifications of the "vimConnectionInfo" attribute. If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396 ). - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" VnfInfoModifications: @@ -435,8 +436,8 @@ definitions: description: > If present, this attribute signals modifications the "vimConnectionInfo" attribute array in "VnfInstance". - type: array - items: + type: object + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" vnfdId: description: > diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 3bc90c5b..059e285f 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -2094,9 +2094,9 @@ definitions: be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method. - type: array - items: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + type: object + additionalProperties: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" instantiationState: description: > The instantiation state of the VNF. diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 49543e36..ed16602e 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -340,8 +340,8 @@ definitions: by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the "VnfExtCpData" structure from its parent data structure. - type: array - items: + type: object + additionalProperties: $ref: "#/definitions/VnfExtCpConfig" VnfExtCpConfig: -- GitLab From 08a15a66d6bcb420537d1963ad9d748189865073 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 30 Jul 2020 12:16:56 +0200 Subject: [PATCH 098/116] fix bad reference in VnfInstance --- src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 059e285f..58dff3c4 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -2096,7 +2096,7 @@ definitions: This attribute can be modified with the PATCH method. type: object additionalProperties: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" instantiationState: description: > The instantiation state of the VNF. -- GitLab From 614504aec005b53378740e65f701bddf6279249b Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 31 Jul 2020 17:52:31 +0200 Subject: [PATCH 099/116] SOL002 fixes --- .../VNFLifecycleManagement.yaml | 6 +- .../SOL002VNFLifecycleManagement_def.yaml | 729 +++++++++++++++++- ...NFLifecycleManagementNotification_def.yaml | 29 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 12 +- 4 files changed, 756 insertions(+), 20 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index ba9dc9b1..1152191e 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1925,7 +1925,7 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc IndividualVnfLcmOpOcc.Get: description: | @@ -1956,7 +1956,7 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc VnfLcmOpOccRetry.Post: description: | @@ -2031,7 +2031,7 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc VnfLcmOpOccCancel.Post: description: | diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 99ab726e..47a478be 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -159,7 +159,7 @@ definitions: multi-site VL instance (refer to clause 5.5.3.5). type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" + $ref: "#/definitions/ExtManagedVirtualLinkInfo" monitoringParameters: description: > Active monitoring parameters. @@ -180,20 +180,20 @@ definitions: by the VNFCs of the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" + $ref: "#/definitions/VnfcResourceInfo" vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" + $ref: "#/definitions/VnfVirtualLinkResourceInfo" vnfVirtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + $ref: "#/definitions/VirtualStorageResourceInfo" vnfcInfo: description: > Information about the VNFC instances. @@ -353,7 +353,7 @@ definitions: externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" localizationLanguage: description: > Localization language of the VNF to be instantiated. The value shall @@ -410,7 +410,7 @@ definitions: externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" additionalParams: description: > Additional input parameters for the instantiation process, specific @@ -591,7 +591,7 @@ definitions: externally-managed internal VLs are managed by the NFVO and created towards the VIM. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" additionalParams: description: > Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying @@ -898,4 +898,717 @@ definitions: type: string enum: - FORCEFUL - - GRACEFUL \ No newline at end of file + - GRACEFUL + + ExtManagedVirtualLinkData: + type: object + required: + - id + - virtualLinkDescId + - resourceId + properties: + id: + description: > + The identifier of the externally-managed internal VL instance. The + identifier is assigned by the NFV-MANO entity that manages this VL + instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfVirtualLinkDescId: + description: > + The identifier of the VLD in the VNFD for this VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vimConnectionId: + description: > + Identifier of the VIM connection to manage this resource. This + attribute shall only be supported and present if VNF-related + resource management in direct mode is applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceProviderId: + description: > + Identifies the entity responsible for the management of this + resource. This attribute shall only be supported and present if + VNF-related resource management in indirect mode is applicable. The + identification scheme is outside the scope of the present document. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceId: + description: > + The identifier of the resource in the scope of the VIM or the + resource provider. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" + vnfLinkPort: + description: > + Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL + on this network resource. If this attribute is not present, the VNFM shall create the link ports on the + externally-managed VL. + type: array + items: + $$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfLinkPortData" + + ExtManagedVirtualLinkInfo: + type: object + required: + - id + - vnfVirtualLinkDescId + - networkResource + properties: + id: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfVirtualLinkDescId: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + networkResource: + description: > + Reference to the VirtualNetwork resource providing this VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPorts: + description: > + Link ports of this VL. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo" + + VnfcResourceInfo: + description: > + This type represents the information on virtualised compute and storage + resources used by a VNFC in a VNF instance. + type: object + required: + - id + - vduId + - computeResource + properties: + id: + description: > + Identifier of this VnfcResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Reference to the applicable VDU in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + computeResource: + description: > + Reference to the VirtualCompute resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageResourceIds: + description: > + References to the VirtualStorage resources. The value refers to a + VirtualStorageResourceInfo item in the VnfInstance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcCpInfo: + description: > + All the CPs of the VNFC instance. + Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance + or is connected to an external CP of the VNF instance. + A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. + A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. + May be present otherwise. + type: array + items: + type: object + required: + - id + - cpdId + properties: + id: + description: > + Identifier of this VNFC CP instance and the associated array + entry. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VDU CPD, cpdId, in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfExtCpId: + description: > + Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of + the VNF instance or connected to an external CP of the VNF instance (see note) and shall be absent otherwise. + + NOTE: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes + an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. + The information can be omitted because it is already available as part of the external CP information. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" + vnfLinkPortId: + description: > + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if + the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this CP. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfVirtualLinkResourceInfo: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by an internal VL instance in a VNF instance. + type: object + required: + - id + - vnfVirtualLinkDescId + - networkResource + properties: + id: + description: > + Identifier of this VnfVirtualLinkResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + networkResource: + description: > + Reference to the VirtualNetwork resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfLinkPorts: + description: > + Links ports of this VL. + Shall be present when the linkPort is used for external connectivity + by the VNF (refer to VnfLinkPortInfo). + May be present otherwise. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VirtualStorageResourceInfo: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by a VNF instance. + type: object + required: + - id + - virtualStorageDescId + - storageResource + properties: + id: + description: > + Identifier of this VirtualStorageResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the VirtualStorageDesc in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + storageResource: + description: > + Reference to the VirtualStorage resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedVnfc: + description: > + This type provides information about added, deleted, modified and + temporary VNFCs. + type: object + required: + - id + - vduId + - changeType + - computeResource + properties: + id: + description: > + Identifier of the Vnfc instance, identifying the applicable + "vnfcResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Identifier of the related VDU in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is + associated to a VDU which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + computeResource: + description: > + Reference to the VirtualCompute resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when + an applicable GrantInfo for thegranted resource exists. See note. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfcResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + affectedVnfcCpIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + addedStorageResourceIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + removedStorageResourceIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" + attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. + type: object + oneOf: + - required: + - changedInfo + - required: + - modificationsTriggeredByVnfPkgChange + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state has been entered. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM (i.e. + ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). Set to false otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + operationParams: + description: > + 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 + * SCALE_TO_LEVEL: ScaleVnfToLevelRequest + * CHANGE_FLAVOUR: ChangeVnfFlavourRequest + * OPERATE: OperateVnfRequest + * HEAL: HealVnfRequest + * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest + * TERMINATE: TerminateVnfRequest + * MODIFY_INFO: VnfInfoModifications + * CREATE_SNAPSHOT: CreateVnfSnapshotRequest + * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest + * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest + type: object + isCancelPending: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present when + isCancelPending=true, and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" + error: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + 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. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of + signaling affected VL instances involving the addition of a particular VL + instance with links ports, one "AffectedVirtualLink" entry signals the + addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" + structure equal to "ADDED", and another "AffectedVirtualLink" entry signals + the addition of VNF link ports of the VL by using the "changeType" equal to + "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. This allows + the API consumer to obtain the information contained in the latest "result" notification if it has not + received it due to an error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the API consumer to obtain the information contained + in the latest "result" notification if it has not received it due to + an error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, + if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + This allows the API consumer to obtain the information contained in the latest "result" notification if it has + not received it due to an error or a wrongly configured subscription filter. + Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" + vnfSnapshotInfoId: + description: > + Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, + i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" operation + for this VNF LCM operation occurrence, if cancelling is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "retry" operation + for this VNF LCM operation occurrence, if retrying is currently + allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this VNF LCM operation occurrence, if rolling back + is currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" operation + for this VNF LCM operation occurrence, if declaring as failed is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfSnapshot: + description: > + Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. + Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AffectedVirtualLink: + description: > + This type provides information about added, deleted, modified and + temporary VLs, and added or removed VNF link ports. + type: object + required: + - id + - vnfVirtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is + associated to a VLD which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in + the "vnfLinkPortIds" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPortIds: + description: > + Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. + Each identifier references a "VnfLinkPortInfo" structure. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related + “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the + “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the + "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedVirtualStorage: + description: > + This type provides information about added, deleted, modified and + temporary virtual storage resources. + type: object + required: + - id + - virtualStorageDescId + - changeType + - storageResource + properties: + id: + description: > + Identifier of the storage instance, identifying the applicable + "virtualStorageResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the related VirtualStorage descriptor in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage + instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + storageResource: + description: > + Reference to the VirtualStorage resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VirtualStorageResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml index 34df7c9d..8ef457ad 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml @@ -102,6 +102,12 @@ definitions: triggered by auto-heal). Set to false otherwise. type: boolean + verbosity: + description: > + This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL". + If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM + operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType" vnfLcmOpOccId: description: > The identifier of the VNF lifecycle management operation occurrence @@ -119,7 +125,7 @@ definitions: handling procedures for that operation occurrence. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" + $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVnfc" affectedVirtualLinks: description: > Information about VL instances that were affected during the @@ -132,7 +138,17 @@ definitions: handling procedures for that operation occurrence. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" + and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains + information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures for that operation occurrence. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -145,7 +161,7 @@ definitions: handling procedures for that operation occurrence. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" + $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" changedInfo: description: > Information about the changed VNF instance information, including @@ -166,6 +182,13 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. + Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF + instance information, including VNF configurable properties. Shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" error: description: > Details of the latest error, if one has occurred during executing diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 58dff3c4..a21e26f8 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1331,12 +1331,12 @@ definitions: in the "Individual VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant". $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced VirtualNetwork - resource is placed. Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced VirtualNetwork + resource is placed. Shall be provided if this information is available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" metadata: description: > Metadata about this resource. -- GitLab From 62a038d2b9a59acf7cb44dbbcbd6a214a36ed0cc Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Fri, 31 Jul 2020 17:57:59 +0200 Subject: [PATCH 100/116] SOL002 fixes --- .../definitions/SOL002VNFLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 47a478be..5557f0b4 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -942,7 +942,7 @@ definitions: externally-managed VL. type: array items: - $$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfLinkPortData" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfLinkPortData" ExtManagedVirtualLinkInfo: type: object -- GitLab From 323f3147b1bc5d9c9ff1732eb68c41b1fed267c5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 3 Aug 2020 11:51:31 +0200 Subject: [PATCH 101/116] updated common data types --- .../SOL002VNFLifecycleManagement_def.yaml | 13 ++----------- .../SOL003VNFLifecycleManagement_def.yaml | 2 ++ 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 5557f0b4..ca8b9e5b 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -810,17 +810,6 @@ definitions: description: > User defined data for the VNF snapshot. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" VnfcSnapshotInfo: description: > @@ -988,6 +977,7 @@ definitions: - id - vduId - computeResource + - vnfcCpInfo properties: id: description: > @@ -1081,6 +1071,7 @@ definitions: - id - vnfVirtualLinkDescId - networkResource + - vnfLinkPorts properties: id: description: > diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index ec3411ab..d8676564 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -543,6 +543,8 @@ definitions: description: > This type represents request parameters for the "Revert to VNF Snapshot" operation. type: object + required: + - vnfSnapshotInfoId properties: vnfSnapshotInfoId: description: > -- GitLab From 5b7cfae31167393a40875e656d22909379cdabc4 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 6 Aug 2020 17:20:36 +0200 Subject: [PATCH 102/116] updated ref to common data type --- .../VNFLifecycleManagement.yaml | 6 +- .../SOL002VNFLifecycleManagement_def.yaml | 231 ------------------ 2 files changed, 3 insertions(+), 234 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 1152191e..8921864c 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1925,7 +1925,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" IndividualVnfLcmOpOcc.Get: description: | @@ -1956,7 +1956,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" VnfLcmOpOccRetry.Post: description: | @@ -2031,7 +2031,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" VnfLcmOpOccCancel.Post: description: | diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index ca8b9e5b..e44efc4a 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -1238,237 +1238,6 @@ definitions: items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - VnfLcmOpOcc: - description: > - This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" - attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. - type: object - oneOf: - - required: - - changedInfo - - required: - - modificationsTriggeredByVnfPkgChange - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - isCancelPending - properties: - id: - description: > - Identifier of this VNF lifecycle management operation occurrence. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - operationState: - description: > - The state of the LCM operation. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" - stateEnteredTime: - description: > - Date-time when the current state has been entered. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - startTime: - description: > - Date-time of the start of the operation. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfInstanceId: - description: > - Identifier of the VNF instance to which the operation applies - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - grantId: - description: > - 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. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - operation: - description: > - Type of the actual LCM operation represented by this VNF LCM - operation occurrence. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been triggered - by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" - operationParams: - description: > - 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 - * SCALE_TO_LEVEL: ScaleVnfToLevelRequest - * CHANGE_FLAVOUR: ChangeVnfFlavourRequest - * OPERATE: OperateVnfRequest - * HEAL: HealVnfRequest - * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest - * TERMINATE: TerminateVnfRequest - * MODIFY_INFO: VnfInfoModifications - * CREATE_SNAPSHOT: CreateVnfSnapshotRequest - * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest - * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest - type: object - isCancelPending: - description: > - 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. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" - cancelMode: - description: > - The mode of an ongoing cancellation. Shall be present when - isCancelPending=true, and shall be absent otherwise. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" - error: - description: > - 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. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - resourceChanges: - description: > - 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. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during the - lifecycle operation. - This allows the API consumer to obtain the information contained in - the latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "#/definitions/AffectedVnfc" - affectedVirtualLinks: - description: > - Information about VL instances that were affected during the - lifecycle operation. - This allows the API consumer to obtain the information contained in - the latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - For a particular affected VL, there shall be as many "AffectedVirtualLink" - entries as needed for signalling the different types of changes, i.e., - one per virtual link and change type. For instance, in the case of - signaling affected VL instances involving the addition of a particular VL - instance with links ports, one "AffectedVirtualLink" entry signals the - addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" - structure equal to "ADDED", and another "AffectedVirtualLink" entry signals - the addition of VNF link ports of the VL by using the "changeType" equal to - "LINK_PORT_ADDED". - type: array - items: - $ref: "#/definitions/AffectedVirtualLink" - affectedExtLinkPorts: - description: > - Information about external VNF link ports that were affected during the lifecycle operation. This allows - the API consumer to obtain the information contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were affected - during the lifecycle operation. - This allows the API consumer to obtain the information contained - in the latest "result" notification if it has not received it due to - an error or a wrongly configured subscription filter. - type: array - items: - $ref: "#/definitions/AffectedVirtualStorage" - changedInfo: - description: > - Information about the changed VNF instance information, including - VNF configurable properties, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" - changedExtConnectivity: - description: > - Information about changed external connectivity, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" - modificationsTriggeredByVnfPkgChange: - description: > - Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, - if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". - This allows the API consumer to obtain the information contained in the latest "result" notification if it has - not received it due to an error or a wrongly configured subscription filter. - Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" - vnfSnapshotInfoId: - description: > - Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, - i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: > - URI of this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - vnfInstance: - description: > - Link to the VNF instance that the operation applies to. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - grant: - description: > - Link to the grant for this operation, if one exists. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - cancel: - description: > - Link to the task resource that represents the "cancel" operation - for this VNF LCM operation occurrence, if cancelling is - currently allowed. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - retry: - description: > - Link to the task resource that represents the "retry" operation - for this VNF LCM operation occurrence, if retrying is currently - allowed. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - rollback: - description: > - Link to the task resource that represents the "rollback" - operation for this VNF LCM operation occurrence, if rolling back - is currently allowed. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - fail: - description: > - Link to the task resource that represents the "fail" operation - for this VNF LCM operation occurrence, if declaring as failed is - currently allowed. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - vnfSnapshot: - description: > - Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. - Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - AffectedVirtualLink: description: > This type provides information about added, deleted, modified and -- GitLab From 7d94cf23561c5f5c8a63913b3e7fe5ee45bb7e34 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 7 Aug 2020 16:24:09 +0200 Subject: [PATCH 103/116] fixed issues found by Nokia review --- .../definitions/SOL002VNFFaultManagement_def.yaml | 1 + .../definitions/SOL003VNFPackageManagement_def.yaml | 1 + src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml | 1 + src/definitions/SOL002SOL003_def.yaml | 4 ++-- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 20f70fe3..781b8834 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -129,6 +129,7 @@ definitions: PerceivedSeverityRequest: description: > This type represents the escalated value of the perceived severity for an alarm. + type: object required: - proposedPerceivedSeverity properties: diff --git a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml index ff51d394..0b82df5c 100644 --- a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml @@ -128,6 +128,7 @@ definitions: Specifies VNFMs compatible with the VNF. This information is copied from the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" userDefinedData: description: > User defined data for the VNF package. diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index a21e26f8..7b1cb509 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -933,6 +933,7 @@ definitions: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. + type: object required: - layerProtocol properties: diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index ed16602e..aaa54aac 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -195,7 +195,7 @@ definitions: items: type: string - VimConnectionInfo: + VnfExtCpData.VimConnectionInfo: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. @@ -586,7 +586,7 @@ definitions: type: object required: - id - - virtualLinkDescId + - vnfVirtualLinkDescId - resourceId properties: id: -- GitLab From 14f653d93b2996c0337b58fe13b676b790866606 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 7 Aug 2020 16:32:38 +0200 Subject: [PATCH 104/116] fix typo --- src/definitions/SOL002SOL003_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index aaa54aac..2d009dad 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -195,7 +195,7 @@ definitions: items: type: string - VnfExtCpData.VimConnectionInfo: + VimConnectionInfo: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. @@ -1058,4 +1058,4 @@ definitions: from the VNFC. type: array items: - $ref: "#/definitions/IdentifierInVnf" \ No newline at end of file + $ref: "#/definitions/IdentifierInVnf" -- GitLab From a8b86fb189e64177f0e3e89a9be9c762624e277c Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 17 Aug 2020 16:41:10 +0200 Subject: [PATCH 105/116] Fixes in datatypes --- .../VNFLifecycleManagement.yaml | 20 +- .../SOL003VNFLifecycleManagement_def.yaml | 1427 ++++++++++++++++- .../VNFLifecycleManagementNotification.yaml | 2 +- ...L003VNFLifecycleOperationGranting_def.yaml | 4 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 1325 --------------- src/definitions/SOL002SOL003_def.yaml | 98 +- 6 files changed, 1438 insertions(+), 1438 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5d6334b9..0b9527ed 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -2051,7 +2051,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" VNFInstances.Get.200: description: | @@ -2101,7 +2101,7 @@ components: schema: type: array items: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" IndividualVnfInstance.Get.200: description: | @@ -2134,7 +2134,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" IndividualVnfInstance.Patch.202: description: | @@ -2178,7 +2178,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" IndividualVnfInstance.Delete.204: description: | @@ -2546,7 +2546,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" IndividualVnfLcmOpOcc.Get.200: description: | @@ -2580,7 +2580,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" RollbackVnfLcmOpOcc.Post.202: description: | @@ -2659,7 +2659,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" CancelVnfLcmOpOcc.Post.202: description: | @@ -2937,7 +2937,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" VnfSnapshots.Get.200: description: | @@ -2983,7 +2983,7 @@ components: schema: type: array items: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Get.200: description: | @@ -3019,7 +3019,7 @@ components: schema: type: array items: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo" IndividualVnfSnapshot.Patch.200: description: | diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index ec3411ab..46d15c93 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -537,7 +537,7 @@ definitions: vnfSnapshot: description: | Information about the VNF snapshot, content and/or reference to its content. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" + $ref: "#/definitions/VnfSnapshot" RevertToVnfSnapshotRequest: description: > @@ -573,7 +573,7 @@ definitions: description: | New value of the "vnfSnapshot" attribute in "VnfSnapshotInfo". The value "null" is not permitted. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" + $ref: "#/definitions/VnfSnapshot" VnfSnapshotInfoModifications: description: | @@ -593,4 +593,1425 @@ definitions: description: | If present, this attribute signals modifications of the "vnfSnapshot" attribute in "VnfSnapshotInfo" as defined in clause 5.5.2.22. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" \ No newline at end of file + $ref: "#/definitions/VnfSnapshot" + + VnfInstance: + description: > + This type represents a VNF instance. + type: object + required: + - id + - vnfdId + - vnfProvider + - vnfProductName + - vnfSoftwareVersion + - vnfdVersion + - instantiationState + properties: + id: + description: > + Identifier of the VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceName: + description: > + 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. + + Modifying the value of this attribute shall not be performed when conflicts + exist between the previous and the newly referred VNF package, + i.e. when the new VNFD is not changed with respect to the previous VNFD + in other aspects than merely referencing to other VNF software images. + In order to avoid misalignment of the VnfInstance with the current VNF's + on-boarded VNF Package, the values of attributes in the VnfInstance that + have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. + $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 + vnfProductName: + description: > + Name to identify the VNF Product. The value is copied from the VNFD. + type: string + vnfSoftwareVersion: + description: > + Software version of the VNF. The value is copied from the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + Identifies the version of the VNFD. The value is copied from the VNFD. + $ref: "../../..//definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfConfigurableProperties: + description: > + Current values of the configurable properties of the VNF instance. + Configurable properties referred in this attribute are declared in + the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD + based on TOSCA specifications. + VNF configurable properties are sometimes also referred to as + configuration parameters applicable to a VNF. Some of these are set + prior to instantiation and cannot be modified if the VNF is + instantiated, some are set prior to instantiation (are part of + initial configuration) and can be modified later, and others can be + set only after instantiation. The applicability of certain + configuration may depend on the VNF and the required operation of + the VNF at a certain point in time. + These configurable properties include the following standard + attributes, which are declared in the VNFD if auto-scaling and/or + auto-healing are supported by the VNF: + * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If + set to true, auto-scaling is currently enabled. If set to false, + auto-scaling is currently disabled. + * isAutohealEnabled: If present, the VNF supports auto-healing. If + set to true, auto-healing is currently enabled. If set to false, + auto-healing is currently disabled. + These configurable properties can be initialized with default values + from the VNFD. + Configurable properties can be modified with values passed in the request + structures of certain LCM operations, such as the InstantiateVnfRequest + structure. + Further, these configurable properties can be created, modified or + deleted with the PATCH method. + + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vimConnectionInfo: + description: > + Information about VIM connections to be used for managing the + resources for the VNF instance. The keys of the map, each of + which identifies information about a particular VIM connection, + are managed by the NFVO and referenced from other data structures + via the "vimConnectionId" attribute. This attribute shall only + be supported and present if VNF-related resource management in + direct mode is pplicable. + This attribute can be modified with the PATCH method. + type: object + additionalProperties: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + instantiationState: + description: > + The instantiation state of the VNF. + type: string + enum: + - NOT_INSTANTIATED + - INSTANTIATED + instantiatedVnfInfo: + description: > + Information specific to an instantiated VNF instance. This attribute + shall be present if the instantiateState attribute value is + INSTANTIATED. + type: object + required: + - flavourId + - vnfState + properties: + flavourId: + description: > + Identifier of the VNF deployment flavour applied to this VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfState: + description: > + The state of the VNF instance. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" + scaleStatus: + description: > + Scale status of the VNF, one entry per aspect. + Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. + This attribute shall be present if the VNF supports scaling. + See clause B.2 for an explanation of VNF scaling. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" + maxScaleLevels: + description: > + Maximum allowed scale levels of the VNF, one entry per aspect. + This attribute shall be present if the VNF supports scaling. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" + extCpInfo: + description: > + Information about the external CPs exposed by the VNF instance. When trunking is enabled, + the list of entries includes both, external CPs corresponding to parent ports of a trunk, + and external CPs associated to sub-ports of a trunk. + type: array + minItems: 1 + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo" + extVirtualLinkInfo: + description: > + Information about the external VLs the VNF instance is connected to. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + extManagedVirtualLinkInfo: + description: > + Information about the externally-managed internal VLs of the VNF instance. + + NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same + VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of + ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate + so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site + VL instance (refer to clause 5.5.3.3). + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" + monitoringParameters: + description: > + Active monitoring parameters. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" + localizationLanguage: + description: > + Information about localization language of the VNF (includes e.g. + strings in the VNFD). The localization languages supported by a VNF + can be declared in the VNFD, and localization language selection can + take place at instantiation time. + The value shall comply with the format defined in IETF RFC 5646. + type: string + vnfcResourceInfo: + description: > + Information about the virtualised compute and storage resources used + by the VNFCs of the VNF instance. + type: array + items: + $ref: "#/definitions/VnfcResourceInfo" + virtualLinkResourceInfo: + description: > + Information about the virtualised network resources used by the VLs + of the VNF instance. + type: array + items: + $ref: "#/definitions/VnfVirtualLinkResourceInfo" + virtualStorageResourceInfo: + description: > + Information on the virtualised storage resource(s) used as storage for the VNF instance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + metadata: + description: > + Additional VNF-specific attributes that provide metadata describing the VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure + for consumption by functional blocks that invoke the VNF lifecycle management interface. + They are not consumed by the VNFM, or the lifecycle management scripts. + Modifying the values of these attributes has no effect on the VNF instance, it only affects + the information represented in the VnfInstance structure. + Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD. + The declaration of metadata in the VNFD can optionally contain the specification of initial values. + The VNFM shall accept requests to write metadata that are not declared in the VNFD. + These attributes can be initialized with default values from the VNFD or with values + passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). + This attributeThese attributes can be created, modified or removed with the PATCH method. + + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with + a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" + that have no declared initial value shall not be created, in order to be consistent with the semantics + of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure + for consumption by the VNFM or the lifecycle management scripts during the execution of + VNF lifecycle management operations. + All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension + in the VNFD contains information on whether its presence is optional or required, and optionally + can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension + attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined + in clause 6.4 of ETSI GS NFV-SOL 013. + Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified + attribute values can be considered during subsequent VNF lifecycle management operations, which means that + the modified values can indirectly affect the configuration of the VNF instance. + These attributes can be initialized with default values from the VNFD. + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. + Further, these attributes can be created, modified or deleted with the PATCH method. + + NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent + with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion + request. + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + indicators: + description: Indicators related to this VNF instance, if applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + instantiate: + description: > + Link to the "Instantiate VNF task" resource, if the related operation + is possible based on the current status of this VNF instance + resource (i.e. VNF instance in NOT_INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + terminate: + description: > + Link to the "Terminate VNF task" resource, if the related operation + is possible based on the current status of this VNF instance + resource (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scale: + description: > + Link to the "Scale VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource (i.e. VNF instance + is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scaleToLevel: + description: > + Link to the "Scale VNF to level task" resource, if the related + operation is supported for this VNF instance, and is possible + based on the current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeFlavour: + description: > + Link to the "Change VNF flavour task" resource, if the related + operation is supported for this VNF instance, and is possible + based on the current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + heal: + description: > + Link to the "Heal VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + operate: + description: > + Link to the "Operate VNF task" resource, if the related operation is + supported for this VNF instance, and is possible based on the + current status of this VNF instance resource + (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeExtConn: + description: > + Link to the "Change external VNF connectivity task" resource, if the related + operation is possible based on the current status of this VNF + instance resource (i.e. VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + createSnapshot: + description: > + Link to the "Create VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + revertToSnapshot: + description: > + Link to the "Revert to VNF snapshot task" resource, if the related operation is + supported for this VNF instance and is possible based on the current status of + this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VnfcResourceInfo: + description: > + This type represents the information on virtualised compute and storage + resources used by a VNFC in a VNF instance. + type: object + required: + - id + - vduId + - computeResource + properties: + id: + description: > + Identifier of this VnfcResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Reference to the applicable VDU in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + computeResource: + description: > + Reference to the VirtualCompute resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + zoneId: + description: > + The identifier of the resource zone, as managed by the + resource management layer (typically, the VIM), where + the referenced VirtualCompute resource is placed. + Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + storageResourceIds: + description: > + References to the VirtualStorage resources. The value refers to a + VirtualStorageResourceInfo item in the VnfInstance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcCpInfo: + description: > + All the CPs of the VNFC instance. + Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance + or is connected to an external CP of the VNF instance. + A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. + A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. + May be present otherwise. + type: array + items: + type: object + required: + - id + - cpdId + properties: + id: + description: > + Identifier of this VNFC CP instance and the associated array + entry. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VDU CPD, cpdId, in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfExtCpId: + description: > + Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of + the VNF instance or connected to an external CP of the VNF instance (see note) and shall be absent otherwise. + + NOTE: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes + an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. + The information can be omitted because it is already available as part of the external CP information. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" + vnfLinkPortId: + description: > + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if + the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this CP. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfSnapshotInfo: + description: > + This type represents an "Individual VNF snapshot" resource. + It shall comply with the provisions defined in table 5.5.2.22-1. + type: object + required: + - id + - _links + properties: + id: + description: > + Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshotPkgId: + description: > + Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the + “Individual VNF snapshot" resource is created from a VNF snapshot package extraction. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfSnapshot: + description: > + Information about the VNF snapshot, content and/or references to its content. Shall be present + when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the + corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package. + $ref: "#/definitions/VnfSnapshot" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + takenFrom: + description: > + Link to the VNF instance from which this snapshot was taken. Shall be present when the + "Individual VNF snapshot" resource is associated to a VNF snapshot created via the + corresponding "Create VNF snapshot" task resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VnfStateSnapshotInfo: + description: > + This type represents information about VNF-specific state snapshot data. + type: object + required: + - checksum + - isEncrypted + properties: + checksum: + description: > + Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts + are defined in ETSI GS NFV-SOL 010. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" + isEncrypted: + description: > + Reflects whether the VNF state snapshot content is encrypted (true) or not (false). + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + metadata: + description: > + The metadata with additional information such as content type, size, creation date, etc. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfSnapshot: + description: > + This type represents a VNF snapshot. + It shall comply with the provisions defined in table 5.5.2.23-1. + type: object + required: + - id + - vnfInstanceId + - triggeredAt + - vnfdId + - vnfInfo + - vnfcSnapshots + properties: + id: + description: > + Identifier of the VNF Snapshot. This identifier is allocated by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstanceId: + description: > + Identifier of the snapshotted VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + creationStartedAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + creationFinishedAt: + description: > + Timestamp indicating when the VNF snapshot has been completed by the VNFM. + Shall be present once the VNF snapshot creation has been completed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfdId: + description: > + Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfInstance: + description: > + VNF Instance information of the snapshotted VNF instance. This is a copy of the "ndividual VNF instance" resource. + $ref: '#/definitions/VnfInstance' + vnfcSnapshots: + description: > + Information about VNFC snapshots constituting this VNF snapshot. + type: array + items: + $ref: '#/definitions/VnfcSnapshotInfo' + vnfStateSnapshotInfo: + description: > + Information about VNF-specific state snapshot data. + This attribute shall not be present before the VNF snapshot has been completed. + Otherwise, this attribute shall be present if the VNF snapshot has associated + additional VNF-specific state data. + $ref: '#/definitions/VnfStateSnapshotInfo' + userDefinedData: + description: > + User defined data for the VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfStateSnapshot: + description: > + Link to the "VNF state snapshot" resource. This attribute shall not be + present before the VNF snapshot has been completed. Otherwise, this + attribute shall be present if the VNF snapshot has associated additional + VNFspecific state data. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VnfcSnapshotInfo: + description: > + This type represents a VNFC snapshot. + type: object + required: + - id + - vnfcInstanceId + - triggeredAt + - vnfcResourceId + properties: + id: + description: > + Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by + the VNFM and is unique within the scope of a VNF snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + vnfcInstanceId: + description: > + Identifier of the snapshotted VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + creationStartedAt: + description: > + Timestamp indicating when the VNF snapshot creation has been started by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + creationFinishedAt: + description: > + Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot + creation has been completed by the VNFM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfcResourceInfoId: + description: > + Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource + of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute + of the "VnfSnapshot" structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + computeSnapshotResource: + description: > + Reference to a compute snapshot resource. + The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot + being returned from the VIM as output data in the response message of the individual resource operations. + This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result o + f the "Create VNF snapshot task". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageSnapshotResources: + description: > + Mapping of the storage resources associated to the VNFC with the storage snapshot resources. + type: array + items: + type: object + required: + - storageResourceId + properties: + storageResourceId: + description: > + Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure + that represents the virtual storage resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + storageSnapshotResource: + description: > + Reference to a storage snapshot resource. + The identifier of the storage snapshot resource is assigned during creation of a VNFC + snapshot being returned from the VIM as output data in the response message of the + individual resource operations. This attribute shall only be present for a VNFC snapshot + with an associated storage resource and that has been newly created by the VNFM as a + result of the "Create VNF snapshot task". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + userDefinedData: + description: > + User defined data for the VNFC snapshot. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfVirtualLinkResourceInfo: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by an internal VL instance in a VNF instance. + type: object + required: + - id + - vnfVirtualLinkDescId + - networkResource + properties: + id: + description: > + Identifier of this VnfVirtualLinkResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + networkResource: + description: > + Reference to the VirtualNetwork resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced + VirtualNetwork resource is placed. Shall be provided if this + information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfLinkPorts: + description: > + Links ports of this VL. + Shall be present when the linkPort is used for external connectivity + by the VNF (refer to VnfLinkPortInfo). + May be present otherwise. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedVnfc: + description: > + This type provides information about added, deleted, modified and + temporary VNFCs. + type: object + required: + - id + - vduId + - changeType + - computeResource + properties: + id: + description: > + Identifier of the Vnfc instance, identifying the applicable + "vnfcResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Identifier of the related VDU in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is + associated to a VDU which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + computeResource: + description: > + Reference to the VirtualCompute resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when + an applicable GrantInfo for thegranted resource exists. See note. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource management + layer (typically, the VIM), where the referenced VirtualCompute resource is placed. + Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfcResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + affectedVnfcCpIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + addedStorageResourceIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + removedStorageResourceIds: + description: > + 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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" + attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. + type: object + oneOf: + - required: + - changedInfo + - required: + - modificationsTriggeredByVnfPkgChange + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state has been entered. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM (i.e. + ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). Set to false otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + operationParams: + description: > + 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 + * SCALE_TO_LEVEL: ScaleVnfToLevelRequest + * CHANGE_FLAVOUR: ChangeVnfFlavourRequest + * OPERATE: OperateVnfRequest + * HEAL: HealVnfRequest + * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest + * TERMINATE: TerminateVnfRequest + * MODIFY_INFO: VnfInfoModifications + * CREATE_SNAPSHOT: CreateVnfSnapshotRequest + * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest + * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest + type: object + isCancelPending: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present when + isCancelPending=true, and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" + error: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + 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. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of + signaling affected VL instances involving the addition of a particular VL + instance with links ports, one "AffectedVirtualLink" entry signals the + addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" + structure equal to "ADDED", and another "AffectedVirtualLink" entry signals + the addition of VNF link ports of the VL by using the "changeType" equal to + "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. This allows + the API consumer to obtain the information contained in the latest "result" notification if it has not + received it due to an error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the API consumer to obtain the information contained + in the latest "result" notification if it has not received it due to + an error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, + if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + This allows the API consumer to obtain the information contained in the latest "result" notification if it has + not received it due to an error or a wrongly configured subscription filter. + Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" + vnfSnapshotInfoId: + description: > + Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, + i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" operation + for this VNF LCM operation occurrence, if cancelling is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "retry" operation + for this VNF LCM operation occurrence, if retrying is currently + allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this VNF LCM operation occurrence, if rolling back + is currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" operation + for this VNF LCM operation occurrence, if declaring as failed is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfSnapshot: + description: > + Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. + Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VnfLcmOperationOccurrenceNotification: + description: > + This type represents a VNF lifecycle management operation occurrence + notification, which informs the receiver of changes in the VNF + lifecycle caused by a VNF LCM operation occurrence. The support of the + notification is mandatory. + This notification shall be triggered by the VNFM when there is a change in the state of a + VNF LCM operation occurrence that changes the VNF lifecycle, includingwhich represents an + occurrence of one the following LCM operations: + * Instantiation of the VNF + * Scaling of the VNF instance (including auto-scaling) + * Healing of the VNF instance (including auto-healing) + * Change of the state of the VNF instance (i.e. Operate VNF) + * Change of the deployment flavour of the VNF instance + * Change of the external connectivity of the VNF instance + * Termination of the VNF instance + * Modification of VNF instance information and/or VNF configurable + properties through the "PATCH" method on the "Individual VNF instance" + resource + * Creation of a VNF snapshot + * Reversion of the VNF instance to a VNF snapshot. + Clause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, + and also specifies details of the notifications to be emitted at each state transition. + If this is the initial notification about the start of a VNF LCM operation occurrence, + it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) + is taken as part of the LCM operation. Due to possible race conditions, the "start" notification, + the grant request and the LCM operation acknowledgment (i.e. the "202 Accepted" response) + can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. + If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, + the notification shall be sent after all related actions of the LCM operation that led + to this state have been executed. + The new state shall be set in the "Individual VNF LCM operation occurrence" resource before + the notification about the state change is sent. + See clause 5.6.2.2 for further provisions regarding sending this notification, including + in cases of handling LCM operation errors. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - notificationStatus + - operationState + - vnfInstanceId + - operation + - isAutomaticInvocation + - vnfLcmOpOccId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "VnfLcmOperationOccurrenceNotification" for this notification type. + type: string + enum: + - VnfLcmOperationOccurrenceNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to.Shall be set to the value of the "id" attribute + of the "LccnSubscription" representing the associated "Individual subscription" resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + notificationStatus: + description: > + Indicates whether this notification reports about the start of a + lifecycle operation or the result of a lifecycle operation. + Permitted values: + * START: Informs about the start of the VNF LCM operation + occurrence. + * RESULT: Informs about the final or intermediate result of the VNF + LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the VNF LCM operation occurrence. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + vnfInstanceId: + description: > + The identifier of the VNF instance affected. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle management operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM + (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). + Set to false otherwise. + type: boolean + verbosity: + description: > + This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL". + If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM + operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute. + $ref: '../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType' + vnfLcmOpOccId: + description: > + The identifier of the VNF lifecycle management operation occurrence associated to the notification. Shall be + set to the value of the "id" attribute of the "VnfLcmOpOcc" representing the associate "Individual VNF lifecycle + management operation occurrence" resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has + performed any resource modification. Shall be absent otherwise. + This attribute contains information about the cumulative changes + to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures + for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any resource modification. Shall be + absent otherwise. This attribute contains information about the + cumulative changes to virtualised resources that were performed so + far by the VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of signaling + affected VL instances involving the addition of a particular VL instance with + links ports, one "AffectedVirtualLink" entry signals the addition of the VL by + using the "changeType" attribute of "AffectedVirtualLink" structure equal to + "ADDED", and another "AffectedVirtualLink" entry signals the addition of VNF + link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during + the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has + performed any resource modification. Shall be absent otherwise. + This attribute contains information about the cumulative changes + to virtualised resources that were performed so far by the VNF LCM + operation occurrence and by any of the error handling procedures + for that operation occurrence. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any resource modification. Shall be + absent otherwise. This attribute contains information about the + cumulative changes to virtualised resources that were performed so + far by the VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + changed VNF configurable properties. + Shall be present if the "notificationStatus" is set to "RESULT", + the "operation" attribute is not equal to "CHANGE_VNFPKG", the + "verbosity" attribute is set to "FULL" and the operation has performed + any changes to VNF instance information, including VNF configurable + properties. Shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if this notification + represents the result of a lifecycle operation occurrence. + Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has made + any changes to the external connectivity of the VNF instance. Shall be + absent otherwise. Only information about external VL instances that + have been added or modified shall be provided. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. + Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to + "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF + instance information, including VNF configurable properties. Shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" + error: + description: > + Details of the latest error, if one has occurred during executing + the LCM operation (see clause 6.3 of ETSI GS NFV-SOL 013). + Shall be present if the "operationState" attribute is "FAILED_TEMP", "FAILED" + or "ROLLED_BACK" and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + The link URIs in this structure shall be set to point to the + resources identified by the corresponding identifier attributes + in this notification. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" + + AffectedVirtualLink: + description: > + This type provides information about added, deleted, modified and + temporary VLs, and added or removed VNF link ports. + type: object + required: + - id + - vnfVirtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is + associated to a VLD which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in + the "vnfLinkPortIds" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPortIds: + description: > + Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. + Each identifier references a "VnfLinkPortInfo" structure. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related + “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the + “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the + "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when an + applicable GrantInfo for the granted resource exists. + When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the + "networkResource" attribute refers to the affected virtual link instance, not the link port instance. + The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the + "vnfLinkPortIds" attribute. + The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist + in correlating the resource changes performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle + management operation occurrence" and the "id" in the "Individual Grant". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced VirtualNetwork + resource is placed. Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedVirtualStorage: + description: > + This type provides information about added, deleted, modified and + temporary virtual storage resources. + type: object + required: + - id + - virtualStorageDescId + - changeType + - storageResource + properties: + id: + description: > + Identifier of the storage instance, identifying the applicable + "virtualStorageResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the related VirtualStorage descriptor in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage + instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + 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. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + storageResource: + description: > + Reference to the VirtualStorage resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when an + applicable GrantInfo for the granted resource exists. + The "resourceDefinitionId" attribute provides information to the API + consumer (i.e. the NFVO) to assist in correlating the resource changes + performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available + in the "Individual VNF lifecycle management operation occurrence" and + the "id" in the "Individual Grant". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced VirtualNetwork + resource is placed. Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VirtualStorageResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 6db7bf95..26e7944d 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -218,7 +218,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" + $ref: "../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" required: true VnfIdentifierCreationNotification: diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index 7fdc4f6d..b4e78d76 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -219,8 +219,8 @@ definitions: release, it is recommended in the present document that the number of entries in the "vims" attribute in the Grant is not greater than 1. - type: array - items: + type: object + additionalproperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" zones: description: > diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index a21e26f8..8c020cc3 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -237,237 +237,6 @@ definitions: items: $ref: "#/definitions/VnfcInfoModifications" - VnfLcmOpOcc: - description: > - This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" - attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. - type: object - oneOf: - - required: - - changedInfo - - required: - - modificationsTriggeredByVnfPkgChange - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - isCancelPending - properties: - id: - description: > - Identifier of this VNF lifecycle management operation occurrence. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - operationState: - description: > - The state of the LCM operation. - $ref: "#/definitions/LcmOperationStateType" - stateEnteredTime: - description: > - Date-time when the current state has been entered. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - startTime: - description: > - Date-time of the start of the operation. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - vnfInstanceId: - description: > - Identifier of the VNF instance to which the operation applies - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - grantId: - description: > - 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. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - operation: - description: > - Type of the actual LCM operation represented by this VNF LCM - operation occurrence. - $ref: "SOL002SOL003_def.yaml#/definitions/LcmOperationType" - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been triggered - by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - $ref: "SOL002SOL003_def.yaml#/definitions/Boolean" - operationParams: - description: > - 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 - * SCALE_TO_LEVEL: ScaleVnfToLevelRequest - * CHANGE_FLAVOUR: ChangeVnfFlavourRequest - * OPERATE: OperateVnfRequest - * HEAL: HealVnfRequest - * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest - * TERMINATE: TerminateVnfRequest - * MODIFY_INFO: VnfInfoModifications - * CREATE_SNAPSHOT: CreateVnfSnapshotRequest - * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest - * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest - type: object - isCancelPending: - description: > - 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. - $ref: "SOL002SOL003_def.yaml#/definitions/Boolean" - cancelMode: - description: > - The mode of an ongoing cancellation. Shall be present when - isCancelPending=true, and shall be absent otherwise. - $ref: "#/definitions/CancelModeType" - error: - description: > - 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. - $ref: "SOL002SOL003_def.yaml#/definitions/ProblemDetails" - resourceChanges: - description: > - 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. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during the - lifecycle operation. - This allows the API consumer to obtain the information contained in - the latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/AffectedVnfc" - affectedVirtualLinks: - description: > - Information about VL instances that were affected during the - lifecycle operation. - This allows the API consumer to obtain the information contained in - the latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - For a particular affected VL, there shall be as many "AffectedVirtualLink" - entries as needed for signalling the different types of changes, i.e., - one per virtual link and change type. For instance, in the case of - signaling affected VL instances involving the addition of a particular VL - instance with links ports, one "AffectedVirtualLink" entry signals the - addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" - structure equal to "ADDED", and another "AffectedVirtualLink" entry signals - the addition of VNF link ports of the VL by using the "changeType" equal to - "LINK_PORT_ADDED". - type: array - items: - $ref: "#/definitions/AffectedVirtualLink" - affectedExtLinkPorts: - description: > - Information about external VNF link ports that were affected during the lifecycle operation. This allows - the API consumer to obtain the information contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured subscription filter. - type: array - items: - $ref: "#/definitions/AffectedExtLinkPort" - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were affected - during the lifecycle operation. - This allows the API consumer to obtain the information contained - in the latest "result" notification if it has not received it due to - an error or a wrongly configured subscription filter. - type: array - items: - $ref: "#/definitions/AffectedVirtualStorage" - changedInfo: - description: > - Information about the changed VNF instance information, including - VNF configurable properties, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - $ref: "#/definitions/VnfInfoModifications" - changedExtConnectivity: - description: > - Information about changed external connectivity, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "#/definitions/ExtVirtualLinkInfo" - modificationsTriggeredByVnfPkgChange: - description: > - Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, - if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". - This allows the API consumer to obtain the information contained in the latest "result" notification if it has - not received it due to an error or a wrongly configured subscription filter. - Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. - $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" - vnfSnapshotInfoId: - description: > - Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, - i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: > - URI of this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - vnfInstance: - description: > - Link to the VNF instance that the operation applies to. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - grant: - description: > - Link to the grant for this operation, if one exists. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - cancel: - description: > - Link to the task resource that represents the "cancel" operation - for this VNF LCM operation occurrence, if cancelling is - currently allowed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - retry: - description: > - Link to the task resource that represents the "retry" operation - for this VNF LCM operation occurrence, if retrying is currently - allowed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - rollback: - description: > - Link to the task resource that represents the "rollback" - operation for this VNF LCM operation occurrence, if rolling back - is currently allowed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - fail: - description: > - Link to the task resource that represents the "fail" operation - for this VNF LCM operation occurrence, if declaring as failed is - currently allowed. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - vnfSnapshot: - description: > - Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. - Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - CancelMode: description: > This type represents a parameter to select the mode of cancelling an @@ -659,160 +428,6 @@ definitions: maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer - VnfcResourceInfo: - description: > - This type represents the information on virtualised compute and storage - resources used by a VNFC in a VNF instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - Identifier of this VnfcResourceInfo instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vduId: - description: > - Reference to the applicable VDU in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - computeResource: - description: > - Reference to the VirtualCompute resource. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - zoneId: - description: > - The identifier of the resource zone, as managed by the - resource management layer (typically, the VIM), where - the referenced VirtualCompute resource is placed. - Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - storageResourceIds: - description: > - References to the VirtualStorage resources. The value refers to a - VirtualStorageResourceInfo item in the VnfInstance. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcCpInfo: - description: > - All the CPs of the VNFC instance. - Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance - or is connected to an external CP of the VNF instance. - A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. - A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. - May be present otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of this VNFC CP instance and the associated array - entry. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the VDU CPD, cpdId, in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfExtCpId: - description: > - Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of - the VNF instance or connected to an external CP of the VNF instance (see note) and shall be absent otherwise. - - NOTE: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes - an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpProtocolInfo: - description: > - Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. - The information can be omitted because it is already available as part of the external CP information. - type: array - items: - $ref: "#/definitions/CpProtocolInfo" - vnfLinkPortId: - description: > - Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - metadata: - description: > - Metadata about this CP. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - metadata: - description: > - Metadata about this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - VnfVirtualLinkResourceInfo: - description: > - This type represents the information that allows addressing a virtualised - resource that is used by an internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - Identifier of this VnfVirtualLinkResourceInfo instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vnfVirtualLinkDescId: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - networkResource: - description: > - Reference to the VirtualNetwork resource. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced - VirtualNetwork resource is placed. Shall be provided if this - information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfLinkPorts: - description: > - Links ports of this VL. - Shall be present when the linkPort is used for external connectivity - by the VNF (refer to VnfLinkPortInfo). - May be present otherwise. - type: array - items: - $ref: "#/definitions/VnfLinkPortInfo" - metadata: - description: > - Metadata about this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VirtualStorageResourceInfo: description: > This type represents the information that allows addressing a virtualised @@ -1127,107 +742,6 @@ definitions: items: $ref: "#/definitions/LcmOperationStateType" - AffectedVirtualLink: - description: > - This type provides information about added, deleted, modified and - temporary VLs, and added or removed VNF link ports. - type: object - required: - - id - - vnfVirtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - Identifier of the virtual link instance, identifying the applicable - "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vnfVirtualLinkDescId: - description: > - Identifier of the related VLD in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is - associated to a VLD which is referred from the source or destination VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - changeType: - description: > - 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. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in - the "vnfLinkPortIds" attribute. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - vnfLinkPortIds: - description: > - Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. - Each identifier references a "VnfLinkPortInfo" structure. - Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related - “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the - “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the - "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when an - applicable GrantInfo for the granted resource exists. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. - The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist - in correlating the resource changes performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle - management operation occurrence" and the "id" in the "Individual Grant". - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced VirtualNetwork - resource is placed. Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfVirtualLinkResourceInfo structure. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - AffectedExtLinkPort: description: > This type provides information about added and deleted external link ports (link ports attached to external virtual links). @@ -1272,78 +786,6 @@ definitions: management operation occurrence" and the "id" in the "Individual Grant". $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - AffectedVirtualStorage: - description: > - This type provides information about added, deleted, modified and - temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - Identifier of the storage instance, identifying the applicable - "virtualStorageResourceInfo" entry in the "VnfInstance" data type. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the related VirtualStorage descriptor in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage - instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - changeType: - description: > - 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. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - description: > - Reference to the VirtualStorage resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when an - applicable GrantInfo for the granted resource exists. - The "resourceDefinitionId" attribute provides information to the API - consumer (i.e. the NFVO) to assist in correlating the resource changes - performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available - in the "Individual VNF lifecycle management operation occurrence" and - the "id" in the "Individual Grant". - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced VirtualNetwork - resource is placed. Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VirtualStorageResourceInfo structure. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - LccnLinks: description: > This type represents the links to resources that a notification can @@ -1432,76 +874,6 @@ definitions: Shall be present in case this CP instance maps to an internal VL. See note. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - VnfcSnapshotInfo: - description: > - This type represents a VNFC snapshot. - type: object - required: - - id - - vnfcInstanceId - - triggeredAt - - vnfcResourceId - properties: - id: - description: > - Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by - the VNFM and is unique within the scope of a VNF snapshot. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - vnfcInstanceId: - description: > - Identifier of the snapshotted VNFC instance. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - creationStartedAt: - description: > - Timestamp indicating when the VNF snapshot creation has been started by the VNFM. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - creationFinishedAt: - description: > - Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot - creation has been completed by the VNFM. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfcResourceInfoId: - description: > - Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource - of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute - of the "VnfSnapshot" structure. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - computeSnapshotResource: - description: > - Reference to a compute snapshot resource. - The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot - being returned from the VIM as output data in the response message of the individual resource operations. - This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result o - f the "Create VNF snapshot task". - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - storageSnapshotResources: - description: > - Mapping of the storage resources associated to the VNFC with the storage snapshot resources. - type: array - items: - type: object - required: - - storageResourceId - properties: - storageResourceId: - description: > - Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure - that represents the virtual storage resource. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - storageSnapshotResource: - description: > - Reference to a storage snapshot resource. - The identifier of the storage snapshot resource is assigned during creation of a VNFC - snapshot being returned from the VIM as output data in the response message of the - individual resource operations. This attribute shall only be present for a VNFC snapshot - with an associated storage resource and that has been newly created by the VNFM as a - result of the "Create VNF snapshot task". - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - userDefinedData: - description: > - User defined data for the VNFC snapshot. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfOperationalStateType: description: > STARTED: The VNF instance is up and running. @@ -1561,228 +933,6 @@ definitions: - FORCEFUL ######################################################################################################################## - VnfLcmOperationOccurrenceNotification: - description: > - This type represents a VNF lifecycle management operation occurrence - notification, which informs the receiver of changes in the VNF - lifecycle caused by a VNF LCM operation occurrence. The support of the - notification is mandatory. - This notification shall be triggered by the VNFM when there is a change in the state of a - VNF LCM operation occurrence that changes the VNF lifecycle, includingwhich represents an - occurrence of one the following LCM operations: - * Instantiation of the VNF - * Scaling of the VNF instance (including auto-scaling) - * Healing of the VNF instance (including auto-healing) - * Change of the state of the VNF instance (i.e. Operate VNF) - * Change of the deployment flavour of the VNF instance - * Change of the external connectivity of the VNF instance - * Termination of the VNF instance - * Modification of VNF instance information and/or VNF configurable - properties through the "PATCH" method on the "Individual VNF instance" - resource - * Creation of a VNF snapshot - * Reversion of the VNF instance to a VNF snapshot. - Clause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, - and also specifies details of the notifications to be emitted at each state transition. - If this is the initial notification about the start of a VNF LCM operation occurrence, - it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) - is taken as part of the LCM operation. Due to possible race conditions, the "start" notification, - the grant request and the LCM operation acknowledgment (i.e. the "202 Accepted" response) - can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. - If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, - the notification shall be sent after all related actions of the LCM operation that led - to this state have been executed. - The new state shall be set in the "Individual VNF LCM operation occurrence" resource before - the notification about the state change is sent. - See clause 5.6.2.2 for further provisions regarding sending this notification, including - in cases of handling LCM operation errors. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - notificationStatus - - operationState - - vnfInstanceId - - operation - - isAutomaticInvocation - - vnfLcmOpOccId - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple - times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "VnfLcmOperationOccurrenceNotification" for this notification type. - type: string - enum: - - VnfLcmOperationOccurrenceNotification - subscriptionId: - description: > - Identifier of the subscription that this notification relates to.Shall be set to the value of the "id" attribute - of the "LccnSubscription" representing the associated "Individual subscription" resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - notificationStatus: - description: > - Indicates whether this notification reports about the start of a - lifecycle operation or the result of a lifecycle operation. - Permitted values: - * START: Informs about the start of the VNF LCM operation - occurrence. - * RESULT: Informs about the final or intermediate result of the VNF - LCM operation occurrence. - type: string - enum: - - START - - RESULT - operationState: - description: > - The state of the VNF LCM operation occurrence. - $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" - vnfInstanceId: - description: > - The identifier of the VNF instance affected. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - operation: - description: > - The lifecycle management operation. - $ref: "SOL002SOL003_def.yaml#/definitions/LcmOperationType" - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been triggered - by an automated procedure inside the VNFM - (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). - Set to false otherwise. - type: boolean - verbosity: - description: > - This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL". - If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM - operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute. - $ref: '#/definitions/LcmOpOccNotificationVerbosityType' - vnfLcmOpOccId: - description: > - The identifier of the VNF lifecycle management operation occurrence associated to the notification. Shall be - set to the value of the "id" attribute of the "VnfLcmOpOcc" representing the associate "Individual VNF lifecycle - management operation occurrence" resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - affectedVnfcs: - description: > - Information about VNFC instances that were affected during the - lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", - the "verbosity" attribute is set to "FULL" and the operation has - performed any resource modification. Shall be absent otherwise. - This attribute contains information about the cumulative changes - to virtualised resources that were performed so far by the VNF LCM - operation occurrence and by any of the error handling procedures - for that operation occurrence. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/AffectedVnfc" - affectedVirtualLinks: - description: > - Information about VL instances that were affected during the - lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any resource modification. Shall be - absent otherwise. This attribute contains information about the - cumulative changes to virtualised resources that were performed so - far by the VNF LCM operation occurrence and by any of the error - handling procedures for that operation occurrence. - For a particular affected VL, there shall be as many "AffectedVirtualLink" - entries as needed for signalling the different types of changes, i.e., - one per virtual link and change type. For instance, in the case of signaling - affected VL instances involving the addition of a particular VL instance with - links ports, one "AffectedVirtualLink" entry signals the addition of the VL by - using the "changeType" attribute of "AffectedVirtualLink" structure equal to - "ADDED", and another "AffectedVirtualLink" entry signals the addition of VNF - link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". - type: array - items: - $ref: "#/definitions/AffectedVirtualLink" - affectedExtLinkPorts: - description: > - Information about external VNF link ports that were affected during - the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT", - the "verbosity" attribute is set to "FULL" and the operation has - performed any resource modification. Shall be absent otherwise. - This attribute contains information about the cumulative changes - to virtualised resources that were performed so far by the VNF LCM - operation occurrence and by any of the error handling procedures - for that operation occurrence. - type: array - items: - $ref: "#/definitions/AffectedExtLinkPort" - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were affected - during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" and - the operation has performed any resource modification. Shall be - absent otherwise. This attribute contains information about the - cumulative changes to virtualised resources that were performed so - far by the VNF LCM operation occurrence and by any of the error - handling procedures for that operation occurrence. - type: array - items: - $ref: "#/definitions/AffectedVirtualStorage" - changedInfo: - description: > - Information about the changed VNF instance information, including - changed VNF configurable properties. - Shall be present if the "notificationStatus" is set to "RESULT", - the "operation" attribute is not equal to "CHANGE_VNFPKG", the - "verbosity" attribute is set to "FULL" and the operation has performed - any changes to VNF instance information, including VNF configurable - properties. Shall be absent otherwise. - $ref: "#/definitions/VnfInfoModifications" - changedExtConnectivity: - description: > - Information about changed external connectivity, if this notification - represents the result of a lifecycle operation occurrence. - Shall be present if the "notificationStatus" is set to "RESULT", - the "verbosity" attribute is set to "FULL" and the operation has made - any changes to the external connectivity of the VNF instance. Shall be - absent otherwise. Only information about external VL instances that - have been added or modified shall be provided. - type: array - items: - $ref: "#/definitions/ExtVirtualLinkInfo" - modificationsTriggeredByVnfPkgChange: - description: > - Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package. - Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to - "CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF - instance information, including VNF configurable properties. Shall be absent otherwise. - $ref: "#/definitions/ModificationsTriggeredByVnfPkgChange" - error: - description: > - Details of the latest error, if one has occurred during executing - the LCM operation (see clause 6.3 of ETSI GS NFV-SOL 013). - Shall be present if the "operationState" attribute is "FAILED_TEMP", "FAILED" - or "ROLLED_BACK" and shall be absent otherwise. - $ref: "SOL002SOL003_def.yaml#/definitions/ProblemDetails" - _links: - description: > - Links to resources related to this notification. - The link URIs in this structure shall be set to point to the - resources identified by the corresponding identifier attributes - in this notification. - $ref: "#/definitions/LccnLinks" - VnfIdentifierCreationNotification: description: > This type represents a VNF identifier creation notification, which @@ -1873,481 +1023,6 @@ definitions: Links to resources related to this notification. $ref: "#/definitions/LccnLinks" - VnfSnapshotInfo: - description: > - This type represents an "Individual VNF snapshot" resource. - It shall comply with the provisions defined in table 5.5.2.22-1. - type: object - required: - - id - - _links - properties: - id: - description: > - Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfSnapshotPkgId: - description: > - Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the - “Individual VNF snapshot" resource is created from a VNF snapshot package extraction. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfSnapshot: - description: > - Information about the VNF snapshot, content and/or references to its content. Shall be present - when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the - corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package. - $ref: "#/definitions/VnfSnapshot" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - takenFrom: - description: > - Link to the VNF instance from which this snapshot was taken. Shall be present when the - "Individual VNF snapshot" resource is associated to a VNF snapshot created via the - corresponding "Create VNF snapshot" task resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - - VnfSnapshot: - description: > - This type represents a VNF snapshot. - It shall comply with the provisions defined in table 5.5.2.23-1. - type: object - required: - - id - - vnfInstanceId - - triggeredAt - - vnfdId - - vnfInfo - - vnfcSnapshots - properties: - id: - description: > - Identifier of the VNF Snapshot. This identifier is allocated by the VNFM. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfInstanceId: - description: > - Identifier of the snapshotted VNF instance. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - creationStartedAt: - description: > - Timestamp indicating when the VNF snapshot creation has been started by the VNFM. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - creationFinishedAt: - description: > - Timestamp indicating when the VNF snapshot has been completed by the VNFM. - Shall be present once the VNF snapshot creation has been completed. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfdId: - description: > - Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfInstance: - description: > - VNF Instance information of the snapshotted VNF instance. This is a copy of the "ndividual VNF instance" resource. - $ref: '#/definitions/VnfInstance' - vnfcSnapshots: - description: > - Information about VNFC snapshots constituting this VNF snapshot. - type: array - items: - $ref: '#/definitions/VnfcSnapshotInfo' - vnfStateSnapshotInfo: - description: > - Information about VNF-specific state snapshot data. - This attribute shall not be present before the VNF snapshot has been completed. - Otherwise, this attribute shall be present if the VNF snapshot has associated - additional VNF-specific state data. - $ref: '#/definitions/VnfStateSnapshotInfo' - userDefinedData: - description: > - User defined data for the VNF snapshot. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - vnfStateSnapshot: - description: > - Link to the "VNF state snapshot" resource. This attribute shall not be - present before the VNF snapshot has been completed. Otherwise, this - attribute shall be present if the VNF snapshot has associated additional - VNFspecific state data. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - VnfInstance: - description: > - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - instantiationState - properties: - id: - description: > - Identifier of the VNF instance. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfInstanceName: - description: > - 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. - - Modifying the value of this attribute shall not be performed when conflicts - exist between the previous and the newly referred VNF package, - i.e. when the new VNFD is not changed with respect to the previous VNFD - in other aspects than merely referencing to other VNF software images. - In order to avoid misalignment of the VnfInstance with the current VNF's - on-boarded VNF Package, the values of attributes in the VnfInstance that - have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. - $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 - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the VNFD. - type: string - vnfSoftwareVersion: - description: > - Software version of the VNF. The value is copied from the VNFD. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfdVersion: - description: > - Identifies the version of the VNFD. The value is copied from the VNFD. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfConfigurableProperties: - description: > - Current values of the configurable properties of the VNF instance. - Configurable properties referred in this attribute are declared in - the VNFD. - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD - based on TOSCA specifications. - VNF configurable properties are sometimes also referred to as - configuration parameters applicable to a VNF. Some of these are set - prior to instantiation and cannot be modified if the VNF is - instantiated, some are set prior to instantiation (are part of - initial configuration) and can be modified later, and others can be - set only after instantiation. The applicability of certain - configuration may depend on the VNF and the required operation of - the VNF at a certain point in time. - These configurable properties include the following standard - attributes, which are declared in the VNFD if auto-scaling and/or - auto-healing are supported by the VNF: - * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If - set to true, auto-scaling is currently enabled. If set to false, - auto-scaling is currently disabled. - * isAutohealEnabled: If present, the VNF supports auto-healing. If - set to true, auto-healing is currently enabled. If set to false, - auto-healing is currently disabled. - These configurable properties can be initialized with default values - from the VNFD. - Configurable properties can be modified with values passed in the request - structures of certain LCM operations, such as the InstantiateVnfRequest - structure. - Further, these configurable properties can be created, modified or - deleted with the PATCH method. - - NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined - initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", - obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" - and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent - with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion - request. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. The keys of the map, each of - which identifies information about a particular VIM connection, - are managed by the NFVO and referenced from other data structures - via the "vimConnectionId" attribute. This attribute shall only - be supported and present if VNF-related resource management in - direct mode is pplicable. - This attribute can be modified with the PATCH method. - type: object - additionalProperties: - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" - instantiationState: - description: > - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This attribute - shall be present if the instantiateState attribute value is - INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: > - Identifier of the VNF deployment flavour applied to this VNF instance. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfState: - description: > - The state of the VNF instance. - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. - Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. - This attribute shall be present if the VNF supports scaling. - See clause B.2 for an explanation of VNF scaling. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" - maxScaleLevels: - description: > - Maximum allowed scale levels of the VNF, one entry per aspect. - This attribute shall be present if the VNF supports scaling. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" - extCpInfo: - description: > - Information about the external CPs exposed by the VNF instance. When trunking is enabled, - the list of entries includes both, external CPs corresponding to parent ports of a trunk, - and external CPs associated to sub-ports of a trunk. - type: array - minItems: 1 - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo" - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is connected to. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" - extManagedVirtualLinkInfo: - description: > - Information about the externally-managed internal VLs of the VNF instance. - - NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same - VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of - ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate - so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site - VL instance (refer to clause 5.5.3.3). - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" - monitoringParameters: - description: > - Active monitoring parameters. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" - localizationLanguage: - description: > - Information about localization language of the VNF (includes e.g. - strings in the VNFD). The localization languages supported by a VNF - can be declared in the VNFD, and localization language selection can - take place at instantiation time. - The value shall comply with the format defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage resources used - by the VNFCs of the VNF instance. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used by the VLs - of the VNF instance. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as storage for the VNF instance. - type: array - items: - $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" - metadata: - description: > - Additional VNF-specific attributes that provide metadata describing the VNF instance. - These attributes represent values that are stored persistently in the VnfInstance structure - for consumption by functional blocks that invoke the VNF lifecycle management interface. - They are not consumed by the VNFM, or the lifecycle management scripts. - Modifying the values of these attributes has no effect on the VNF instance, it only affects - the information represented in the VnfInstance structure. - Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD. - The declaration of metadata in the VNFD can optionally contain the specification of initial values. - The VNFM shall accept requests to write metadata that are not declared in the VNFD. - These attributes can be initialized with default values from the VNFD or with values - passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). - This attributeThese attributes can be created, modified or removed with the PATCH method. - - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. - Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with - a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" - that have no declared initial value shall not be created, in order to be consistent with the semantics - of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. - These attributes represent values that are stored persistently in the VnfInstance structure - for consumption by the VNFM or the lifecycle management scripts during the execution of - VNF lifecycle management operations. - All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension - in the VNFD contains information on whether its presence is optional or required, and optionally - can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension - attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined - in clause 6.4 of ETSI GS NFV-SOL 013. - Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified - attribute values can be considered during subsequent VNF lifecycle management operations, which means that - the modified values can indirectly affect the configuration of the VNF instance. - These attributes can be initialized with default values from the VNFD. - These attributes can be modified with values passed in the request structures of certain LCM operations, - such as the InstantiateVnfRequest structure. - Further, these attributes can be created, modified or deleted with the PATCH method. - - NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined - initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", - obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" - and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent - with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion - request. - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: URI of this resource. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - indicators: - description: Indicators related to this VNF instance, if applicable. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - instantiate: - description: > - Link to the "Instantiate VNF task" resource, if the related operation - is possible based on the current status of this VNF instance - resource (i.e. VNF instance in NOT_INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - terminate: - description: > - Link to the "Terminate VNF task" resource, if the related operation - is possible based on the current status of this VNF instance - resource (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scale: - description: > - Link to the "Scale VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource (i.e. VNF instance - is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scaleToLevel: - description: > - Link to the "Scale VNF to level task" resource, if the related - operation is supported for this VNF instance, and is possible - based on the current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeFlavour: - description: > - Link to the "Change VNF flavour task" resource, if the related - operation is supported for this VNF instance, and is possible - based on the current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - heal: - description: > - Link to the "Heal VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - operate: - description: > - Link to the "Operate VNF task" resource, if the related operation is - supported for this VNF instance, and is possible based on the - current status of this VNF instance resource - (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeExtConn: - description: > - Link to the "Change external VNF connectivity task" resource, if the related - operation is possible based on the current status of this VNF - instance resource (i.e. VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - createSnapshot: - description: > - Link to the "Create VNF snapshot task" resource, if the related operation is - supported for this VNF instance and is possible based on the current status of - this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - revertToSnapshot: - description: > - Link to the "Revert to VNF snapshot task" resource, if the related operation is - supported for this VNF instance and is possible based on the current status of - this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - VnfStateSnapshotInfo: - description: > - This type represents information about VNF-specific state snapshot data. - type: object - required: - - checksum - - isEncrypted - properties: - checksum: - description: > - Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts - are defined in ETSI GS NFV-SOL 010. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum" - isEncrypted: - description: > - Reflects whether the VNF state snapshot content is encrypted (true) or not (false). - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" - metadata: - description: > - The metadata with additional information such as content type, size, creation date, etc. - $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfcInfoModifications: description: > This type represents modifications of an entry in an array of "VnfcInfo" objects. diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index ed16602e..23ad2b3c 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -962,100 +962,4 @@ definitions: description: > The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. - $ref: "#/definitions/Uri" - - AffectedVnfc: - description: > - This type provides information about added, deleted, modified and - temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - Identifier of the Vnfc instance, identifying the applicable - "vnfcResourceInfo" entry in the "VnfInstance" data type. - $ref: "#/definitions/IdentifierInVnf" - vduId: - description: > - Identifier of the related VDU in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is - associated to a VDU which is referred from the source or destination VNFD. - $ref: "#/definitions/Identifier" - changeType: - description: > - 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. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - description: > - Reference to the VirtualCompute resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when - an applicable GrantInfo for thegranted resource exists. See note. - $ref: "#/definitions/IdentifierLocal" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource management - layer (typically, the VIM), where the referenced VirtualCompute resource is placed. - Shall be provided if this information is available from the VIM. - $ref: "#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfcResourceInfo structure. - $ref: "#/definitions/KeyValuePairs" - affectedVnfcCpIds: - description: > - 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. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - addedStorageResourceIds: - description: > - 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. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - removedStorageResourceIds: - description: > - 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. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" \ No newline at end of file + $ref: "#/definitions/Uri" \ No newline at end of file -- GitLab From 87707605c23d37da7880df789421daafdb423264 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 17 Aug 2020 16:56:05 +0200 Subject: [PATCH 106/116] Fixes in datatypes --- .../definitions/SOL003VNFLifecycleOperationGranting_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index b4e78d76..3a1e6b13 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -220,7 +220,7 @@ definitions: of entries in the "vims" attribute in the Grant is not greater than 1. type: object - additionalproperties: + additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" zones: description: > -- GitLab From d776406c40efb0a7fff197759e59a4be120e2019 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 17 Aug 2020 17:05:07 +0200 Subject: [PATCH 107/116] Fixes in datatypes --- .../VNFLifecycleManagement.yaml | 6 +- .../SOL002VNFLifecycleManagement_def.yaml | 233 +++++++++++++++++- 2 files changed, 235 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 8921864c..1152191e 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1925,7 +1925,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc IndividualVnfLcmOpOcc.Get: description: | @@ -1956,7 +1956,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc VnfLcmOpOccRetry.Post: description: | @@ -2031,7 +2031,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc VnfLcmOpOccCancel.Post: description: | diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index e44efc4a..203786b0 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -1371,4 +1371,235 @@ definitions: Metadata about this resource. The content of this attribute shall be a copy of the content of the "metadata" attribute of the VirtualStorageResourceInfo structure. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" + attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. + type: object + oneOf: + - required: + - changedInfo + - required: + - modificationsTriggeredByVnfPkgChange + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state has been entered. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM (i.e. + ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). Set to false otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + operationParams: + description: > + 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 + * SCALE_TO_LEVEL: ScaleVnfToLevelRequest + * CHANGE_FLAVOUR: ChangeVnfFlavourRequest + * OPERATE: OperateVnfRequest + * HEAL: HealVnfRequest + * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest + * TERMINATE: TerminateVnfRequest + * MODIFY_INFO: VnfInfoModifications + * CREATE_SNAPSHOT: CreateVnfSnapshotRequest + * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest + * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest + type: object + isCancelPending: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present when + isCancelPending=true, and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" + error: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + 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. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., + one per virtual link and change type. For instance, in the case of + signaling affected VL instances involving the addition of a particular VL + instance with links ports, one "AffectedVirtualLink" entry signals the + addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" + structure equal to "ADDED", and another "AffectedVirtualLink" entry signals + the addition of VNF link ports of the VL by using the "changeType" equal to + "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle operation. This allows + the API consumer to obtain the information contained in the latest "result" notification if it has not + received it due to an error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the API consumer to obtain the information contained + in the latest "result" notification if it has not received it due to + an error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + modificationsTriggeredByVnfPkgChange: + description: > + Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, + if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG". + This allows the API consumer to obtain the information contained in the latest "result" notification if it has + not received it due to an error or a wrongly configured subscription filter. + Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange" + vnfSnapshotInfoId: + description: > + Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, + i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" operation + for this VNF LCM operation occurrence, if cancelling is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "retry" operation + for this VNF LCM operation occurrence, if retrying is currently + allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this VNF LCM operation occurrence, if rolling back + is currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" operation + for this VNF LCM operation occurrence, if declaring as failed is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfSnapshot: + description: > + Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. + Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file -- GitLab From 8711e8397f70f78db79ce67174e321bb9c398d4b Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 18 Aug 2020 10:26:04 +0200 Subject: [PATCH 108/116] SOL002/SOL003 common data types fixed --- .../SOL002VNFLifecycleManagement_def.yaml | 140 +++++++++-- .../VNFFaultManagement.yaml | 4 +- .../SOL003VNFFaultManagement_def.yaml | 115 ++++++++++ .../SOL003VNFLifecycleManagement_def.yaml | 203 +++++++++++++++- .../SOL002SOL003VNFFaultManagement_def.yaml | 121 ---------- ...OL002SOL003VNFLifecycleManagement_def.yaml | 217 ------------------ src/definitions/SOL002SOL003_def.yaml | 53 ----- 7 files changed, 434 insertions(+), 419 deletions(-) create mode 100644 src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 203786b0..048d434e 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -924,14 +924,6 @@ definitions: The identifier of the resource in the scope of the VIM or the resource provider. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" - vnfLinkPort: - description: > - Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL - on this network resource. If this attribute is not present, the VNFM shall create the link ports on the - externally-managed VL. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfLinkPortData" ExtManagedVirtualLinkInfo: type: object @@ -1195,12 +1187,6 @@ definitions: (for new and modified resources) or has been (for removed resources) available from the VIM. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when - an applicable GrantInfo for thegranted resource exists. See note. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" metadata: description: > Metadata about this resource. @@ -1513,7 +1499,7 @@ definitions: received it due to an error or a wrongly configured subscription filter. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1531,7 +1517,7 @@ definitions: This allows the NFVO to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if applicable. @@ -1602,4 +1588,124 @@ definitions: description: > Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external virtual links). + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data + type (see clause 5.5.3.2). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. + Detailed information is (for added resources) or has been (for removed resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + VnfInfoModifications: + description: > + This type represents attribute modifications that were performed on an + "Individual VNF instance" resource. The attributes that can be included + consist of those requested to be modified explicitly in the + "VnfInfoModificationRequest" data structure, and additional attributes + of the "VnfInstance" data structure that were modified implicitly e.g. + when modifying the referenced VNF package. + type: object + properties: + vnfInstanceName: + description: > + If present, this attribute signals modifications of the + "vnfInstanceName" attribute in "VnfInstance". + type: string + vnfInstanceDescription: + description: > + If present, this attribute signals modifications of the + "vnfInstanceDescription" attribute in "VnfInstance". + type: string + vnfConfigurableProperties: + description: > + If present, this attribute signals modifications of the + "vnfConfigurableProperties" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + If present, this attribute signals modifications of the "metadata" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute signals modifications of the "extensions" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfdId: + description: > + If present, this attribute signals modifications of the "vnfdId" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfProvider: + description: > + If present, this attribute signals modifications of the + "vnfProvider" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfPkgId" attribute) was modified implicitly following a request to + modify the "vnfPkgId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfPkgId” attribute. + type: string + vnfProductName: + description: > + If present, this attribute signals modifications of the + "vnfProductName" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfPkgId" attribute) was modified implicitly following a request to + modify the "vnfPkgId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfPkgId” attribute. + type: string + vnfSoftwareVersion: + description: > + If present, this attribute signals modifications of the + "vnfSoftwareVersion" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + If present, this attribute signals modifications of the + "vnfdVersion" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfdId" attribute) was modified implicitly following a request to + modify the "vnfdId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfdId” attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfcInfoModifications: + description: > + If present, this attribute signals modifications of certain + entries in the "vnfcInfo" attribute array in the + "instantiatedVnfInfo" attribute of "VnfInstance", as defined + in clause 5.5.2.12 + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications" \ No newline at end of file diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 04aedb1a..ede11200 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -428,7 +428,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: "./definitions/SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" IndividualAlarm.Get.200: description: | @@ -460,7 +460,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" + $ref: "./definitions/SOL003VNFFaultManagement_def.yaml#/definitions/Alarm" IndividualAlarm.Patch.200: description: | diff --git a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml new file mode 100644 index 00000000..ec87ccaf --- /dev/null +++ b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml @@ -0,0 +1,115 @@ +definitions: + Alarm: + description: > + The alarm data type encapsulates information about an alarm. + type: object + required: + - id + - managedObjectId + - alarmRaisedTime + - ackState + - perceivedSeverity + - eventTime + - eventType + - probableCause + - isRootCause + - _links + properties: + id: + description: > + Identifier of this Alarm information element. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + managedObjectId: + description: > + Identifier of the affected VNF instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + rootCauseFaultyResource: + description: > + The virtualised resources that are causing the VNF fault. + Shall be present if the alarm affects virtualised resources. + $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FaultyResourceInfo" + alarmRaisedTime: + description: > + Time stamp indicating when the alarm is raised by the managed + object. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarmChangedTime: + description: > + Time stamp indicating when the alarm was last changed. It shall be + present if the alarm has been updated. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarmClearedTime: + description: > + Time stamp indicating when the alarm was cleared. It shall be + present if the alarm has been cleared. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarmAcknowledgedTime: + description: > + Time stamp indicating when the alarm was acknowledged. + It shall be present if the alarm has been acknowledged. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + ackState: + description: > + Acknowledgement state of the alarm. + Permitted values: + * UNACKNOWLEDGED + * ACKNOWLEDGED. + type: string + enum: + - UNACKNOWLEDGED + - ACKNOWLEDGED + perceivedSeverity: + description: > + Perceived severity of the managed object failure. + $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType" + eventTime: + description: > + Time stamp indicating when the fault was observed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + eventType: + description: > + Type of event. + $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType" + faultType: + description: > + Additional information to clarify the type of the fault. + type: string + probableCause: + description: > + Information about the probable cause of the fault. + type: string + isRootCause: + description: > + Attribute indicating if this fault is the root for other correlated + alarms. If true, then the alarms listed in the attribute + "correlatedAlarmIds" are caused by this fault. + type: boolean + correlatedAlarmIds: + description: > + List of identifiers of other alarms correlated to this fault. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + faultDetails: + description: > + Provides additional information about the fault. + type: array + items: + type: string + _links: + description: > + Links for this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + objectInstance: + description: > + Link to the resource representing the VNF instance to which the + notified alarm is correlated. Shall be present if the VNF + instance information is accessible as a resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 1a07c8b2..31dd81a1 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -40,7 +40,7 @@ definitions: multi-site VL instance (refer to clause 4.4.1.12). type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to @@ -77,6 +77,59 @@ definitions: handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + ExtManagedVirtualLinkData: + type: object + required: + - id + - vnfVirtualLinkDescId + - resourceId + properties: + id: + description: > + The identifier of the externally-managed internal VL instance. The + identifier is assigned by the NFV-MANO entity that manages this VL + instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfVirtualLinkDescId: + description: > + The identifier of the VLD in the VNFD for this VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vimConnectionId: + description: > + Identifier of the VIM connection to manage this resource. This + attribute shall only be supported and present if VNF-related + resource management in direct mode is applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceProviderId: + description: > + Identifies the entity responsible for the management of this + resource. This attribute shall only be supported and present if + VNF-related resource management in indirect mode is applicable. The + identification scheme is outside the scope of the present document. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + resourceId: + description: > + The identifier of the resource in the scope of the VIM or the + resource provider. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" + vnfLinkPort: + description: > + Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL + on this network resource. If this attribute is not present, the VNFM shall create the link ports on the + externally-managed VL. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfLinkPortData" + extManagedMultisiteVirtualLinkId: + description: > + Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO + entity that manages the externally managed multi-site VL instance. It shall be present when the present + externally-managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g., + in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances + corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same + extManagedMultisiteVirtualLinkId. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + ChangeVnfFlavourRequest: #SOL003 location: 5.5.2.7 description: > @@ -118,7 +171,7 @@ definitions: multi-site VL instance (refer to clause 4.4.1.12). type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to @@ -318,7 +371,7 @@ definitions: instance (refer to clause 4.4.1.12). type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to @@ -772,7 +825,7 @@ definitions: VL instance (refer to clause 5.5.3.3). type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" + $ref: "#/definitions/ExtManagedVirtualLinkInfo" monitoringParameters: description: > Active monitoring parameters. @@ -806,7 +859,7 @@ definitions: Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + $ref: "#/definitions/VirtualStorageResourceInfo" metadata: description: > Additional VNF-specific attributes that provide metadata describing the VNF instance. @@ -934,6 +987,94 @@ definitions: this VNF instance resource (i.e., VNF instance is in INSTANTIATED state). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + ExtManagedVirtualLinkInfo: + type: object + required: + - id + - vnfVirtualLinkDescId + - networkResource + properties: + id: + description: > + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfVirtualLinkDescId: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + networkResource: + description: > + Reference to the VirtualNetwork resource providing this VL. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + vnfLinkPorts: + description: > + Link ports of this VL. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo" + extManagedMultisiteVirtualLinkId: + description: > + Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO entity + that manages the externally managed multi-site VL instance. It shall be present when the externally-managed + internal VL is part of a multi-site VL, e.g., in support of multi-site VNF spanning several VIMs. + All externally-managed internal VL instances corresponding to an internal VL created based on the same + virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + + VirtualStorageResourceInfo: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by a VNF instance. + type: object + required: + - id + - virtualStorageDescId + - storageResource + properties: + id: + description: > + Identifier of this VirtualStorageResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the VirtualStorageDesc in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: + description: > + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change + current VNF package" operation or due to its final failure). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + storageResource: + description: > + Reference to the VirtualStorage resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced + VirtualStorage resource is placed. Shall be provided if this + information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + VnfcResourceInfo: description: > This type represents the information on virtualised compute and storage @@ -1532,7 +1673,7 @@ definitions: received it due to an error or a wrongly configured subscription filter. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1550,7 +1691,7 @@ definitions: This allows the NFVO to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if applicable. @@ -1623,6 +1764,50 @@ definitions: Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external virtual links). + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data + type (see clause 5.5.3.2). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. + Detailed information is (for added resources) or has been (for removed resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. + It shall be present when an applicable GrantInfo for the granted resource exists. + The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist in + correlating the resource changes performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle + management operation occurrence" and the "id" in the "Individual Grant". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + VnfLcmOperationOccurrenceNotification: description: > This type represents a VNF lifecycle management operation occurrence @@ -1787,7 +1972,7 @@ definitions: for that operation occurrence. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1810,7 +1995,7 @@ definitions: "verbosity" attribute is set to "FULL" and the operation has performed any changes to VNF instance information, including VNF configurable properties. Shall be absent otherwise. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if this notification diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index 653786da..3c93b395 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -65,127 +65,6 @@ definitions: URI of this resource. $ref: "SOL002SOL003_def.yaml#/definitions/Link" - Alarm: - description: > - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: > - Identifier of this Alarm information element. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - managedObjectId: - description: > - Identifier of the affected VNF instance. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcInstanceIds: - description: > - Identifiers of the affected VNFC instances. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - rootCauseFaultyResource: - description: > - The virtualised resources that are causing the VNF fault. - Shall be present if the alarm affects virtualised resources. - $ref: "#/definitions/FaultyResourceInfo" - alarmRaisedTime: - description: > - Time stamp indicating when the alarm is raised by the managed - object. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - alarmChangedTime: - description: > - Time stamp indicating when the alarm was last changed. It shall be - present if the alarm has been updated. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - alarmClearedTime: - description: > - Time stamp indicating when the alarm was cleared. It shall be - present if the alarm has been cleared. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - alarmAcknowledgedTime: - description: > - Time stamp indicating when the alarm was acknowledged. - It shall be present if the alarm has been acknowledged. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - ackState: - description: > - Acknowledgement state of the alarm. - Permitted values: - * UNACKNOWLEDGED - * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Perceived severity of the managed object failure. - $ref: "#/definitions/PerceivedSeverityType" - eventTime: - description: > - Time stamp indicating when the fault was observed. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - eventType: - description: > - Type of event. - $ref: "#/definitions/EventType" - faultType: - description: > - Additional information to clarify the type of the fault. - type: string - probableCause: - description: > - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other correlated - alarms. If true, then the alarms listed in the attribute - "correlatedAlarmIds" are caused by this fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this fault. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - faultDetails: - description: > - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: > - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - objectInstance: - description: > - Link to the resource representing the VNF instance to which the - notified alarm is correlated. Shall be present if the VNF - instance information is accessible as a resource. - $ref: "SOL002SOL003_def.yaml#/definitions/Link" - AlarmNotification: description: > This type represents an alarm notification about VNF faults. diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index a1744ca9..637afa64 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -152,91 +152,6 @@ definitions: items: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - VnfInfoModifications: - description: > - This type represents attribute modifications that were performed on an - "Individual VNF instance" resource. The attributes that can be included - consist of those requested to be modified explicitly in the - "VnfInfoModificationRequest" data structure, and additional attributes - of the "VnfInstance" data structure that were modified implicitly e.g. - when modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - If present, this attribute signals modifications of the - "vnfConfigurableProperties" attribute in "VnfInstance". - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - metadata: - description: > - If present, this attribute signals modifications of the "metadata" - attribute in "VnfInstance". - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - If present, this attribute signals modifications of the "extensions" - attribute in "VnfInstance". - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - vnfdId: - description: > - If present, this attribute signals modifications of the "vnfdId" - attribute in "VnfInstance". - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". - If present, this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of this - attribute from the VNFD in the VNF Package identified by the - "vnfPkgId” attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". - If present, this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of this - attribute from the VNFD in the VNF Package identified by the - "vnfPkgId” attribute. - type: string - vnfSoftwareVersion: - description: > - If present, this attribute signals modifications of the - "vnfSoftwareVersion" attribute in "VnfInstance". - $ref: "SOL002SOL003_def.yaml#/definitions/Version" - vnfdVersion: - description: > - If present, this attribute signals modifications of the - "vnfdVersion" attribute in "VnfInstance". - If present, this attribute (which depends on the value of the - "vnfdId" attribute) was modified implicitly following a request to - modify the "vnfdId" attribute, by copying the value of this - attribute from the VNFD in the VNF Package identified by the - "vnfdId” attribute. - $ref: "SOL002SOL003_def.yaml#/definitions/Version" - vnfcInfoModifications: - description: > - If present, this attribute signals modifications of certain - entries in the "vnfcInfo" attribute array in the - "instantiatedVnfInfo" attribute of "VnfInstance", as defined - in clause 5.5.2.12 - type: array - items: - $ref: "#/definitions/VnfcInfoModifications" - CancelMode: description: > This type represents a parameter to select the mode of cancelling an @@ -363,49 +278,6 @@ definitions: items: $ref: "SOL002SOL003_def.yaml#/definitions/VnfExtCpData" - ExtManagedVirtualLinkInfo: - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - 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. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfVirtualLinkDescId: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - networkResource: - description: > - Reference to the VirtualNetwork resource providing this VL. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - vnfLinkPorts: - description: > - Link ports of this VL. - type: array - items: - $ref: "#/definitions/VnfLinkPortInfo" - extManagedMultisiteVirtualLinkId: - description: > - Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO entity - that manages the externally managed multi-site VL instance. It shall be present when the externally-managed - internal VL is part of a multi-site VL, e.g., in support of multi-site VNF spanning several VIMs. - All externally-managed internal VL instances corresponding to an internal VL created based on the same - virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - ScaleInfo: required: - aspectId @@ -428,51 +300,6 @@ definitions: maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer - VirtualStorageResourceInfo: - description: > - This type represents the information that allows addressing a virtualised - resource that is used by a VNF instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - Identifier of this VirtualStorageResourceInfo instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the VirtualStorageDesc in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfdId: - description: > - Identifier of the VNFD. - Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change - current VNF package" operation or due to its final failure). - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - storageResource: - description: > - Reference to the VirtualStorage resource. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced - VirtualStorage resource is placed. Shall be provided if this - information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfLinkPortInfo: type: object required: @@ -743,50 +570,6 @@ definitions: items: $ref: "#/definitions/LcmOperationStateType" - AffectedExtLinkPort: - description: > - This type provides information about added and deleted external link ports (link ports attached to external virtual links). - type: object - required: - - id - - changeType - - extCpInstanceId - - resourceHandle - properties: - id: - description: > - Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data - type (see clause 5.5.3.2). - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - changeType: - description: > - Signals the type of change. - Permitted values: - - ADDED - - REMOVED - type: string - enum: - - ADDED - - REMOVED - extCpInstanceId: - description: > - Identifier of the related external CP instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - resourceHandle: - description: > - Reference to the link port resource. - Detailed information is (for added resources) or has been (for removed resources) available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. - It shall be present when an applicable GrantInfo for the granted resource exists. - The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist in - correlating the resource changes performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle - management operation occurrence" and the "id" in the "Individual Grant". - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - LccnLinks: description: > This type represents the links to resources that a notification can diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index d015af75..d4249c5e 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -582,59 +582,6 @@ definitions: items: $ref: "#/definitions/ExtLinkPortData" - ExtManagedVirtualLinkData: - type: object - required: - - id - - vnfVirtualLinkDescId - - resourceId - properties: - id: - description: > - The identifier of the externally-managed internal VL instance. The - identifier is assigned by the NFV-MANO entity that manages this VL - instance. - $ref: "#/definitions/Identifier" - vnfVirtualLinkDescId: - description: > - The identifier of the VLD in the VNFD for this VL. - $ref: "#/definitions/IdentifierInVnfd" - vimConnectionId: - description: > - Identifier of the VIM connection to manage this resource. This - attribute shall only be supported and present if VNF-related - resource management in direct mode is applicable. - $ref: "#/definitions/Identifier" - resourceProviderId: - description: > - Identifies the entity responsible for the management of this - resource. This attribute shall only be supported and present if - VNF-related resource management in indirect mode is applicable. The - identification scheme is outside the scope of the present document. - $ref: "#/definitions/Identifier" - resourceId: - description: > - The identifier of the resource in the scope of the VIM or the - resource provider. - $ref: "#/definitions/IdentifierInVim" - vnfLinkPort: - description: > - Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL - on this network resource. If this attribute is not present, the VNFM shall create the link ports on the - externally-managed VL. - type: array - items: - $ref: "#/definitions/VnfLinkPortData" - extManagedMultisiteVirtualLinkId: - description: > - Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO - entity that manages the externally managed multi-site VL instance. It shall be present when the present - externally-managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g., - in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances - corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same - extManagedMultisiteVirtualLinkId. - $ref: "#/definitions/Identifier" - Identifier: description: > An identifier with the intention of being globally unique. -- GitLab From 8a063ab269d7d7ac535ed592fe7efc1b05996843 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 18 Aug 2020 11:00:57 +0200 Subject: [PATCH 109/116] Minor issues fixed --- .../SOL002VNFFaultManagement_def.yaml | 54 ++++++++++++++++++ .../VNFFaultManagementNotification.yaml | 2 +- ...NFLifecycleManagementNotification_def.yaml | 4 +- .../SOL003VNFFaultManagement_def.yaml | 56 ++++++++++++++++++- .../VNFFaultManagementNotification.yaml | 2 +- ...L003VNFLifecycleOperationGranting_def.yaml | 2 +- .../SOL002SOL003VNFFaultManagement_def.yaml | 54 ------------------ 7 files changed, 114 insertions(+), 60 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 781b8834..285540b2 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -126,6 +126,60 @@ definitions: instance information is accessible as a resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + AlarmNotification: + description: > + This type represents an alarm notification about VNF faults. + This notification shall be triggered by the VNFM when: + * An alarm has been created. + * An alarm has been updated, e.g. if the severity of the alarm has + changed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarm + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmNotification" for this notification type. + type: string + enum: + - AlarmNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected VNF + identifier, and FaultDetails. + $ref: "#/definitions/Alarm" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" + PerceivedSeverityRequest: description: > This type represents the escalated value of the perceived severity for an alarm. diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 4eb93165..3afb2bc6 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -190,7 +190,7 @@ components: content: application/json: schema: - $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification + $ref: ../VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml#/definitions/AlarmNotification required: true AlarmClearedNotification: diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml index 8ef457ad..0d3f2600 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml @@ -148,7 +148,7 @@ definitions: operation occurrence and by any of the error handling procedures for that operation occurrence. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -170,7 +170,7 @@ definitions: the operation has performed any changes to VNF instance information, including VNF configurable properties. Shall be absent otherwise. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if this diff --git a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml index ec87ccaf..7f820455 100644 --- a/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml +++ b/src/SOL003/VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml @@ -112,4 +112,58 @@ definitions: Link to the resource representing the VNF instance to which the notified alarm is correlated. Shall be present if the VNF instance information is accessible as a resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AlarmNotification: + description: > + This type represents an alarm notification about VNF faults. + This notification shall be triggered by the VNFM when: + * An alarm has been created. + * An alarm has been updated, e.g. if the severity of the alarm has + changed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarm + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmNotification" for this notification type. + type: string + enum: + - AlarmNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected VNF + identifier, and FaultDetails. + $ref: "#/definitions/Alarm" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" \ No newline at end of file diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index cf0d3833..e50d4c53 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -225,7 +225,7 @@ components: content: application/json: schema: - $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" + $ref: "../VNFFaultManagement/definitions/SOL003VNFFaultManagement_def.yaml#/definitions/AlarmNotification" required: true AlarmClearedNotification: diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml index 3a1e6b13..6eeab6a6 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/SOL003VNFLifecycleOperationGranting_def.yaml @@ -376,7 +376,7 @@ definitions: information about externally-managed virtual links. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + $ref: "../../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkData" additionalParams: description: > Additional parameters passed by the NFVO, specific to the VNF and diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index 3c93b395..8ba60530 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -65,60 +65,6 @@ definitions: URI of this resource. $ref: "SOL002SOL003_def.yaml#/definitions/Link" - AlarmNotification: - description: > - This type represents an alarm notification about VNF faults. - This notification shall be triggered by the VNFM when: - * An alarm has been created. - * An alarm has been updated, e.g. if the severity of the alarm has - changed. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - alarm - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple - times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "AlarmNotification" for this notification type. - type: string - enum: - - AlarmNotification - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" - alarm: - description: > - Information about an alarm including AlarmId, affected VNF - identifier, and FaultDetails. - $ref: "#/definitions/Alarm" - _links: - description: > - Links to resources related to this notification. - type: object - required: - - subscription - properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" - AlarmClearedNotification: description: > This type represents an alarm cleared notification about VNF faults. -- GitLab From 27e7596009c6d296543c66c5756827407713f106 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 25 Aug 2020 10:21:42 +0200 Subject: [PATCH 110/116] Editorial issues fixed --- .../VNFIndicatorNotification.yaml | 11 +++++++---- .../VNFIndicatorNotification.yaml | 4 ++-- .../VNFLifecycleManagement.yaml | 2 +- .../VNFPackageManagement/VNFPackageManagement.yaml | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index e0075af3..fde826b5 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,12 +1,15 @@ openapi: 3.0.2 info: - title: SOL002 - VNF Indicator Notification Endpoint interface + title: SOL002 - VNF Indicator Notification interface description: | - SOL002 - VNF Indicator Notification Endpoint interface IMPORTANT: Please note that this file might be not aligned to + SOL002 - VNF Indicator Notification interface + + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. - In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + In case of discrepancies the published ETSI Group Specification takes precedence. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index c11a0e2f..7970ca18 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -1,9 +1,9 @@ openapi: 3.0.2 info: - title: SOL003 - VNF Indicator interface + title: SOL003 - VNF Indicator Notification interface description: | - SOL003 - VNF Indicator interface + SOL003 - VNF Indicator Notification interface IMPORTANT: Please note that this file might be not aligned to the current diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 0b9527ed..ae0f717d 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1844,7 +1844,7 @@ components: type: string VnfSnapshotInfoId: - name: VnfSnapshotInfoId + name: vnfSnapshotInfoId in: path description: | Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 7e6f2754..a63d66e3 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,7 +1,7 @@ openapi: 3.0.2 info: - title: SSOL003 - VNF Package Management interface + title: SOL003 - VNF Package Management interface description: | SOL003 - VNF Package Management interface -- GitLab From b9ef926d8713e5c2870a8f6e0f17ed2169f89efa Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 25 Aug 2020 10:26:21 +0200 Subject: [PATCH 111/116] Editorial issues fixed --- src/SOL002/VNFIndicator/VNFIndicator.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 32862a02..26042b68 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -3,7 +3,13 @@ openapi: 3.0.2 info: title: SOL002 - VNF Indicator interface description: | - SOL002 - VNF Indicator interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + SOL002 - VNF Indicator interface + + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it + refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification + takes precedence. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis contact: name: NFV-SOL WG license: -- GitLab From 5c5e7666e77544921db27f84cd439edfa9c99c27 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 25 Aug 2020 12:49:09 +0200 Subject: [PATCH 112/116] Minor fix --- .../VNFPackageManagement/VNFPackageManagement.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index a63d66e3..b1dbf17a 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -5,19 +5,10 @@ info: description: | SOL003 - VNF Package Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= contact: name: NFV-SOL WG -- GitLab From 0b9d6e096ed5e7c9033f118ef89ac969bdc622b8 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 26 Aug 2020 10:11:24 +0200 Subject: [PATCH 113/116] Editorial fix --- .../VNFSnapshotPackageManagement.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index e7ed353d..de805e58 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -3,9 +3,12 @@ openapi: 3.0.2 info: title: SOL003 - VNF Snapshot Package Management interface description: | - SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current + SOL003 - VNF Snapshot Package Management interface + + IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis contact: name: NFV-SOL WG -- GitLab From ac73107c1e92d292d23733566eef2eab30222b45 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 1 Sep 2020 10:54:23 +0200 Subject: [PATCH 114/116] fixed text for reporting bugs and removed old attribute-based filtering text --- src/SOL003/APIVersion/APIVersion.yaml | 2 +- src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml | 11 +---------- .../VNFFaultManagementNotification.yaml | 11 +---------- src/SOL003/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification.yaml | 11 +---------- .../VNFLifecycleManagement.yaml | 10 +--------- .../VNFLifecycleManagementNotification.yaml | 11 +---------- .../VNFLifecycleOperationGranting.yaml | 11 +---------- .../VNFPackageManagement/VNFPackageManagement.yaml | 11 +---------- .../VNFPackageManagementNotification.yaml | 10 +--------- .../VNFPerformanceManagement.yaml | 11 +---------- .../VNFPerformanceManagementNotification.yaml | 11 +---------- .../VNFSnapshotPackageManagement.yaml | 2 +- ...irtualisedResourcesQuotaAvailableNotification.yaml | 10 +--------- 14 files changed, 14 insertions(+), 110 deletions(-) diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 66e23628..50c47cfb 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 04aedb1a..4dc5dda9 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Fault Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index cf0d3833..181cf2d2 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Fault Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index a6819e72..85927501 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index c11a0e2f..8a268994 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Indicator interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5d6334b9..faa2aca8 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -9,15 +9,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 6db7bf95..f43870c7 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Lifecycle Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index fdf97a5d..fbe6ac49 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Lifecycle Operation Granting interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 7e6f2754..d4071ab9 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Package Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index f8e6bf04..ec1a310f 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -9,15 +9,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 5066a0b1..47e57003 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Performance Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 40139d36..2632d392 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -5,20 +5,11 @@ info: description: | SOL003 - VNF Performance Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index e7ed353d..038c2967 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -6,7 +6,7 @@ info: SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 4ef637af..fafbad2c 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -10,15 +10,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: -- GitLab From 3998e766d32d166d37ce7c50b4677455f040a48f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 1 Sep 2020 11:10:55 +0200 Subject: [PATCH 115/116] updated url to published SOL002 and SOL003 v3.3.1 --- src/SOL002/APIVersion/APIVersion.yaml | 4 ++-- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 4 ++-- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 4 ++-- .../VNFFaultManagementNotification.yaml | 4 ++-- src/SOL002/VNFIndicator/VNFIndicator.yaml | 4 ++-- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 4 ++-- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 6 +++--- .../VNFLifecycleManagementNotification.yaml | 4 ++-- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 6 +++--- .../VNFPerformanceManagementNotification.yaml | 6 +++--- src/SOL003/APIVersion/APIVersion.yaml | 2 +- src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml | 2 +- .../VNFFaultManagementNotification.yaml | 2 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 2 +- .../VNFLifecycleOperationGranting.yaml | 2 +- src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFPerformanceManagement/VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 2 +- .../VirtualisedResourcesQuotaAvailableNotification.yaml | 2 +- 24 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index a63037b8..dee16ad3 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -6,7 +6,7 @@ info: SOL002 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf paths: /vnfconfig/api_versions: diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 34cd5ac8..84f7196e 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -6,7 +6,7 @@ info: SOL002 - VNF Configuration Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/vnfconfig/v1 diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 89b3e833..0dd76c0f 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -6,7 +6,7 @@ info: SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/vnffm/v1 diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 3afb2bc6..f2f3ff62 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -6,7 +6,7 @@ info: SOL002 - VNF Fault Management Notification interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 26042b68..84ac22e5 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -9,7 +9,7 @@ info: refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index fde826b5..4e8aa6bc 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -9,7 +9,7 @@ info: the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 1152191e..e05122db 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -5,8 +5,8 @@ info: description: | SOL002 - VNF Lifecycle Management interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. - In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/vnflcm/v1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 91816aa0..b84db5bb 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -7,7 +7,7 @@ info: IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -17,7 +17,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 96407568..82129f94 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -5,8 +5,8 @@ info: description: | SOL002 - VNF Performance Management interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. - In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -16,7 +16,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 1ef6e647..f176a80b 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -6,8 +6,8 @@ info: SOL002 - VNF Performance Management Notification interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the - ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report - bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: @@ -17,7 +17,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 50c47cfb..ea0a9cc4 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf paths: /vrqan/api_versions: diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index de162b6d..f05b5c10 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vnffm/v1 diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index cb1622e9..8e4c1d60 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 85927501..e75d6e49 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vnfind/v1 diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 7cd7f4d0..f9539740 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 05147c0a..773a58bc 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vnflcm/v1 diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index abaaf93d..491065a1 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index fbe6ac49..f40cf945 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/grant/v1 diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index df62f117..a2434399 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index ec1a310f..dc1be09b 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 002 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 47e57003..5d65b793 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vnfpm/v2 diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 2632d392..3d2f7303 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index 3005fe2c..76307edf 100644 --- a/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL003/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -19,7 +19,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://0.0.0.1/vnfsnapshotpkgm/v1 diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index fafbad2c..35b96b1e 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -20,7 +20,7 @@ info: externalDocs: description: ETSI GS NFV-SOL 003 V3.3.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf servers: - url: http://127.0.0.1/vrqan/v1 -- GitLab From dad03f46e0ebd7af3d8ca1ebedded76f3034bb26 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 16:35:38 +0200 Subject: [PATCH 116/116] updated README --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 652a8e83..1f94e8ad 100644 --- a/Readme.md +++ b/Readme.md @@ -8,7 +8,7 @@ The APIs described in this repository are defined for the following reference po * `Or-Vnfm` * `Ve-vnfm` -**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.** +**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.** More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions). -- GitLab