From 2338309077d5fedc67da5e4e24b4f6ad1a8fd685 Mon Sep 17 00:00:00 2001 From: moscatelli Date: Tue, 7 May 2019 15:01:58 +0200 Subject: [PATCH] SOL002: VNF Lifecycle mgmt interface consolidated + error codes fixed --- .../VNFFaultManagement.yaml | 4 +- .../VNFLifecycleManagement.yaml | 1138 ++++++++++++++--- .../VNFLifecycleManagement_resp.yaml | 190 --- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFPerformanceManagement.yaml | 6 +- .../VNFPerformanceManagementNotification.yaml | 6 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 6 +- .../VNFLifecycleManagement.yaml | 92 +- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFPackageManagement.yaml | 4 +- .../VNFPerformanceManagement.yaml | 6 +- src/definitions/SOL002SOL003_def.yaml | 534 ++++---- src/responses/SOL002SOL003_resp.yaml | 640 ++++----- 13 files changed, 1583 insertions(+), 1055 deletions(-) delete mode 100644 src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 3492ebd5..c5838c71 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -161,7 +161,7 @@ paths: schema: $ref: "./definitions/VNFFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -605,7 +605,7 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d026b8d2..a6a0b6de 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -2,23 +2,21 @@ swagger: "2.0" info: version: "1.2.0" - title: "SOL002 - VNF Configuration interface" + title: "SOL002 - VNF Lifecycle Management Interface" description: > - VNF Configuration interface of ETSI NFV SOL002 - + VNF Lifecycle Management Interface of ETSI NFV SOL002 IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 002 V2.5.1 + description: "ETSI GS NFV-SOL 002 V2.5.1" url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnflcm/v1 @@ -33,7 +31,6 @@ consumes: produces: - application/json - paths: ############################################################################### # API Versions # @@ -41,9 +38,9 @@ paths: '/api-versions': $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' -############################################################################### -# VNF instances # -############################################################################### + ############################################################################### + # VNF instances # + ############################################################################### '/vnf_instances': #SOL003 location: 5.4.2 parameters: @@ -53,12 +50,21 @@ paths: 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: #TODO: Add headers defined in 4.3.4.2 - description: "The POST method creates a new VNF instance resource." + description: > + The POST method creates a new VNF instance resource. parameters: - name: createVnfRequest - description: The VNF creation parameters + description: > + The VNF creation parameters, as defined in clause 5.5.2.3. in: body required: true schema: @@ -70,13 +76,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: Content-Type description: > The MIME type of the body of the request. @@ -86,22 +85,29 @@ paths: type: string responses: 201: - description: A VNF Instance identifier was created successfully + description: > + 201 CREATED + + A VNF Instance identifier was 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: #TODO: Add headers defined in 4.3.4.3 Content-Type: - description: The MIME type of the body of the response. + 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 + description: > + The resource URI of the created VNF instance type: string format: url + maximum: 1 + minimum: 1 WWW-Authenticate: description: > - Created - Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. @@ -109,7 +115,8 @@ paths: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + The used API version. type: string maximum: 1 minimum: 1 @@ -127,16 +134,18 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 416: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" 422: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The GET method queries information about multiple VNF instances. @@ -148,13 +157,6 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. @@ -224,7 +226,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about zero or more VNF instances was queried successfully. The response body shall contain in an array the @@ -253,7 +255,7 @@ paths: items: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -264,17 +266,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 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" -############################################################################### -# Individual VNF instance # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual VNF instance # + ############################################################################### '/vnf_instances/{vnfInstanceId}': #SOL003 location: 5.4.3.2 parameters: @@ -294,13 +301,20 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > Information about an individual VNF instance was queried successfully. responses: 200: description: > - OK + 200 OK Information about zero or more VNF instances was queried successfully. The response body shall contain @@ -338,14 +352,18 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" 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: > @@ -364,9 +382,44 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + 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 "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-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -378,13 +431,36 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-another-lcm-operation-ongoing" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state + of the VNF instance resource. + Typically, this is due to the fact that another LCM operation is ongoing. + The response body shall contain a ProblemDetails structure, in which the "detail" + attribute should convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 412: +# description: > +# 412 PRECONDITION FAILED +# +# Error: A precondition given in an HTTP request header is not fulfilled. +# Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. +# The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey +# more information about the error. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: #SOL003 location: 5.4.3.3.5 description: > @@ -392,7 +468,7 @@ paths: responses: 204: description: > - No Content + 204 NO CONTENT The VNF instance resource and the associated VNF identifier were deleted successfully. @@ -412,7 +488,7 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -424,16 +500,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" - 412: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" + 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 INSTANTIATED state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" + 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" -############################################################################### -# Instantiate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Instantiate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/instantiate': #SOL003 location: 5.4.4.2 parameters: @@ -453,6 +543,13 @@ paths: 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: #SOL003 location: 5.4.4.3.1 description: > @@ -465,13 +562,14 @@ paths: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" responses: - 200: + 202: description: > - OK + 202 ACCEPTED - Information about zero or more VNF instances was queried - successfully. The response body shall contain - representations of zero or more VNF instances. + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. @@ -491,8 +589,16 @@ paths: type: string maximum: 1 minimum: 1 - schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + 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: @@ -506,16 +612,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" + 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 INSTANTIATED state. + The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall + convey more information about the error. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" 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" -############################################################################### -# Scale VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Scale VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/scale': #SOL003 location: 5.4.5.2 parameters: @@ -535,6 +655,13 @@ paths: 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: #SOL003 location: 5.4.5.3.1 description: > @@ -549,7 +676,42 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -557,20 +719,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Scale VNF to Level task # -############################################################################### + 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 parameters: @@ -590,6 +769,13 @@ paths: 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: #SOL003 location: 5.4.6.3.1 description: > @@ -604,7 +790,42 @@ paths: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -612,20 +833,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Change VNF Flavour task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Change VNF Flavour task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/change_flavour': #SOL003 location: 5.4.7.2 parameters: @@ -646,6 +884,13 @@ paths: 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 changes the deployment flavour of a VNF instance. @@ -658,7 +903,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -666,20 +946,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Terminate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Terminate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/terminate': #SOL003 location: 5.4.8.2 parameters: @@ -699,6 +996,13 @@ paths: 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 terminates a VNF instance. @@ -711,7 +1015,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -725,14 +1064,31 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Heal VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Heal VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/heal': #SOL003 location: 5.4.9.2 parameters: @@ -752,6 +1108,13 @@ paths: 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 requests to heal a VNF instance resource. @@ -764,7 +1127,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -772,20 +1170,37 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Operate VNF task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Operate VNF task # + ############################################################################### '/vnf_instances/{vnfInstanceId}/operate': #SOL003 location: 5.4.9.2 parameters: @@ -805,6 +1220,13 @@ paths: 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 changes the operational state of a VNF instance resource. @@ -817,7 +1239,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -825,21 +1282,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + 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. + $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" -############################################################################### -# Change external VNF connectivity task # -############################################################################### - '/vnf_instances/{vnfInstanceId}/change_ext_vls': + 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 parameters: - name: vnfInstanceId @@ -859,6 +1333,13 @@ paths: 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 changes the external connectivity of a VNF instance. @@ -872,7 +1353,42 @@ paths: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" responses: 202: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location" + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not been completed. + The response body shall be empty. + The HTTP response shall include a "Location" HTTP header that contains the URI of the + newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + headers: + 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: @@ -886,14 +1402,30 @@ paths: 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-another-lcm-operation-ongoing" + 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. + $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" -############################################################################### -# VNF LCM operation occurrences # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # VNF LCM operation occurrences # + ############################################################################### '/vnf_lcm_op_occs': #SOL003 location: 5.4.12 parameters: @@ -903,6 +1435,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to query status information about @@ -984,16 +1523,10 @@ paths: in: query required: false type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > - OK + 200 OK Status information for zero or more VNF lifecycle management operation occurrences was queried successfully. The response body shall contain in an array the status information about zero or more VNF lifecycle @@ -1042,15 +1575,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + 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" -############################################################################### -# Individual VNF LCM operation occurrence # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual VNF LCM operation occurrence # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}': #SOL003 location: 5.4.13 parameters: @@ -1071,6 +1611,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The client can use this method to retrieve status information about a @@ -1079,7 +1626,7 @@ paths: responses: 200: description: > - OK + 200 OK Information about an individual VNF instance was queried successfully. The response body shall contain status @@ -1105,7 +1652,6 @@ paths: type: string maximum: 1 minimum: 1 - schema: schema: $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: @@ -1120,15 +1666,22 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + 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" -############################################################################### -# Retry operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Retry operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': #SOL003 location: 5.4.14 parameters: @@ -1149,6 +1702,13 @@ paths: 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 initiates retrying a VNF lifecycle operation if that @@ -1156,7 +1716,26 @@ paths: "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was 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: @@ -1164,20 +1743,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + 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. + $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" -############################################################################### -# Rollback operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Rollback operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': #SOL003 location: 5.4.15 parameters: @@ -1198,6 +1795,13 @@ paths: 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 initiates rolling back a VNF lifecycle operation if @@ -1205,7 +1809,26 @@ paths: "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was 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: @@ -1213,20 +1836,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + 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. + $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" -############################################################################### -# Fail operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Fail operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': #SOL003 location: 5.4.16 parameters: @@ -1247,6 +1888,13 @@ paths: 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 marks a VNF lifecycle management operation occurrence @@ -1255,7 +1903,7 @@ paths: responses: 200: description: > - OK + 200 OK The state of the VNF lifecycle management operation occurrence was changed successfully. The response shall include a representation @@ -1289,20 +1937,38 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" 409: - $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + 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. + $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" -############################################################################### -# Cancel operation task # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Cancel operation task # + ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': #SOL003 location: 5.4.17 parameters: @@ -1323,6 +1989,13 @@ paths: 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 initiates cancelling an ongoing VNF lifecycle @@ -1331,36 +2004,13 @@ paths: "ROLLING_BACK" state. responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" - 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-task-not-suported-VNF-LCM" - 405: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" - 406: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" - 409: - description: > - Conflict - - 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. + description: > + 202 ACCEPTED + + The request was accepted for processing, but processing has not been completed. + The response shall have an empty payload body. headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 + #TODO: Add headers defined in 4.3.4.3 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -1374,16 +2024,45 @@ paths: type: string maximum: 1 minimum: 1 - schema: - schema: - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 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/404" + 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. + $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" -############################################################################### -# Subscriptions # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #SOL003 location: 5.4.18 parameters: @@ -1393,6 +2072,13 @@ paths: 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. @@ -1407,7 +2093,7 @@ paths: responses: 201: description: > - Created + 201 CREATED The subscription was created successfully. The response body shall contain a representation of the created subscription resource. @@ -1438,6 +2124,16 @@ paths: 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. + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1445,15 +2141,23 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 416: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" + 422: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" + 429: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" 500: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > The GET method queries the list of active subscriptions of the @@ -1495,7 +2199,7 @@ paths: responses: 200: description: > - OK + 200 OK The list of subscriptions was queried successfully. The response body shall contain in an array the representations of all active subscriptions @@ -1523,46 +2227,33 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: - description: > - Bad Request - - Invalid attribute-based filtering parameters. - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $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-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 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" -############################################################################### -# Individual subscription # -############################################################################### + 504: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #SOL003 location: 5.4.19 parameters: @@ -1582,6 +2273,13 @@ paths: in: header required: true type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string get: description: > The GET method retrieves information about a subscription by reading @@ -1589,7 +2287,7 @@ paths: responses: 200: description: > - OK + 200 OK The operation has completed successfully. The response body shall contain a representation of the @@ -1622,22 +2320,30 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 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: > The DELETE method terminates an individual subscription. responses: 204: description: > - No Content + 204 NO CONTENT The subscription resource was deleted successfully. The response body shall be empty. @@ -1662,12 +2368,20 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 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 diff --git a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml b/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml deleted file mode 100644 index c64c51b8..00000000 --- a/src/SOL002/VNFLifecycleManagement/responses/VNFLifecycleManagement_resp.yaml +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -responses: - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" - 409-another-lcm-operation-ongoing: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that another LCM operation is - ongoing. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-inconsistent-state: - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - 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/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that the VNF instance resource is in - INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-not-FAILED_TEMP: - description: > - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that the VNF instance resource 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 should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-NOT-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the VNF instance resource. - Typically, this is due to the fact that 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 should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 67a3dddb..a36f444e 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -104,7 +104,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -180,7 +180,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -256,7 +256,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 4ca780b2..0e182f69 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -270,7 +270,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -695,7 +695,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -1038,7 +1038,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index b9ec1e4e..0cb68bd2 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -28,15 +28,15 @@ externalDocs: description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf -basePath: "/callback/v1" +basePath: /callback/v1 schemes: - https consumes: - - "application/json" + - application/json produces: - - "application/json" + - application/json paths: ############################################################################### diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 45c40a2a..060e356a 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -142,7 +142,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -272,7 +272,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicator" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -606,7 +606,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5f4f8b5d..e9bdf478 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -268,7 +268,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -433,7 +433,7 @@ paths: 202: $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -497,7 +497,7 @@ paths: maximum: 1 minimum: 1 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -691,7 +691,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -770,7 +770,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -848,7 +848,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1002,7 +1002,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1079,7 +1079,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1449,7 +1449,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was 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: @@ -1457,7 +1475,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1506,7 +1524,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was 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: @@ -1514,7 +1550,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1605,7 +1641,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1655,7 +1691,25 @@ paths: type: string responses: 202: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202" + description: > + 202 ACCEPTED + + The request was 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: @@ -1663,7 +1717,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1826,7 +1880,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -1954,7 +2008,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -2044,7 +2098,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: @@ -2102,7 +2156,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 406: diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index b5742d7b..55e8d101 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -104,7 +104,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -180,7 +180,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: @@ -256,7 +256,7 @@ paths: 403: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" 404: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" 405: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" 406: diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 290c845e..bf9ba84b 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -174,7 +174,7 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -906,7 +906,7 @@ paths: items: $ref: "definitions/VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index dafbe5e0..b5ab401d 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -257,7 +257,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -702,7 +702,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: @@ -1065,7 +1065,7 @@ paths: items: $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: - $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" 403: diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index bb6b2e04..5ff5f6b2 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -2,85 +2,6 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: - - AffectedVnfc: - description: > - This type provides information about added, deleted, modified and - temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - Identifier of the Vnfc instance, identifying the applicable - "vnfcResourceInfo" entry in the "VnfInstance" data type. - $ref: "#/definitions/IdentifierInVnf" - vduId: - description: > - Identifier of the related VDU in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - For a temporary resource, an AffectedVnfc structure exists as long - as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - description: > - Reference to the VirtualCompute resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "#/definitions/ResourceHandle" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfcResourceInfo structure. - $ref: "#/definitions/KeyValuePairs" - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were affected by the - change. - Shall be present for those affected CPs of the VNFC instance that - are associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC instance. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have been added. Each - value refers to a VirtualStorageResourceInfo item in the - VnfInstance that was added to the VNFC. It shall be provided if at - least one storage resource was added to the VNFC. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have been removed. - The value contains the identifier of a VirtualStorageResourceInfo - item that has been removed from the VNFC, and might no longer exist - in the VnfInstance. - It shall be provided if at least one storage resource was removed - from the VNFC. - type: array - items: - $ref: "#/definitions/IdentifierInVnf" - Link: description: > This type represents a link to a resource using an absolute URI. @@ -92,7 +13,7 @@ definitions: href: description: > URI of another resource referenced from a resource. - Shall be an absolute URI (i.e. a URI that contains {apiRoot}). + Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. $ref: "#/definitions/Uri" NotificationLink: @@ -113,25 +34,236 @@ definitions: information is not available. $ref: "#/definitions/Uri" - Version: + KeyValuePairs: description: > - A version. + This type represents a list of key-value pairs. The order of the pairs in the list is not significant. + In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 7159. + type: object + + VnfInstanceSubscriptionFilter: + description: > + This type represents subscription filter criteria to match VNF + instances. + type: object + properties: + vnfdIds: + description: > + If present, match VNF instances that were created based on a VNFD + identified by one of the vnfdId values listed in this attribute. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfProductsFromProviders: + description: > + If present, match VNF instances that belong to VNF products from + certain providers. + The attributes "vnfdIds" and "vnfProductsFromProviders" are + alternatives to reference to VNF instances that are based on certain + VNFDs in a filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: object + required: + - vnfProvider + properties: + vnfProvider: + description: > + Name of the VNF provider to match. + type: string + vnfProducts: + description: > + If present, match VNF instances that belong to VNF products + with certain product names, from one particular provider. + type: array + items: + type: object + required: + - vnfProductName + properties: + vnfProductName: + description: > + Name of the VNF product to match. + type: string + versions: + description: > + If present, match VNF instances that belong to VNF + products with certain versions and a certain product + name, from one particular provider. + type: array + items: + type: object + required: + - vnfSoftwareVersion + properties: + vnfSoftwareVersion: + description: > + Software version to match. + $ref: "#/definitions/Version" + vnfdVersions: + description: > + If present, match VNF instances that belong to VNF + products with certain VNFD versions, a certain + software version and a certain product name, from + one particular provider. + type: array + items: + $ref: "#/definitions/Version" + vnfInstanceIds: + description: > + If present, match VNF instances with an instance identifier listed + in this attribute. + The attributes "vnfInstanceIds" and "vnfInstanceNames" are + alternatives to reference to particular VNF Instances in a filter. + They should not be used both in the same filter instance, but one + alternative should be chosen. + type: array + items: + $ref: "#/definitions/Identifier" + vnfInstanceNames: + description: > + If present, match VNF instances with a VNF Instance Name listed in + this attribute. + The attributes "vnfInstanceIds" and "vnfInstanceNames" are + alternatives to reference to particular VNF Instances in a filter. + They should not be used both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + + ApiVersionInformation: + description: > + This type represents API version information. It shall comply with the + provisions defined in table 4.4.1.13-1 (SOL003). + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/ + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the + uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 4.6.1. + type: string + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not (false). + A deprecated version is still supported by the API producer + but is recommended not to be used any longer. + When a version is no longer supported, it does not appear in + the response body. + type: boolean + retirementDate: + description: > + The date and time after which the API version will no + longer be supported. + This attribute may be included if the value of the + isDeprecated attribute is set to true and shall be + absent otherwise. + $ref: "#/definitions/DateTime" + + Identifier: + description: > + An identifier with the intention of being globally unique. + type: string + + IdentifierInVnfd: + description: > + An identifier that is unique within a VNF descriptor. + type: string + + IdentifierInVim: + description: > + An identifier maintained by the VIM or other resource provider. It is + expected to be unique within the VIM instance. + type: string + + IdentifierInVnf: + description: > + An identifier that is unique for the respective type within a VNF + instance, but may not be globally unique. + type: string + + IdentifierLocal: + description: > + An identifier that is unique within a limited local scope other than above listed identifiers, + such as within a complex data structure or within a request-response pair. + Representation: string of variable length. + type: string + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according to IETF RFC 3339. + type: string + format: date-time + + Uri: + description: > + String formatted according to IETF RFC 3986. type: string + Boolean: + description: > + The Boolean is a data type having two values (true and false). + type: boolean + MacAddress: description: > - A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. + A MAC address. Representation: string that consists of groups of two hexadecimal digits, + separated by hyphens or colons. type: string format: MAC IpAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that + integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP + Version: + description: > + A version. + type: string + + String: + description: > + A string defined in IETF RFC 8259. + type: string + + Number: + description: > + A number defined in IETF RFC 8259. + type: number + + + CpProtocolData: description: > This type represents network protocol data. @@ -156,12 +288,7 @@ definitions: "IP_OVER_ETHERNET", and shall be absent otherwise. $ref: "#/definitions/IpOverEthernetAddressData" - DateTime: - description: > - Date-time stamp. - Representation: String formatted according to IETF RFC 3339. - type: string - format: "date-time" + ExtLinkPortData: description: > @@ -291,28 +418,6 @@ definitions: - OPERATE - CHANGE_EXT_CONN - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - - IdentifierInVim: - description: > - An identifier maintained by the VIM or other resource provider. It is - expected to be unique within the VIM instance. - type: string - - IdentifierInVnf: - description: > - An identifier that is unique for the respective type within a VNF - instance, but may not be globally unique. - type: string - - IdentifierInVnfd: - description: > - An identifier that is unique within a VNF descriptor. - type: string - IpOverEthernetAddressData: description: > This type represents network address data for IP over Ethernet. @@ -388,13 +493,6 @@ definitions: a subnet will be assigned. $ref: "#/definitions/IdentifierInVim" - KeyValuePairs: - description: > - This type represents a list of key-value pairs. The order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - LcmOperationType: description: > Value | Description @@ -598,11 +696,6 @@ definitions: Shall be present if it has not been provisioned out of band. $ref: "#/definitions/Uri" - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - VimConnectionInfo: description: > This type represents parameters to connect to a VIM for managing the @@ -755,147 +848,80 @@ definitions: items: $ref: "#/definitions/VnfExtCpConfig" - VnfInstanceSubscriptionFilter: + AffectedVnfc: description: > - This type represents subscription filter criteria to match VNF - instances. + This type provides information about added, deleted, modified and + temporary VNFCs. type: object + required: + - id + - vduId + - changeType + - computeResource properties: - vnfdIds: + id: description: > - If present, match VNF instances that were created based on a VNFD - identified by one of the vnfdId values listed in this attribute. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - $ref: "#/definitions/Identifier" - vnfProductsFromProviders: + Identifier of the Vnfc instance, identifying the applicable + "vnfcResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + vduId: description: > - If present, match VNF instances that belong to VNF products from - certain providers. - The attributes "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: > - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF products - with certain product names, from one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: > - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain product - name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: > - Software version to match. - $ref: "#/definitions/Version" - vnfdVersions: - description: > - If present, match VNF instances that belong to VNF - products with certain VNFD versions, a certain - software version and a certain product name, from - one particular provider. - type: array - items: - $ref: "#/definitions/Version" - vnfInstanceIds: + Identifier of the related VDU in the VNFD. + $ref: "#/definitions/IdentifierInVnfd" + changeType: description: > - If present, match VNF instances with an instance identifier listed - in this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + For a temporary resource, an AffectedVnfc structure exists as long + as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + computeResource: + description: > + Reference to the VirtualCompute resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "#/definitions/ResourceHandle" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfcResourceInfo structure. + $ref: "#/definitions/KeyValuePairs" + affectedVnfcCpIds: + description: > + Identifiers of CP(s) of the VNFC instance that were affected by the + change. + Shall be present for those affected CPs of the VNFC instance that + are associated to an external CP of the VNF instance. + May be present for further affected CPs of the VNFC instance. type: array items: - $ref: "#/definitions/Identifier" - vnfInstanceNames: + $ref: "#/definitions/IdentifierInVnf" + addedStorageResourceIds: description: > - If present, match VNF instances with a VNF Instance Name listed in - this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. + References to VirtualStorage resources that have been added. Each + value refers to a VirtualStorageResourceInfo item in the + VnfInstance that was added to the VNFC. It shall be provided if at + least one storage resource was added to the VNFC. type: array items: - type: string - - ApiVersionInformation: - description: > - This type represents API version information. It shall comply with the - provisions defined in table 4.4.1.13-1 (SOL003). - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/ - type: string - apiVersions: + $ref: "#/definitions/IdentifierInVnf" + removedStorageResourceIds: description: > - Version(s) supported for the API signaled by the - uriPrefix attribute. + References to VirtualStorage resources that have been removed. + The value contains the identifier of a VirtualStorageResourceInfo + item that has been removed from the VNFC, and might no longer exist + in the VnfInstance. + It shall be provided if at least one storage resource was removed + from the VNFC. type: array items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 4.6.1. - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not (false). - A deprecated version is still supported by the API producer - but is recommended not to be used any longer. - When a version is no longer supported, it does not appear in - the response body. - type: boolean - retirementDate: - description: > - The date and time after which the API version will no - longer be supported. - This attribute may be included if the value of the - isDeprecated attribute is set to true and shall be - absent otherwise. - $ref: "#/definitions/DateTime" \ No newline at end of file + $ref: "#/definitions/IdentifierInVnf" \ No newline at end of file diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index c7d4efcf..d42c235b 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -1,15 +1,23 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + responses: - 202: + 206: description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. + 206 PARTIAL CONTENT headers: - Location: - description: The resource URI of the created VNF instance + Content-Type: + description: > + The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. type: string - format: url + maximum: 1 + minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -19,30 +27,21 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 - 202-with-Location: - description: > - Accepted + schema: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. + 303: headers: - #TODO: Add headers defined in 4.3.4.3 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 @@ -52,53 +51,40 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - 303: - description: > - 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. - headers: - Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 + 400: description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a payload body contains - a syntactically incorrect payload bodydata structure), the API producer - shall respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is adversely - affected, and the API producer does not support paging for the - affected resource, it shall respond with this response code. - The "ProblemDetails" structure shall be provided, and should include + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. - If there is an application error related to the client's input that cannot - be easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of - the problem. - If the request contains a malformed access token, the API Producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure - may be provided. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. @@ -114,35 +100,22 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 401: description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -155,34 +128,25 @@ responses: 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. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 403: description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. @@ -198,23 +162,27 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 401: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 404: description: > - Unauthorized - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. @@ -230,414 +198,370 @@ responses: maximum: 1 minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 403: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 405: description: > - Forbidden + 405 METHOD NOT ALLOWED - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + 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: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists: + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 406: description: > - Not Found - - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the VNF instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - This response code is not appropriate in case the resource addressed by - the URI is a container resource which is designed to contain child - resources, but does not contain any child resource at the time the request - is received. For a GET request to an existing empty container resource, - a typical response contains a 200 OK response code and a payload body - with an empty array + 406 NOT ACCEPTABLE + + If the "Accept" header does not contain at least one name of a content type that is acceptable + to the API producer, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-VNF-LCM: - description: > - Not Found - - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the VNF LCM operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + 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: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the VNF instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + + 409: headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported-VNF-LCM: - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the VNF LCM operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + 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: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 406: + 412: description: > - Not Acceptable + 412 PRECONDITION FAILED - If the "Accept" HTTP header does not contain at least one name of - a content type that is acceptable to the API producer, the API - producer shall respond with this response code. The - "ProblemDetails" structure may be omitted in that case. + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 - Version: - description: The used API version. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - 412: - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. + WWW-Authenticate: + description: > + 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: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 413: description: > - Payload Too Large + 413 PAYLOAD TOO LARGE - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond with - this response code, following the provisions in IETF RFC 7231 for - the use of the "Retry-After" HTTP header and for closing the connection. - The "ProblemDetails" structure may be omitted + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 414: description: > - URI Too Long + 414 URI TOO LONG - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response code. - This condition can e.g. be caused by passing long queries in the request - URI of a GET request. The "ProblemDetails" structure may be omitted + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 416: description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the - Range HTTP header is not present in the requested resource. + 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 422: description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE: This error response code is only applicable for methods - that have a request body. + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 429: description: > - Too many requests - - If the API consumer has sent too many requests in a defined period of - time and the API producer is able to detect that condition - ("rate limiting"), the API producer shall respond with this response - code, following the provisions in IETF RFC 6585 [8] for the use of - the "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more information + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information about the source of the problem. - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of SOL002. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 503: description: > - Service Unavailable + 503 SERVICE UNAVAILABLE - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + 504: description: > - Gateway Timeout + 504 GATEWAY TIMEOUT - If the API producer encounters a timeout while waiting for a response - from an upstream server (i.e. a server that the API producer communicates - with when fulfilling a request), it should respond with this response code. + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 Version: - description: The used API version. + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: - $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file + $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" \ No newline at end of file -- GitLab