blob: d6d212f00c8ec5eb01f330a8145ccda786d1e572 [file] [log] [blame]
PatrikBuhr1122b012021-01-20 12:21:52 +01001{
raviteja.karumuri3e02f632024-01-17 15:50:10 +00002 "openapi" : "3.0.3",
3 "info" : {
4 "title" : "A1 Policy Management Service",
5 "description" : "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p>",
6 "license" : {
7 "name" : "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License, and Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.",
8 "url" : "http://www.apache.org/licenses/LICENSE-2.0"
PatrikBuhrfee99552021-02-02 14:06:44 +01009 },
raviteja.karumuri3e02f632024-01-17 15:50:10 +000010 "version" : "1.2.0"
11 },
12 "servers" : [ {
13 "url" : "/"
14 } ],
15 "tags" : [ {
16 "name" : "Authorization API",
17 "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided."
18 }, {
19 "name" : "Actuator",
20 "description" : "Monitor and interact",
21 "externalDocs" : {
22 "description" : "Spring Boot Actuator Web API Documentation",
23 "url" : "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"
24 }
25 } ],
26 "paths" : {
27 "/a1-policy/v2/policy-instances" : {
28 "get" : {
29 "tags" : [ "A1 Policy Management" ],
30 "summary" : "Query for A1 policy instances",
31 "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
32 "operationId" : "getPolicyInstances",
33 "parameters" : [ {
34 "name" : "policytype_id",
35 "in" : "query",
36 "description" : "Select policies with a given type identity.",
37 "required" : false,
38 "style" : "form",
39 "explode" : true,
40 "schema" : {
41 "type" : "string"
42 }
43 }, {
44 "name" : "ric_id",
45 "in" : "query",
46 "description" : "Select policies for a given Near-RT RIC identity.",
47 "required" : false,
48 "style" : "form",
49 "explode" : true,
50 "schema" : {
51 "type" : "string"
52 }
53 }, {
54 "name" : "service_id",
55 "in" : "query",
56 "description" : "Select policies owned by a given service.",
57 "required" : false,
58 "style" : "form",
59 "explode" : true,
60 "schema" : {
61 "type" : "string"
62 }
63 }, {
64 "name" : "type_name",
65 "in" : "query",
66 "description" : "Select policies of a given type name (type identity has the format <typename_version>)",
67 "required" : false,
68 "style" : "form",
69 "explode" : true,
70 "schema" : {
71 "type" : "string"
72 }
73 } ],
74 "responses" : {
75 "200" : {
76 "description" : "Policies",
77 "content" : {
78 "application/json" : {
79 "schema" : {
80 "$ref" : "#/components/schemas/policy_info_list"
81 },
82 "examples" : {
83 "policy_info_list" : {
84 "$ref" : "#/components/examples/policy_info_list"
85 }
86 }
87 }
PatrikBuhrf07e4b32023-04-05 14:40:07 +020088 }
raviteja.karumuri3e02f632024-01-17 15:50:10 +000089 },
90 "404" : {
91 "description" : "Near-RT RIC, policy type or service not found",
92 "content" : {
93 "application/json" : {
94 "schema" : {
95 "$ref" : "#/components/schemas/error_information"
96 }
97 }
98 }
99 }
JohnKeeney62abcd82023-03-01 19:04:58 +0000100 }
raviteja.karumuri3e02f632024-01-17 15:50:10 +0000101 }
102 },
103 "/example-authz-check" : {
104 "post" : {
105 "tags" : [ "Authorization API" ],
106 "summary" : "Request for access authorization.",
107 "description" : "The authorization function decides if access is granted.",
108 "operationId" : "performAccessControl",
109 "requestBody" : {
110 "content" : {
111 "application/json" : {
112 "schema" : {
113 "$ref" : "#/components/schemas/policy_authorization"
114 }
115 }
116 },
117 "required" : true
118 },
119 "responses" : {
120 "200" : {
121 "description" : "OK",
122 "content" : {
123 "application/json" : {
124 "schema" : {
125 "$ref" : "#/components/schemas/authorization_result"
126 }
127 }
128 }
129 }
130 }
131 }
132 },
133 "/actuator/threaddump" : {
134 "get" : {
135 "tags" : [ "Actuator" ],
136 "summary" : "Actuator web endpoint 'threaddump'",
137 "operationId" : "threaddump",
138 "responses" : {
139 "200" : {
140 "description" : "OK",
141 "content" : {
142 "text/plain;charset=UTF-8" : {
143 "schema" : {
144 "type" : "object"
145 }
146 },
147 "application/vnd.spring-boot.actuator.v3+json" : {
148 "schema" : {
149 "type" : "object"
150 }
151 },
152 "application/json" : {
153 "schema" : {
154 "type" : "object"
155 }
156 },
157 "application/vnd.spring-boot.actuator.v2+json" : {
158 "schema" : {
159 "type" : "object"
160 }
161 }
162 }
163 }
164 }
165 }
166 },
167 "/a1-policy/v2/status" : {
168 "get" : {
169 "tags" : [ "Health Check" ],
170 "summary" : "Returns status and statistics of this service",
171 "operationId" : "getStatus",
172 "responses" : {
173 "200" : {
174 "description" : "Service is living",
175 "content" : {
176 "application/json" : {
177 "schema" : {
178 "$ref" : "#/components/schemas/status_info"
179 },
180 "examples" : {
181 "status_info" : {
182 "$ref" : "#/components/examples/status_info"
183 }
184 }
185 }
186 }
187 }
188 }
189 }
190 },
191 "/actuator/loggers" : {
192 "get" : {
193 "tags" : [ "Actuator" ],
194 "summary" : "Actuator web endpoint 'loggers'",
195 "operationId" : "loggers",
196 "responses" : {
197 "200" : {
198 "description" : "OK",
199 "content" : {
200 "application/vnd.spring-boot.actuator.v3+json" : {
201 "schema" : {
202 "type" : "object"
203 }
204 },
205 "application/json" : {
206 "schema" : {
207 "type" : "object"
208 }
209 },
210 "application/vnd.spring-boot.actuator.v2+json" : {
211 "schema" : {
212 "type" : "object"
213 }
214 }
215 }
216 }
217 }
218 }
219 },
220 "/actuator/health/**" : {
221 "get" : {
222 "tags" : [ "Actuator" ],
223 "summary" : "Actuator web endpoint 'health-path'",
224 "operationId" : "health-path",
225 "responses" : {
226 "200" : {
227 "description" : "OK",
228 "content" : {
229 "application/vnd.spring-boot.actuator.v3+json" : {
230 "schema" : {
231 "type" : "object"
232 }
233 },
234 "application/json" : {
235 "schema" : {
236 "type" : "object"
237 }
238 },
239 "application/vnd.spring-boot.actuator.v2+json" : {
240 "schema" : {
241 "type" : "object"
242 }
243 }
244 }
245 }
246 }
247 }
248 },
249 "/a1-policy/v2/rics/ric" : {
250 "get" : {
251 "tags" : [ "NearRT-RIC Repository" ],
252 "summary" : "Returns info for one Near-RT RIC",
253 "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
254 "operationId" : "getRic",
255 "parameters" : [ {
256 "name" : "managed_element_id",
257 "in" : "query",
258 "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
259 "required" : false,
260 "style" : "form",
261 "explode" : true,
262 "schema" : {
263 "type" : "string"
264 }
265 }, {
266 "name" : "ric_id",
267 "in" : "query",
268 "description" : "The identity of a Near-RT RIC to get information for.",
269 "required" : false,
270 "style" : "form",
271 "explode" : true,
272 "schema" : {
273 "type" : "string"
274 }
275 } ],
276 "responses" : {
277 "200" : {
278 "description" : "Near-RT RIC is found",
279 "content" : {
280 "application/json" : {
281 "schema" : {
282 "$ref" : "#/components/schemas/ric_info"
283 },
284 "examples" : {
285 "ric_info" : {
286 "$ref" : "#/components/examples/ric_info"
287 }
288 }
289 }
290 }
291 },
292 "404" : {
293 "description" : "Near-RT RIC is not found",
294 "content" : {
295 "application/json" : {
296 "schema" : {
297 "$ref" : "#/components/schemas/error_information"
298 }
299 }
300 }
301 }
302 }
303 }
304 },
305 "/actuator/shutdown" : {
306 "post" : {
307 "tags" : [ "Actuator" ],
308 "summary" : "Actuator web endpoint 'shutdown'",
309 "operationId" : "shutdown",
310 "responses" : {
311 "200" : {
312 "description" : "OK",
313 "content" : {
314 "application/vnd.spring-boot.actuator.v3+json" : {
315 "schema" : {
316 "type" : "object"
317 }
318 },
319 "application/json" : {
320 "schema" : {
321 "type" : "object"
322 }
323 },
324 "application/vnd.spring-boot.actuator.v2+json" : {
325 "schema" : {
326 "type" : "object"
327 }
328 }
329 }
330 }
331 }
332 }
333 },
334 "/a1-policy/v2/policy-types" : {
335 "get" : {
336 "tags" : [ "A1 Policy Management" ],
337 "summary" : "Query policy type identities",
338 "operationId" : "getPolicyTypes",
339 "parameters" : [ {
340 "name" : "ric_id",
341 "in" : "query",
342 "description" : "Select types for the given Near-RT RIC identity.",
343 "required" : false,
344 "style" : "form",
345 "explode" : true,
346 "schema" : {
347 "type" : "string"
348 }
349 }, {
350 "name" : "type_name",
351 "in" : "query",
352 "description" : "Select types with the given type name (type identity has the format <typename_version>)",
353 "required" : false,
354 "style" : "form",
355 "explode" : true,
356 "schema" : {
357 "type" : "string"
358 }
359 }, {
360 "name" : "compatible_with_version",
361 "in" : "query",
362 "description" : "Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.",
363 "required" : false,
364 "style" : "form",
365 "explode" : true,
366 "schema" : {
367 "type" : "string"
368 }
369 } ],
370 "responses" : {
371 "200" : {
372 "description" : "Policy type IDs",
373 "content" : {
374 "application/json" : {
375 "schema" : {
376 "$ref" : "#/components/schemas/policy_type_id_list"
377 },
378 "examples" : {
379 "policy_type_id_list" : {
380 "$ref" : "#/components/examples/policy_type_id_list"
381 }
382 }
383 }
384 }
385 },
386 "404" : {
387 "description" : "Near-RT RIC is not found",
388 "content" : {
389 "application/json" : {
390 "schema" : {
391 "$ref" : "#/components/schemas/error_information"
392 }
393 }
394 }
395 }
396 }
397 }
398 },
399 "/a1-policy/v2/policies/{policy_id}" : {
400 "get" : {
401 "tags" : [ "A1 Policy Management" ],
402 "summary" : "Returns a policy",
403 "operationId" : "getPolicy",
404 "parameters" : [ {
405 "name" : "policy_id",
406 "in" : "path",
407 "required" : true,
408 "style" : "simple",
409 "explode" : false,
410 "schema" : {
411 "type" : "string"
412 }
413 } ],
414 "responses" : {
415 "200" : {
416 "description" : "Policy found",
417 "content" : {
418 "application/json" : {
419 "schema" : {
420 "$ref" : "#/components/schemas/policy_info"
421 },
422 "examples" : {
423 "policy_info" : {
424 "$ref" : "#/components/examples/policy_info"
425 }
426 }
427 }
428 }
429 },
430 "404" : {
431 "description" : "Policy is not found",
432 "content" : {
433 "application/json" : {
434 "schema" : {
435 "$ref" : "#/components/schemas/error_information"
436 }
437 }
438 }
439 }
440 }
441 },
442 "delete" : {
443 "tags" : [ "A1 Policy Management" ],
444 "summary" : "Delete a policy",
445 "operationId" : "deletePolicy",
446 "parameters" : [ {
447 "name" : "policy_id",
448 "in" : "path",
449 "required" : true,
450 "style" : "simple",
451 "explode" : false,
452 "schema" : {
453 "type" : "string"
454 }
455 } ],
456 "responses" : {
457 "200" : {
458 "description" : "Not used",
459 "content" : {
460 "*/*" : {
461 "schema" : {
462 "$ref" : "#/components/schemas/void"
463 }
464 }
465 }
466 },
467 "423" : {
468 "description" : "Near-RT RIC is not operational",
469 "content" : {
470 "*/*" : {
471 "schema" : {
472 "$ref" : "#/components/schemas/error_information"
473 }
474 }
475 }
476 },
477 "204" : {
478 "description" : "Policy deleted",
479 "content" : {
480 "*/*" : {
481 "schema" : {
482 "$ref" : "#/components/schemas/void"
483 }
484 }
485 }
486 },
487 "404" : {
488 "description" : "Policy is not found",
489 "content" : {
490 "*/*" : {
491 "schema" : {
492 "$ref" : "#/components/schemas/error_information"
493 }
494 }
495 }
496 }
497 }
498 }
499 },
500 "/actuator/metrics/{requiredMetricName}" : {
501 "get" : {
502 "tags" : [ "Actuator" ],
503 "summary" : "Actuator web endpoint 'metrics-requiredMetricName'",
504 "operationId" : "metrics-requiredMetricName",
505 "parameters" : [ {
506 "name" : "requiredMetricName",
507 "in" : "path",
508 "required" : true,
509 "style" : "simple",
510 "explode" : false,
511 "schema" : {
512 "type" : "string"
513 }
514 } ],
515 "responses" : {
516 "200" : {
517 "description" : "OK",
518 "content" : {
519 "application/vnd.spring-boot.actuator.v3+json" : {
520 "schema" : {
521 "type" : "object"
522 }
523 },
524 "application/json" : {
525 "schema" : {
526 "type" : "object"
527 }
528 },
529 "application/vnd.spring-boot.actuator.v2+json" : {
530 "schema" : {
531 "type" : "object"
532 }
533 }
534 }
535 }
536 }
537 }
538 },
539 "/a1-policy/v2/configuration" : {
540 "get" : {
541 "tags" : [ "configuration" ],
542 "summary" : "Returns the contents of the application configuration file",
543 "operationId" : "getConfiguration",
544 "responses" : {
545 "200" : {
546 "description" : "Configuration",
547 "content" : {
548 "application/json" : {
549 "schema" : {
550 "type" : "string"
551 }
552 }
553 }
554 },
555 "404" : {
556 "description" : "File is not found or readable",
557 "content" : {
558 "application/json" : {
559 "schema" : {
560 "$ref" : "#/components/schemas/error_information"
561 }
562 }
563 }
564 }
565 }
566 },
567 "put" : {
568 "tags" : [ "configuration" ],
569 "summary" : "Replace the current configuration file with the given configuration",
570 "operationId" : "putConfiguration",
571 "requestBody" : {
572 "content" : {
573 "application/json" : {
574 "schema" : {
575 "type" : "object"
576 }
577 }
578 },
579 "required" : true
580 },
581 "responses" : {
582 "200" : {
583 "description" : "Configuration updated",
584 "content" : {
585 "*/*" : {
586 "schema" : {
587 "$ref" : "#/components/schemas/void"
588 }
589 }
590 }
591 },
592 "400" : {
593 "description" : "Invalid configuration provided",
594 "content" : {
595 "*/*" : {
596 "schema" : {
597 "$ref" : "#/components/schemas/error_information"
598 }
599 }
600 }
601 },
602 "500" : {
603 "description" : "Something went wrong when replacing the configuration. Try again.",
604 "content" : {
605 "*/*" : {
606 "schema" : {
607 "$ref" : "#/components/schemas/error_information"
608 }
609 }
610 }
611 }
612 }
613 }
614 },
615 "/actuator" : {
616 "get" : {
617 "tags" : [ "Actuator" ],
618 "summary" : "Actuator root web endpoint",
619 "operationId" : "links",
620 "responses" : {
621 "200" : {
622 "description" : "OK",
623 "content" : {
624 "application/vnd.spring-boot.actuator.v3+json" : {
625 "schema" : {
626 "type" : "object",
627 "additionalProperties" : {
628 "type" : "object",
629 "additionalProperties" : {
630 "$ref" : "#/components/schemas/Link"
631 }
632 }
633 }
634 },
635 "application/json" : {
636 "schema" : {
637 "type" : "object",
638 "additionalProperties" : {
639 "type" : "object",
640 "additionalProperties" : {
641 "$ref" : "#/components/schemas/Link"
642 }
643 }
644 }
645 },
646 "application/vnd.spring-boot.actuator.v2+json" : {
647 "schema" : {
648 "type" : "object",
649 "additionalProperties" : {
650 "type" : "object",
651 "additionalProperties" : {
652 "$ref" : "#/components/schemas/Link"
653 }
654 }
655 }
656 }
657 }
658 }
659 }
660 }
661 },
662 "/actuator/loggers/{name}" : {
663 "get" : {
664 "tags" : [ "Actuator" ],
665 "summary" : "Actuator web endpoint 'loggers-name'",
666 "operationId" : "loggers-name",
667 "parameters" : [ {
668 "name" : "name",
669 "in" : "path",
670 "required" : true,
671 "style" : "simple",
672 "explode" : false,
673 "schema" : {
674 "type" : "string"
675 }
676 } ],
677 "responses" : {
678 "200" : {
679 "description" : "OK",
680 "content" : {
681 "application/vnd.spring-boot.actuator.v3+json" : {
682 "schema" : {
683 "type" : "object"
684 }
685 },
686 "application/json" : {
687 "schema" : {
688 "type" : "object"
689 }
690 },
691 "application/vnd.spring-boot.actuator.v2+json" : {
692 "schema" : {
693 "type" : "object"
694 }
695 }
696 }
697 }
698 }
699 },
700 "post" : {
701 "tags" : [ "Actuator" ],
702 "summary" : "Actuator web endpoint 'loggers-name'",
703 "operationId" : "loggers-name_2",
704 "parameters" : [ {
705 "name" : "name",
706 "in" : "path",
707 "required" : true,
708 "style" : "simple",
709 "explode" : false,
710 "schema" : {
711 "type" : "string"
712 }
713 } ],
714 "requestBody" : {
715 "content" : {
716 "application/json" : {
717 "schema" : {
718 "type" : "string",
719 "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
720 }
721 }
722 }
723 },
724 "responses" : {
725 "200" : {
726 "description" : "OK",
727 "content" : {
728 "*/*" : {
729 "schema" : {
730 "type" : "object"
731 }
732 }
733 }
734 }
735 }
736 }
737 },
738 "/a1-policy/v2/services/{service_id}/keepalive" : {
739 "put" : {
740 "tags" : [ "Service Registry and Supervision" ],
741 "summary" : "Heartbeat indicates that the service is running",
742 "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)",
743 "operationId" : "keepAliveService",
744 "parameters" : [ {
745 "name" : "service_id",
746 "in" : "path",
747 "required" : true,
748 "style" : "simple",
749 "explode" : false,
750 "schema" : {
751 "type" : "string"
752 }
753 } ],
754 "responses" : {
755 "200" : {
756 "description" : "Service supervision timer refreshed, OK",
757 "content" : {
758 "*/*" : {
759 "schema" : {
760 "type" : "object"
761 }
762 }
763 }
764 },
765 "404" : {
766 "description" : "The service is not found, needs re-registration",
767 "content" : {
768 "*/*" : {
769 "schema" : {
770 "$ref" : "#/components/schemas/error_information"
771 }
772 }
773 }
774 }
775 }
776 }
777 },
778 "/actuator/metrics" : {
779 "get" : {
780 "tags" : [ "Actuator" ],
781 "summary" : "Actuator web endpoint 'metrics'",
782 "operationId" : "metrics",
783 "responses" : {
784 "200" : {
785 "description" : "OK",
786 "content" : {
787 "application/vnd.spring-boot.actuator.v3+json" : {
788 "schema" : {
789 "type" : "object"
790 }
791 },
792 "application/json" : {
793 "schema" : {
794 "type" : "object"
795 }
796 },
797 "application/vnd.spring-boot.actuator.v2+json" : {
798 "schema" : {
799 "type" : "object"
800 }
801 }
802 }
803 }
804 }
805 }
806 },
807 "/a1-policy/v2/rics" : {
808 "get" : {
809 "tags" : [ "NearRT-RIC Repository" ],
810 "summary" : "Query Near-RT RIC information",
811 "description" : "The call returns all Near-RT RICs that supports a given policy type identity",
812 "operationId" : "getRics",
813 "parameters" : [ {
814 "name" : "policytype_id",
815 "in" : "query",
816 "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned",
817 "required" : false,
818 "style" : "form",
819 "explode" : true,
820 "schema" : {
821 "type" : "string"
822 }
823 } ],
824 "responses" : {
825 "200" : {
826 "description" : "OK",
827 "content" : {
828 "application/json" : {
829 "schema" : {
830 "$ref" : "#/components/schemas/ric_info_list"
831 },
832 "examples" : {
833 "ric_info_list" : {
834 "$ref" : "#/components/examples/ric_info_list"
835 }
836 }
837 }
838 }
839 },
840 "404" : {
841 "description" : "Policy type is not found",
842 "content" : {
843 "application/json" : {
844 "schema" : {
845 "$ref" : "#/components/schemas/error_information"
846 }
847 }
848 }
849 }
850 }
851 }
852 },
853 "/a1-policy/v2/services" : {
854 "get" : {
855 "tags" : [ "Service Registry and Supervision" ],
856 "summary" : "Returns service information",
857 "description" : "Either information about a registered service with given identity or all registered services are returned.",
858 "operationId" : "getServices",
859 "parameters" : [ {
860 "name" : "service_id",
861 "in" : "query",
862 "description" : "The identity of the service",
863 "required" : false,
864 "style" : "form",
865 "explode" : true,
866 "schema" : {
867 "type" : "string"
868 }
869 } ],
870 "responses" : {
871 "200" : {
872 "description" : "OK",
873 "content" : {
874 "application/json" : {
875 "schema" : {
876 "$ref" : "#/components/schemas/service_status_list"
877 },
878 "examples" : {
879 "service_status_list" : {
880 "$ref" : "#/components/examples/service_status_list"
881 }
882 }
883 }
884 }
885 },
886 "404" : {
887 "description" : "Service is not found",
888 "content" : {
889 "application/json" : {
890 "schema" : {
891 "$ref" : "#/components/schemas/error_information"
892 }
893 }
894 }
895 }
896 }
897 },
898 "put" : {
899 "tags" : [ "Service Registry and Supervision" ],
900 "summary" : "Register a service",
901 "description" : "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.</li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.</li></ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.",
902 "operationId" : "putService",
903 "requestBody" : {
904 "content" : {
905 "application/json" : {
906 "schema" : {
907 "$ref" : "#/components/schemas/service_registration_info"
908 }
909 }
910 },
911 "required" : true
912 },
913 "responses" : {
914 "200" : {
915 "description" : "Service updated",
916 "content" : {
917 "*/*" : {
918 "schema" : {
919 "type" : "object"
920 }
921 }
922 }
923 },
924 "201" : {
925 "description" : "Service created",
926 "content" : {
927 "*/*" : {
928 "schema" : {
929 "type" : "object"
930 }
931 }
932 }
933 },
934 "400" : {
935 "description" : "The ServiceRegistrationInfo is not accepted",
936 "content" : {
937 "*/*" : {
938 "schema" : {
939 "$ref" : "#/components/schemas/error_information"
940 }
941 }
942 }
943 }
944 },
945 "callbacks" : {
946 "RICStatus" : {
947 "{$request.body#/callback_url}" : {
948 "post" : {
949 "tags" : [ "Service callbacks" ],
950 "summary" : "Callback for Near-RT RIC status",
951 "description" : "The URL to this call is registered at Service registration.",
952 "operationId" : "serviceCallback",
953 "requestBody" : {
954 "content" : {
955 "application/json" : {
956 "schema" : {
957 "$ref" : "#/components/schemas/service_callback_info_v2"
958 }
959 }
960 },
961 "required" : true
962 },
963 "responses" : {
964 "200" : {
965 "description" : "OK",
966 "content" : {
967 "application/json" : {
968 "schema" : {
969 "$ref" : "#/components/schemas/void"
970 }
971 }
972 }
973 }
974 }
975 }
976 }
977 }
978 }
979 }
980 },
981 "/actuator/info" : {
982 "get" : {
983 "tags" : [ "Actuator" ],
984 "summary" : "Actuator web endpoint 'info'",
985 "operationId" : "info",
986 "responses" : {
987 "200" : {
988 "description" : "OK",
989 "content" : {
990 "application/vnd.spring-boot.actuator.v3+json" : {
991 "schema" : {
992 "type" : "object"
993 }
994 },
995 "application/json" : {
996 "schema" : {
997 "type" : "object"
998 }
999 },
1000 "application/vnd.spring-boot.actuator.v2+json" : {
1001 "schema" : {
1002 "type" : "object"
1003 }
1004 }
1005 }
1006 }
1007 }
1008 }
1009 },
1010 "/status" : {
1011 "get" : {
1012 "tags" : [ "Health Check" ],
1013 "summary" : "Returns status and statistics of this service",
1014 "operationId" : "getStatusV1",
1015 "responses" : {
1016 "200" : {
1017 "description" : "Service is living",
1018 "content" : {
1019 "*/*" : {
1020 "schema" : {
1021 "type" : "string"
1022 }
1023 }
1024 }
1025 }
1026 }
1027 }
1028 },
1029 "/a1-policy/v2/policy-types/{policytype_id}" : {
1030 "get" : {
1031 "tags" : [ "A1 Policy Management" ],
1032 "summary" : "Returns a policy type definition",
1033 "operationId" : "getPolicyTypeDefinition",
1034 "parameters" : [ {
1035 "name" : "policytype_id",
1036 "in" : "path",
1037 "required" : true,
1038 "style" : "simple",
1039 "explode" : false,
1040 "schema" : {
1041 "type" : "string"
1042 }
1043 } ],
1044 "responses" : {
1045 "200" : {
1046 "description" : "schema of the given policy type",
1047 "content" : {
1048 "application/json" : {
1049 "schema" : {
1050 "$ref" : "#/components/schemas/policy_type_definition"
1051 },
1052 "examples" : {
1053 "policy_type_definition" : {
1054 "$ref" : "#/components/examples/policy_type_definition"
1055 }
1056 }
1057 }
1058 }
1059 },
1060 "404" : {
1061 "description" : "Policy type is not found",
1062 "content" : {
1063 "application/json" : {
1064 "schema" : {
1065 "$ref" : "#/components/schemas/error_information"
1066 }
1067 }
1068 }
1069 }
1070 }
1071 }
1072 },
1073 "/actuator/logfile" : {
1074 "get" : {
1075 "tags" : [ "Actuator" ],
1076 "summary" : "Actuator web endpoint 'logfile'",
1077 "operationId" : "logfile",
1078 "responses" : {
1079 "200" : {
1080 "description" : "OK",
1081 "content" : {
1082 "text/plain;charset=UTF-8" : {
1083 "schema" : {
1084 "type" : "object"
1085 }
1086 }
1087 }
1088 }
1089 }
1090 }
1091 },
1092 "/actuator/health" : {
1093 "get" : {
1094 "tags" : [ "Actuator" ],
1095 "summary" : "Actuator web endpoint 'health'",
1096 "operationId" : "health",
1097 "responses" : {
1098 "200" : {
1099 "description" : "OK",
1100 "content" : {
1101 "application/vnd.spring-boot.actuator.v3+json" : {
1102 "schema" : {
1103 "type" : "object"
1104 }
1105 },
1106 "application/json" : {
1107 "schema" : {
1108 "type" : "object"
1109 }
1110 },
1111 "application/vnd.spring-boot.actuator.v2+json" : {
1112 "schema" : {
1113 "type" : "object"
1114 }
1115 }
1116 }
1117 }
1118 }
1119 }
1120 },
1121 "/a1-policy/v2/policies" : {
1122 "get" : {
1123 "tags" : [ "A1 Policy Management" ],
1124 "summary" : "Query policy identities",
1125 "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
1126 "operationId" : "getPolicyIds",
1127 "parameters" : [ {
1128 "name" : "policytype_id",
1129 "in" : "query",
1130 "description" : "Select policies of a given policy type identity.",
1131 "required" : false,
1132 "style" : "form",
1133 "explode" : true,
1134 "schema" : {
1135 "type" : "string"
1136 }
1137 }, {
1138 "name" : "ric_id",
1139 "in" : "query",
1140 "description" : "Select policies of a given Near-RT RIC identity.",
1141 "required" : false,
1142 "style" : "form",
1143 "explode" : true,
1144 "schema" : {
1145 "type" : "string"
1146 }
1147 }, {
1148 "name" : "service_id",
1149 "in" : "query",
1150 "description" : "Select policies owned by a given service.",
1151 "required" : false,
1152 "style" : "form",
1153 "explode" : true,
1154 "schema" : {
1155 "type" : "string"
1156 }
1157 }, {
1158 "name" : "type_name",
1159 "in" : "query",
1160 "description" : "Select policies of types with the given type name (type identity has the format <typename_version>)",
1161 "required" : false,
1162 "style" : "form",
1163 "explode" : true,
1164 "schema" : {
1165 "type" : "string"
1166 }
1167 } ],
1168 "responses" : {
1169 "200" : {
1170 "description" : "Policy identities",
1171 "content" : {
1172 "application/json" : {
1173 "schema" : {
1174 "$ref" : "#/components/schemas/policy_id_list"
1175 },
1176 "examples" : {
1177 "policy_id_list" : {
1178 "$ref" : "#/components/examples/policy_id_list"
1179 }
1180 }
1181 }
1182 }
1183 },
1184 "404" : {
1185 "description" : "Near-RT RIC or type not found",
1186 "content" : {
1187 "application/json" : {
1188 "schema" : {
1189 "$ref" : "#/components/schemas/error_information"
1190 }
1191 }
1192 }
1193 }
1194 }
1195 },
1196 "put" : {
1197 "tags" : [ "A1 Policy Management" ],
1198 "summary" : "Create or update a policy",
1199 "operationId" : "putPolicy",
1200 "requestBody" : {
1201 "content" : {
1202 "application/json" : {
1203 "schema" : {
1204 "$ref" : "#/components/schemas/policy_info"
1205 }
1206 }
1207 },
1208 "required" : true
1209 },
1210 "responses" : {
1211 "200" : {
1212 "description" : "Policy updated",
1213 "content" : {
1214 "application/json" : {
1215 "schema" : {
1216 "$ref" : "#/components/schemas/void"
1217 }
1218 }
1219 }
1220 },
1221 "201" : {
1222 "description" : "Policy created",
1223 "content" : {
1224 "application/json" : {
1225 "schema" : {
1226 "$ref" : "#/components/schemas/void"
1227 }
1228 }
1229 }
1230 },
1231 "423" : {
1232 "description" : "Near-RT RIC is not operational",
1233 "content" : {
1234 "application/json" : {
1235 "schema" : {
1236 "$ref" : "#/components/schemas/error_information"
1237 }
1238 }
1239 }
1240 },
1241 "404" : {
1242 "description" : "Near-RT RIC or policy type is not found",
1243 "content" : {
1244 "application/json" : {
1245 "schema" : {
1246 "$ref" : "#/components/schemas/error_information"
1247 }
1248 }
1249 }
1250 }
1251 }
1252 }
1253 },
1254 "/a1-policy/v2/services/{service_id}" : {
1255 "delete" : {
1256 "tags" : [ "Service Registry and Supervision" ],
1257 "summary" : "Unregister a service",
1258 "operationId" : "deleteService",
1259 "parameters" : [ {
1260 "name" : "service_id",
1261 "in" : "path",
1262 "required" : true,
1263 "style" : "simple",
1264 "explode" : false,
1265 "schema" : {
1266 "type" : "string"
1267 }
1268 } ],
1269 "responses" : {
1270 "200" : {
1271 "description" : "Not used",
1272 "content" : {
1273 "*/*" : {
1274 "schema" : {
1275 "$ref" : "#/components/schemas/void"
1276 }
1277 }
1278 }
1279 },
1280 "204" : {
1281 "description" : "Service unregistered",
1282 "content" : {
1283 "*/*" : {
1284 "schema" : {
1285 "type" : "object"
1286 }
1287 }
1288 }
1289 },
1290 "404" : {
1291 "description" : "Service not found",
1292 "content" : {
1293 "*/*" : {
1294 "schema" : {
1295 "$ref" : "#/components/schemas/error_information"
1296 }
1297 }
1298 }
1299 }
1300 }
1301 }
1302 },
1303 "/actuator/heapdump" : {
1304 "get" : {
1305 "tags" : [ "Actuator" ],
1306 "summary" : "Actuator web endpoint 'heapdump'",
1307 "operationId" : "heapdump",
1308 "responses" : {
1309 "200" : {
1310 "description" : "OK",
1311 "content" : {
1312 "application/octet-stream" : {
1313 "schema" : {
1314 "type" : "object"
1315 }
1316 }
1317 }
1318 }
1319 }
1320 }
1321 },
1322 "/a1-policy/v2/policies/{policy_id}/status" : {
1323 "get" : {
1324 "tags" : [ "A1 Policy Management" ],
1325 "summary" : "Returns a policy status",
1326 "operationId" : "getPolicyStatus",
1327 "parameters" : [ {
1328 "name" : "policy_id",
1329 "in" : "path",
1330 "required" : true,
1331 "style" : "simple",
1332 "explode" : false,
1333 "schema" : {
1334 "type" : "string"
1335 }
1336 } ],
1337 "responses" : {
1338 "200" : {
1339 "description" : "Policy status",
1340 "content" : {
1341 "application/json" : {
1342 "schema" : {
1343 "$ref" : "#/components/schemas/policy_status_info"
1344 },
1345 "examples" : {
1346 "policy_status_info" : {
1347 "$ref" : "#/components/examples/policy_status_info"
1348 }
1349 }
1350 }
1351 }
1352 },
1353 "404" : {
1354 "description" : "Policy is not found",
1355 "content" : {
1356 "application/json" : {
1357 "schema" : {
1358 "$ref" : "#/components/schemas/error_information"
1359 }
1360 }
1361 }
1362 }
1363 }
1364 }
1365 }
1366 },
1367 "components" : {
1368 "schemas" : {
1369 "policy_type_definition" : {
1370 "type" : "object",
1371 "properties" : {
1372 "policy_schema" : {
1373 "type" : "object",
1374 "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
1375 }
1376 },
1377 "description" : "Contains policy type schema definition"
1378 },
1379 "error_information" : {
1380 "type" : "object",
1381 "properties" : {
1382 "detail" : {
1383 "type" : "string",
1384 "description" : " A human-readable explanation specific to this occurrence of the problem.",
1385 "example" : "Policy type not found"
1386 },
1387 "status" : {
1388 "type" : "integer",
1389 "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
1390 "format" : "int32",
1391 "example" : 404
1392 }
1393 },
1394 "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
1395 },
1396 "void" : {
1397 "type" : "object",
1398 "description" : "Void/empty"
1399 },
1400 "status_info" : {
1401 "type" : "object",
1402 "properties" : {
1403 "status" : {
1404 "type" : "string",
1405 "description" : "status text"
1406 }
1407 }
1408 },
1409 "authorization_result" : {
1410 "required" : [ "result" ],
1411 "type" : "object",
1412 "properties" : {
1413 "result" : {
1414 "type" : "boolean",
1415 "description" : "If true, the access is granted"
1416 }
1417 },
1418 "description" : "Result of authorization",
1419 "example" : {
1420 "result" : true
1421 }
1422 },
1423 "ric_info" : {
1424 "type" : "object",
1425 "properties" : {
1426 "ric_id" : {
1427 "type" : "string",
1428 "description" : "identity of the Near-RT RIC"
1429 },
1430 "managed_element_ids" : {
1431 "type" : "array",
1432 "description" : "O1 identities for managed entities",
1433 "items" : {
1434 "type" : "string",
1435 "description" : "O1 identities for managed entities"
1436 }
1437 },
1438 "state" : {
1439 "type" : "string",
1440 "description" : "Represents the states for a Near-RT RIC",
1441 "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
1442 },
1443 "policytype_ids" : {
1444 "type" : "array",
1445 "description" : "supported policy types",
1446 "items" : {
1447 "type" : "string",
1448 "description" : "supported policy types"
1449 }
1450 }
1451 },
1452 "description" : "Information for a Near-RT RIC"
1453 },
1454 "service_registration_info" : {
1455 "required" : [ "service_id" ],
1456 "type" : "object",
1457 "properties" : {
1458 "callback_url" : {
1459 "type" : "string",
1460 "description" : "callback for notifying of Near-RT RIC state changes"
1461 },
1462 "service_id" : {
1463 "type" : "string",
1464 "description" : "identity of the service"
1465 },
1466 "keep_alive_interval_seconds" : {
1467 "type" : "integer",
1468 "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
1469 "format" : "int64"
1470 }
1471 },
1472 "description" : "Information for one service"
1473 },
1474 "policy_info_list" : {
1475 "type" : "object",
1476 "properties" : {
1477 "policies" : {
1478 "type" : "array",
1479 "description" : "List of policy information",
1480 "items" : {
1481 "$ref" : "#/components/schemas/policy_info"
1482 }
1483 }
1484 },
1485 "description" : "List of policy information"
1486 },
1487 "policy_status_info" : {
1488 "type" : "object",
1489 "properties" : {
1490 "last_modified" : {
1491 "type" : "string",
1492 "description" : "timestamp, last modification time"
1493 },
1494 "status" : {
1495 "type" : "object",
1496 "description" : "the Policy status"
1497 }
1498 },
1499 "description" : "Status for one A1-P Policy"
1500 },
1501 "service_status" : {
1502 "type" : "object",
1503 "properties" : {
1504 "callback_url" : {
1505 "type" : "string",
1506 "description" : "callback for notifying of RIC synchronization"
1507 },
1508 "service_id" : {
1509 "type" : "string",
1510 "description" : "identity of the service"
1511 },
1512 "keep_alive_interval_seconds" : {
1513 "type" : "integer",
1514 "description" : "policy keep alive timeout",
1515 "format" : "int64"
1516 },
1517 "time_since_last_activity_seconds" : {
1518 "type" : "integer",
1519 "description" : "time since last invocation by the service",
1520 "format" : "int64"
1521 }
1522 }
1523 },
1524 "ric_info_list" : {
1525 "type" : "object",
1526 "properties" : {
1527 "rics" : {
1528 "type" : "array",
1529 "description" : "List of Near-RT RIC information",
1530 "items" : {
1531 "$ref" : "#/components/schemas/ric_info"
1532 }
1533 }
1534 },
1535 "description" : "List of Near-RT RIC information"
1536 },
1537 "input" : {
1538 "required" : [ "access_type", "auth_token", "policy_type_id" ],
1539 "type" : "object",
1540 "properties" : {
1541 "access_type" : {
1542 "type" : "string",
1543 "description" : "Access type",
1544 "enum" : [ "READ", "WRITE", "DELETE" ]
1545 },
1546 "auth_token" : {
1547 "type" : "string",
1548 "description" : "Authorization token"
1549 },
1550 "policy_type_id" : {
1551 "type" : "string",
1552 "description" : "Policy type identifier"
1553 }
1554 },
1555 "description" : "input"
1556 },
1557 "policy_authorization" : {
1558 "required" : [ "input" ],
1559 "type" : "object",
1560 "properties" : {
1561 "input" : {
1562 "$ref" : "#/components/schemas/input"
1563 }
1564 },
1565 "description" : "Authorization request for A1 policy requests"
1566 },
1567 "policy_type_id_list" : {
1568 "type" : "object",
1569 "properties" : {
1570 "policytype_ids" : {
1571 "type" : "array",
1572 "description" : "Policy type identities",
1573 "items" : {
1574 "type" : "string",
1575 "description" : "Policy type identities"
1576 }
1577 }
1578 },
1579 "description" : "Information about policy types"
1580 },
1581 "policy_info" : {
1582 "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id", "service_id" ],
1583 "type" : "object",
1584 "properties" : {
1585 "ric_id" : {
1586 "type" : "string",
1587 "description" : "identity of the target Near-RT RIC"
1588 },
1589 "policy_id" : {
1590 "type" : "string",
1591 "description" : "identity of the policy"
1592 },
1593 "transient" : {
1594 "type" : "boolean",
1595 "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
1596 "nullable" : false,
1597 "example" : false,
1598 "default" : false
1599 },
1600 "service_id" : {
1601 "type" : "string",
1602 "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered."
1603 },
1604 "policy_data" : {
1605 "type" : "object",
1606 "description" : "the configuration of the policy"
1607 },
1608 "status_notification_uri" : {
1609 "type" : "string",
1610 "description" : "Callback URI for policy status updates"
1611 },
1612 "policytype_id" : {
1613 "type" : "string",
1614 "description" : "identity of the policy type"
1615 }
1616 },
1617 "description" : "Information for one A1-P Policy"
1618 },
1619 "policy_id_list" : {
1620 "type" : "object",
1621 "properties" : {
1622 "policy_ids" : {
1623 "type" : "array",
1624 "description" : "Policy identities",
1625 "items" : {
1626 "type" : "string",
1627 "description" : "Policy identities"
1628 }
1629 }
1630 },
1631 "description" : "A list of policy identities",
1632 "example" : {
1633 "policy_ids" : [ "policy_ids", "policy_ids" ]
1634 }
1635 },
1636 "service_status_list" : {
1637 "type" : "object",
1638 "properties" : {
1639 "service_list" : {
1640 "type" : "array",
1641 "description" : "List of service information",
1642 "items" : {
1643 "$ref" : "#/components/schemas/service_status"
1644 }
1645 }
1646 }
1647 },
1648 "service_callback_info_v2" : {
1649 "required" : [ "event_type", "ric_id" ],
1650 "type" : "object",
1651 "properties" : {
1652 "ric_id" : {
1653 "type" : "string",
1654 "description" : "identity of a Near-RT RIC"
1655 },
1656 "event_type" : {
1657 "type" : "string",
1658 "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
1659 "enum" : [ "AVAILABLE" ]
1660 }
1661 },
1662 "description" : "Information transferred as in Service callbacks (callback_url)"
1663 },
1664 "Link" : {
1665 "type" : "object",
1666 "properties" : {
1667 "templated" : {
1668 "type" : "boolean"
1669 },
1670 "href" : {
1671 "type" : "string"
1672 }
1673 }
1674 }
1675 },
1676 "examples" : {
1677 "service_status" : {
1678 "description" : "List of service information",
1679 "value" : {
1680 "callback_url" : "callback_url",
1681 "service_id" : "service_id",
1682 "keep_alive_interval_seconds" : 0,
1683 "time_since_last_activity_seconds" : 6
1684 }
1685 },
1686 "service_status_list" : {
1687 "description" : "List of service information",
1688 "value" : {
1689 "service_list" : [ {
1690 "callback_url" : "callback_url",
1691 "service_id" : "service_id",
1692 "keep_alive_interval_seconds" : 0,
1693 "time_since_last_activity_seconds" : 6
1694 }, {
1695 "callback_url" : "callback_url",
1696 "service_id" : "service_id",
1697 "keep_alive_interval_seconds" : 0,
1698 "time_since_last_activity_seconds" : 6
1699 } ]
1700 }
1701 },
1702 "policy_type_definition" : {
1703 "description" : "Schema of the given Policy type",
1704 "value" : {
1705 "policy_schema" : "{}"
1706 }
1707 },
1708 "policy_type_id_list" : {
1709 "description" : "Array of policy type id's",
1710 "value" : {
1711 "policy_type_id_list" : [ "policytype_id", "policytype_id" ]
1712 }
1713 },
1714 "policy_info" : {
1715 "description" : "Policy information of one A1-P policy",
1716 "value" : {
1717 "ric_id" : "ric_id",
1718 "policy_id" : "policy_id",
1719 "transient" : false,
1720 "service_id" : "service_id",
1721 "policy_data" : "{}",
1722 "status_notification_uri" : "status_notification_uri",
1723 "policytype_id" : "policytype_id"
1724 }
1725 },
1726 "policy_info_list" : {
1727 "description" : "List of policy information",
1728 "value" : {
1729 "policies" : [ {
1730 "ric_id" : "ric_id",
1731 "policy_id" : "policy_id",
1732 "transient" : false,
1733 "service_id" : "service_id",
1734 "policy_data" : "{}",
1735 "status_notification_uri" : "status_notification_uri",
1736 "policytype_id" : "policytype_id"
1737 }, {
1738 "ric_id" : "ric_id",
1739 "policy_id" : "policy_id",
1740 "transient" : false,
1741 "service_id" : "service_id",
1742 "policy_data" : "{}",
1743 "status_notification_uri" : "status_notification_uri",
1744 "policytype_id" : "policytype_id"
1745 } ]
1746 }
1747 },
1748 "policy_id_list" : {
1749 "description" : "A list of policy identities",
1750 "value" : {
1751 "policy_ids" : [ "policy_ids", "policy_ids" ]
1752 }
1753 },
1754 "policy_status_info" : {
1755 "description" : "Status for one A1-P Policy",
1756 "value" : {
1757 "last_modified" : "last_modified",
1758 "status" : "{}"
1759 }
1760 },
1761 "status_info" : {
1762 "value" : {
1763 "status" : "status"
1764 }
1765 },
1766 "ric_info" : {
1767 "value" : {
1768 "ric_id" : "ric_id",
1769 "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
1770 "state" : "UNAVAILABLE",
1771 "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
1772 }
1773 },
1774 "ric_info_list" : {
1775 "value" : {
1776 "rics" : [ {
1777 "ric_id" : "ric_id",
1778 "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
1779 "state" : "UNAVAILABLE",
1780 "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
1781 }, {
1782 "ric_id" : "ric_id",
1783 "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
1784 "state" : "UNAVAILABLE",
1785 "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
1786 } ]
1787 }
1788 }
1789 }
1790 }
PatrikBuhr1122b012021-01-20 12:21:52 +01001791}