diff --git a/src/SOL012/APIVersion/APIVersion.yaml b/src/SOL012/APIVersion/APIVersion.yaml index 876f660b70e2ca578352cb79a034e84fba0ca53b..cacc9b843a9869772c3d0f7e57e58eef5c4c4345 100644 --- a/src/SOL012/APIVersion/APIVersion.yaml +++ b/src/SOL012/APIVersion/APIVersion.yaml @@ -23,8 +23,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 012 v3.4.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf + description: ETSI GS NFV-SOL 012 v3.7.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf paths: /nfvpolicy/api_versions: diff --git a/src/SOL012/PolicyManagement/PolicyManagement.yaml b/src/SOL012/PolicyManagement/PolicyManagement.yaml index d9c0b5714fd504fbdbdb04f8d2d08cd0e5b250a9..dec91f148194f201e07b179cb1edcae8aa733449 100644 --- a/src/SOL012/PolicyManagement/PolicyManagement.yaml +++ b/src/SOL012/PolicyManagement/PolicyManagement.yaml @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 012 v3.4.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf + description: ETSI GS NFV-SOL 012 v3.7.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: @@ -52,25 +52,25 @@ paths: "201": $ref: '#/components/responses/Policy.Post.201' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- @@ -78,8 +78,8 @@ paths: This method shall follow the provisions specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/filter.Policies" + - $ref: "#/components/parameters/nextpage_opaque_marker.Policies" - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" @@ -89,23 +89,23 @@ paths: "400": $ref: '#/components/responses/Policy.Get.400' "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}": description: > @@ -125,25 +125,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicy.Get.200' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 patch: description: > @@ -164,27 +164,27 @@ paths: "200": $ref: '#/components/responses/PolicyModifications.Patch.200' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyModifications.Patch.409' "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > @@ -200,27 +200,27 @@ paths: "204": $ref: '#/components/responses/Policy.Delete.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/Policy.Delete.409' "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/selected_versions": description: > @@ -242,25 +242,25 @@ paths: "200": $ref: '#/components/responses/PolicySelectedVersion.Get.200' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: '#/components/responses/PolicySelectedVersion.Get.404' "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/versions/{version}": description: > @@ -281,25 +281,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicyVersion.Get.200' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 put: description: > @@ -314,27 +314,27 @@ paths: "201": $ref: '#/components/responses/PolicyVersionTransfer.Put.201' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersionTransfer.Put.409' "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > @@ -349,27 +349,27 @@ paths: "204": $ref: '#/components/responses/PolicyVersion.Delete.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersion.Delete.409' "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions": description: >- @@ -395,25 +395,25 @@ paths: "303": $ref: '#/components/responses/Subscriptions.Post.303' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- @@ -425,31 +425,31 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" - - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" + - $ref: "#/components/parameters/filter.Subscriptions" + - $ref: "#/components/parameters/nextpage_opaque_marker.Subscriptions" responses: "200": $ref: '#/components/responses/Subscriptions.Get.200' "400": $ref: '#/components/responses/Subscriptions.Get.400' "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions/{subscriptionId}": description: >- @@ -470,25 +470,25 @@ paths: "200": $ref: '#/components/responses/IndividualSubscription.Get.200' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: >- @@ -505,27 +505,27 @@ paths: "204": $ref: '#/components/responses/IndividualSubscription.Delete.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": - $ref: ../components/SOL012_resp.yaml#/components/responses/404 + $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": - $ref: ../components/SOL012_resp.yaml#/components/responses/409 + $ref: ../responses/SOL012_resp.yaml#/responses/409 "422": - $ref: ../components/SOL012_resp.yaml#/components/responses/422 + $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": - $ref: ../components/SOL012_resp.yaml#/components/responses/504 + $ref: ../responses/SOL012_resp.yaml#/responses/504 components: parameters: @@ -538,7 +538,7 @@ components: in: path required: true schema: - $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' + $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' version: name: version @@ -560,228 +560,62 @@ components: in: path required: true schema: - $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' + $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' - schemas: - CreatePolicyRequest: + filter.Policies: + name: filter description: > - This type represents request parameters for creating a policy. It shall comply with the provisions defined - in table 5.6.2.2-1. - type: object - properties: - designer: - description: > - Human readable name of the designer of the policy. - type: string - name: - description: > - Human readable name of the policy. - type: string - pfId: - description: > - Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the - PF is not the API producer and shall be absent otherwise. - Shall be absent when the API producer is NFVO-N. - More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. - For example, the PF can be a VNFM or VIM when the API producer is an NFVO. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - associations: - description: > - Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. - Shall be absent when the association feature is not applicable for the PF. - The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, - the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. - How the PF determines the scope of applicability of the policy when this attribute is absent is - outside the scope of the present document. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - required: - - designer - - name - - Policy: - description: >- - This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. - type: object - properties: - id: - description: > - Identifier of the policy. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - designer: - description: > - Human readable name of the designer of the policy. - type: string - name: - description: > - Human readable name of the policy. - type: string - pfId: - description: > - Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not - the API producer and shall be absent otherwise. - Shall be absent when the API producer is NFVO-N. - More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. - For example, the PF can be a VNFM or VIM when the API producer is an NFVO. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - versions: - description: > - Versions of the policy. Shall be present if at least one version of the policy has been transferred. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" - selectedVersion: - description: > - Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" - activationStatus: - description: > - Status of the policy on whether it is activated or deactivated. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ActivationStatus" - transferStatus: - description: > - Status of the policy on whether the content of the policy has been transferred. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/TransferStatus" - associations: - description: > - Identifiers of the entities that the PF manages and to which the policy associates to. - Shall be absent when the association feature is not applicable for the PF. - The associations refer to identifiers of entities that the PF manages. - E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can - associate to an NS instances. - How the PF determines the scope of applicability of the policy when this attribute is absent is - outside the scope of the present document. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - _links: - description: > - Links for this resource - type: object - properties: - self: - description: > - URI of this resource - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" - selected: - description: > - URI of the selected version of this policy, if exists. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" - versions: - description: > - URIs of all the transferred versions of this policy, if exists. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" - required: - - self - required: - - id - - designer - - name - - activationStatus - - transferStatus - - _links + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [7]. + The API producer shall support receiving this parameter as part of + the URI query string. The API consumer may supply this + parameter. + All attribute names that appear in the Policy and in data types + referenced from it shall be supported by the API producer in the + filter expression. + in: query + required: false + schema: + type: string - PolicySubscriptionRequest: + nextpage_opaque_marker.Policies: + name: nextpage_opaque_marker description: > - This type represents a subscription request related to notifications about policy changes - and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. - type: object - properties: - filter: - description: > - Filter settings for this subscription, to define the subset of all notifications this subscription relates to. - A particular notification is sent to the subscriber if the filter matches, or if there is no filter. - $ref: "#/components/schemas/PolicyNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" - authentication: - description: > - Authentication parameters to configure the use of Authorization when sending notifications - corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. - This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/SubscriptionAuthentication" - required: - - callbackUri - - PolicySubscription: + Marker to obtain the next page of a paged response. Shall be + supported by the API producer if it supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this + resource. + in: query + required: false + schema: + type: string + + filter.Subscriptions: + name: filter description: > - This type represents a subscription related to notifications about policy changes and policy conflicts. - It shall comply with the provisions defined in table 5.6.2.6-1. - type: object - properties: - id: - description: > - Identifier of this subscription resource. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - filter: - description: > - Filter settings for this subscription, to define the subset of all notifications this subscription - relates to. A particular notification is sent to the subscriber if the filter matches, or if there - is no filter. - $ref: "#/components/schemas/PolicyNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" - _links: - description: > - Links for this resource. - type: object - properties: - self: - description: > - URI of this resource. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" - required: - - self - required: - - id - - callbackUri - - _links - - PolicyNotificationsFilter: + Attribute-based filtering expression according to clause 5.2 of ETSI + GS NFV-SOL 013 [7]. + The API producer shall support receiving this parameter as part of the + URI query string. The API consumer may supply this parameter. + All attribute names that appear in the PolicySubscription and in data types + referenced from it shall be supported by the API producer in the filter + expression. + in: query + required: false + schema: + type: string + + nextpage_opaque_marker.Subscriptions: + name: nextpage_opaque_marker description: > - This type represents a subscription filter related to notifications about policy changes and policy conflicts. - It shall comply with the provisions defined in table 5.6.3.2-1. - At a particular nesting level in the filter structure, the following applies: All attributes shall match in - order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, - the attribute shall match if at least one of the values in the array matches (logical "or" between the values - of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. - Permitted values: - - PolicyChangeNotification - - PolicyConflictNotification - The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: array - items: - type: string - enum: - - PolicyChangeNotification - - PolicyConflictNotification - policyIds: - description: > - Match particular policy identifiers. - For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription - is impacted by the conflict, as defined in clause 5.6.2.8. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - changeTypes: - description: > - Match particular policy management operation types that cause the change of the policy. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" + Marker to obtain the next page of a paged response. Shall be supported + by the API producer if the API producer supports alternative 2 (paging) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this + resource. + in: query + required: false + schema: + type: string responses: Policy.Post.201: @@ -813,7 +647,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/Policy" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.200: description: > @@ -852,7 +686,7 @@ components: schema: type: array items: - $ref: "#/components/schemas/Policy" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.400: description: > @@ -879,7 +713,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicy.Get.200: description: > @@ -901,7 +735,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/Policy" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" PolicyModifications.Patch.200: description: > @@ -925,7 +759,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicyModifications.Patch.409: description: > @@ -956,7 +790,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Policy.Delete.204: description: > @@ -1003,7 +837,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicySelectedVersion.Get.200: description: > @@ -1063,7 +897,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicyVersion.Get.200: description: > @@ -1141,7 +975,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicyVersion.Delete.204: description: > @@ -1188,7 +1022,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Subscriptions.Post.201: description: > @@ -1220,7 +1054,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/PolicySubscription" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Post.303: description: > @@ -1288,7 +1122,7 @@ components: schema: type: array items: - $ref: "#/components/schemas/PolicySubscription" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Get.400: description: > @@ -1317,7 +1151,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualSubscription.Get.200: description: > @@ -1341,7 +1175,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/PolicySubscription" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" IndividualSubscription.Delete.204: description: > @@ -1370,7 +1204,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/CreatePolicyRequest" + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/CreatePolicyRequest" required: true PolicyModifications: @@ -1379,7 +1213,7 @@ components: content: application/json: schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicySubscriptionRequest: description: > @@ -1387,4 +1221,4 @@ components: content: application/json: schema: - $ref: "#/components/schemas/PolicySubscriptionRequest" \ No newline at end of file + $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscriptionRequest" \ No newline at end of file diff --git a/src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml b/src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..902c7fc7721dd9dbf0ca9cb0b3b3cfdbea99fd9c --- /dev/null +++ b/src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml @@ -0,0 +1,221 @@ +definitions: + schemas: + CreatePolicyRequest: + description: > + This type represents request parameters for creating a policy. It shall comply with the provisions defined + in table 5.6.2.2-1. + type: object + properties: + designer: + description: > + Human readable name of the designer of the policy. + type: string + name: + description: > + Human readable name of the policy. + type: string + pfId: + description: > + Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the + PF is not the API producer and shall be absent otherwise. + Shall be absent when the API producer is NFVO-N. + More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. + For example, the PF can be a VNFM or VIM when the API producer is an NFVO. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + associations: + description: > + Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. + Shall be absent when the association feature is not applicable for the PF. + The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, + the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. + How the PF determines the scope of applicability of the policy when this attribute is absent is + outside the scope of the present document. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + required: + - designer + - name + + Policy: + description: >- + This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. + type: object + properties: + id: + description: > + Identifier of the policy. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + designer: + description: > + Human readable name of the designer of the policy. + type: string + name: + description: > + Human readable name of the policy. + type: string + pfId: + description: > + Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not + the API producer and shall be absent otherwise. + Shall be absent when the API producer is NFVO-N. + More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. + For example, the PF can be a VNFM or VIM when the API producer is an NFVO. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + versions: + description: > + Versions of the policy. Shall be present if at least one version of the policy has been transferred. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" + selectedVersion: + description: > + Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" + activationStatus: + description: > + Status of the policy on whether it is activated or deactivated. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/ActivationStatus" + transferStatus: + description: > + Status of the policy on whether the content of the policy has been transferred. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/TransferStatus" + associations: + description: > + Identifiers of the entities that the PF manages and to which the policy associates to. + Shall be absent when the association feature is not applicable for the PF. + The associations refer to identifiers of entities that the PF manages. + E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can + associate to an NS instances. + How the PF determines the scope of applicability of the policy when this attribute is absent is + outside the scope of the present document. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + _links: + description: > + Links for this resource + type: object + properties: + self: + description: > + URI of this resource + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" + selected: + description: > + URI of the selected version of this policy, if exists. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" + versions: + description: > + URIs of all the transferred versions of this policy, if exists. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" + required: + - self + required: + - id + - designer + - name + - activationStatus + - transferStatus + - _links + + PolicySubscriptionRequest: + description: > + This type represents a subscription request related to notifications about policy changes + and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. + type: object + properties: + filter: + description: > + Filter settings for this subscription, to define the subset of all notifications this subscription relates to. + A particular notification is sent to the subscriber if the filter matches, or if there is no filter. + $ref: "#/definitions/schemas/PolicyNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when sending notifications + corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. + This attribute shall only be present if the subscriber requires authorization of notifications. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/SubscriptionAuthentication" + required: + - callbackUri + + PolicySubscription: + description: > + This type represents a subscription related to notifications about policy changes and policy conflicts. + It shall comply with the provisions defined in table 5.6.2.6-1. + type: object + properties: + id: + description: > + Identifier of this subscription resource. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset of all notifications this subscription + relates to. A particular notification is sent to the subscriber if the filter matches, or if there + is no filter. + $ref: "#/definitions/schemas/PolicyNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" + _links: + description: > + Links for this resource. + type: object + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" + required: + - self + required: + - id + - callbackUri + - _links + + PolicyNotificationsFilter: + description: > + This type represents a subscription filter related to notifications about policy changes and policy conflicts. + It shall comply with the provisions defined in table 5.6.3.2-1. + At a particular nesting level in the filter structure, the following applies: All attributes shall match in + order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, + the attribute shall match if at least one of the values in the array matches (logical "or" between the values + of one filter attribute). + type: object + properties: + notificationTypes: + description: > + Match particular notification types. + Permitted values: + - PolicyChangeNotification + - PolicyConflictNotification + The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification + types to facilitate automated code generation systems. + type: array + items: + type: string + enum: + - PolicyChangeNotification + - PolicyConflictNotification + policyIds: + description: > + Match particular policy identifiers. + For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription + is impacted by the conflict, as defined in clause 5.6.2.8. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + changeTypes: + description: > + Match particular policy management operation types that cause the change of the policy. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" \ No newline at end of file diff --git a/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml b/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml index 5e967f41ffe9aa1365d7624816f003999bebbcf9..04dbedc20975b131fa0ef9b0a92081da9d4a208f 100644 --- a/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml +++ b/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 012 v3.4.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf + description: ETSI GS NFV-SOL 012 v3.7.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: @@ -52,19 +52,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Post.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- @@ -76,19 +76,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Get.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyConflictNotification: description: >- @@ -116,19 +116,19 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Post.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- @@ -140,181 +140,21 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Get.204' "400": - $ref: ../components/SOL012_resp.yaml#/components/responses/400 + $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": - $ref: ../components/SOL012_resp.yaml#/components/responses/401 + $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": - $ref: ../components/SOL012_resp.yaml#/components/responses/403 + $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": - $ref: ../components/SOL012_resp.yaml#/components/responses/405 + $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": - $ref: ../components/SOL012_resp.yaml#/components/responses/406 + $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": - $ref: ../components/SOL012_resp.yaml#/components/responses/500 + $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": - $ref: ../components/SOL012_resp.yaml#/components/responses/503 + $ref: ../responses/SOL012_resp.yaml#/responses/503 components: - schemas: - PolicyChangeNotification: - description: > - This type represents a notification about policy change. It shall comply with the provisions - defined in table 5.6.2.7-1. - This notification shall be triggered by the API producer when a policy has been changed as - the result of an operation of creating, transferring, deleting or modifying a policy. - type: object - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple times due to multiple - subscriptions, the "id" attribute of all these notifications shall have the same value. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" - for this notification type. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" - policyId: - description: > - Identifier of the policy. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - affectedVersion: - description: > - Affected version of the policy. - The value is the version identifier in the URI when a particular version of the policy - is transferred or deleted, or the selected version of the policy when the policy is - activated/deactivated/modified. - Shall be present when a particular version of the policy is impacted by the policy - management operation. - Shall be absent otherwise. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" - previousSelectedVersion: - description: > - The previous selected version of the policy. - Shall be present when another version of the policy has been selected. - Shall be absent otherwise. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" - policyModifications: - description: > - Information about the modifications of the policy. Shall be present when the changeType - equals to "MODIFY_POLICY". Shall be absent otherwise. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" - changeType: - description: > - Policy management operation that cause the change of the policy. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" - objectInstance: - description: > - Link to the resource representing the policies to which the notified change applies. - Shall be present if the policy is accessible as a resource. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" - required: - - subscription - required: - - id - - notificationType - - subscriptionId - - timeStamp - - policyId - - changeType - - _links - - PolicyConflictNotification: - description: > - This type represents a notification about policy conflict. It shall comply with the provisions - defined in table 5.6.2.8-1. - This notification shall be triggered by the API producer when a policy conflict is detected, - and any of the policies specified in an associated notification subscription is impacted - by the conflict. - type: object - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple times due to multiple - subscriptions, the "id" attribute of all these notifications shall have the same value. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" - for this notification type. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" - policyIds: - description: > - Identifiers of the conflicting policies. - The policy identifier and the corresponding selected version are mapped by the order - in the array. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" - minItems: 2 - selectedVersions: - description: > - Selected versions of the conflicting policies. - The policy identifier and the corresponding selected version are mapped by the order - in the array. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" - minItems: 2 - conflictDescription: - description: > - Description of the detected policy conflicts, e.g. conflicting events, conditions - or actions among the policies - $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" - _links: - description: > - Links to resources related to this notification. - type: object - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" - objectInstances: - description: > - Link to the resources representing the policies to which the notified conflict applies. - type: array - items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" - minItems: 2 - required: - - subscription - - objectInstances - required: - - id - - notificationType - - subscriptionId - - timeStamp - - policyIds - - selectedVersions - - conflictDescription - - _links - responses: PolicyChangeNotification.Post.204: description: > @@ -397,7 +237,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/PolicyChangeNotification" + $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyChangeNotification" required: true PolicyConflictNotification: @@ -406,5 +246,5 @@ components: content: application/json: schema: - $ref: "#/components/schemas/PolicyConflictNotification" + $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyConflictNotification" required: true diff --git a/src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml b/src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..16c2418fcaaaa891f7317fc5fd13f8f9fade735f --- /dev/null +++ b/src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml @@ -0,0 +1,160 @@ +definitions: + schemas: + PolicyChangeNotification: + description: > + This type represents a notification about policy change. It shall comply with the provisions + defined in table 5.6.2.7-1. + This notification shall be triggered by the API producer when a policy has been changed as + the result of an operation of creating, transferring, deleting or modifying a policy. + type: object + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple times due to multiple + subscriptions, the "id" attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" + for this notification type. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" + policyId: + description: > + Identifier of the policy. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + affectedVersion: + description: > + Affected version of the policy. + The value is the version identifier in the URI when a particular version of the policy + is transferred or deleted, or the selected version of the policy when the policy is + activated/deactivated/modified. + Shall be present when a particular version of the policy is impacted by the policy + management operation. + Shall be absent otherwise. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" + previousSelectedVersion: + description: > + The previous selected version of the policy. + Shall be present when another version of the policy has been selected. + Shall be absent otherwise. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" + policyModifications: + description: > + Information about the modifications of the policy. Shall be present when the changeType + equals to "MODIFY_POLICY". Shall be absent otherwise. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" + changeType: + description: > + Policy management operation that cause the change of the policy. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" + objectInstance: + description: > + Link to the resource representing the policies to which the notified change applies. + Shall be present if the policy is accessible as a resource. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" + required: + - subscription + required: + - id + - notificationType + - subscriptionId + - timeStamp + - policyId + - changeType + - _links + + PolicyConflictNotification: + description: > + This type represents a notification about policy conflict. It shall comply with the provisions + defined in table 5.6.2.8-1. + This notification shall be triggered by the API producer when a policy conflict is detected, + and any of the policies specified in an associated notification subscription is impacted + by the conflict. + type: object + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple times due to multiple + subscriptions, the "id" attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" + for this notification type. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" + policyIds: + description: > + Identifiers of the conflicting policies. + The policy identifier and the corresponding selected version are mapped by the order + in the array. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" + minItems: 2 + selectedVersions: + description: > + Selected versions of the conflicting policies. + The policy identifier and the corresponding selected version are mapped by the order + in the array. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" + minItems: 2 + conflictDescription: + description: > + Description of the detected policy conflicts, e.g. conflicting events, conditions + or actions among the policies + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" + _links: + description: > + Links to resources related to this notification. + type: object + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" + objectInstances: + description: > + Link to the resources representing the policies to which the notified conflict applies. + type: array + items: + $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" + minItems: 2 + required: + - subscription + - objectInstances + required: + - id + - notificationType + - subscriptionId + - timeStamp + - policyIds + - selectedVersions + - conflictDescription + - _links \ No newline at end of file diff --git a/src/SOL012/components/SOL012_params.yaml b/src/SOL012/components/SOL012_params.yaml index dbb92ea0e1a113539ffd18957e971e4b095e7c75..ecf2c359f2de0b4889f2f0acc043545cb2aa5401 100644 --- a/src/SOL012/components/SOL012_params.yaml +++ b/src/SOL012/components/SOL012_params.yaml @@ -36,71 +36,4 @@ components: schema: type: string - filter: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - all_fields: - name: all_fields - description: > - Include all complex attributes in the response. See clause - 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity - shall support this parameter. - in: query - required: false - schema: - type: string - - fields: - name: fields - description: > - Complex attributes to be included into the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - exclude_fields: - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause - 5.3 of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional - entity should support this parameter. - in: query - required: false - schema: - type: string - - exclude_default: - name: exclude_default - in: query - description: >- - Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 - for details. The NFV-MANO functional entity shall support this parameter. - required: false - schema: - type: string - - nextpage_opaque_marker: - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be supported by - the NFV-MANO functional entity if the entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string diff --git a/src/SOL012/components/SOL012_resp.yaml b/src/SOL012/components/SOL012_resp.yaml deleted file mode 100644 index f21d975064ee9ee2e10705698bdbe9a8c800066d..0000000000000000000000000000000000000000 --- a/src/SOL012/components/SOL012_resp.yaml +++ /dev/null @@ -1,658 +0,0 @@ -components: - responses: - 206: - description: > - 206 PARTIAL CONTENT - headers: - Content-Type: - description: > - The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - Content-Range: - description: > - The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 303: - description: > - 303 See Other - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - - 400: - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect - query parameters or the payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource would be so big that the performance - of the API producer is adversely affected, and the API producer does not support paging for the affected resource, - it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the problem. - - If there is an application error related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API producer should respond with this response. - The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 - for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 401: - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, or if the request contains an authorization - token that is invalid (e.g. expired or revoked), the API producer should respond with this response. - The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 - and IETF RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 403: - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request to a particular resource, - the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the source of the problem, - and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 404: - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the resource addressed by the URI passed - in the request or is not willing to disclose that one exists, it shall respond with this response code. - The "ProblemDetails" structure may be provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed by the URI is a container resource - which is designed to contain child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 405: - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 406: - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a content type - that is acceptable to the API producer, the API producer shall respond with this - response code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 409: - description: > - 409 CONFLICT - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 412: - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. - The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 413: - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data the API producer is willing or able to process, - it shall respond with this response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 414: - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is willing or able to process, - it shall respond with this response code. This condition can e.g. be caused by passing long queries - in the request URI of a GET request. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 416: - description: > - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 422: - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data - cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond - with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 429: - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period of time and the API producer is able - to detect that condition ("rate limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. - The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information - about the source of the problem. - - The period of time and allowed number of requests are configured within the API producer by means - outside the scope of the present document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 500: - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input that cannot be easily mapped to any other - HTTP response code ("catch all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information - about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 503: - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of itself or of a system it relies on, - it should respond with this response code, following the provisions in IETF RFC 7231 for the use of - the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - - 504: - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a response from an upstream server - (i.e. a server that the API producer communicates with when fulfilling a request), it should respond - with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: > - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" \ No newline at end of file diff --git a/src/SOL012/components/SOL012_schemas.yaml b/src/SOL012/definitions/SOL012_def.yaml similarity index 96% rename from src/SOL012/components/SOL012_schemas.yaml rename to src/SOL012/definitions/SOL012_def.yaml index 7b374935ad8224cb9dcfd4c2d4e26beaa6110d3d..3bcabc3216df2faa33c525b1863ccec68593a2d2 100644 --- a/src/SOL012/components/SOL012_schemas.yaml +++ b/src/SOL012/definitions/SOL012_def.yaml @@ -1,4 +1,4 @@ -components: +definitions: schemas: Link: description: > @@ -11,7 +11,7 @@ components: description: > URI of another resource referenced from a resource. Shall be an absolute URI (i.e. a UTI that contains {apiRoot}). - $ref: "#/components/schemas/Uri" + $ref: "#/definitions/schemas/Uri" NotificationLink: description: > @@ -27,7 +27,7 @@ components: {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available. - $ref: "#/components/schemas/Uri" + $ref: "#/definitions/schemas/Uri" IpAddress: description: > @@ -92,7 +92,7 @@ components: This attribute may be included if the value of the isDeprecated attribute is set to true and shall be absent otherwise. - $ref: "#/components/schemas/DateTime" + $ref: "#/definitions/schemas/DateTime" Identifier: description: > @@ -222,7 +222,7 @@ components: description: > The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. - $ref: "#/components/schemas/Uri" + $ref: "#/definitions/schemas/Uri" ProblemDetails: description: > @@ -309,11 +309,11 @@ components: activationStatus: description: > New activation status of the policy. - $ref: "#/components/schemas/ActivationStatus" + $ref: "#/definitions/schemas/ActivationStatus" selectedVersion: description: > New version of the policy to be selected. - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/Version" addAssociations: description: > Identifiers of entities to be added to the “associations” attribute in the “Policy” @@ -323,7 +323,7 @@ components: Shall be absent when the association feature is not applicable for the PF. type: array items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" removeAssociations: description: > Identifiers of entities to be removed from the “associations” attribute in the “Policy” data structure @@ -333,7 +333,7 @@ components: Shall be absent when the association feature is not applicable for the PF. type: array items: - $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" removeAllAssociations: description: > Shall be set to TRUE if the policy is no longer associated to any specific entities managed by the PF. diff --git a/src/SOL012/endpoints/SOL012_endpoints.yaml b/src/SOL012/endpoints/SOL012_endpoints.yaml index deee09f0dbc9934bddedc542e4f38ebc5e1d9ffd..b1a4bb8380b6e02c90819d18fe4518e57ec523f8 100644 --- a/src/SOL012/endpoints/SOL012_endpoints.yaml +++ b/src/SOL012/endpoints/SOL012_endpoints.yaml @@ -34,7 +34,7 @@ endpoints: content: application/json: schema: - $ref: '../components/SOL012_schemas.yaml#/components/schemas/ApiVersionInformation' + $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. @@ -58,30 +58,30 @@ endpoints: maximum: 1 minimum: 1 400: - $ref: '../components/SOL012_resp.yaml#/components/responses/400' + $ref: '../responses/SOL012_resp.yaml#/responses/400' 401: - $ref: '../components/SOL012_resp.yaml#/components/responses/401' + $ref: '../responses/SOL012_resp.yaml#/responses/401' 403: - $ref: '../components/SOL012_resp.yaml#/components/responses/403' + $ref: '../responses/SOL012_resp.yaml#/responses/403' 404: - $ref: '../components/SOL012_resp.yaml#/components/responses/404' + $ref: '../responses/SOL012_resp.yaml#/responses/404' 405: - $ref: '../components/SOL012_resp.yaml#/components/responses/405' + $ref: '../responses/SOL012_resp.yaml#/responses/405' 406: - $ref: '../components/SOL012_resp.yaml#/components/responses/406' + $ref: '../responses/SOL012_resp.yaml#/responses/406' 413: - $ref: '../components/SOL012_resp.yaml#/components/responses/413' + $ref: '../responses/SOL012_resp.yaml#/responses/413' 414: - $ref: '../components/SOL012_resp.yaml#/components/responses/414' + $ref: '../responses/SOL012_resp.yaml#/responses/414' 416: - $ref: '../components/SOL012_resp.yaml#/components/responses/416' + $ref: '../responses/SOL012_resp.yaml#/responses/416' 422: - $ref: '../components/SOL012_resp.yaml#/components/responses/422' + $ref: '../responses/SOL012_resp.yaml#/responses/422' 429: - $ref: '../components/SOL012_resp.yaml#/components/responses/429' + $ref: '../responses/SOL012_resp.yaml#/responses/429' 500: - $ref: '../components/SOL012_resp.yaml#/components/responses/500' + $ref: '../responses/SOL012_resp.yaml#/responses/500' 503: - $ref: '../components/SOL012_resp.yaml#/components/responses/503' + $ref: '../responses/SOL012_resp.yaml#/responses/503' 504: - $ref: '../components/SOL012_resp.yaml#/components/responses/504' \ No newline at end of file + $ref: '../responses/SOL012_resp.yaml#/responses/504' \ No newline at end of file diff --git a/src/SOL012/responses/SOL012_resp.yaml b/src/SOL012/responses/SOL012_resp.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b42d0602eb6514b09ddc7f06c7f1961fa7cdac6b --- /dev/null +++ b/src/SOL012/responses/SOL012_resp.yaml @@ -0,0 +1,657 @@ +responses: + 206: + description: > + 206 PARTIAL CONTENT + headers: + Content-Type: + description: > + The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 303: + description: > + 303 See Other + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + + 400: + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 401: + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 403: + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 404: + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 405: + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 406: + description: > + 406 NOT ACCEPTABLE + + If the "Accept" HTTP header does not contain at least one name of a content type + that is acceptable to the API producer, the API producer shall respond with this + response code. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 409: + description: > + 409 CONFLICT + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 412: + description: > + 412 PRECONDITION FAILED + + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 413: + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 414: + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 416: + description: > + 416 Range Not Satisfiable + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 422: + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 429: + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information + about the source of the problem. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 500: + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 503: + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" + + 504: + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + content: + application/json: + schema: + $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" \ No newline at end of file