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