3 title: 'Kafka message dispatcher for A1 interface'
6 Kafka message dispatcher server.
8 name: Copyright (C) 2022 Nordix Foundation. Licensed under the Apache License.
9 url: http://www.apache.org/licenses/LICENSE-2.0
11 description: 'RestFUL APIs that create and dispatch Kafka messages to Kafka brokers'
12 url: 'https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface/en/latest/index.html'
17 default: 'https://example.com'
19 '/policytypetotopicmapping/{policyTypeId}':
25 "$ref": "#/components/schemas/PolicyTypeId"
27 operationId: dispatcher.get_policy_type_to_topic_mapping
28 description: 'Get the kafka request and response topic map corresponding to policy type'
30 - The mapping from policy type to kafka topic request and response object
33 description: 'The policy type to topic map schemas'
37 "$ref": "#/components/schemas/PolicyTypeToTopicMap"
39 "$ref": "#/components/responses/404-NotFound"
41 "$ref": "#/components/responses/429-TooManyRequests"
43 "$ref": "#/components/responses/503-ServiceUnavailable"
45 '/policytypes/{policyTypeId}/kafkadispatcher/{policyId}':
51 "$ref": "#/components/schemas/PolicyTypeId"
56 "$ref": "#/components/schemas/A1PolicyId"
58 operationId: dispatcher.put_policy
59 description: 'Dispatch create and update operation as kafka message to kafka cluster'
61 - Individual policy Object
67 "$ref": "#/components/schemas/A1PolicyObject"
70 description: 'Create or update operation dispatched'
72 "$ref": "#/components/responses/400-BadRequest"
74 "$ref": "#/components/responses/408-RequestTimeout"
76 "$ref": "#/components/responses/419-KafkaMessagePublishFailed"
78 "$ref": "#/components/responses/429-TooManyRequests"
80 "$ref": "#/components/responses/503-ServiceUnavailable"
82 "$ref": "#/components/responses/507-InsufficientStorage"
84 operationId: dispatcher.delete_policy
85 description: 'Dispatch policy delete opertion as kafka message to kafka cluster'
88 description: 'Delete operation dispatched'
90 "$ref": "#/components/responses/408-RequestTimeout"
92 "$ref": "#/components/responses/419-KafkaMessagePublishFailed"
94 "$ref": "#/components/responses/429-TooManyRequests"
96 "$ref": "#/components/responses/503-ServiceUnavailable"
98 '/policytypes/{policyTypeId}/kafkadispatcher/{policyId}/status':
104 "$ref": "#/components/schemas/PolicyTypeId"
109 "$ref": "#/components/schemas/A1PolicyId"
111 operationId: dispatcher.get_policy_status
112 description: 'Dispatch policy status query opertion as kafka message to kafka cluster'
114 - Individual A1 Policy Status Object
117 description: 'Query policy status operation dispatched'
119 "$ref": "#/components/responses/429-TooManyRequests"
121 "$ref": "#/components/responses/503-ServiceUnavailable"
126 # Representation objects
129 description: 'A generic policy object'
133 description: 'A generic policy string'
136 PolicyTypeToTopicMap:
137 description: 'Request and response topic map for each policy type'
145 example: kafkatopicreq
148 example: kafkatopicres
151 description: 'A problem detail to carry details in a HTTP response according to RFC 7807'
169 description: 'A JSON schema following http://json-schema.org/draft-07/schema'
173 description: 'A1 policy identifier.'
177 description: 'Policy type identifier assigned by the A1-P Provider'
182 description: 'A1 policy not properly formulated or not related to the method'
184 application/problem+json:
186 "$ref": "#/components/schemas/ProblemDetails"
189 description: 'No resource found at the URI'
191 application/problem+json:
193 "$ref": "#/components/schemas/ProblemDetails"
195 405-MethodNotAllowed:
196 description: 'Method not allowed for the URI'
198 application/problem+json:
200 "$ref": "#/components/schemas/ProblemDetails"
203 description: 'Request could not be processed in given amount of time'
205 application/problem+json:
207 "$ref": "#/components/schemas/ProblemDetails"
210 description: 'Request could not be processed in the current state of the resource'
212 application/problem+json:
214 "$ref": "#/components/schemas/ProblemDetails"
216 419-KafkaMessagePublishFailed:
217 description: 'Publishing the kafka message to the broker gets fail'
219 application/problem+json:
221 "$ref": "#/components/schemas/ProblemDetails"
224 description: 'Too many requests have been sent in a given amount of time'
226 application/problem+json:
228 "$ref": "#/components/schemas/ProblemDetails"
230 503-ServiceUnavailable:
231 description: 'The provider is currently unable to handle the request due to a temporary overload'
233 application/problem+json:
235 "$ref": "#/components/schemas/ProblemDetails"
237 507-InsufficientStorage:
238 description: 'The method could not be performed on the resource because the provider is unable to store the representation needed to successfully complete the request'
240 application/problem+json:
242 "$ref": "#/components/schemas/ProblemDetails"