blob: 875e2734ccbdd7b5fa46f8db53b9ea93a8811f2b [file] [log] [blame]
elinuxhenrikf28594d2020-12-07 14:54:19 +01001openapi: 3.0.1
2info:
3 title: A1 Policy management service
PatrikBuhrfee99552021-02-02 14:06:44 +01004 description: <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides
5 a REST API for management of A1 policices. <br/>The main tasks of the service
6 are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring
7 and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining
8 a view of supported Near-RT RIC policy types</li><li>Supervision of using services
9 (R-APPs). When a service is unavailble, its policies are removed.</li></ul><h2>APIs
10 provided by the service</h2><h3>A1 Policy Management</h3><p>This is an API for
11 management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification
12 and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval
13 of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API
14 for updating and retrieval of the component configuration. Note that there other
15 ways to maintain the configuration.</p><h3>Callbacks</h3><p>These are endpoints
16 that are invoked by this service. The callbacks are registerred in this service
17 at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that
18 provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one
19 Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service
20 Registry and Supervision</h3><p>API used for registerring services that uses PMS.
21 Each A1 policy is owned by a service. PMS can supervise each registerred service
22 and will automatically remove policies for unavailable services.</p>
23 license:
PatrikBuhr2a56cf72021-12-28 13:14:46 +010024 name: Copyright (C) 2020-2022 Nordix Foundation. Licensed under the Apache License.
PatrikBuhrfee99552021-02-02 14:06:44 +010025 url: http://www.apache.org/licenses/LICENSE-2.0
elinuxhenrikf28594d2020-12-07 14:54:19 +010026 version: 1.1.0
elinuxhenrikf28594d2020-12-07 14:54:19 +010027servers:
PatrikBuhrd7cc0592020-12-14 13:33:06 +010028- url: /
elinuxhenrikf28594d2020-12-07 14:54:19 +010029tags:
PatrikBuhrc6cca202022-01-04 17:10:12 +010030- name: Service Registry and Supervision
31- name: A1 Policy Management
PatrikBuhrc6cca202022-01-04 17:10:12 +010032- name: NearRT-RIC Repository
33- name: Callbacks
34- name: Health Check
PatrikBuhrfee99552021-02-02 14:06:44 +010035- name: Management of configuration
PatrikBuhr6e318742021-11-30 11:25:17 +010036- name: Actuator
37 description: Monitor and interact
38 externalDocs:
39 description: Spring Boot Actuator Web API Documentation
40 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
elinuxhenrikf28594d2020-12-07 14:54:19 +010041paths:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010042 /a1-policy/v2/policy-instances:
43 get:
44 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +010045 - A1 Policy Management
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010046 summary: Query for A1 policy instances
47 description: Returns a list of A1 policies matching given search criteria. <br>If
48 several query parameters are defined, the policies matching all conditions
49 are returned.
PatrikBuhrfee99552021-02-02 14:06:44 +010050 operationId: getPolicyInstances
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010051 parameters:
52 - name: policytype_id
53 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +020054 description: Select policies with a given type identity.
PatrikBuhrfee99552021-02-02 14:06:44 +010055 required: false
56 style: form
57 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010058 schema:
59 type: string
60 - name: ric_id
61 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +020062 description: Select policies for a given Near-RT RIC identity.
PatrikBuhrfee99552021-02-02 14:06:44 +010063 required: false
64 style: form
65 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010066 schema:
67 type: string
68 - name: service_id
69 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +020070 description: Select policies owned by a given service.
71 required: false
72 style: form
73 explode: true
74 schema:
75 type: string
76 - name: type_name
77 in: query
78 description: Select policies of a given type name (type identity has the format
79 <typename_version>)
PatrikBuhrfee99552021-02-02 14:06:44 +010080 required: false
81 style: form
82 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010083 schema:
84 type: string
85 responses:
86 200:
87 description: Policies
88 content:
89 application/json:
90 schema:
91 $ref: '#/components/schemas/policy_info_list_v2'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010092 404:
93 description: Near-RT RIC, policy type or service not found
94 content:
95 application/json:
96 schema:
97 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010098 /a1-policy/v2/status:
elinuxhenrikf28594d2020-12-07 14:54:19 +010099 get:
100 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100101 - Health Check
elinuxhenrikf28594d2020-12-07 14:54:19 +0100102 summary: Returns status and statistics of this service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100103 operationId: getStatus
elinuxhenrikf28594d2020-12-07 14:54:19 +0100104 responses:
105 200:
106 description: Service is living
107 content:
108 application/json:
109 schema:
110 $ref: '#/components/schemas/status_info_v2'
PatrikBuhr6e318742021-11-30 11:25:17 +0100111 /actuator/threaddump:
112 get:
113 tags:
114 - Actuator
115 summary: Actuator web endpoint 'threaddump'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100116 operationId: threaddump_4
PatrikBuhr6e318742021-11-30 11:25:17 +0100117 responses:
118 200:
119 description: OK
120 content:
121 '*/*':
122 schema:
123 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100124 /a1-policy/v2/rics/ric:
125 get:
126 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100127 - NearRT-RIC Repository
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100128 summary: Returns info for one Near-RT RIC
129 description: Either a Near-RT RIC identity or a Mananged Element identity can
130 be specified.<br>The intention with Mananged Element identity is the ID used
131 in O1 for accessing the traffical element (such as the ID of CU).
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100132 operationId: getRic
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100133 parameters:
134 - name: managed_element_id
135 in: query
136 description: The identity of a Managed Element. If given, the Near-RT RIC
137 managing the ME is returned.
PatrikBuhrfee99552021-02-02 14:06:44 +0100138 required: false
139 style: form
140 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100141 schema:
142 type: string
143 - name: ric_id
144 in: query
145 description: The identity of a Near-RT RIC to get information for.
PatrikBuhrfee99552021-02-02 14:06:44 +0100146 required: false
147 style: form
148 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100149 schema:
150 type: string
151 responses:
152 200:
153 description: Near-RT RIC is found
154 content:
155 application/json:
156 schema:
157 $ref: '#/components/schemas/ric_info_v2'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100158 404:
159 description: Near-RT RIC is not found
160 content:
161 application/json:
162 schema:
163 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100164 /actuator/loggers:
165 get:
166 tags:
167 - Actuator
168 summary: Actuator web endpoint 'loggers'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100169 operationId: loggers_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100170 responses:
171 200:
172 description: OK
173 content:
174 '*/*':
175 schema:
176 type: object
177 /actuator/health/**:
178 get:
179 tags:
180 - Actuator
181 summary: Actuator web endpoint 'health-path'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100182 operationId: health-path_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100183 responses:
184 200:
185 description: OK
186 content:
187 '*/*':
188 schema:
189 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100190 /a1-policy/v2/policy-types:
191 get:
192 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100193 - A1 Policy Management
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100194 summary: Query policy type identities
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100195 operationId: getPolicyTypes
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100196 parameters:
197 - name: ric_id
198 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200199 description: Select types for the given Near-RT RIC identity.
200 required: false
201 style: form
202 explode: true
203 schema:
204 type: string
205 - name: type_name
206 in: query
207 description: Select types with the given type name (type identity has the
208 format <typename_version>)
209 required: false
210 style: form
211 explode: true
212 schema:
213 type: string
PatrikBuhr3b916e42021-10-07 18:03:53 +0200214 - name: compatible_with_version
215 in: query
216 description: Select types that are compatible with the given version. This
217 parameter is only applicable in conjunction with type_name. As an example
PatrikBuhrc1b62222021-12-28 13:07:14 +0100218 version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching
219 types will be returned sorted in ascending order.
PatrikBuhrfee99552021-02-02 14:06:44 +0100220 required: false
221 style: form
222 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100223 schema:
224 type: string
225 responses:
226 200:
227 description: Policy type IDs
228 content:
229 application/json:
230 schema:
231 $ref: '#/components/schemas/policytype_id_list_v2'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100232 404:
233 description: Near-RT RIC is not found
234 content:
235 application/json:
236 schema:
237 $ref: '#/components/schemas/error_information'
PatrikBuhrfee99552021-02-02 14:06:44 +0100238 /a1-policy/v2/policies/{policy_id}:
239 get:
240 tags:
241 - A1 Policy Management
242 summary: Returns a policy
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100243 operationId: getPolicy
PatrikBuhrfee99552021-02-02 14:06:44 +0100244 parameters:
245 - name: policy_id
246 in: path
247 required: true
248 style: simple
249 explode: false
250 schema:
251 type: string
252 responses:
253 200:
254 description: Policy found
255 content:
256 application/json:
257 schema:
258 $ref: '#/components/schemas/policy_info_v2'
259 404:
260 description: Policy is not found
261 content:
262 application/json:
263 schema:
264 $ref: '#/components/schemas/error_information'
265 delete:
266 tags:
267 - A1 Policy Management
268 summary: Delete a policy
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100269 operationId: deletePolicy
PatrikBuhrfee99552021-02-02 14:06:44 +0100270 parameters:
271 - name: policy_id
272 in: path
273 required: true
274 style: simple
275 explode: false
276 schema:
277 type: string
278 responses:
279 200:
280 description: Not used
281 content:
282 '*/*':
283 schema:
284 $ref: '#/components/schemas/void'
285 423:
286 description: Near-RT RIC is not operational
287 content:
288 '*/*':
289 schema:
290 $ref: '#/components/schemas/error_information'
291 204:
292 description: Policy deleted
293 content:
294 '*/*':
295 schema:
296 $ref: '#/components/schemas/void'
297 404:
298 description: Policy is not found
299 content:
300 '*/*':
301 schema:
302 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100303 /actuator/metrics/{requiredMetricName}:
304 get:
305 tags:
306 - Actuator
307 summary: Actuator web endpoint 'metrics-requiredMetricName'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100308 operationId: metrics-requiredMetricName_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100309 parameters:
310 - name: requiredMetricName
311 in: path
312 required: true
313 style: simple
314 explode: false
315 schema:
316 type: string
317 responses:
318 200:
319 description: OK
320 content:
321 '*/*':
322 schema:
323 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100324 /a1-policy/v2/configuration:
325 get:
326 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100327 - Management of configuration
PatrikBuhr0f8b2052021-12-20 13:40:14 +0100328 summary: Returns the contents of the application configuration file
PatrikBuhrfee99552021-02-02 14:06:44 +0100329 operationId: getConfiguration
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100330 responses:
331 200:
332 description: Configuration
333 content:
334 application/json:
335 schema:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100336 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100337 404:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100338 description: File is not found or readable
339 content:
340 application/json:
341 schema:
342 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100343 put:
344 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100345 - Management of configuration
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100346 summary: Replace the current configuration file with the given configuration
PatrikBuhrfee99552021-02-02 14:06:44 +0100347 operationId: putConfiguration
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100348 requestBody:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100349 content:
350 application/json:
351 schema:
352 type: object
353 required: true
354 responses:
355 200:
356 description: Configuration updated
PatrikBuhrfee99552021-02-02 14:06:44 +0100357 content:
358 '*/*':
359 schema:
360 $ref: '#/components/schemas/void'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100361 400:
362 description: Invalid configuration provided
363 content:
364 '*/*':
365 schema:
366 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100367 500:
368 description: Something went wrong when replacing the configuration. Try
369 again.
elinuxhenrikf28594d2020-12-07 14:54:19 +0100370 content:
371 '*/*':
372 schema:
373 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100374 /actuator:
375 get:
376 tags:
377 - Actuator
378 summary: Actuator root web endpoint
379 operationId: links_1
380 responses:
381 200:
382 description: OK
383 content:
384 '*/*':
385 schema:
386 type: object
387 additionalProperties:
388 type: object
389 additionalProperties:
390 $ref: '#/components/schemas/Link'
PatrikBuhr6e318742021-11-30 11:25:17 +0100391 /actuator/loggers/{name}:
392 get:
393 tags:
394 - Actuator
395 summary: Actuator web endpoint 'loggers-name'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100396 operationId: loggers-name_4
PatrikBuhr6e318742021-11-30 11:25:17 +0100397 parameters:
398 - name: name
399 in: path
400 required: true
401 style: simple
402 explode: false
403 schema:
404 type: string
405 responses:
406 200:
407 description: OK
408 content:
409 '*/*':
410 schema:
411 type: object
412 post:
413 tags:
414 - Actuator
415 summary: Actuator web endpoint 'loggers-name'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100416 operationId: loggers-name_3
PatrikBuhr6e318742021-11-30 11:25:17 +0100417 parameters:
418 - name: name
419 in: path
420 required: true
421 style: simple
422 explode: false
423 schema:
424 type: string
425 responses:
426 200:
427 description: OK
428 content:
429 '*/*':
430 schema:
431 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100432 /a1-policy/v2/services/{service_id}/keepalive:
433 put:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100434 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100435 - Service Registry and Supervision
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100436 summary: Heartbeat indicates that the service is running
PatrikBuhrfee99552021-02-02 14:06:44 +0100437 description: A registerred service must call this in regular intervals to indicate
PatrikBuhr82a62522022-02-09 13:36:57 +0100438 that it is in operation. Absence of this call will lead to that the service
PatrikBuhrfee99552021-02-02 14:06:44 +0100439 will be deregisterred and all its policies are removed.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100440 operationId: keepAliveService
elinuxhenrikf28594d2020-12-07 14:54:19 +0100441 parameters:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100442 - name: service_id
elinuxhenrikf28594d2020-12-07 14:54:19 +0100443 in: path
elinuxhenrikf28594d2020-12-07 14:54:19 +0100444 required: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100445 style: simple
446 explode: false
elinuxhenrikf28594d2020-12-07 14:54:19 +0100447 schema:
448 type: string
449 responses:
450 200:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100451 description: Service supervision timer refreshed, OK
elinuxhenrikf28594d2020-12-07 14:54:19 +0100452 content:
453 '*/*':
454 schema:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100455 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100456 404:
457 description: The service is not found, needs re-registration
elinuxhenrikf28594d2020-12-07 14:54:19 +0100458 content:
459 '*/*':
460 schema:
461 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100462 /actuator/metrics:
463 get:
464 tags:
465 - Actuator
466 summary: Actuator web endpoint 'metrics'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100467 operationId: metrics_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100468 responses:
469 200:
470 description: OK
471 content:
472 '*/*':
473 schema:
474 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100475 /a1-policy/v2/rics:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100476 get:
477 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100478 - NearRT-RIC Repository
elinuxhenrikf28594d2020-12-07 14:54:19 +0100479 summary: Query Near-RT RIC information
480 description: The call returns all Near-RT RICs that supports a given policy
481 type identity
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100482 operationId: getRics
elinuxhenrikf28594d2020-12-07 14:54:19 +0100483 parameters:
484 - name: policytype_id
485 in: query
PatrikBuhr0f8b2052021-12-20 13:40:14 +0100486 description: The identity of a policy type. If given, all Near-RT RICs supporting
elinuxhenrikf28594d2020-12-07 14:54:19 +0100487 the policy type are returned
PatrikBuhrfee99552021-02-02 14:06:44 +0100488 required: false
489 style: form
490 explode: true
elinuxhenrikf28594d2020-12-07 14:54:19 +0100491 schema:
492 type: string
493 responses:
494 200:
495 description: OK
496 content:
497 application/json:
498 schema:
499 $ref: '#/components/schemas/ric_info_list_v2'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100500 404:
501 description: Policy type is not found
502 content:
503 application/json:
504 schema:
505 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100506 /a1-policy/v2/services:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100507 get:
508 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100509 - Service Registry and Supervision
elinuxhenrikf28594d2020-12-07 14:54:19 +0100510 summary: Returns service information
511 description: Either information about a registered service with given identity
512 or all registered services are returned.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100513 operationId: getServices
elinuxhenrikf28594d2020-12-07 14:54:19 +0100514 parameters:
515 - name: service_id
516 in: query
517 description: The identity of the service
PatrikBuhrfee99552021-02-02 14:06:44 +0100518 required: false
519 style: form
520 explode: true
elinuxhenrikf28594d2020-12-07 14:54:19 +0100521 schema:
522 type: string
523 responses:
524 200:
525 description: OK
526 content:
527 application/json:
528 schema:
529 $ref: '#/components/schemas/service_list_v2'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100530 404:
531 description: Service is not found
532 content:
533 application/json:
534 schema:
535 $ref: '#/components/schemas/error_information'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100536 put:
537 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100538 - Service Registry and Supervision
elinuxhenrikf28594d2020-12-07 14:54:19 +0100539 summary: Register a service
540 description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
541 supervision of the service. If a service is inactive, its policies will be
542 deleted.</li></ul>
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100543 operationId: putService
elinuxhenrikf28594d2020-12-07 14:54:19 +0100544 requestBody:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100545 content:
546 application/json:
547 schema:
548 $ref: '#/components/schemas/service_registration_info_v2'
549 required: true
550 responses:
551 200:
552 description: Service updated
553 content:
554 '*/*':
555 schema:
556 type: object
557 201:
558 description: Service created
559 content:
560 '*/*':
561 schema:
562 type: object
563 400:
564 description: The ServiceRegistrationInfo is not accepted
565 content:
566 '*/*':
567 schema:
568 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100569 /actuator/info:
570 get:
571 tags:
572 - Actuator
573 summary: Actuator web endpoint 'info'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100574 operationId: info_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100575 responses:
576 200:
577 description: OK
578 content:
579 '*/*':
580 schema:
581 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100582 /status:
583 get:
584 tags:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100585 - Health Check
elinuxhenrikf28594d2020-12-07 14:54:19 +0100586 summary: Returns status and statistics of this service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100587 operationId: getStatusV1
elinuxhenrikf28594d2020-12-07 14:54:19 +0100588 responses:
589 200:
590 description: Service is living
591 content:
592 '*/*':
593 schema:
594 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +0100595 /a1-policy/v2/policy-types/{policytype_id}:
596 get:
597 tags:
598 - A1 Policy Management
599 summary: Returns a policy type definition
600 operationId: getPolicyType
601 parameters:
602 - name: policytype_id
603 in: path
604 required: true
605 style: simple
606 explode: false
607 schema:
608 type: string
609 responses:
610 200:
611 description: Policy type
612 content:
613 '*/*':
614 schema:
615 $ref: '#/components/schemas/policytype_v2'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100616 404:
PatrikBuhrfee99552021-02-02 14:06:44 +0100617 description: Policy type is not found
618 content:
619 '*/*':
620 schema:
621 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100622 /actuator/logfile:
623 get:
624 tags:
625 - Actuator
626 summary: Actuator web endpoint 'logfile'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100627 operationId: logfile_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100628 responses:
629 200:
630 description: OK
631 content:
632 '*/*':
633 schema:
634 type: object
635 /actuator/health:
636 get:
637 tags:
638 - Actuator
639 summary: Actuator web endpoint 'health'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100640 operationId: health_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100641 responses:
642 200:
643 description: OK
644 content:
645 '*/*':
646 schema:
647 type: object
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100648 /a1-policy/v2/policies:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100649 get:
650 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100651 - A1 Policy Management
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100652 summary: Query policy identities
653 description: Returns a list of A1 policies matching given search criteria. <br>If
654 several query parameters are defined, the policies matching all conditions
655 are returned.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100656 operationId: getPolicyIds
elinuxhenrikf28594d2020-12-07 14:54:19 +0100657 parameters:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100658 - name: policytype_id
elinuxhenrikf28594d2020-12-07 14:54:19 +0100659 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200660 description: Select policies of a given policy type identity.
PatrikBuhrfee99552021-02-02 14:06:44 +0100661 required: false
662 style: form
663 explode: true
elinuxhenrikf28594d2020-12-07 14:54:19 +0100664 schema:
665 type: string
666 - name: ric_id
667 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200668 description: Select policies of a given Near-RT RIC identity.
PatrikBuhrfee99552021-02-02 14:06:44 +0100669 required: false
670 style: form
671 explode: true
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100672 schema:
673 type: string
674 - name: service_id
675 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200676 description: Select policies owned by a given service.
677 required: false
678 style: form
679 explode: true
680 schema:
681 type: string
682 - name: type_name
683 in: query
684 description: Select policies of types with the given type name (type identity
685 has the format <typename_version>)
PatrikBuhrfee99552021-02-02 14:06:44 +0100686 required: false
687 style: form
688 explode: true
elinuxhenrikf28594d2020-12-07 14:54:19 +0100689 schema:
690 type: string
691 responses:
692 200:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100693 description: Policy identities
elinuxhenrikf28594d2020-12-07 14:54:19 +0100694 content:
695 application/json:
696 schema:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100697 $ref: '#/components/schemas/policy_id_list_v2'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100698 404:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100699 description: Near-RT RIC or type not found
700 content:
701 application/json:
702 schema:
703 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100704 put:
705 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100706 - A1 Policy Management
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100707 summary: Create or update a policy
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100708 operationId: putPolicy
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100709 requestBody:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100710 content:
711 application/json:
712 schema:
713 $ref: '#/components/schemas/policy_info_v2'
714 required: true
715 responses:
716 200:
717 description: Policy updated
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100718 content:
719 application/json:
720 schema:
PatrikBuhrfee99552021-02-02 14:06:44 +0100721 $ref: '#/components/schemas/void'
722 201:
723 description: Policy created
724 content:
725 application/json:
726 schema:
727 $ref: '#/components/schemas/void'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100728 423:
729 description: Near-RT RIC is not operational
elinuxhenrikf28594d2020-12-07 14:54:19 +0100730 content:
731 application/json:
732 schema:
733 $ref: '#/components/schemas/error_information'
PatrikBuhrfee99552021-02-02 14:06:44 +0100734 404:
735 description: Near-RT RIC or policy type is not found
736 content:
737 application/json:
738 schema:
739 $ref: '#/components/schemas/error_information'
740 /r-app/near-rt-ric-status:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100741 post:
742 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100743 - Callbacks
elinuxhenrikf28594d2020-12-07 14:54:19 +0100744 summary: Callback for Near-RT RIC status
745 description: The URL to this call is registerred at Service registration.
PatrikBuhr25d78502021-04-28 08:42:13 +0200746 operationId: serviceCallback
elinuxhenrikf28594d2020-12-07 14:54:19 +0100747 requestBody:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100748 content:
749 application/json:
750 schema:
751 $ref: '#/components/schemas/service_callback_info_v2'
752 required: true
753 responses:
754 200:
755 description: OK
elinuxhenrikf28594d2020-12-07 14:54:19 +0100756 content:
PatrikBuhrfee99552021-02-02 14:06:44 +0100757 application/json:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100758 schema:
PatrikBuhrfee99552021-02-02 14:06:44 +0100759 $ref: '#/components/schemas/void'
PatrikBuhrfee99552021-02-02 14:06:44 +0100760 /a1-policy/v2/services/{service_id}:
761 delete:
762 tags:
763 - Service Registry and Supervision
764 summary: Unregister a service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100765 operationId: deleteService
PatrikBuhrfee99552021-02-02 14:06:44 +0100766 parameters:
767 - name: service_id
768 in: path
769 required: true
770 style: simple
771 explode: false
772 schema:
773 type: string
774 responses:
775 200:
776 description: Not used
777 content:
778 '*/*':
779 schema:
780 $ref: '#/components/schemas/void'
781 204:
782 description: Service unregistered
783 content:
784 '*/*':
785 schema:
786 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100787 404:
PatrikBuhrfee99552021-02-02 14:06:44 +0100788 description: Service not found
789 content:
790 '*/*':
791 schema:
792 $ref: '#/components/schemas/error_information'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100793 /a1-policy/v2/policies/{policy_id}/status:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100794 get:
795 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100796 - A1 Policy Management
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100797 summary: Returns a policy status
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100798 operationId: getPolicyStatus
elinuxhenrikf28594d2020-12-07 14:54:19 +0100799 parameters:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100800 - name: policy_id
801 in: path
elinuxhenrikf28594d2020-12-07 14:54:19 +0100802 required: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100803 style: simple
804 explode: false
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100805 schema:
806 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +0100807 responses:
808 200:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100809 description: Policy status
810 content:
811 application/json:
812 schema:
813 $ref: '#/components/schemas/policy_status_info_v2'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100814 404:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100815 description: Policy is not found
elinuxhenrikf28594d2020-12-07 14:54:19 +0100816 content:
817 application/json:
818 schema:
819 $ref: '#/components/schemas/error_information'
PatrikBuhr6e318742021-11-30 11:25:17 +0100820 /actuator/heapdump:
821 get:
822 tags:
823 - Actuator
824 summary: Actuator web endpoint 'heapdump'
PatrikBuhrc6cca202022-01-04 17:10:12 +0100825 operationId: heapdump_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100826 responses:
827 200:
828 description: OK
829 content:
830 '*/*':
831 schema:
832 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100833components:
834 schemas:
835 error_information:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100836 type: object
837 properties:
838 detail:
839 type: string
840 description: ' A human-readable explanation specific to this occurrence
841 of the problem.'
842 example: Policy type not found
843 status:
844 type: integer
845 description: 'The HTTP status code generated by the origin server for this
846 occurrence of the problem. '
847 format: int32
PatrikBuhr3b916e42021-10-07 18:03:53 +0200848 example: 404
elinuxhenrikf28594d2020-12-07 14:54:19 +0100849 description: Problem as defined in https://tools.ietf.org/html/rfc7807
PatrikBuhrfee99552021-02-02 14:06:44 +0100850 void:
851 type: object
852 description: Void/empty
elinuxhenrikf28594d2020-12-07 14:54:19 +0100853 status_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100854 type: object
855 properties:
856 status:
857 type: string
858 description: status text
PatrikBuhrfee99552021-02-02 14:06:44 +0100859 ric_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100860 type: object
861 properties:
PatrikBuhrfee99552021-02-02 14:06:44 +0100862 ric_id:
863 type: string
864 description: identity of the Near-RT RIC
865 managed_element_ids:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100866 type: array
PatrikBuhrfee99552021-02-02 14:06:44 +0100867 description: O1 identities for managed entities
elinuxhenrikf28594d2020-12-07 14:54:19 +0100868 items:
PatrikBuhrfee99552021-02-02 14:06:44 +0100869 type: string
870 description: O1 identities for managed entities
871 state:
872 type: string
873 description: Represents the states for a Near-RT RIC
874 enum:
875 - UNAVAILABLE
876 - AVAILABLE
877 - SYNCHRONIZING
878 - CONSISTENCY_CHECK
879 policytype_ids:
880 type: array
881 description: supported policy types
882 items:
883 type: string
884 description: supported policy types
885 description: Information for a Near-RT RIC
elinuxhenrikf28594d2020-12-07 14:54:19 +0100886 service_registration_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100887 required:
888 - service_id
889 type: object
890 properties:
891 callback_url:
892 type: string
893 description: callback for notifying of Near-RT RIC state changes
894 service_id:
895 type: string
896 description: identity of the service
897 keep_alive_interval_seconds:
898 type: integer
899 description: keep alive interval for the service. This is a heartbeat supervision
PatrikBuhrfee99552021-02-02 14:06:44 +0100900 of the service, which in regular intevals must invoke a 'keepalive' REST
elinuxhenrikf28594d2020-12-07 14:54:19 +0100901 call. When a service does not invoke this call within the given time,
902 it is considered unavailble. An unavailable service will be automatically
903 deregistered and its policies will be deleted. Value 0 means no timeout
904 supervision.
905 format: int64
906 description: Information for one service
PatrikBuhrfee99552021-02-02 14:06:44 +0100907 policy_info_list_v2:
908 type: object
909 properties:
910 policies:
911 type: array
912 description: List of policy information
913 items:
914 $ref: '#/components/schemas/policy_info_v2'
915 description: List of policy information
elinuxhenrikf28594d2020-12-07 14:54:19 +0100916 policy_status_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100917 type: object
918 properties:
919 last_modified:
920 type: string
921 description: timestamp, last modification time
922 status:
923 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100924 description: the Policy status
925 description: Status for one A1-P Policy
elinuxhenrikf28594d2020-12-07 14:54:19 +0100926 service_status_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100927 type: object
928 properties:
929 callback_url:
930 type: string
931 description: callback for notifying of RIC synchronization
932 service_id:
933 type: string
934 description: identity of the service
935 keep_alive_interval_seconds:
936 type: integer
937 description: policy keep alive timeout
938 format: int64
939 time_since_last_activity_seconds:
940 type: integer
941 description: time since last invocation by the service
942 format: int64
PatrikBuhrfee99552021-02-02 14:06:44 +0100943 description: List of service information
elinuxhenrikf28594d2020-12-07 14:54:19 +0100944 ric_info_list_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100945 type: object
946 properties:
947 rics:
948 type: array
949 description: List of Near-RT RIC information
950 items:
951 $ref: '#/components/schemas/ric_info_v2'
952 description: List of Near-RT RIC information
PatrikBuhrfee99552021-02-02 14:06:44 +0100953 policytype_v2:
954 type: object
955 properties:
956 policy_schema:
957 type: object
958 description: Policy type json scema. The schema is a json object following
959 http://json-schema.org/draft-07/schema
960 description: Policy type
elinuxhenrikf28594d2020-12-07 14:54:19 +0100961 policytype_id_list_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100962 type: object
963 properties:
964 policytype_ids:
965 type: array
966 description: Policy type identities
967 items:
968 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +0100969 description: Policy type identities
elinuxhenrikf28594d2020-12-07 14:54:19 +0100970 description: Information about policy types
elinuxhenrikf28594d2020-12-07 14:54:19 +0100971 policy_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100972 required:
973 - policy_data
974 - policy_id
975 - policytype_id
976 - ric_id
977 - service_id
978 type: object
979 properties:
980 ric_id:
981 type: string
982 description: identity of the target Near-RT RIC
983 policy_id:
984 type: string
985 description: identity of the policy
986 transient:
987 type: boolean
988 description: if true, the policy is deleted at RIC restart. If false, its
989 value is maintained by this service until explicitly deleted. Default
990 false.
991 service_id:
992 type: string
PatrikBuhr3b916e42021-10-07 18:03:53 +0200993 description: the identity of the service owning the policy
elinuxhenrikf28594d2020-12-07 14:54:19 +0100994 policy_data:
995 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +0100996 description: the configuration of the policy
997 status_notification_uri:
998 type: string
999 description: Callback URI for policy status updates
1000 policytype_id:
1001 type: string
1002 description: identity of the policy type
1003 description: Information for one A1-P Policy
PatrikBuhrfee99552021-02-02 14:06:44 +01001004 policy_id_list_v2:
1005 type: object
1006 properties:
1007 policy_ids:
1008 type: array
1009 description: Policy identities
1010 items:
1011 type: string
1012 description: Policy identities
1013 description: A list of policy identities
elinuxhenrikf28594d2020-12-07 14:54:19 +01001014 service_list_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001015 type: object
1016 properties:
1017 service_list:
1018 type: array
1019 description: List of service information
1020 items:
1021 $ref: '#/components/schemas/service_status_v2'
1022 description: List of service information
1023 service_callback_info_v2:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001024 required:
1025 - event_type
1026 - ric_id
1027 type: object
1028 properties:
1029 ric_id:
1030 type: string
1031 description: identity of a Near-RT RIC
1032 event_type:
1033 type: string
1034 description: |-
1035 values:
1036 AVAILABLE: the Near-RT RIC has become available for A1 Policy management
1037 enum:
1038 - AVAILABLE
1039 description: Information transferred as in Service callbacks (callback_url)
PatrikBuhr6e318742021-11-30 11:25:17 +01001040 Link:
1041 type: object
1042 properties:
1043 templated:
1044 type: boolean
1045 href:
1046 type: string