diff --git a/src/SOL012/PolicyManagement/PolicyManagement.yaml b/src/SOL012/PolicyManagement/PolicyManagement.yaml index 2fc6881bb1393a2123b125e1d33937033acf3a41..091f373c4075503783939e960a4c029fb7cc971e 100644 --- a/src/SOL012/PolicyManagement/PolicyManagement.yaml +++ b/src/SOL012/PolicyManagement/PolicyManagement.yaml @@ -47,10 +47,10 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/ContentType" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" requestBody: - $ref: "#/components/requestBodies/PolicyCreationRequest" + $ref: "#/components/requestBodies/CreatePolicyRequest" responses: "201": - $ref: '#/components/responses/Policy.post.201' + $ref: '#/components/responses/Policy.Post.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -71,6 +71,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + get: description: >- The GET method queries information about multiple policies. @@ -84,9 +85,9 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/Policy.get.200' + $ref: '#/components/responses/Policy.Get.200' "400": - $ref: '#/components/responses/Policy.get.400' + $ref: '#/components/responses/Policy.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 "403": @@ -122,7 +123,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/IndividualPolicy.get.200' + $ref: '#/components/responses/IndividualPolicy.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -143,6 +144,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + patch: description: > The PATCH method modifies a policy. @@ -160,7 +162,7 @@ paths: $ref: "#/components/requestBodies/ModifyPolicyRequest" responses: "200": - $ref: '#/components/responses/PolicyModifications.patch.200' + $ref: '#/components/responses/PolicyModifications.Patch.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -174,7 +176,7 @@ paths: "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 "409": - $ref: '#/components/responses/PolicyModifications.patch.409' + $ref: '#/components/responses/PolicyModifications.Patch.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 "500": @@ -196,7 +198,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/Policy.delete.204' + $ref: '#/components/responses/Policy.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -210,7 +212,7 @@ paths: "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 "409": - $ref: '#/components/responses/Policy.delete.409' + $ref: '#/components/responses/Policy.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 "500": @@ -238,7 +240,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/PolicySelectedVersion.get.200' + $ref: '#/components/responses/PolicySelectedVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -246,7 +248,7 @@ paths: "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 "404": - $ref: '#/components/responses/PolicySelectedVersion.get.404' + $ref: '#/components/responses/PolicySelectedVersion.Get.404' "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 "406": @@ -277,7 +279,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/IndividualPolicyVersion.get.200' + $ref: '#/components/responses/IndividualPolicyVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -298,6 +300,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + put: description: > The PUT method transfers the content of a particular version of an individual policy. @@ -311,7 +314,7 @@ paths: $ref: '#/components/requestBodies/PolicyVersionTransferRequest' responses: "201": - $ref: '#/components/responses/PolicyVersionTransfer.put.201' + $ref: '#/components/responses/PolicyVersionTransfer.Put.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -325,7 +328,7 @@ paths: "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 "409": - $ref: '#/components/responses/PolicyVersionTransfer.put.409' + $ref: '#/components/responses/PolicyVersionTransfer.Put.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 "500": @@ -334,6 +337,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + delete: description: > The DELETE method deletes a particular version of an individual policy. @@ -345,7 +349,7 @@ paths: method as defined in clause 5.6.2.8. responses: "204": - $ref: '#/components/responses/PolicyVersion.delete.204' + $ref: '#/components/responses/PolicyVersion.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -359,7 +363,7 @@ paths: "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 "409": - $ref: '#/components/responses/PolicyVersion.delete.409' + $ref: '#/components/responses/PolicyVersion.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 "500": @@ -389,9 +393,9 @@ paths: $ref: '#/components/requestBodies/PolicySubscriptionCreateRequest' responses: "201": - $ref: '#/components/responses/Subscriptions.post.201' + $ref: '#/components/responses/Subscriptions.Post.201' "303": - $ref: '#/components/responses/Subscriptions.post.303' + $ref: '#/components/responses/Subscriptions.Post.303' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -412,6 +416,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + get: description: >- The GET method queries the list of active subscriptions of the functional block that invokes the method. @@ -426,9 +431,9 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" responses: "200": - $ref: '#/components/responses/Subscriptions.get.200' + $ref: '#/components/responses/Subscriptions.Get.200' "400": - $ref: '#/components/responses/Subscriptions.get.400' + $ref: '#/components/responses/Subscriptions.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 "403": @@ -465,7 +470,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "200": - $ref: '#/components/responses/IndividualSubscription.get.200' + $ref: '#/components/responses/IndividualSubscription.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -486,6 +491,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 + delete: description: >- The DELETE method terminates an individual subscription. This method shall follow the provisions specified @@ -499,7 +505,7 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" responses: "204": - $ref: '#/components/responses/IndividualSubscription.delete.204' + $ref: '#/components/responses/IndividualSubscription.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -780,7 +786,7 @@ components: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" responses: - Policy.post.201: + Policy.Post.201: description: > 201 Created @@ -811,7 +817,7 @@ components: schema: $ref: "#/components/schemas/Policy" - Policy.get.200: + Policy.Get.200: description: > Shall be returned when information about zero or more policies has been queried successfully. The response body shall contain in an array the representations of zero or more policies, as defined @@ -850,7 +856,7 @@ components: items: $ref: "#/components/schemas/Policy" - Policy.get.400: + Policy.Get.400: description: > Shall be returned upon the following error: Invalid attribute-based filtering expression. The response body shall contain a ProblemDetails structure, in which the "detail" attribute @@ -877,7 +883,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - IndividualPolicy.get.200: + IndividualPolicy.Get.200: description: > Shall be returned when information about an individual policy has been read successfully. The response body shall contain a representation of the policy, as defined in clause 5.6.2.3. @@ -899,7 +905,7 @@ components: schema: $ref: "#/components/schemas/Policy" - PolicyModifications.patch.200: + PolicyModifications.Patch.200: description: > 200 OK @@ -923,7 +929,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" - PolicyModifications.patch.409: + PolicyModifications.Patch.409: description: > 409 Conflict @@ -954,7 +960,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - Policy.delete.204: + Policy.Delete.204: description: > 204 No Content @@ -974,7 +980,7 @@ components: schema: type: string - Policy.delete.409: + Policy.Delete.409: description: > 409 Conflict @@ -1001,7 +1007,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - PolicySelectedVersion.get.200: + PolicySelectedVersion.Get.200: description: > 200 OK Shall be returned when the content of the selected version of an individual policy has been read successfully. @@ -1031,7 +1037,7 @@ components: type: object additionalProperties: true - PolicySelectedVersion.get.404: + PolicySelectedVersion.Get.404: description: > 404 Not Found @@ -1061,7 +1067,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - IndividualPolicyVersion.get.200: + IndividualPolicyVersion.Get.200: description: > 200 OK @@ -1092,7 +1098,7 @@ components: type: object additionalProperties: true - PolicyVersionTransfer.put.201: + PolicyVersionTransfer.Put.201: description: > 201 Created @@ -1112,7 +1118,7 @@ components: schema: type: string - PolicyVersionTransfer.put.409: + PolicyVersionTransfer.Put.409: description: > 409 Conflict @@ -1139,7 +1145,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - PolicyVersion.delete.204: + PolicyVersion.Delete.204: description: > 204 No Content @@ -1159,7 +1165,7 @@ components: schema: type: string - PolicyVersion.delete.409: + PolicyVersion.Delete.409: description: > 409 Conflict @@ -1186,7 +1192,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - Subscriptions.post.201: + Subscriptions.Post.201: description: > 201 Created @@ -1218,7 +1224,7 @@ components: schema: $ref: "#/components/schemas/PolicySubscription" - Subscriptions.post.303: + Subscriptions.Post.303: description: > 303 See Other @@ -1246,7 +1252,7 @@ components: type: string format: url - Subscriptions.get.200: + Subscriptions.Get.200: description: > 200 OK @@ -1286,7 +1292,7 @@ components: items: $ref: "#/components/schemas/PolicySubscription" - Subscriptions.get.400: + Subscriptions.Get.400: description: > 400 Bad Request @@ -1315,7 +1321,7 @@ components: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" - IndividualSubscription.get.200: + IndividualSubscription.Get.200: description: > 200 OK @@ -1339,7 +1345,7 @@ components: schema: $ref: "#/components/schemas/PolicySubscription" - IndividualSubscription.delete.204: + IndividualSubscription.Delete.204: description: > 204 No Content @@ -1359,7 +1365,7 @@ components: type: string requestBodies: - PolicyCreationRequest: + 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. diff --git a/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml b/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml index 6f105db6a6e5ee9d7bc7bcfe93cc3e11aa7f45df..2f21f222c047b3adee1059d79662ef894793a95e 100644 --- a/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml +++ b/src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml @@ -26,7 +26,7 @@ servers: - url: https://127.0.0.1/callback/v1 paths: - /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyManagementNotification: + /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyChangeNotification: description: >- This resource represents a notification endpoint for policy management. The API producer can use this resource to send notifications related to policy management events to @@ -47,10 +47,10 @@ paths: parameters: - $ref: "../components/SOL012_params.yaml#/components/parameters/ContentType" requestBody: - $ref: "#/components/requestBodies/NotificationCreateRequest" + $ref: "#/components/requestBodies/PolicyChangeNotification" responses: "204": - $ref: '#/components/responses/Notification.post.204' + $ref: '#/components/responses/PolicyChangeNotification.Post.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -65,6 +65,7 @@ paths: $ref: ../components/SOL012_resp.yaml#/components/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 + get: description: >- The GET method allows the API producer to test the notification endpoint that is provided by the @@ -73,7 +74,71 @@ paths: URI query parameters, request and response data structures, and response codes. responses: "204": - $ref: '#/components/responses/Notification.get.204' + $ref: '#/components/responses/PolicyChangeNotification.Get.204' + "400": + $ref: ../components/SOL012_resp.yaml#/components/responses/400 + "401": + $ref: ../components/SOL012_resp.yaml#/components/responses/401 + "403": + $ref: ../components/SOL012_resp.yaml#/components/responses/403 + "405": + $ref: ../components/SOL012_resp.yaml#/components/responses/405 + "406": + $ref: ../components/SOL012_resp.yaml#/components/responses/406 + "500": + $ref: ../components/SOL012_resp.yaml#/components/responses/500 + "503": + $ref: ../components/SOL012_resp.yaml#/components/responses/503 + + /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyConflictNotification: + description: >- + This resource represents a notification endpoint for policy management. + The API producer can use this resource to send notifications related to policy management events to + a subscribed API consumer, which has provided the URI of this resource during the subscription process. + parameters: + - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" + post: + description: >- + The POST method delivers a notification regarding a policy management event from the API producer + to an API consumer. The API consumer shall have previously created an "Individual subscription" + resource with a matching filter. + This method shall follow the provisions specified in the tables 5.5.9.3.1-1 and 5.5.9.3.1-2 for + URI query parameters, request and response data structures, and response codes. + Each notification request body shall include exactly one of the alternatives defined + in table 5.5.9.3.1-2. + parameters: + - $ref: "../components/SOL012_params.yaml#/components/parameters/ContentType" + requestBody: + $ref: "#/components/requestBodies/PolicyConflictNotification" + responses: + "204": + $ref: '#/components/responses/PolicyConflictNotification.Post.204' + "400": + $ref: ../components/SOL012_resp.yaml#/components/responses/400 + "401": + $ref: ../components/SOL012_resp.yaml#/components/responses/401 + "403": + $ref: ../components/SOL012_resp.yaml#/components/responses/403 + "405": + $ref: ../components/SOL012_resp.yaml#/components/responses/405 + "406": + $ref: ../components/SOL012_resp.yaml#/components/responses/406 + "500": + $ref: ../components/SOL012_resp.yaml#/components/responses/500 + "503": + $ref: ../components/SOL012_resp.yaml#/components/responses/503 + + get: + description: >- + The GET method allows the API producer to test the notification endpoint that is provided by the + API consumer, e.g. during subscription. + This method shall follow the provisions specified in the tables 5.5.9.3.2-1 and 5.5.9.3.2-2 for + URI query parameters, request and response data structures, and response codes. + responses: + "204": + $ref: '#/components/responses/PolicyConflictNotification.Get.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 "401": @@ -251,7 +316,7 @@ components: - _links responses: - Notification.post.204: + PolicyChangeNotification.Post.204: description: > 204 No Content @@ -269,7 +334,7 @@ components: schema: type: string - Notification.get.204: + PolicyChangeNotification.Get.204: description: > 204 No Content @@ -288,15 +353,58 @@ components: schema: type: string - requestBodies: - NotificationCreateRequest: + PolicyConflictNotification.Post.204: description: > - This type represents request parameters for creating a notification. - Each notification request body shall include exactly one of the alternatives defined in table 5.5.9.3.1-2. + 204 No Content + + Shall be returned when the notification has been delivered successfully. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided authorization, or error details + if the corresponding HTTP request has provided an invalid authorization token. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + PolicyConflictNotification.Get.204: + description: > + 204 No Content + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided authorization, or error details + if the corresponding HTTP request has provided an invalid authorization token. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + + requestBodies: + PolicyChangeNotification: + description: | + A notification about policy changes. + content: + application/json: + schema: + $ref: "#/components/schemas/PolicyChangeNotification" + required: true + + PolicyConflictNotification: + description: | + A notification about a detected policy conflict. content: application/json: schema: - oneOf: - - $ref: "#/components/schemas/PolicyChangeNotification" - - $ref: "#/components/schemas/PolicyConflictNotification" + $ref: "#/components/schemas/PolicyConflictNotification" required: true