blob: 8aab618d8639d42678d6ddb59c49d50f86d9dfea [file] [log] [blame]
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +010026 version: 1.1.0
PatrikBuhr1122b012021-01-20 12:21:52 +010027servers:
28- url: /
29tags:
PatrikBuhr2a56cf72021-12-28 13:14:46 +010030- name: Service Registry and Supervision
PatrikBuhrfee99552021-02-02 14:06:44 +010031- name: A1 Policy Management
32- name: NearRT-RIC Repository
PatrikBuhrfee99552021-02-02 14:06:44 +010033- name: Callbacks
PatrikBuhr2a56cf72021-12-28 13:14:46 +010034- name: Health Check
35- name: Management of configuration
PatrikBuhr2b277642021-12-27 11:32:58 +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/
PatrikBuhr1122b012021-01-20 12:21:52 +010041paths:
PatrikBuhr1122b012021-01-20 12:21:52 +010042 /a1-policy/v2/policy-instances:
43 get:
44 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +010045 - A1 Policy Management
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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'
PatrikBuhr1122b012021-01-20 12:21:52 +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'
PatrikBuhr1122b012021-01-20 12:21:52 +010098 /a1-policy/v2/status:
99 get:
100 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100101 - Health Check
PatrikBuhr1122b012021-01-20 12:21:52 +0100102 summary: Returns status and statistics of this service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100103 operationId: getStatus
PatrikBuhr1122b012021-01-20 12:21:52 +0100104 responses:
105 200:
106 description: Service is living
107 content:
108 application/json:
109 schema:
110 $ref: '#/components/schemas/status_info_v2'
PatrikBuhr2b277642021-12-27 11:32:58 +0100111 /actuator/threaddump:
112 get:
113 tags:
114 - Actuator
115 summary: Actuator web endpoint 'threaddump'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100116 operationId: threaddump_4
PatrikBuhr2b277642021-12-27 11:32:58 +0100117 responses:
118 200:
119 description: OK
120 content:
121 '*/*':
122 schema:
123 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100124 /a1-policy/v2/rics/ric:
125 get:
126 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100127 - NearRT-RIC Repository
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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'
PatrikBuhr1122b012021-01-20 12:21:52 +0100158 404:
159 description: Near-RT RIC is not found
160 content:
161 application/json:
162 schema:
163 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100164 /actuator/loggers:
165 get:
166 tags:
167 - Actuator
168 summary: Actuator web endpoint 'loggers'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100169 operationId: loggers_2
PatrikBuhr2b277642021-12-27 11:32:58 +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'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100182 operationId: health-path_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100183 responses:
184 200:
185 description: OK
186 content:
187 '*/*':
188 schema:
189 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100190 /a1-policy/v2/policy-types:
191 get:
192 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100193 - A1 Policy Management
PatrikBuhr1122b012021-01-20 12:21:52 +0100194 summary: Query policy type identities
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100195 operationId: getPolicyTypes
PatrikBuhr1122b012021-01-20 12:21:52 +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
PatrikBuhr1122b012021-01-20 12:21:52 +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'
PatrikBuhr1122b012021-01-20 12:21:52 +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'
PatrikBuhr2b277642021-12-27 11:32:58 +0100303 /actuator/metrics/{requiredMetricName}:
304 get:
305 tags:
306 - Actuator
307 summary: Actuator web endpoint 'metrics-requiredMetricName'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100308 operationId: metrics-requiredMetricName_2
PatrikBuhr2b277642021-12-27 11:32:58 +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
PatrikBuhr1122b012021-01-20 12:21:52 +0100324 /a1-policy/v2/configuration:
325 get:
326 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100327 - Management of configuration
PatrikBuhr1122b012021-01-20 12:21:52 +0100328 summary: Returns the contents of the configuration file
329 description: Note that the file contents is not relevant if the Consul is used.
PatrikBuhrfee99552021-02-02 14:06:44 +0100330 operationId: getConfiguration
PatrikBuhr1122b012021-01-20 12:21:52 +0100331 responses:
332 200:
333 description: Configuration
334 content:
335 application/json:
336 schema:
337 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100338 404:
339 description: File is not found or readable
340 content:
341 application/json:
342 schema:
343 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100344 put:
345 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100346 - Management of configuration
PatrikBuhr1122b012021-01-20 12:21:52 +0100347 summary: Replace the current configuration file with the given configuration
348 description: Note that the file is ignored if the Consul is used.
PatrikBuhrfee99552021-02-02 14:06:44 +0100349 operationId: putConfiguration
PatrikBuhr1122b012021-01-20 12:21:52 +0100350 requestBody:
PatrikBuhr1122b012021-01-20 12:21:52 +0100351 content:
352 application/json:
353 schema:
354 type: object
355 required: true
356 responses:
357 200:
358 description: Configuration updated
PatrikBuhrfee99552021-02-02 14:06:44 +0100359 content:
360 '*/*':
361 schema:
362 $ref: '#/components/schemas/void'
PatrikBuhr1122b012021-01-20 12:21:52 +0100363 400:
364 description: Invalid configuration provided
365 content:
366 '*/*':
367 schema:
368 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100369 500:
370 description: Something went wrong when replacing the configuration. Try
371 again.
372 content:
373 '*/*':
374 schema:
375 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100376 /actuator:
377 get:
378 tags:
379 - Actuator
380 summary: Actuator root web endpoint
381 operationId: links_1
382 responses:
383 200:
384 description: OK
385 content:
386 '*/*':
387 schema:
388 type: object
389 additionalProperties:
390 type: object
391 additionalProperties:
392 $ref: '#/components/schemas/Link'
PatrikBuhr2b277642021-12-27 11:32:58 +0100393 /actuator/loggers/{name}:
394 get:
395 tags:
396 - Actuator
397 summary: Actuator web endpoint 'loggers-name'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100398 operationId: loggers-name_4
PatrikBuhr2b277642021-12-27 11:32:58 +0100399 parameters:
400 - name: name
401 in: path
402 required: true
403 style: simple
404 explode: false
405 schema:
406 type: string
407 responses:
408 200:
409 description: OK
410 content:
411 '*/*':
412 schema:
413 type: object
414 post:
415 tags:
416 - Actuator
417 summary: Actuator web endpoint 'loggers-name'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100418 operationId: loggers-name_3
PatrikBuhr2b277642021-12-27 11:32:58 +0100419 parameters:
420 - name: name
421 in: path
422 required: true
423 style: simple
424 explode: false
425 schema:
426 type: string
427 responses:
428 200:
429 description: OK
430 content:
431 '*/*':
432 schema:
433 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100434 /a1-policy/v2/services/{service_id}/keepalive:
435 put:
436 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100437 - Service Registry and Supervision
PatrikBuhr1122b012021-01-20 12:21:52 +0100438 summary: Heartbeat indicates that the service is running
PatrikBuhrfee99552021-02-02 14:06:44 +0100439 description: A registerred service must call this in regular intervals to indicate
440 that it is in operation. Absence of this call will lead to that teh service
441 will be deregisterred and all its policies are removed.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100442 operationId: keepAliveService
PatrikBuhr1122b012021-01-20 12:21:52 +0100443 parameters:
444 - name: service_id
445 in: path
PatrikBuhr1122b012021-01-20 12:21:52 +0100446 required: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100447 style: simple
448 explode: false
PatrikBuhr1122b012021-01-20 12:21:52 +0100449 schema:
450 type: string
451 responses:
452 200:
453 description: Service supervision timer refreshed, OK
454 content:
455 '*/*':
456 schema:
457 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100458 404:
459 description: The service is not found, needs re-registration
460 content:
461 '*/*':
462 schema:
463 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100464 /actuator/metrics:
465 get:
466 tags:
467 - Actuator
468 summary: Actuator web endpoint 'metrics'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100469 operationId: metrics_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100470 responses:
471 200:
472 description: OK
473 content:
474 '*/*':
475 schema:
476 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100477 /a1-policy/v2/rics:
478 get:
479 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100480 - NearRT-RIC Repository
PatrikBuhr1122b012021-01-20 12:21:52 +0100481 summary: Query Near-RT RIC information
482 description: The call returns all Near-RT RICs that supports a given policy
483 type identity
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100484 operationId: getRics
PatrikBuhr1122b012021-01-20 12:21:52 +0100485 parameters:
486 - name: policytype_id
487 in: query
488 description: The identity of a policy type. If given, all Near-RT RICs supporteing
489 the policy type are returned
PatrikBuhrfee99552021-02-02 14:06:44 +0100490 required: false
491 style: form
492 explode: true
PatrikBuhr1122b012021-01-20 12:21:52 +0100493 schema:
494 type: string
495 responses:
496 200:
497 description: OK
498 content:
499 application/json:
500 schema:
501 $ref: '#/components/schemas/ric_info_list_v2'
PatrikBuhr1122b012021-01-20 12:21:52 +0100502 404:
503 description: Policy type is not found
504 content:
505 application/json:
506 schema:
507 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100508 /a1-policy/v2/services:
509 get:
510 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100511 - Service Registry and Supervision
PatrikBuhr1122b012021-01-20 12:21:52 +0100512 summary: Returns service information
513 description: Either information about a registered service with given identity
514 or all registered services are returned.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100515 operationId: getServices
PatrikBuhr1122b012021-01-20 12:21:52 +0100516 parameters:
517 - name: service_id
518 in: query
519 description: The identity of the service
PatrikBuhrfee99552021-02-02 14:06:44 +0100520 required: false
521 style: form
522 explode: true
PatrikBuhr1122b012021-01-20 12:21:52 +0100523 schema:
524 type: string
525 responses:
526 200:
527 description: OK
528 content:
529 application/json:
530 schema:
531 $ref: '#/components/schemas/service_list_v2'
PatrikBuhr1122b012021-01-20 12:21:52 +0100532 404:
533 description: Service is not found
534 content:
535 application/json:
536 schema:
537 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100538 put:
539 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100540 - Service Registry and Supervision
PatrikBuhr1122b012021-01-20 12:21:52 +0100541 summary: Register a service
542 description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
543 supervision of the service. If a service is inactive, its policies will be
544 deleted.</li></ul>
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100545 operationId: putService
PatrikBuhr1122b012021-01-20 12:21:52 +0100546 requestBody:
PatrikBuhr1122b012021-01-20 12:21:52 +0100547 content:
548 application/json:
549 schema:
550 $ref: '#/components/schemas/service_registration_info_v2'
551 required: true
552 responses:
553 200:
554 description: Service updated
555 content:
556 '*/*':
557 schema:
558 type: object
559 201:
560 description: Service created
561 content:
562 '*/*':
563 schema:
564 type: object
565 400:
566 description: The ServiceRegistrationInfo is not accepted
567 content:
568 '*/*':
569 schema:
570 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100571 /actuator/info:
572 get:
573 tags:
574 - Actuator
575 summary: Actuator web endpoint 'info'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100576 operationId: info_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100577 responses:
578 200:
579 description: OK
580 content:
581 '*/*':
582 schema:
583 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100584 /status:
585 get:
586 tags:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100587 - Health Check
PatrikBuhr1122b012021-01-20 12:21:52 +0100588 summary: Returns status and statistics of this service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100589 operationId: getStatusV1
PatrikBuhr1122b012021-01-20 12:21:52 +0100590 responses:
591 200:
592 description: Service is living
593 content:
594 '*/*':
595 schema:
596 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +0100597 /a1-policy/v2/policy-types/{policytype_id}:
598 get:
599 tags:
600 - A1 Policy Management
601 summary: Returns a policy type definition
602 operationId: getPolicyType
603 parameters:
604 - name: policytype_id
605 in: path
606 required: true
607 style: simple
608 explode: false
609 schema:
610 type: string
611 responses:
612 200:
613 description: Policy type
614 content:
615 '*/*':
616 schema:
617 $ref: '#/components/schemas/policytype_v2'
PatrikBuhr1122b012021-01-20 12:21:52 +0100618 404:
PatrikBuhrfee99552021-02-02 14:06:44 +0100619 description: Policy type is not found
620 content:
621 '*/*':
622 schema:
623 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100624 /actuator/logfile:
625 get:
626 tags:
627 - Actuator
628 summary: Actuator web endpoint 'logfile'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100629 operationId: logfile_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100630 responses:
631 200:
632 description: OK
633 content:
634 '*/*':
635 schema:
636 type: object
637 /actuator/health:
638 get:
639 tags:
640 - Actuator
641 summary: Actuator web endpoint 'health'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100642 operationId: health_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100643 responses:
644 200:
645 description: OK
646 content:
647 '*/*':
648 schema:
649 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100650 /a1-policy/v2/policies:
651 get:
652 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100653 - A1 Policy Management
PatrikBuhr1122b012021-01-20 12:21:52 +0100654 summary: Query policy identities
655 description: Returns a list of A1 policies matching given search criteria. <br>If
656 several query parameters are defined, the policies matching all conditions
657 are returned.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100658 operationId: getPolicyIds
PatrikBuhr1122b012021-01-20 12:21:52 +0100659 parameters:
660 - name: policytype_id
661 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200662 description: Select policies of a given policy type identity.
PatrikBuhrfee99552021-02-02 14:06:44 +0100663 required: false
664 style: form
665 explode: true
PatrikBuhr1122b012021-01-20 12:21:52 +0100666 schema:
667 type: string
668 - name: ric_id
669 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200670 description: Select policies of a given Near-RT RIC identity.
PatrikBuhrfee99552021-02-02 14:06:44 +0100671 required: false
672 style: form
673 explode: true
PatrikBuhr1122b012021-01-20 12:21:52 +0100674 schema:
675 type: string
676 - name: service_id
677 in: query
PatrikBuhr3b916e42021-10-07 18:03:53 +0200678 description: Select policies owned by a given service.
679 required: false
680 style: form
681 explode: true
682 schema:
683 type: string
684 - name: type_name
685 in: query
686 description: Select policies of types with the given type name (type identity
687 has the format <typename_version>)
PatrikBuhrfee99552021-02-02 14:06:44 +0100688 required: false
689 style: form
690 explode: true
PatrikBuhr1122b012021-01-20 12:21:52 +0100691 schema:
692 type: string
693 responses:
694 200:
695 description: Policy identities
696 content:
697 application/json:
698 schema:
699 $ref: '#/components/schemas/policy_id_list_v2'
PatrikBuhr1122b012021-01-20 12:21:52 +0100700 404:
701 description: Near-RT RIC or type not found
702 content:
703 application/json:
704 schema:
705 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100706 put:
707 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100708 - A1 Policy Management
PatrikBuhr1122b012021-01-20 12:21:52 +0100709 summary: Create or update a policy
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100710 operationId: putPolicy
PatrikBuhr1122b012021-01-20 12:21:52 +0100711 requestBody:
PatrikBuhr1122b012021-01-20 12:21:52 +0100712 content:
713 application/json:
714 schema:
715 $ref: '#/components/schemas/policy_info_v2'
716 required: true
717 responses:
718 200:
719 description: Policy updated
PatrikBuhr1122b012021-01-20 12:21:52 +0100720 content:
721 application/json:
722 schema:
PatrikBuhrfee99552021-02-02 14:06:44 +0100723 $ref: '#/components/schemas/void'
724 201:
725 description: Policy created
726 content:
727 application/json:
728 schema:
729 $ref: '#/components/schemas/void'
PatrikBuhr1122b012021-01-20 12:21:52 +0100730 423:
731 description: Near-RT RIC is not operational
732 content:
733 application/json:
734 schema:
735 $ref: '#/components/schemas/error_information'
PatrikBuhrfee99552021-02-02 14:06:44 +0100736 404:
737 description: Near-RT RIC or policy type is not found
738 content:
739 application/json:
740 schema:
741 $ref: '#/components/schemas/error_information'
742 /r-app/near-rt-ric-status:
PatrikBuhr1122b012021-01-20 12:21:52 +0100743 post:
744 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100745 - Callbacks
PatrikBuhr1122b012021-01-20 12:21:52 +0100746 summary: Callback for Near-RT RIC status
747 description: The URL to this call is registerred at Service registration.
PatrikBuhr25d78502021-04-28 08:42:13 +0200748 operationId: serviceCallback
PatrikBuhr1122b012021-01-20 12:21:52 +0100749 requestBody:
PatrikBuhr1122b012021-01-20 12:21:52 +0100750 content:
751 application/json:
752 schema:
753 $ref: '#/components/schemas/service_callback_info_v2'
754 required: true
755 responses:
756 200:
757 description: OK
PatrikBuhr1122b012021-01-20 12:21:52 +0100758 content:
PatrikBuhrfee99552021-02-02 14:06:44 +0100759 application/json:
PatrikBuhr1122b012021-01-20 12:21:52 +0100760 schema:
PatrikBuhrfee99552021-02-02 14:06:44 +0100761 $ref: '#/components/schemas/void'
PatrikBuhrfee99552021-02-02 14:06:44 +0100762 /a1-policy/v2/services/{service_id}:
763 delete:
764 tags:
765 - Service Registry and Supervision
766 summary: Unregister a service
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100767 operationId: deleteService
PatrikBuhrfee99552021-02-02 14:06:44 +0100768 parameters:
769 - name: service_id
770 in: path
771 required: true
772 style: simple
773 explode: false
774 schema:
775 type: string
776 responses:
777 200:
778 description: Not used
779 content:
780 '*/*':
781 schema:
782 $ref: '#/components/schemas/void'
783 204:
784 description: Service unregistered
785 content:
786 '*/*':
787 schema:
788 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100789 404:
PatrikBuhrfee99552021-02-02 14:06:44 +0100790 description: Service not found
791 content:
792 '*/*':
793 schema:
794 $ref: '#/components/schemas/error_information'
PatrikBuhr1122b012021-01-20 12:21:52 +0100795 /a1-policy/v2/policies/{policy_id}/status:
796 get:
797 tags:
PatrikBuhrfee99552021-02-02 14:06:44 +0100798 - A1 Policy Management
PatrikBuhr1122b012021-01-20 12:21:52 +0100799 summary: Returns a policy status
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100800 operationId: getPolicyStatus
PatrikBuhr1122b012021-01-20 12:21:52 +0100801 parameters:
802 - name: policy_id
803 in: path
PatrikBuhr1122b012021-01-20 12:21:52 +0100804 required: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100805 style: simple
806 explode: false
PatrikBuhr1122b012021-01-20 12:21:52 +0100807 schema:
808 type: string
809 responses:
810 200:
811 description: Policy status
812 content:
813 application/json:
814 schema:
815 $ref: '#/components/schemas/policy_status_info_v2'
PatrikBuhr1122b012021-01-20 12:21:52 +0100816 404:
817 description: Policy is not found
818 content:
819 application/json:
820 schema:
821 $ref: '#/components/schemas/error_information'
PatrikBuhr2b277642021-12-27 11:32:58 +0100822 /actuator/heapdump:
823 get:
824 tags:
825 - Actuator
826 summary: Actuator web endpoint 'heapdump'
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100827 operationId: heapdump_2
PatrikBuhr2b277642021-12-27 11:32:58 +0100828 responses:
829 200:
830 description: OK
831 content:
832 '*/*':
833 schema:
834 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100835components:
836 schemas:
837 error_information:
PatrikBuhr1122b012021-01-20 12:21:52 +0100838 type: object
839 properties:
840 detail:
841 type: string
842 description: ' A human-readable explanation specific to this occurrence
843 of the problem.'
844 example: Policy type not found
845 status:
846 type: integer
847 description: 'The HTTP status code generated by the origin server for this
848 occurrence of the problem. '
849 format: int32
PatrikBuhr3b916e42021-10-07 18:03:53 +0200850 example: 404
PatrikBuhr1122b012021-01-20 12:21:52 +0100851 description: Problem as defined in https://tools.ietf.org/html/rfc7807
PatrikBuhrfee99552021-02-02 14:06:44 +0100852 void:
853 type: object
854 description: Void/empty
PatrikBuhr1122b012021-01-20 12:21:52 +0100855 status_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100856 type: object
857 properties:
858 status:
859 type: string
860 description: status text
PatrikBuhrfee99552021-02-02 14:06:44 +0100861 ric_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100862 type: object
863 properties:
PatrikBuhrfee99552021-02-02 14:06:44 +0100864 ric_id:
865 type: string
866 description: identity of the Near-RT RIC
867 managed_element_ids:
PatrikBuhr1122b012021-01-20 12:21:52 +0100868 type: array
PatrikBuhrfee99552021-02-02 14:06:44 +0100869 description: O1 identities for managed entities
PatrikBuhr1122b012021-01-20 12:21:52 +0100870 items:
PatrikBuhrfee99552021-02-02 14:06:44 +0100871 type: string
872 description: O1 identities for managed entities
873 state:
874 type: string
875 description: Represents the states for a Near-RT RIC
876 enum:
877 - UNAVAILABLE
878 - AVAILABLE
879 - SYNCHRONIZING
880 - CONSISTENCY_CHECK
881 policytype_ids:
882 type: array
883 description: supported policy types
884 items:
885 type: string
886 description: supported policy types
887 description: Information for a Near-RT RIC
PatrikBuhr1122b012021-01-20 12:21:52 +0100888 service_registration_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100889 required:
890 - service_id
891 type: object
892 properties:
893 callback_url:
894 type: string
895 description: callback for notifying of Near-RT RIC state changes
896 service_id:
897 type: string
898 description: identity of the service
899 keep_alive_interval_seconds:
900 type: integer
901 description: keep alive interval for the service. This is a heartbeat supervision
PatrikBuhrfee99552021-02-02 14:06:44 +0100902 of the service, which in regular intevals must invoke a 'keepalive' REST
PatrikBuhr1122b012021-01-20 12:21:52 +0100903 call. When a service does not invoke this call within the given time,
904 it is considered unavailble. An unavailable service will be automatically
905 deregistered and its policies will be deleted. Value 0 means no timeout
906 supervision.
907 format: int64
908 description: Information for one service
PatrikBuhrfee99552021-02-02 14:06:44 +0100909 policy_info_list_v2:
910 type: object
911 properties:
912 policies:
913 type: array
914 description: List of policy information
915 items:
916 $ref: '#/components/schemas/policy_info_v2'
917 description: List of policy information
PatrikBuhr1122b012021-01-20 12:21:52 +0100918 policy_status_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100919 type: object
920 properties:
921 last_modified:
922 type: string
923 description: timestamp, last modification time
924 status:
925 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100926 description: the Policy status
927 description: Status for one A1-P Policy
PatrikBuhr1122b012021-01-20 12:21:52 +0100928 service_status_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100929 type: object
930 properties:
931 callback_url:
932 type: string
933 description: callback for notifying of RIC synchronization
934 service_id:
935 type: string
936 description: identity of the service
937 keep_alive_interval_seconds:
938 type: integer
939 description: policy keep alive timeout
940 format: int64
941 time_since_last_activity_seconds:
942 type: integer
943 description: time since last invocation by the service
944 format: int64
PatrikBuhrfee99552021-02-02 14:06:44 +0100945 description: List of service information
PatrikBuhr1122b012021-01-20 12:21:52 +0100946 ric_info_list_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100947 type: object
948 properties:
949 rics:
950 type: array
951 description: List of Near-RT RIC information
952 items:
953 $ref: '#/components/schemas/ric_info_v2'
954 description: List of Near-RT RIC information
PatrikBuhrfee99552021-02-02 14:06:44 +0100955 policytype_v2:
956 type: object
957 properties:
958 policy_schema:
959 type: object
960 description: Policy type json scema. The schema is a json object following
961 http://json-schema.org/draft-07/schema
962 description: Policy type
PatrikBuhr1122b012021-01-20 12:21:52 +0100963 policytype_id_list_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100964 type: object
965 properties:
966 policytype_ids:
967 type: array
968 description: Policy type identities
969 items:
970 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +0100971 description: Policy type identities
PatrikBuhr1122b012021-01-20 12:21:52 +0100972 description: Information about policy types
PatrikBuhr1122b012021-01-20 12:21:52 +0100973 policy_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +0100974 required:
975 - policy_data
976 - policy_id
977 - policytype_id
978 - ric_id
979 - service_id
980 type: object
981 properties:
982 ric_id:
983 type: string
984 description: identity of the target Near-RT RIC
985 policy_id:
986 type: string
987 description: identity of the policy
988 transient:
989 type: boolean
990 description: if true, the policy is deleted at RIC restart. If false, its
991 value is maintained by this service until explicitly deleted. Default
992 false.
993 service_id:
994 type: string
PatrikBuhr3b916e42021-10-07 18:03:53 +0200995 description: the identity of the service owning the policy
PatrikBuhr1122b012021-01-20 12:21:52 +0100996 policy_data:
997 type: object
PatrikBuhr1122b012021-01-20 12:21:52 +0100998 description: the configuration of the policy
999 status_notification_uri:
1000 type: string
1001 description: Callback URI for policy status updates
1002 policytype_id:
1003 type: string
1004 description: identity of the policy type
1005 description: Information for one A1-P Policy
PatrikBuhrfee99552021-02-02 14:06:44 +01001006 policy_id_list_v2:
1007 type: object
1008 properties:
1009 policy_ids:
1010 type: array
1011 description: Policy identities
1012 items:
1013 type: string
1014 description: Policy identities
1015 description: A list of policy identities
PatrikBuhr1122b012021-01-20 12:21:52 +01001016 service_list_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +01001017 type: object
1018 properties:
1019 service_list:
1020 type: array
1021 description: List of service information
1022 items:
1023 $ref: '#/components/schemas/service_status_v2'
1024 description: List of service information
1025 service_callback_info_v2:
PatrikBuhr1122b012021-01-20 12:21:52 +01001026 required:
1027 - event_type
1028 - ric_id
1029 type: object
1030 properties:
1031 ric_id:
1032 type: string
1033 description: identity of a Near-RT RIC
1034 event_type:
1035 type: string
1036 description: |-
1037 values:
1038 AVAILABLE: the Near-RT RIC has become available for A1 Policy management
1039 enum:
1040 - AVAILABLE
1041 description: Information transferred as in Service callbacks (callback_url)
PatrikBuhr2b277642021-12-27 11:32:58 +01001042 Link:
1043 type: object
1044 properties:
1045 templated:
1046 type: boolean
1047 href:
1048 type: string