From 16d8ff1d967ba918eda90db96e1961220dd7d8f6 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 28 May 2020 12:12:51 +0200 Subject: [PATCH] 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