blob: 1c25e051820ff763bb4f3cc0dc31ccf77c05bb1a [file] [log] [blame]
raviteja.karumuria4687d92023-09-14 12:38:49 +01001# ============LICENSE_START=======================================================
2# Copyright (C) 2020-2023 Nordix Foundation
raviteja.karumurica358db2024-02-22 18:24:24 +00003# Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
raviteja.karumuria4687d92023-09-14 12:38:49 +01004# Modifications Copyright (C) 2021 Pantheon.tech
5# Modifications Copyright (C) 2021 Bell Canada
6# ================================================================================
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19# SPDX-License-Identifier: Apache-2.0
20# ============LICENSE_END=========================================================
21
22openapi: 3.0.3
elinuxhenrikf28594d2020-12-07 14:54:19 +010023info:
raviteja.karumurica358db2024-02-22 18:24:24 +000024 x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8
25 x-audience: external-public
JohnKeeneye251d0c2023-02-20 18:00:44 +000026 description: "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service\
raviteja.karumurica358db2024-02-22 18:24:24 +000027 \ provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the\
JohnKeeneye251d0c2023-02-20 18:00:44 +000028 \ service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring\
29 \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining\
30 \ a view of supported Near-RT RIC policy types</li><li>Supervision of using services\
31 \ (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs\
PatrikBuhr9f1d9492023-04-17 13:00:15 +020032 \ provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This\
33 \ is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation,\
34 \ modification and deletion.</li><li>Retrieval of supported A1 Policy types for\
35 \ a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management\
36 \ of configuration</h3><p>API for updating and retrieval of the component configuration.\
37 \ Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These\
38 \ are endpoints that are invoked by this service. The callbacks are registered\
39 \ in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This\
40 \ is an API that provides support for looking up a NearRT-RIC. Each A1 policy\
41 \ is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
42 \ of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used\
43 \ for registering services that uses PMS. Each A1 policy is optionally owned by\
44 \ a service. PMS can supervise each registered service by a heart-beat supervision\
JohnKeeneye251d0c2023-02-20 18:00:44 +000045 \ and will automatically remove policies for unavailable services. Note that a\
46 \ service does not need to be registered in order to create A1 Policies. This\
PatrikBuhr9f1d9492023-04-17 13:00:15 +020047 \ is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used\
48 \ for access control of A1 Policy access. If configured, an external authorization\
49 \ provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot\
50 \ Actuator</h3><p>Provides generic functions used to monitor and manage the Spring\
51 \ web application.</p>"
PatrikBuhrfee99552021-02-02 14:06:44 +010052 license:
PatrikBuhrc0218ad2022-11-28 09:40:36 +010053 name: Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.
PatrikBuhrfee99552021-02-02 14:06:44 +010054 url: http://www.apache.org/licenses/LICENSE-2.0
JohnKeeneye251d0c2023-02-20 18:00:44 +000055 title: A1 Policy Management Service
raviteja.karumurica358db2024-02-22 18:24:24 +000056 version: 1.3.0
57 contact:
58 url: https://www.onap.org/
59 email: discuss-list@onap.com
elinuxhenrikf28594d2020-12-07 14:54:19 +010060servers:
raviteja.karumuria4687d92023-09-14 12:38:49 +010061 - url: /
elinuxhenrikf28594d2020-12-07 14:54:19 +010062tags:
raviteja.karumurica358db2024-02-22 18:24:24 +000063 - name: A1 Policy Management
64 description: "API used to create polices, Policy Instances and get them as individual
65 using an ID or get all policies/Instances."
66 - name: NearRT-RIC Repository
67 description: "API used to get the NearRT-RIC for the managed element."
68 - name: Service Registry and Supervision
69 description: "API used to keep the service Alive with in the timeout period"
70 - name: Health Check
71 description: "API used to get the health status and statistics of this service"
72 - name: Service callbacks
73 - name: Authorization API
74 description: "API used for authorization of information A1 policy access (this is
raviteja.karumuria4687d92023-09-14 12:38:49 +010075 provided by an authorization producer such as OPA). <br> Note that this API is called
76 by PMS, it is not provided."
raviteja.karumurica358db2024-02-22 18:24:24 +000077 - name: Configuration
78 description: "API used to create or fetch the application configuration."
79 - name: Actuator
80 description: Monitor and interact
raviteja.karumuria4687d92023-09-14 12:38:49 +010081 externalDocs:
82 description: Spring Boot Actuator Web API Documentation
83 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
elinuxhenrikf28594d2020-12-07 14:54:19 +010084paths:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010085 /a1-policy/v2/policy-instances:
86 get:
JohnKeeneye251d0c2023-02-20 18:00:44 +000087 description: "Returns a list of A1 policies matching given search criteria.\
88 \ <br>If several query parameters are defined, the policies matching all conditions\
89 \ are returned."
PatrikBuhrfee99552021-02-02 14:06:44 +010090 operationId: getPolicyInstances
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +010091 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +010092 - description: Select policies with a given type identity.
93 explode: true
94 in: query
95 name: policytype_id
96 required: false
97 schema:
98 type: string
99 style: form
100 - description: Select policies for a given Near-RT RIC identity.
101 explode: true
102 in: query
103 name: ric_id
104 required: false
105 schema:
106 type: string
107 style: form
108 - description: Select policies owned by a given service.
109 explode: true
110 in: query
111 name: service_id
112 required: false
113 schema:
114 type: string
115 style: form
116 - description: Select policies of a given type name (type identity has the format
117 <typename_version>)
118 explode: true
119 in: query
120 name: type_name
121 required: false
122 schema:
123 type: string
124 style: form
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100125 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000126 "200":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100127 content:
128 application/json:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100129 examples:
130 policy_info_list:
131 $ref: '#/components/examples/policy_info_list'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100132 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100133 $ref: '#/components/schemas/policy_info_list'
raviteja.karumurica358db2024-02-22 18:24:24 +0000134 description: OK - Returns A1 Policies which matches the criteria
JohnKeeneye251d0c2023-02-20 18:00:44 +0000135 "404":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100136 content:
137 application/json:
138 schema:
139 $ref: '#/components/schemas/error_information'
raviteja.karumurica358db2024-02-22 18:24:24 +0000140 description: "Not Found - Near-RT RIC, policy type or service not found"
JohnKeeneye251d0c2023-02-20 18:00:44 +0000141 summary: Query for A1 policy instances
142 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100143 - A1 Policy Management
PatrikBuhrf07e4b32023-04-05 14:40:07 +0200144 /example-authz-check:
145 post:
146 description: The authorization function decides if access is granted.
147 operationId: performAccessControl
148 requestBody:
149 content:
150 application/json:
151 schema:
152 $ref: '#/components/schemas/policy_authorization'
153 required: true
154 responses:
155 "200":
156 content:
157 application/json:
158 schema:
159 $ref: '#/components/schemas/authorization_result'
160 description: OK
raviteja.karumurica358db2024-02-22 18:24:24 +0000161 "403":
162 $ref: '#/components/responses/Forbidden'
PatrikBuhrf07e4b32023-04-05 14:40:07 +0200163 summary: Request for access authorization.
164 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100165 - Authorization API
PatrikBuhr62c25962022-03-25 15:39:06 +0100166 /actuator/threaddump:
167 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000168 x-internal: true
JohnKeeney62abcd82023-03-01 19:04:58 +0000169 operationId: threaddump
PatrikBuhr62c25962022-03-25 15:39:06 +0100170 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000171 "200":
PatrikBuhr62c25962022-03-25 15:39:06 +0100172 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000173 text/plain;charset=UTF-8:
174 schema:
175 type: object
176 application/vnd.spring-boot.actuator.v3+json:
177 schema:
178 type: object
179 application/json:
180 schema:
181 type: object
182 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr62c25962022-03-25 15:39:06 +0100183 schema:
184 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000185 description: OK
186 summary: Actuator web endpoint 'threaddump'
187 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100188 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100189 /a1-policy/v2/status:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100190 get:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100191 operationId: getStatus
elinuxhenrikf28594d2020-12-07 14:54:19 +0100192 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000193 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100194 content:
195 application/json:
196 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100197 $ref: '#/components/schemas/status_info'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100198 examples:
199 status_info:
200 $ref: '#/components/examples/status_info'
raviteja.karumurica358db2024-02-22 18:24:24 +0000201 description: OK- Service is living Ok
202 description: Returns status and statistics of this service
JohnKeeneye251d0c2023-02-20 18:00:44 +0000203 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100204 - Health Check
PatrikBuhr62c25962022-03-25 15:39:06 +0100205 /actuator/loggers:
PatrikBuhr6e318742021-11-30 11:25:17 +0100206 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000207 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100208 operationId: loggers
209 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000210 "200":
PatrikBuhr62c25962022-03-25 15:39:06 +0100211 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000212 application/vnd.spring-boot.actuator.v3+json:
213 schema:
214 type: object
215 application/json:
216 schema:
217 type: object
218 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr62c25962022-03-25 15:39:06 +0100219 schema:
220 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000221 description: OK
222 summary: Actuator web endpoint 'loggers'
PatrikBuhr62c25962022-03-25 15:39:06 +0100223 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100224 - Actuator
JohnKeeneye251d0c2023-02-20 18:00:44 +0000225 /actuator/health/**:
226 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000227 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100228 operationId: health-path
PatrikBuhr6e318742021-11-30 11:25:17 +0100229 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000230 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100231 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000232 application/vnd.spring-boot.actuator.v3+json:
233 schema:
234 type: object
235 application/json:
236 schema:
237 type: object
238 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100239 schema:
240 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000241 description: OK
242 summary: Actuator web endpoint 'health-path'
243 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100244 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100245 /a1-policy/v2/rics/ric:
246 get:
JohnKeeney069b4692022-05-12 22:15:14 +0100247 description: Either a Near-RT RIC identity or a Managed Element identity can
248 be specified.<br>The intention with Managed Element identity is the ID used
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100249 in O1 for accessing the traffical element (such as the ID of CU).
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100250 operationId: getRic
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100251 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100252 - description: "The identity of a Managed Element. If given, the Near-RT RIC\
JohnKeeneye251d0c2023-02-20 18:00:44 +0000253 \ managing the ME is returned."
raviteja.karumuria4687d92023-09-14 12:38:49 +0100254 explode: true
255 in: query
256 name: managed_element_id
257 required: false
258 schema:
259 type: string
260 style: form
261 - description: The identity of a Near-RT RIC to get information for.
262 explode: true
263 in: query
264 name: ric_id
265 required: false
266 schema:
267 type: string
268 style: form
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100269 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000270 "200":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100271 content:
272 application/json:
273 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100274 $ref: '#/components/schemas/ric_info'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100275 examples:
276 ric_info:
277 $ref: '#/components/examples/ric_info'
raviteja.karumurica358db2024-02-22 18:24:24 +0000278 description: OK - Near-RT RIC is found
JohnKeeneye251d0c2023-02-20 18:00:44 +0000279 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000280 $ref: '#/components/responses/NotFound'
281 description: NotFound - Requested NearRT-RIC Not Found
282 summary: Returns info of Near-RT RIC queried by the ric-id and managed-element-id
JohnKeeneye251d0c2023-02-20 18:00:44 +0000283 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100284 - NearRT-RIC Repository
PatrikBuhrc0218ad2022-11-28 09:40:36 +0100285 /actuator/shutdown:
286 post:
raviteja.karumurica358db2024-02-22 18:24:24 +0000287 x-internal: true
PatrikBuhrc0218ad2022-11-28 09:40:36 +0100288 operationId: shutdown
289 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000290 "200":
PatrikBuhrc0218ad2022-11-28 09:40:36 +0100291 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000292 application/vnd.spring-boot.actuator.v3+json:
293 schema:
294 type: object
295 application/json:
296 schema:
297 type: object
298 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhrc0218ad2022-11-28 09:40:36 +0100299 schema:
300 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000301 description: OK
302 summary: Actuator web endpoint 'shutdown'
303 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100304 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100305 /a1-policy/v2/policy-types:
306 get:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100307 operationId: getPolicyTypes
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100308 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100309 - description: Select types for the given Near-RT RIC identity.
310 explode: true
311 in: query
312 name: ric_id
313 required: false
314 schema:
315 type: string
316 style: form
317 - description: Select types with the given type name (type identity has the
318 format <typename_version>)
319 explode: true
320 in: query
321 name: type_name
322 required: false
323 schema:
324 type: string
325 style: form
326 - description: Select types that are compatible with the given version. This
327 parameter is only applicable in conjunction with type_name. As an example
328 version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching
329 types will be returned sorted in ascending order.
330 explode: true
331 in: query
332 name: compatible_with_version
333 required: false
334 schema:
335 type: string
336 style: form
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100337 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000338 "200":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100339 content:
340 application/json:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100341 examples:
342 policy_type_id_list:
343 $ref: '#/components/examples/policy_type_id_list'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100344 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100345 $ref: '#/components/schemas/policy_type_id_list'
raviteja.karumurica358db2024-02-22 18:24:24 +0000346 description: OK - Policy Type IDs Found
JohnKeeneye251d0c2023-02-20 18:00:44 +0000347 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000348 $ref: '#/components/responses/NotFound'
349 description: 'Not Found - Requested Policy Type IDs Not Found'
350 description: Query policy type identities
PatrikBuhrfee99552021-02-02 14:06:44 +0100351 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100352 - A1 Policy Management
JohnKeeneye251d0c2023-02-20 18:00:44 +0000353 /a1-policy/v2/policies/{policy_id}:
354 delete:
raviteja.karumurica358db2024-02-22 18:24:24 +0000355 description: Deleting the policy using the Policy's Policy ID.
JohnKeeneye251d0c2023-02-20 18:00:44 +0000356 operationId: deletePolicy
PatrikBuhrfee99552021-02-02 14:06:44 +0100357 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100358 - explode: false
359 in: path
360 name: policy_id
361 required: true
362 schema:
363 type: string
364 style: simple
PatrikBuhrfee99552021-02-02 14:06:44 +0100365 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000366 "200":
367 content:
368 '*/*':
369 schema:
370 $ref: '#/components/schemas/void'
raviteja.karumurica358db2024-02-22 18:24:24 +0000371 description: OK - Policy deleted
JohnKeeneye251d0c2023-02-20 18:00:44 +0000372 "423":
raviteja.karumurica358db2024-02-22 18:24:24 +0000373 $ref: '#/components/responses/Locked'
374 description: 'The requested policy using policy_id is Locked'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000375 summary: Delete a policy
376 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100377 - A1 Policy Management
JohnKeeneye251d0c2023-02-20 18:00:44 +0000378 get:
379 operationId: getPolicy
380 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100381 - explode: false
382 in: path
383 name: policy_id
384 required: true
385 schema:
386 type: string
387 style: simple
JohnKeeneye251d0c2023-02-20 18:00:44 +0000388 responses:
389 "200":
PatrikBuhrfee99552021-02-02 14:06:44 +0100390 content:
391 application/json:
392 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100393 $ref: '#/components/schemas/policy_info'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100394 examples:
395 policy_info:
396 $ref: '#/components/examples/policy_info'
raviteja.karumurica358db2024-02-22 18:24:24 +0000397 description: OK - Policy found
JohnKeeneye251d0c2023-02-20 18:00:44 +0000398 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000399 $ref: '#/components/responses/NotFound'
400 description: 'Not Found - Requested Policy using policy_id is not found'
401 description: Returns a policy
PatrikBuhrfee99552021-02-02 14:06:44 +0100402 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100403 - A1 Policy Management
PatrikBuhr6e318742021-11-30 11:25:17 +0100404 /actuator/metrics/{requiredMetricName}:
405 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000406 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100407 operationId: metrics-requiredMetricName
PatrikBuhr6e318742021-11-30 11:25:17 +0100408 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100409 - explode: false
410 in: path
411 name: requiredMetricName
412 required: true
413 schema:
414 type: string
415 style: simple
PatrikBuhr6e318742021-11-30 11:25:17 +0100416 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000417 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100418 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000419 application/vnd.spring-boot.actuator.v3+json:
420 schema:
421 type: object
422 application/json:
423 schema:
424 type: object
425 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100426 schema:
427 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000428 description: OK
429 summary: Actuator web endpoint 'metrics-requiredMetricName'
430 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100431 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100432 /a1-policy/v2/configuration:
433 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000434 x-internal: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100435 operationId: getConfiguration
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100436 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000437 "200":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100438 content:
439 application/json:
440 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100441 type: string
raviteja.karumurica358db2024-02-22 18:24:24 +0000442 description: OK - Configuration
JohnKeeneye251d0c2023-02-20 18:00:44 +0000443 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000444 $ref: '#/components/responses/NotFound'
445 description: Not Found - Configuration is not found or readable
446 description: Returns the contents of the application configuration file
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100447 tags:
raviteja.karumurica358db2024-02-22 18:24:24 +0000448 - Configuration
JohnKeeneye251d0c2023-02-20 18:00:44 +0000449 put:
raviteja.karumurica358db2024-02-22 18:24:24 +0000450 x-internal: true
PatrikBuhrfee99552021-02-02 14:06:44 +0100451 operationId: putConfiguration
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100452 requestBody:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100453 content:
454 application/json:
455 schema:
456 type: object
457 required: true
458 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000459 "200":
PatrikBuhrfee99552021-02-02 14:06:44 +0100460 content:
461 '*/*':
462 schema:
463 $ref: '#/components/schemas/void'
raviteja.karumurica358db2024-02-22 18:24:24 +0000464 description: OK - Configuration updated
JohnKeeneye251d0c2023-02-20 18:00:44 +0000465 "400":
raviteja.karumurica358db2024-02-22 18:24:24 +0000466 $ref: '#/components/responses/BadRequest'
467 description: Replace the current configuration with the given configuration
JohnKeeneye251d0c2023-02-20 18:00:44 +0000468 tags:
raviteja.karumurica358db2024-02-22 18:24:24 +0000469 - Configuration
PatrikBuhr6e318742021-11-30 11:25:17 +0100470 /actuator:
471 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000472 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100473 operationId: links
PatrikBuhr6e318742021-11-30 11:25:17 +0100474 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000475 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100476 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000477 application/vnd.spring-boot.actuator.v3+json:
478 schema:
479 additionalProperties:
480 additionalProperties:
481 $ref: '#/components/schemas/Link'
482 type: object
483 type: object
484 application/json:
485 schema:
486 additionalProperties:
487 additionalProperties:
488 $ref: '#/components/schemas/Link'
489 type: object
490 type: object
491 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100492 schema:
PatrikBuhr6e318742021-11-30 11:25:17 +0100493 additionalProperties:
PatrikBuhr6e318742021-11-30 11:25:17 +0100494 additionalProperties:
495 $ref: '#/components/schemas/Link'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000496 type: object
497 type: object
498 description: OK
499 summary: Actuator root web endpoint
500 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100501 - Actuator
PatrikBuhr6e318742021-11-30 11:25:17 +0100502 /actuator/loggers/{name}:
503 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000504 x-internal: true
JohnKeeney62abcd82023-03-01 19:04:58 +0000505 operationId: loggers-name
PatrikBuhr6e318742021-11-30 11:25:17 +0100506 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100507 - explode: false
508 in: path
509 name: name
510 required: true
511 schema:
512 type: string
513 style: simple
PatrikBuhr6e318742021-11-30 11:25:17 +0100514 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000515 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100516 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000517 application/vnd.spring-boot.actuator.v3+json:
518 schema:
519 type: object
520 application/json:
521 schema:
522 type: object
523 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100524 schema:
525 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000526 description: OK
527 summary: Actuator web endpoint 'loggers-name'
PatrikBuhr6e318742021-11-30 11:25:17 +0100528 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100529 - Actuator
JohnKeeneye251d0c2023-02-20 18:00:44 +0000530 post:
raviteja.karumurica358db2024-02-22 18:24:24 +0000531 x-internal: true
JohnKeeney62abcd82023-03-01 19:04:58 +0000532 operationId: loggers-name_2
PatrikBuhr6e318742021-11-30 11:25:17 +0100533 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100534 - explode: false
535 in: path
536 name: name
537 required: true
538 schema:
539 type: string
540 style: simple
JohnKeeney62abcd82023-03-01 19:04:58 +0000541 requestBody:
542 content:
543 application/json:
544 schema:
545 enum:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100546 - TRACE
547 - DEBUG
548 - INFO
549 - WARN
550 - ERROR
551 - FATAL
552 - "OFF"
JohnKeeney62abcd82023-03-01 19:04:58 +0000553 type: string
PatrikBuhr6e318742021-11-30 11:25:17 +0100554 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000555 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100556 content:
557 '*/*':
558 schema:
559 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000560 description: OK
561 summary: Actuator web endpoint 'loggers-name'
562 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100563 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100564 /a1-policy/v2/services/{service_id}/keepalive:
565 put:
JohnKeeney08486cf2022-05-24 12:34:49 +0100566 description: A registered service should invoke this operation regularly to
567 indicate that it is still alive. If a registered service fails to invoke this
568 operation before the end of a timeout period the service will be deregistered
569 and all its A1 policies wil be removed. (This timeout can be set or disabled
570 when each service is initially registered)
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100571 operationId: keepAliveService
elinuxhenrikf28594d2020-12-07 14:54:19 +0100572 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100573 - explode: false
574 in: path
575 name: service_id
576 required: true
577 schema:
578 type: string
579 style: simple
elinuxhenrikf28594d2020-12-07 14:54:19 +0100580 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000581 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100582 content:
583 '*/*':
584 schema:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100585 type: object
raviteja.karumurica358db2024-02-22 18:24:24 +0000586 description: "OK - Service supervision timer refreshed, OK"
JohnKeeneye251d0c2023-02-20 18:00:44 +0000587 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000588 $ref: '#/components/responses/NotFound'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000589 summary: Heartbeat indicates that the service is running
590 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100591 - Service Registry and Supervision
PatrikBuhr6e318742021-11-30 11:25:17 +0100592 /actuator/metrics:
593 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000594 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100595 operationId: metrics
PatrikBuhr6e318742021-11-30 11:25:17 +0100596 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000597 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100598 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000599 application/vnd.spring-boot.actuator.v3+json:
600 schema:
601 type: object
602 application/json:
603 schema:
604 type: object
605 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100606 schema:
607 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000608 description: OK
609 summary: Actuator web endpoint 'metrics'
610 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100611 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100612 /a1-policy/v2/rics:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100613 get:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100614 description: The call returns all Near-RT RICs that supports a given policy
615 type identity
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100616 operationId: getRics
elinuxhenrikf28594d2020-12-07 14:54:19 +0100617 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100618 - description: "The identity of a policy type. If given, all Near-RT RICs supporting\
JohnKeeneye251d0c2023-02-20 18:00:44 +0000619 \ the policy type are returned"
raviteja.karumuria4687d92023-09-14 12:38:49 +0100620 explode: true
621 in: query
622 name: policytype_id
623 required: false
624 schema:
625 type: string
626 style: form
elinuxhenrikf28594d2020-12-07 14:54:19 +0100627 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000628 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100629 content:
630 application/json:
631 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100632 $ref: '#/components/schemas/ric_info_list'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100633 examples:
634 ric_info_list:
635 $ref: '#/components/examples/ric_info_list'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000636 description: OK
637 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000638 $ref: '#/components/responses/NotFound'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000639 summary: Query Near-RT RIC information
640 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100641 - NearRT-RIC Repository
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100642 /a1-policy/v2/services:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100643 get:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100644 description: Either information about a registered service with given identity
645 or all registered services are returned.
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100646 operationId: getServices
elinuxhenrikf28594d2020-12-07 14:54:19 +0100647 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100648 - description: The identity of the service
649 explode: true
650 in: query
651 name: service_id
652 required: false
653 schema:
654 type: string
655 style: form
elinuxhenrikf28594d2020-12-07 14:54:19 +0100656 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000657 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100658 content:
659 application/json:
660 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100661 $ref: '#/components/schemas/service_status_list'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100662 examples:
663 service_status_list:
664 $ref: '#/components/examples/service_status_list'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000665 description: OK
666 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000667 $ref: '#/components/responses/NotFound'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000668 summary: Returns service information
elinuxhenrikf28594d2020-12-07 14:54:19 +0100669 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100670 - Service Registry and Supervision
JohnKeeneye251d0c2023-02-20 18:00:44 +0000671 put:
672 description: "Registering a service is needed to:<ul><li>Get callbacks about\
673 \ available NearRT RICs.</li><li>Activate supervision of the service. If a\
674 \ service is inactive, its policies will automatically be deleted.</li></ul>Policies\
675 \ can be created even if the service is not registerred. This is a feature\
676 \ which it is optional to use."
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100677 operationId: putService
elinuxhenrikf28594d2020-12-07 14:54:19 +0100678 requestBody:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100679 content:
680 application/json:
681 schema:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100682 $ref: '#/components/schemas/service_registration_info'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100683 required: true
684 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000685 "200":
686 content:
687 '*/*':
688 schema:
689 type: object
raviteja.karumurica358db2024-02-22 18:24:24 +0000690 description: OK - Service updated
JohnKeeneye251d0c2023-02-20 18:00:44 +0000691 "201":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100692 content:
693 '*/*':
694 schema:
695 type: object
raviteja.karumurica358db2024-02-22 18:24:24 +0000696 description: Created - Service created
JohnKeeneye251d0c2023-02-20 18:00:44 +0000697 "400":
raviteja.karumurica358db2024-02-22 18:24:24 +0000698 $ref: '#/components/responses/BadRequest'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000699 summary: Register a service
700 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100701 - Service Registry and Supervision
raviteja.karumurid533de62023-11-14 15:41:49 +0000702 callbacks:
703 RICStatus:
704 "{$request.body#/callback_url}":
raviteja.karumurica358db2024-02-22 18:24:24 +0000705 post:
706 description: The URL to this call is registered at Service registration.
707 operationId: serviceCallback
708 requestBody:
raviteja.karumurid533de62023-11-14 15:41:49 +0000709 content:
710 application/json:
711 schema:
raviteja.karumurica358db2024-02-22 18:24:24 +0000712 $ref: '#/components/schemas/service_callback_info_v2'
713 required: true
714 responses:
715 "200":
716 content:
717 application/json:
718 schema:
719 $ref: '#/components/schemas/void'
720 description: OK
721 "404":
722 $ref: '#/components/responses/NotFound'
723 summary: Callback for Near-RT RIC status
724 tags:
725 - Service callbacks
PatrikBuhr6e318742021-11-30 11:25:17 +0100726 /actuator/info:
727 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000728 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100729 operationId: info
PatrikBuhr6e318742021-11-30 11:25:17 +0100730 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000731 "200":
PatrikBuhr6e318742021-11-30 11:25:17 +0100732 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000733 application/vnd.spring-boot.actuator.v3+json:
734 schema:
735 type: object
736 application/json:
737 schema:
738 type: object
739 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhr6e318742021-11-30 11:25:17 +0100740 schema:
741 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000742 description: OK
743 summary: Actuator web endpoint 'info'
744 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100745 - Actuator
elinuxhenrikf28594d2020-12-07 14:54:19 +0100746 /status:
747 get:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100748 operationId: getStatusV1
elinuxhenrikf28594d2020-12-07 14:54:19 +0100749 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000750 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100751 content:
752 '*/*':
753 schema:
754 type: string
raviteja.karumurica358db2024-02-22 18:24:24 +0000755 description: OK - Service is living
756 description: Returns status and statistics of this service
JohnKeeneye251d0c2023-02-20 18:00:44 +0000757 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100758 - Health Check
PatrikBuhrfee99552021-02-02 14:06:44 +0100759 /a1-policy/v2/policy-types/{policytype_id}:
760 get:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100761 operationId: getPolicyTypeDefinition
PatrikBuhrfee99552021-02-02 14:06:44 +0100762 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100763 - explode: false
764 in: path
765 name: policytype_id
766 required: true
767 schema:
768 type: string
769 style: simple
PatrikBuhrfee99552021-02-02 14:06:44 +0100770 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000771 "200":
PatrikBuhrfee99552021-02-02 14:06:44 +0100772 content:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100773 application/json:
PatrikBuhrfee99552021-02-02 14:06:44 +0100774 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100775 $ref: '#/components/schemas/policy_type_definition'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100776 examples:
777 policy_type_definition:
778 $ref: '#/components/examples/policy_type_definition'
raviteja.karumurica358db2024-02-22 18:24:24 +0000779 description: OK - schema of the given policy type
JohnKeeneye251d0c2023-02-20 18:00:44 +0000780 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000781 $ref: '#/components/responses/NotFound'
782 description: Returns a policy type definition
elinuxhenrikf28594d2020-12-07 14:54:19 +0100783 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100784 - A1 Policy Management
JohnKeeneye251d0c2023-02-20 18:00:44 +0000785 /actuator/logfile:
786 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000787 x-internal: true
JohnKeeneye251d0c2023-02-20 18:00:44 +0000788 operationId: logfile
789 responses:
790 "200":
791 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000792 text/plain;charset=UTF-8:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000793 schema:
794 type: object
795 description: OK
796 summary: Actuator web endpoint 'logfile'
797 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100798 - Actuator
JohnKeeneye251d0c2023-02-20 18:00:44 +0000799 /actuator/health:
800 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000801 x-internal: true
JohnKeeneye251d0c2023-02-20 18:00:44 +0000802 operationId: health
803 responses:
804 "200":
805 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000806 application/vnd.spring-boot.actuator.v3+json:
807 schema:
808 type: object
809 application/json:
810 schema:
811 type: object
812 application/vnd.spring-boot.actuator.v2+json:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000813 schema:
814 type: object
815 description: OK
816 summary: Actuator web endpoint 'health'
817 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100818 - Actuator
JohnKeeneye251d0c2023-02-20 18:00:44 +0000819 /a1-policy/v2/policies:
820 get:
821 description: "Returns a list of A1 policies matching given search criteria.\
822 \ <br>If several query parameters are defined, the policies matching all conditions\
823 \ are returned."
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100824 operationId: getPolicyIds
elinuxhenrikf28594d2020-12-07 14:54:19 +0100825 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100826 - description: Select policies of a given policy type identity.
827 explode: true
828 in: query
829 name: policytype_id
830 required: false
831 schema:
832 type: string
833 style: form
834 - description: Select policies of a given Near-RT RIC identity.
835 explode: true
836 in: query
837 name: ric_id
838 required: false
839 schema:
840 type: string
841 style: form
842 - description: Select policies owned by a given service.
843 explode: true
844 in: query
845 name: service_id
846 required: false
847 schema:
848 type: string
849 style: form
850 - description: Select policies of types with the given type name (type identity
851 has the format <typename_version>)
852 explode: true
853 in: query
854 name: type_name
855 required: false
856 schema:
857 type: string
858 style: form
elinuxhenrikf28594d2020-12-07 14:54:19 +0100859 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000860 "200":
elinuxhenrikf28594d2020-12-07 14:54:19 +0100861 content:
862 application/json:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100863 examples:
864 policy_id_list:
865 $ref: '#/components/examples/policy_id_list'
elinuxhenrikf28594d2020-12-07 14:54:19 +0100866 schema:
raviteja.karumuri9dcf49c2023-09-14 12:38:49 +0100867 $ref: '#/components/schemas/policy_id_list'
raviteja.karumurica358db2024-02-22 18:24:24 +0000868 description: OK - Policy identities
JohnKeeneye251d0c2023-02-20 18:00:44 +0000869 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000870 $ref: '#/components/responses/NotFound'
JohnKeeneye251d0c2023-02-20 18:00:44 +0000871 summary: Query policy identities
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100872 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100873 - A1 Policy Management
JohnKeeneye251d0c2023-02-20 18:00:44 +0000874 put:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100875 operationId: putPolicy
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100876 requestBody:
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100877 content:
878 application/json:
879 schema:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100880 $ref: '#/components/schemas/policy_info'
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100881 required: true
882 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000883 "200":
884 content:
885 application/json:
886 schema:
887 $ref: '#/components/schemas/void'
raviteja.karumurica358db2024-02-22 18:24:24 +0000888 description: OK - Policy updated
JohnKeeneye251d0c2023-02-20 18:00:44 +0000889 "201":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100890 content:
891 application/json:
892 schema:
PatrikBuhrfee99552021-02-02 14:06:44 +0100893 $ref: '#/components/schemas/void'
raviteja.karumurica358db2024-02-22 18:24:24 +0000894 description: Created - Policy created
JohnKeeneye251d0c2023-02-20 18:00:44 +0000895 "423":
raviteja.karumurica358db2024-02-22 18:24:24 +0000896 $ref: '#/components/responses/Locked'
897 description: Create or update a policy
JohnKeeneye251d0c2023-02-20 18:00:44 +0000898 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100899 - A1 Policy Management
PatrikBuhrfee99552021-02-02 14:06:44 +0100900 /a1-policy/v2/services/{service_id}:
901 delete:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100902 operationId: deleteService
PatrikBuhrfee99552021-02-02 14:06:44 +0100903 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100904 - explode: false
905 in: path
906 name: service_id
907 required: true
908 schema:
909 type: string
910 style: simple
PatrikBuhrfee99552021-02-02 14:06:44 +0100911 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000912 "204":
PatrikBuhrfee99552021-02-02 14:06:44 +0100913 content:
914 '*/*':
915 schema:
916 type: object
raviteja.karumurica358db2024-02-22 18:24:24 +0000917 description: No Content - Service unregistered
JohnKeeneye251d0c2023-02-20 18:00:44 +0000918 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000919 $ref: '#/components/responses/NotFound'
920 description: Unregister a service
JohnKeeneye251d0c2023-02-20 18:00:44 +0000921 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100922 - Service Registry and Supervision
PatrikBuhr62c25962022-03-25 15:39:06 +0100923 /actuator/heapdump:
924 get:
raviteja.karumurica358db2024-02-22 18:24:24 +0000925 x-internal: true
PatrikBuhr62c25962022-03-25 15:39:06 +0100926 operationId: heapdump
927 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000928 "200":
PatrikBuhr62c25962022-03-25 15:39:06 +0100929 content:
JohnKeeney62abcd82023-03-01 19:04:58 +0000930 application/octet-stream:
PatrikBuhr62c25962022-03-25 15:39:06 +0100931 schema:
932 type: object
JohnKeeneye251d0c2023-02-20 18:00:44 +0000933 description: OK
934 summary: Actuator web endpoint 'heapdump'
935 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100936 - Actuator
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100937 /a1-policy/v2/policies/{policy_id}/status:
elinuxhenrikf28594d2020-12-07 14:54:19 +0100938 get:
PatrikBuhr2a56cf72021-12-28 13:14:46 +0100939 operationId: getPolicyStatus
elinuxhenrikf28594d2020-12-07 14:54:19 +0100940 parameters:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100941 - explode: false
942 in: path
943 name: policy_id
944 required: true
945 schema:
946 type: string
947 style: simple
elinuxhenrikf28594d2020-12-07 14:54:19 +0100948 responses:
JohnKeeneye251d0c2023-02-20 18:00:44 +0000949 "200":
PatrikBuhrbe0ae3e2021-01-14 15:31:39 +0100950 content:
951 application/json:
raviteja.karumurica358db2024-02-22 18:24:24 +0000952 schema:
953 $ref: '#/components/schemas/policy_status_info'
raviteja.karumuria4687d92023-09-14 12:38:49 +0100954 examples:
955 policy_status_info:
956 $ref: '#/components/examples/policy_status_info'
raviteja.karumurica358db2024-02-22 18:24:24 +0000957 description: OK - Policy status
JohnKeeneye251d0c2023-02-20 18:00:44 +0000958 "404":
raviteja.karumurica358db2024-02-22 18:24:24 +0000959 $ref: '#/components/responses/NotFound'
960 description: Returns a policy status
JohnKeeneye251d0c2023-02-20 18:00:44 +0000961 tags:
raviteja.karumuria4687d92023-09-14 12:38:49 +0100962 - A1 Policy Management
elinuxhenrikf28594d2020-12-07 14:54:19 +0100963components:
raviteja.karumurica358db2024-02-22 18:24:24 +0000964 responses:
965 Locked:
966 description: "Locked - HTTP Status code which can be used when the state is Locked"
967 content:
968 application/problem+json:
969 schema:
970 $ref: '#/components/schemas/error_information'
971 example:
972 status: 423
973 title: Locked
974 detail: Requested resource is in a locked state.
975 BadRequest:
976 description: Bad Request
977 content:
978 application/problem+json:
979 schema:
980 $ref: '#/components/schemas/error_information'
981 example:
982 status: 400
983 title: Bad Request
984 detail: The provided request is not valid.
985 Forbidden:
986 description: Forbidden
987 content:
988 application/problem+json:
989 schema:
990 $ref: '#/components/schemas/error_information'
991 example:
992 status: 403
993 title: Forbidden
994 detail: Your role does not allow to perform this action. Contact System Administrator to change your access rights.
995 NotFound:
996 description: Not Found
997 content:
998 application/problem+json:
999 example:
1000 [ ]
1001
raviteja.karumuria4687d92023-09-14 12:38:49 +01001002 examples:
1003 service_status:
1004 description: List of service information
1005 value:
1006 callback_url: callback_url
1007 service_id: service_id
1008 keep_alive_interval_seconds: 0
1009 time_since_last_activity_seconds: 6
raviteja.karumurica358db2024-02-22 18:24:24 +00001010
raviteja.karumuria4687d92023-09-14 12:38:49 +01001011 service_status_list:
1012 description: List of service information
1013 value:
1014 service_list:
1015 - callback_url: callback_url
1016 service_id: service_id
1017 keep_alive_interval_seconds: 0
1018 time_since_last_activity_seconds: 6
1019 - callback_url: callback_url
1020 service_id: service_id
1021 keep_alive_interval_seconds: 0
1022 time_since_last_activity_seconds: 6
1023 policy_type_definition:
1024 description: Schema of the given Policy type
1025 value:
1026 policy_schema: "{}"
1027 policy_type_id_list:
1028 description: Array of policy type id's
1029 value:
1030 policy_type_id_list:
1031 - policytype_id
1032 - policytype_id
1033 policy_info:
1034 description: Policy information of one A1-P policy
1035 value:
1036 ric_id: ric_id
1037 policy_id: policy_id
1038 transient: false
1039 service_id: service_id
1040 policy_data: "{}"
1041 status_notification_uri: status_notification_uri
1042 policytype_id: policytype_id
1043 policy_info_list:
1044 description: List of policy information
1045 value:
1046 policies:
1047 - ric_id: ric_id
1048 policy_id: policy_id
1049 transient: false
1050 service_id: service_id
1051 policy_data: "{}"
1052 status_notification_uri: status_notification_uri
1053 policytype_id: policytype_id
1054 - ric_id: ric_id
1055 policy_id: policy_id
1056 transient: false
1057 service_id: service_id
1058 policy_data: "{}"
1059 status_notification_uri: status_notification_uri
1060 policytype_id: policytype_id
1061 policy_id_list:
1062 description: A list of policy identities
1063 value:
1064 policy_ids:
raviteja.karumurica358db2024-02-22 18:24:24 +00001065 - some_policy_id
1066 - some_policy_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001067 policy_status_info:
1068 description: Status for one A1-P Policy
1069 value:
1070 last_modified: last_modified
raviteja.karumurica358db2024-02-22 18:24:24 +00001071 status:
1072 value:
1073 status: status
raviteja.karumuria4687d92023-09-14 12:38:49 +01001074 status_info:
1075 value:
1076 status: status
1077 ric_info:
1078 value:
1079 ric_id: ric_id
1080 managed_element_ids:
raviteja.karumurica358db2024-02-22 18:24:24 +00001081 - some_managed_element_id
1082 - some_managed_element_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001083 state: UNAVAILABLE
1084 policytype_ids:
raviteja.karumurica358db2024-02-22 18:24:24 +00001085 - some_policytype_id
1086 - some_policytype_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001087 ric_info_list:
1088 value:
1089 rics:
1090 - ric_id: ric_id
1091 managed_element_ids:
raviteja.karumurica358db2024-02-22 18:24:24 +00001092 - some_managed_element_id
1093 - some_managed_element_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001094 state: UNAVAILABLE
1095 policytype_ids:
raviteja.karumurica358db2024-02-22 18:24:24 +00001096 - policytype_id
1097 - policytype_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001098 - ric_id: ric_id
1099 managed_element_ids:
1100 - managed_element_ids
1101 - managed_element_ids
1102 state: UNAVAILABLE
1103 policytype_ids:
1104 - policytype_ids
1105 - policytype_ids
raviteja.karumurica358db2024-02-22 18:24:24 +00001106
elinuxhenrikf28594d2020-12-07 14:54:19 +01001107 schemas:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001108 policy_type_definition:
1109 description: Contains policy type schema definition
1110 type: object
1111 properties:
1112 policy_schema:
1113 description: Policy type json schema. The schema is a json object following
1114 http://json-schema.org/draft-07/schema
1115 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +01001116 error_information:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001117 description: Problem as defined in https://tools.ietf.org/html/rfc7807
elinuxhenrikf28594d2020-12-07 14:54:19 +01001118 properties:
1119 detail:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001120 description: ' A human-readable explanation specific to this occurrence
1121 of the problem.'
1122 example: Policy type not found
JohnKeeneye251d0c2023-02-20 18:00:44 +00001123 type: string
raviteja.karumurica358db2024-02-22 18:24:24 +00001124 title:
1125 description: 'A specific error name'
1126 type: string
1127 example: Not Found
elinuxhenrikf28594d2020-12-07 14:54:19 +01001128 status:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001129 description: 'The HTTP status code generated by the origin server for this
1130 occurrence of the problem. '
PatrikBuhr3b916e42021-10-07 18:03:53 +02001131 example: 404
JohnKeeneye251d0c2023-02-20 18:00:44 +00001132 format: int32
1133 type: integer
1134 type: object
PatrikBuhrfee99552021-02-02 14:06:44 +01001135 void:
PatrikBuhrfee99552021-02-02 14:06:44 +01001136 description: Void/empty
elinuxhenrikf28594d2020-12-07 14:54:19 +01001137 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001138 status_info:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001139 properties:
1140 status:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001141 description: status text
JohnKeeneye251d0c2023-02-20 18:00:44 +00001142 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +01001143 type: object
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001144 authorization_result:
1145 description: Result of authorization
1146 example:
1147 result: true
1148 properties:
1149 result:
1150 description: "If true, the access is granted"
1151 type: boolean
1152 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001153 - result
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001154 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001155 ric_info:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001156 description: Information for a Near-RT RIC
elinuxhenrikf28594d2020-12-07 14:54:19 +01001157 properties:
PatrikBuhrfee99552021-02-02 14:06:44 +01001158 ric_id:
PatrikBuhrfee99552021-02-02 14:06:44 +01001159 description: identity of the Near-RT RIC
JohnKeeneye251d0c2023-02-20 18:00:44 +00001160 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +01001161 managed_element_ids:
PatrikBuhrfee99552021-02-02 14:06:44 +01001162 description: O1 identities for managed entities
elinuxhenrikf28594d2020-12-07 14:54:19 +01001163 items:
PatrikBuhrfee99552021-02-02 14:06:44 +01001164 description: O1 identities for managed entities
JohnKeeneye251d0c2023-02-20 18:00:44 +00001165 type: string
1166 type: array
PatrikBuhrfee99552021-02-02 14:06:44 +01001167 state:
PatrikBuhrfee99552021-02-02 14:06:44 +01001168 description: Represents the states for a Near-RT RIC
1169 enum:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001170 - UNAVAILABLE
1171 - AVAILABLE
1172 - SYNCHRONIZING
1173 - CONSISTENCY_CHECK
JohnKeeneye251d0c2023-02-20 18:00:44 +00001174 type: string
PatrikBuhrfee99552021-02-02 14:06:44 +01001175 policytype_ids:
PatrikBuhrfee99552021-02-02 14:06:44 +01001176 description: supported policy types
1177 items:
PatrikBuhrfee99552021-02-02 14:06:44 +01001178 description: supported policy types
JohnKeeneye251d0c2023-02-20 18:00:44 +00001179 type: string
1180 type: array
1181 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001182 service_registration_info:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001183 description: Information for one service
1184 properties:
1185 callback_url:
1186 description: callback for notifying of Near-RT RIC state changes
1187 type: string
1188 service_id:
1189 description: identity of the service
1190 type: string
1191 keep_alive_interval_seconds:
1192 description: "keep alive interval for the service. This is used to enable\
1193 \ optional heartbeat supervision of the service. If set (> 0) the registered\
1194 \ service should regularly invoke a 'keepalive' REST call. When a service\
1195 \ fails to invoke this 'keepalive' call within the configured time, the\
1196 \ service is considered unavailable. An unavailable service will be automatically\
1197 \ deregistered and its policies will be deleted. Value 0 means timeout\
1198 \ supervision is disabled."
1199 format: int64
1200 type: integer
elinuxhenrikf28594d2020-12-07 14:54:19 +01001201 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001202 - service_id
elinuxhenrikf28594d2020-12-07 14:54:19 +01001203 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001204 policy_info_list:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001205 description: List of policy information
PatrikBuhrfee99552021-02-02 14:06:44 +01001206 properties:
1207 policies:
PatrikBuhrfee99552021-02-02 14:06:44 +01001208 description: List of policy information
1209 items:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001210 $ref: '#/components/schemas/policy_info'
JohnKeeneye251d0c2023-02-20 18:00:44 +00001211 type: array
elinuxhenrikf28594d2020-12-07 14:54:19 +01001212 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001213 policy_status_info:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001214 description: Status for one A1-P Policy
elinuxhenrikf28594d2020-12-07 14:54:19 +01001215 properties:
1216 last_modified:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001217 description: "timestamp, last modification time"
elinuxhenrikf28594d2020-12-07 14:54:19 +01001218 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +01001219 status:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001220 description: the Policy status
JohnKeeneye251d0c2023-02-20 18:00:44 +00001221 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +01001222 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001223 service_status:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001224 properties:
1225 callback_url:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001226 description: callback for notifying of RIC synchronization
elinuxhenrikf28594d2020-12-07 14:54:19 +01001227 type: string
JohnKeeneye251d0c2023-02-20 18:00:44 +00001228 service_id:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001229 description: identity of the service
JohnKeeneye251d0c2023-02-20 18:00:44 +00001230 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +01001231 keep_alive_interval_seconds:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001232 description: policy keep alive timeout
1233 format: int64
elinuxhenrikf28594d2020-12-07 14:54:19 +01001234 type: integer
JohnKeeneye251d0c2023-02-20 18:00:44 +00001235 time_since_last_activity_seconds:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001236 description: time since last invocation by the service
1237 format: int64
JohnKeeneye251d0c2023-02-20 18:00:44 +00001238 type: integer
elinuxhenrikf28594d2020-12-07 14:54:19 +01001239 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001240 ric_info_list:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001241 description: List of Near-RT RIC information
elinuxhenrikf28594d2020-12-07 14:54:19 +01001242 properties:
1243 rics:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001244 description: List of Near-RT RIC information
1245 items:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001246 $ref: '#/components/schemas/ric_info'
JohnKeeneye251d0c2023-02-20 18:00:44 +00001247 type: array
PatrikBuhrfee99552021-02-02 14:06:44 +01001248 type: object
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001249 input:
1250 description: input
1251 properties:
1252 access_type:
1253 description: Access type
1254 enum:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001255 - READ
1256 - WRITE
1257 - DELETE
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001258 type: string
1259 auth_token:
1260 description: Authorization token
1261 type: string
1262 policy_type_id:
1263 description: Policy type identifier
1264 type: string
1265 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001266 - access_type
1267 - auth_token
1268 - policy_type_id
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001269 type: object
1270 policy_authorization:
1271 description: Authorization request for A1 policy requests
1272 properties:
1273 input:
1274 $ref: '#/components/schemas/input'
1275 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001276 - input
PatrikBuhrf07e4b32023-04-05 14:40:07 +02001277 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001278 policy_type_id_list:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001279 description: Information about policy types
elinuxhenrikf28594d2020-12-07 14:54:19 +01001280 properties:
1281 policytype_ids:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001282 description: Policy type identities
1283 items:
PatrikBuhrfee99552021-02-02 14:06:44 +01001284 description: Policy type identities
JohnKeeneye251d0c2023-02-20 18:00:44 +00001285 type: string
1286 type: array
1287 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001288 policy_info:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001289 description: Information for one A1-P Policy
JohnKeeneye251d0c2023-02-20 18:00:44 +00001290 properties:
1291 ric_id:
1292 description: identity of the target Near-RT RIC
1293 type: string
1294 policy_id:
1295 description: identity of the policy
1296 type: string
1297 transient:
1298 default: false
1299 description: "if true, the policy is deleted at RIC restart. If false, its\
1300 \ value is maintained by this service until explicitly deleted. Default\
1301 \ false."
1302 example: false
raviteja.karumuria4687d92023-09-14 12:38:49 +01001303 nullable: false
JohnKeeneye251d0c2023-02-20 18:00:44 +00001304 type: boolean
1305 service_id:
1306 description: the identity of the service owning the policy. This can be
1307 used to group the policies (it is possible to get all policies associated
PatrikBuhr44499d02023-04-04 10:06:22 +02001308 to a service). Note that the service does not need to be registered.
JohnKeeneye251d0c2023-02-20 18:00:44 +00001309 type: string
lapentafdecd99892024-08-09 11:35:29 +01001310 default: ""
JohnKeeneye251d0c2023-02-20 18:00:44 +00001311 policy_data:
1312 description: the configuration of the policy
1313 type: object
1314 status_notification_uri:
1315 description: Callback URI for policy status updates
1316 type: string
1317 policytype_id:
1318 description: identity of the policy type
1319 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +01001320 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001321 - ric_id
1322 - policy_id
raviteja.karumuria4687d92023-09-14 12:38:49 +01001323 - policy_data
1324 - policytype_id
elinuxhenrikf28594d2020-12-07 14:54:19 +01001325 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001326 policy_id_list:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001327 description: A list of policy identities
1328 example:
1329 policy_ids:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001330 - policy_ids
1331 - policy_ids
PatrikBuhrfee99552021-02-02 14:06:44 +01001332 properties:
1333 policy_ids:
PatrikBuhrfee99552021-02-02 14:06:44 +01001334 description: Policy identities
1335 items:
PatrikBuhrfee99552021-02-02 14:06:44 +01001336 description: Policy identities
JohnKeeneye251d0c2023-02-20 18:00:44 +00001337 type: string
1338 type: array
elinuxhenrikf28594d2020-12-07 14:54:19 +01001339 type: object
raviteja.karumuria4687d92023-09-14 12:38:49 +01001340 service_status_list:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001341 properties:
1342 service_list:
elinuxhenrikf28594d2020-12-07 14:54:19 +01001343 description: List of service information
1344 items:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001345 $ref: '#/components/schemas/service_status'
JohnKeeneye251d0c2023-02-20 18:00:44 +00001346 type: array
1347 type: object
elinuxhenrikf28594d2020-12-07 14:54:19 +01001348 service_callback_info_v2:
JohnKeeneye251d0c2023-02-20 18:00:44 +00001349 description: Information transferred as in Service callbacks (callback_url)
1350 properties:
1351 ric_id:
1352 description: identity of a Near-RT RIC
1353 type: string
1354 event_type:
1355 description: "values:\nAVAILABLE: the Near-RT RIC has become available\
1356 \ for A1 Policy management"
1357 enum:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001358 - AVAILABLE
JohnKeeneye251d0c2023-02-20 18:00:44 +00001359 type: string
elinuxhenrikf28594d2020-12-07 14:54:19 +01001360 required:
raviteja.karumuria4687d92023-09-14 12:38:49 +01001361 - event_type
1362 - ric_id
elinuxhenrikf28594d2020-12-07 14:54:19 +01001363 type: object
PatrikBuhr6e318742021-11-30 11:25:17 +01001364 Link:
PatrikBuhr6e318742021-11-30 11:25:17 +01001365 properties:
1366 templated:
1367 type: boolean
1368 href:
1369 type: string
raviteja.karumurica358db2024-02-22 18:24:24 +00001370 type: object