| # ============LICENSE_START======================================================= |
| # Copyright (C) 2020-2023 Nordix Foundation |
| # Modifications Copyright (C) 2021 Pantheon.tech |
| # Modifications Copyright (C) 2021 Bell Canada |
| # ================================================================================ |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # ============LICENSE_END========================================================= |
| |
| openapi: 3.0.3 |
| info: |
| description: "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service\ |
| \ provides a REST API for management of A1 policies. <br/>The main tasks of the\ |
| \ service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring\ |
| \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining\ |
| \ a view of supported Near-RT RIC policy types</li><li>Supervision of using services\ |
| \ (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs\ |
| \ provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This\ |
| \ is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation,\ |
| \ modification and deletion.</li><li>Retrieval of supported A1 Policy types for\ |
| \ a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management\ |
| \ of configuration</h3><p>API for updating and retrieval of the component configuration.\ |
| \ Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These\ |
| \ are endpoints that are invoked by this service. The callbacks are registered\ |
| \ in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This\ |
| \ is an API that provides support for looking up a NearRT-RIC. Each A1 policy\ |
| \ is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\ |
| \ of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used\ |
| \ for registering services that uses PMS. Each A1 policy is optionally owned by\ |
| \ a service. PMS can supervise each registered service by a heart-beat supervision\ |
| \ and will automatically remove policies for unavailable services. Note that a\ |
| \ service does not need to be registered in order to create A1 Policies. This\ |
| \ is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used\ |
| \ for access control of A1 Policy access. If configured, an external authorization\ |
| \ provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot\ |
| \ Actuator</h3><p>Provides generic functions used to monitor and manage the Spring\ |
| \ web application.</p>" |
| license: |
| name: Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License. |
| url: http://www.apache.org/licenses/LICENSE-2.0 |
| title: A1 Policy Management Service |
| version: 1.2.0 |
| servers: |
| - url: / |
| tags: |
| - 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." |
| name: Authorization API |
| - description: Monitor and interact |
| externalDocs: |
| description: Spring Boot Actuator Web API Documentation |
| url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/ |
| name: Actuator |
| paths: |
| /a1-policy/v2/policy-instances: |
| get: |
| 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." |
| operationId: getPolicyInstances |
| parameters: |
| - description: Select policies with a given type identity. |
| explode: true |
| in: query |
| name: policytype_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies for a given Near-RT RIC identity. |
| explode: true |
| in: query |
| name: ric_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies owned by a given service. |
| explode: true |
| in: query |
| name: service_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies of a given type name (type identity has the format |
| <typename_version>) |
| explode: true |
| in: query |
| name: type_name |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| examples: |
| policy_info_list: |
| $ref: '#/components/examples/policy_info_list' |
| schema: |
| type: object |
| description: Policies |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: "Near-RT RIC, policy type or service not found" |
| summary: Query for A1 policy instances |
| tags: |
| - A1 Policy Management |
| /example-authz-check: |
| post: |
| description: The authorization function decides if access is granted. |
| operationId: performAccessControl |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_authorization' |
| required: true |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/authorization_result' |
| description: OK |
| summary: Request for access authorization. |
| tags: |
| - Authorization API |
| /actuator/threaddump: |
| get: |
| operationId: threaddump |
| responses: |
| "200": |
| content: |
| text/plain;charset=UTF-8: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'threaddump' |
| tags: |
| - Actuator |
| /a1-policy/v2/status: |
| get: |
| operationId: getStatus |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| status_info: |
| $ref: '#/components/examples/status_info' |
| description: Service is living |
| summary: Returns status and statistics of this service |
| tags: |
| - Health Check |
| /actuator/loggers: |
| get: |
| operationId: loggers |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'loggers' |
| tags: |
| - Actuator |
| /actuator/health/**: |
| get: |
| operationId: health-path |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'health-path' |
| tags: |
| - Actuator |
| /a1-policy/v2/rics/ric: |
| get: |
| 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). |
| operationId: getRic |
| parameters: |
| - description: "The identity of a Managed Element. If given, the Near-RT RIC\ |
| \ managing the ME is returned." |
| explode: true |
| in: query |
| name: managed_element_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: The identity of a Near-RT RIC to get information for. |
| explode: true |
| in: query |
| name: ric_id |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| ric_info: |
| $ref: '#/components/examples/ric_info' |
| description: Near-RT RIC is found |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC is not found |
| summary: Returns info for one Near-RT RIC |
| tags: |
| - NearRT-RIC Repository |
| /actuator/shutdown: |
| post: |
| operationId: shutdown |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'shutdown' |
| tags: |
| - Actuator |
| /a1-policy/v2/policy-types: |
| get: |
| operationId: getPolicyTypes |
| parameters: |
| - description: Select types for the given Near-RT RIC identity. |
| explode: true |
| in: query |
| name: ric_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select types with the given type name (type identity has the |
| format <typename_version>) |
| explode: true |
| in: query |
| name: type_name |
| required: false |
| schema: |
| type: string |
| style: form |
| - 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. |
| explode: true |
| in: query |
| name: compatible_with_version |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| examples: |
| policy_type_id_list: |
| $ref: '#/components/examples/policy_type_id_list' |
| schema: |
| type: object |
| description: Policy type IDs |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC is not found |
| summary: Query policy type identities |
| tags: |
| - A1 Policy Management |
| /a1-policy/v2/policies/{policy_id}: |
| delete: |
| operationId: deletePolicy |
| parameters: |
| - explode: false |
| in: path |
| name: policy_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Not used |
| "423": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC is not operational |
| "204": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Policy deleted |
| "404": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Policy is not found |
| summary: Delete a policy |
| tags: |
| - A1 Policy Management |
| get: |
| operationId: getPolicy |
| parameters: |
| - explode: false |
| in: path |
| name: policy_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| policy_info: |
| $ref: '#/components/examples/policy_info' |
| description: Policy found |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Policy is not found |
| summary: Returns a policy |
| tags: |
| - A1 Policy Management |
| /actuator/metrics/{requiredMetricName}: |
| get: |
| operationId: metrics-requiredMetricName |
| parameters: |
| - explode: false |
| in: path |
| name: requiredMetricName |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'metrics-requiredMetricName' |
| tags: |
| - Actuator |
| /a1-policy/v2/configuration: |
| get: |
| operationId: getConfiguration |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| description: Configuration |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: File is not found or readable |
| summary: Returns the contents of the application configuration file |
| tags: |
| - configuration |
| put: |
| operationId: putConfiguration |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: object |
| required: true |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Configuration updated |
| "400": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Invalid configuration provided |
| "500": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Something went wrong when replacing the configuration. Try |
| again. |
| summary: Replace the current configuration file with the given configuration |
| tags: |
| - configuration |
| /actuator: |
| get: |
| operationId: links |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| additionalProperties: |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| type: object |
| type: object |
| application/json: |
| schema: |
| additionalProperties: |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| type: object |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| additionalProperties: |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| type: object |
| type: object |
| description: OK |
| summary: Actuator root web endpoint |
| tags: |
| - Actuator |
| /actuator/loggers/{name}: |
| get: |
| operationId: loggers-name |
| parameters: |
| - explode: false |
| in: path |
| name: name |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'loggers-name' |
| tags: |
| - Actuator |
| post: |
| operationId: loggers-name_2 |
| parameters: |
| - explode: false |
| in: path |
| name: name |
| required: true |
| schema: |
| type: string |
| style: simple |
| requestBody: |
| content: |
| application/json: |
| schema: |
| enum: |
| - TRACE |
| - DEBUG |
| - INFO |
| - WARN |
| - ERROR |
| - FATAL |
| - "OFF" |
| type: string |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'loggers-name' |
| tags: |
| - Actuator |
| /a1-policy/v2/services/{service_id}/keepalive: |
| put: |
| 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) |
| operationId: keepAliveService |
| parameters: |
| - explode: false |
| in: path |
| name: service_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| type: object |
| description: "Service supervision timer refreshed, OK" |
| "404": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: "The service is not found, needs re-registration" |
| summary: Heartbeat indicates that the service is running |
| tags: |
| - Service Registry and Supervision |
| /actuator/metrics: |
| get: |
| operationId: metrics |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'metrics' |
| tags: |
| - Actuator |
| /a1-policy/v2/rics: |
| get: |
| description: The call returns all Near-RT RICs that supports a given policy |
| type identity |
| operationId: getRics |
| parameters: |
| - description: "The identity of a policy type. If given, all Near-RT RICs supporting\ |
| \ the policy type are returned" |
| explode: true |
| in: query |
| name: policytype_id |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| ric_info_list: |
| $ref: '#/components/examples/ric_info_list' |
| description: OK |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Policy type is not found |
| summary: Query Near-RT RIC information |
| tags: |
| - NearRT-RIC Repository |
| /a1-policy/v2/services: |
| get: |
| description: Either information about a registered service with given identity |
| or all registered services are returned. |
| operationId: getServices |
| parameters: |
| - description: The identity of the service |
| explode: true |
| in: query |
| name: service_id |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| service_status_list: |
| $ref: '#/components/examples/service_status_list' |
| description: OK |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Service is not found |
| summary: Returns service information |
| tags: |
| - Service Registry and Supervision |
| put: |
| 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." |
| operationId: putService |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_registration_info' |
| required: true |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| type: object |
| description: Service updated |
| "201": |
| content: |
| '*/*': |
| schema: |
| type: object |
| description: Service created |
| "400": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: The ServiceRegistrationInfo is not accepted |
| summary: Register a service |
| tags: |
| - Service Registry and Supervision |
| /actuator/info: |
| get: |
| operationId: info |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'info' |
| tags: |
| - Actuator |
| /status: |
| get: |
| operationId: getStatusV1 |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| type: string |
| description: Service is living |
| summary: Returns status and statistics of this service |
| tags: |
| - Health Check |
| /a1-policy/v2/policy-types/{policytype_id}: |
| get: |
| operationId: getPolicyTypeDefinition |
| parameters: |
| - explode: false |
| in: path |
| name: policytype_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| type: object |
| examples: |
| policy_type_definition: |
| $ref: '#/components/examples/policy_type_definition' |
| description: schema of the given policy type |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Policy type is not found |
| summary: Returns a policy type definition |
| tags: |
| - A1 Policy Management |
| /actuator/logfile: |
| get: |
| operationId: logfile |
| responses: |
| "200": |
| content: |
| text/plain;charset=UTF-8: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'logfile' |
| tags: |
| - Actuator |
| /actuator/health: |
| get: |
| operationId: health |
| responses: |
| "200": |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'health' |
| tags: |
| - Actuator |
| /a1-policy/v2/policies: |
| get: |
| 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." |
| operationId: getPolicyIds |
| parameters: |
| - description: Select policies of a given policy type identity. |
| explode: true |
| in: query |
| name: policytype_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies of a given Near-RT RIC identity. |
| explode: true |
| in: query |
| name: ric_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies owned by a given service. |
| explode: true |
| in: query |
| name: service_id |
| required: false |
| schema: |
| type: string |
| style: form |
| - description: Select policies of types with the given type name (type identity |
| has the format <typename_version>) |
| explode: true |
| in: query |
| name: type_name |
| required: false |
| schema: |
| type: string |
| style: form |
| responses: |
| "200": |
| content: |
| application/json: |
| examples: |
| policy_id_list: |
| $ref: '#/components/examples/policy_id_list' |
| schema: |
| type: object |
| description: Policy identities |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC or type not found |
| summary: Query policy identities |
| tags: |
| - A1 Policy Management |
| put: |
| operationId: putPolicy |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_info' |
| required: true |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Policy updated |
| "201": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Policy created |
| "423": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC is not operational |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Near-RT RIC or policy type is not found |
| summary: Create or update a policy |
| tags: |
| - A1 Policy Management |
| /r-app/near-rt-ric-status: |
| post: |
| description: The URL to this call is registered at Service registration. |
| operationId: serviceCallback |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_callback_info_v2' |
| required: true |
| responses: |
| "200": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| description: OK |
| summary: Callback for Near-RT RIC status |
| tags: |
| - Service callbacks |
| /a1-policy/v2/services/{service_id}: |
| delete: |
| operationId: deleteService |
| parameters: |
| - explode: false |
| in: path |
| name: service_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/void' |
| description: Not used |
| "204": |
| content: |
| '*/*': |
| schema: |
| type: object |
| description: Service unregistered |
| "404": |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Service not found |
| summary: Unregister a service |
| tags: |
| - Service Registry and Supervision |
| /actuator/heapdump: |
| get: |
| operationId: heapdump |
| responses: |
| "200": |
| content: |
| application/octet-stream: |
| schema: |
| type: object |
| description: OK |
| summary: Actuator web endpoint 'heapdump' |
| tags: |
| - Actuator |
| /a1-policy/v2/policies/{policy_id}/status: |
| get: |
| operationId: getPolicyStatus |
| parameters: |
| - explode: false |
| in: path |
| name: policy_id |
| required: true |
| schema: |
| type: string |
| style: simple |
| responses: |
| "200": |
| content: |
| application/json: |
| examples: |
| policy_status_info: |
| $ref: '#/components/examples/policy_status_info' |
| schema: |
| type: object |
| description: Policy status |
| "404": |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| description: Policy is not found |
| summary: Returns a policy status |
| tags: |
| - A1 Policy Management |
| components: |
| examples: |
| service_status: |
| description: List of service information |
| value: |
| callback_url: callback_url |
| service_id: service_id |
| keep_alive_interval_seconds: 0 |
| time_since_last_activity_seconds: 6 |
| service_status_list: |
| description: List of service information |
| value: |
| service_list: |
| - callback_url: callback_url |
| service_id: service_id |
| keep_alive_interval_seconds: 0 |
| time_since_last_activity_seconds: 6 |
| - callback_url: callback_url |
| service_id: service_id |
| keep_alive_interval_seconds: 0 |
| time_since_last_activity_seconds: 6 |
| policy_type_definition: |
| description: Schema of the given Policy type |
| value: |
| policy_schema: "{}" |
| policy_type_id_list: |
| description: Array of policy type id's |
| value: |
| policy_type_id_list: |
| - policytype_id |
| - policytype_id |
| policy_info: |
| description: Policy information of one A1-P policy |
| value: |
| ric_id: ric_id |
| policy_id: policy_id |
| transient: false |
| service_id: service_id |
| policy_data: "{}" |
| status_notification_uri: status_notification_uri |
| policytype_id: policytype_id |
| policy_info_list: |
| description: List of policy information |
| value: |
| policies: |
| - ric_id: ric_id |
| policy_id: policy_id |
| transient: false |
| service_id: service_id |
| policy_data: "{}" |
| status_notification_uri: status_notification_uri |
| policytype_id: policytype_id |
| - ric_id: ric_id |
| policy_id: policy_id |
| transient: false |
| service_id: service_id |
| policy_data: "{}" |
| status_notification_uri: status_notification_uri |
| policytype_id: policytype_id |
| policy_id_list: |
| description: A list of policy identities |
| value: |
| policy_ids: |
| - policy_ids |
| - policy_ids |
| policy_status_info: |
| description: Status for one A1-P Policy |
| value: |
| last_modified: last_modified |
| status: "{}" |
| status_info: |
| value: |
| status: status |
| ric_info: |
| value: |
| ric_id: ric_id |
| managed_element_ids: |
| - managed_element_ids |
| - managed_element_ids |
| state: UNAVAILABLE |
| policytype_ids: |
| - policytype_ids |
| - policytype_ids |
| ric_info_list: |
| value: |
| rics: |
| - ric_id: ric_id |
| managed_element_ids: |
| - managed_element_ids |
| - managed_element_ids |
| state: UNAVAILABLE |
| policytype_ids: |
| - policytype_ids |
| - policytype_ids |
| - ric_id: ric_id |
| managed_element_ids: |
| - managed_element_ids |
| - managed_element_ids |
| state: UNAVAILABLE |
| policytype_ids: |
| - policytype_ids |
| - policytype_ids |
| schemas: |
| policy_type_definition: |
| description: Contains policy type schema definition |
| type: object |
| properties: |
| policy_schema: |
| description: Policy type json schema. The schema is a json object following |
| http://json-schema.org/draft-07/schema |
| type: object |
| error_information: |
| description: Problem as defined in https://tools.ietf.org/html/rfc7807 |
| properties: |
| detail: |
| description: ' A human-readable explanation specific to this occurrence |
| of the problem.' |
| example: Policy type not found |
| type: string |
| status: |
| description: 'The HTTP status code generated by the origin server for this |
| occurrence of the problem. ' |
| example: 404 |
| format: int32 |
| type: integer |
| type: object |
| void: |
| description: Void/empty |
| type: object |
| status_info: |
| properties: |
| status: |
| description: status text |
| type: string |
| type: object |
| authorization_result: |
| description: Result of authorization |
| example: |
| result: true |
| properties: |
| result: |
| description: "If true, the access is granted" |
| type: boolean |
| required: |
| - result |
| type: object |
| ric_info: |
| description: Information for a Near-RT RIC |
| properties: |
| ric_id: |
| description: identity of the Near-RT RIC |
| type: string |
| managed_element_ids: |
| description: O1 identities for managed entities |
| items: |
| description: O1 identities for managed entities |
| type: string |
| type: array |
| state: |
| description: Represents the states for a Near-RT RIC |
| enum: |
| - UNAVAILABLE |
| - AVAILABLE |
| - SYNCHRONIZING |
| - CONSISTENCY_CHECK |
| type: string |
| policytype_ids: |
| description: supported policy types |
| items: |
| description: supported policy types |
| type: string |
| type: array |
| type: object |
| service_registration_info: |
| description: Information for one service |
| properties: |
| callback_url: |
| description: callback for notifying of Near-RT RIC state changes |
| type: string |
| service_id: |
| description: identity of the service |
| type: string |
| keep_alive_interval_seconds: |
| 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." |
| format: int64 |
| type: integer |
| required: |
| - service_id |
| type: object |
| policy_info_list: |
| description: List of policy information |
| properties: |
| policies: |
| description: List of policy information |
| items: |
| $ref: '#/components/schemas/policy_info' |
| type: array |
| type: object |
| policy_status_info: |
| description: Status for one A1-P Policy |
| properties: |
| last_modified: |
| description: "timestamp, last modification time" |
| type: string |
| status: |
| description: the Policy status |
| type: object |
| type: object |
| service_status: |
| properties: |
| callback_url: |
| description: callback for notifying of RIC synchronization |
| type: string |
| service_id: |
| description: identity of the service |
| type: string |
| keep_alive_interval_seconds: |
| description: policy keep alive timeout |
| format: int64 |
| type: integer |
| time_since_last_activity_seconds: |
| description: time since last invocation by the service |
| format: int64 |
| type: integer |
| type: object |
| ric_info_list: |
| description: List of Near-RT RIC information |
| properties: |
| rics: |
| description: List of Near-RT RIC information |
| items: |
| $ref: '#/components/schemas/ric_info' |
| type: array |
| type: object |
| input: |
| description: input |
| properties: |
| access_type: |
| description: Access type |
| enum: |
| - READ |
| - WRITE |
| - DELETE |
| type: string |
| auth_token: |
| description: Authorization token |
| type: string |
| policy_type_id: |
| description: Policy type identifier |
| type: string |
| required: |
| - access_type |
| - auth_token |
| - policy_type_id |
| type: object |
| policy_authorization: |
| description: Authorization request for A1 policy requests |
| properties: |
| input: |
| $ref: '#/components/schemas/input' |
| required: |
| - input |
| type: object |
| policy_type_id_list: |
| description: Information about policy types |
| properties: |
| policytype_ids: |
| description: Policy type identities |
| items: |
| description: Policy type identities |
| type: string |
| type: array |
| type: object |
| policy_info: |
| description: Information for one A1-P Policy |
| properties: |
| ric_id: |
| description: identity of the target Near-RT RIC |
| type: string |
| policy_id: |
| description: identity of the policy |
| type: string |
| transient: |
| default: false |
| description: "if true, the policy is deleted at RIC restart. If false, its\ |
| \ value is maintained by this service until explicitly deleted. Default\ |
| \ false." |
| example: false |
| nullable: false |
| type: boolean |
| service_id: |
| 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. |
| type: string |
| policy_data: |
| description: the configuration of the policy |
| type: object |
| status_notification_uri: |
| description: Callback URI for policy status updates |
| type: string |
| policytype_id: |
| description: identity of the policy type |
| type: string |
| required: |
| - ric_id |
| - policy_id |
| - service_id |
| - policy_data |
| - policytype_id |
| type: object |
| policy_id_list: |
| description: A list of policy identities |
| example: |
| policy_ids: |
| - policy_ids |
| - policy_ids |
| properties: |
| policy_ids: |
| description: Policy identities |
| items: |
| description: Policy identities |
| type: string |
| type: array |
| type: object |
| service_status_list: |
| properties: |
| service_list: |
| description: List of service information |
| items: |
| $ref: '#/components/schemas/service_status' |
| type: array |
| type: object |
| service_callback_info_v2: |
| description: Information transferred as in Service callbacks (callback_url) |
| properties: |
| ric_id: |
| description: identity of a Near-RT RIC |
| type: string |
| event_type: |
| description: "values:\nAVAILABLE: the Near-RT RIC has become available\ |
| \ for A1 Policy management" |
| enum: |
| - AVAILABLE |
| type: string |
| required: |
| - event_type |
| - ric_id |
| type: object |
| Link: |
| properties: |
| templated: |
| type: boolean |
| href: |
| type: string |
| type: object |