summaryrefslogtreecommitdiffstats
path: root/a1-policy-management/api/offeredapis/swagger/pms-api.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'a1-policy-management/api/offeredapis/swagger/pms-api.yaml')
-rw-r--r--a1-policy-management/api/offeredapis/swagger/pms-api.yaml1368
1 files changed, 1368 insertions, 0 deletions
diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api.yaml b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml
new file mode 100644
index 00000000..c0b50d4d
--- /dev/null
+++ b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml
@@ -0,0 +1,1368 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2020-2023 Nordix Foundation
+# Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
+# 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:
+ x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8
+ x-audience: external-public
+ description: "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service\
+ \ provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the\
+ \ service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring\
+ \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining\
+ \ a view of supported Near-RT RIC policy types</li><li>Supervision of using services\
+ \ (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs\
+ \ provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This\
+ \ is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation,\
+ \ modification and deletion.</li><li>Retrieval of supported A1 Policy types for\
+ \ a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management\
+ \ of configuration</h3><p>API for updating and retrieval of the component configuration.\
+ \ Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These\
+ \ are endpoints that are invoked by this service. The callbacks are registered\
+ \ in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This\
+ \ is an API that provides support for looking up a NearRT-RIC. Each A1 policy\
+ \ is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
+ \ of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used\
+ \ for registering services that uses PMS. Each A1 policy is optionally owned by\
+ \ a service. PMS can supervise each registered service by a heart-beat supervision\
+ \ and will automatically remove policies for unavailable services. Note that a\
+ \ service does not need to be registered in order to create A1 Policies. This\
+ \ is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used\
+ \ for access control of A1 Policy access. If configured, an external authorization\
+ \ provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot\
+ \ Actuator</h3><p>Provides generic functions used to monitor and manage the Spring\
+ \ web application.</p>"
+ 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.3.0
+ contact:
+ url: https://www.onap.org/
+ email: discuss-list@onap.com
+servers:
+ - url: /
+tags:
+ - name: A1 Policy Management
+ description: "API used to create polices, Policy Instances and get them as individual
+ using an ID or get all policies/Instances."
+ - name: NearRT-RIC Repository
+ description: "API used to get the NearRT-RIC for the managed element."
+ - name: Service Registry and Supervision
+ description: "API used to keep the service Alive with in the timeout period"
+ - name: Health Check
+ description: "API used to get the health status and statistics of this service"
+ - name: Service callbacks
+ - name: Authorization API
+ 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: Configuration
+ description: "API used to create or fetch the application configuration."
+ - name: Actuator
+ description: Monitor and interact
+ externalDocs:
+ description: Spring Boot Actuator Web API Documentation
+ url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
+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:
+ $ref: '#/components/schemas/policy_info_list'
+ description: OK - Returns A1 Policies which matches the criteria
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/error_information'
+ description: "Not Found - 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
+ "403":
+ $ref: '#/components/responses/Forbidden'
+ summary: Request for access authorization.
+ tags:
+ - Authorization API
+ /actuator/threaddump:
+ get:
+ x-internal: true
+ 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:
+ $ref: '#/components/schemas/status_info'
+ examples:
+ status_info:
+ $ref: '#/components/examples/status_info'
+ description: OK- Service is living Ok
+ description: Returns status and statistics of this service
+ tags:
+ - Health Check
+ /actuator/loggers:
+ get:
+ x-internal: true
+ 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:
+ x-internal: true
+ 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:
+ $ref: '#/components/schemas/ric_info'
+ examples:
+ ric_info:
+ $ref: '#/components/examples/ric_info'
+ description: OK - Near-RT RIC is found
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: NotFound - Requested NearRT-RIC Not Found
+ summary: Returns info of Near-RT RIC queried by the ric-id and managed-element-id
+ tags:
+ - NearRT-RIC Repository
+ /actuator/shutdown:
+ post:
+ x-internal: true
+ 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:
+ $ref: '#/components/schemas/policy_type_id_list'
+ description: OK - Policy Type IDs Found
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: 'Not Found - Requested Policy Type IDs Not Found'
+ description: Query policy type identities
+ tags:
+ - A1 Policy Management
+ /a1-policy/v2/policies/{policy_id}:
+ delete:
+ description: Deleting the policy using the Policy's Policy ID.
+ 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: OK - Policy deleted
+ "423":
+ $ref: '#/components/responses/Locked'
+ description: 'The requested policy using policy_id is Locked'
+ 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:
+ $ref: '#/components/schemas/policy_info'
+ examples:
+ policy_info:
+ $ref: '#/components/examples/policy_info'
+ description: OK - Policy found
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: 'Not Found - Requested Policy using policy_id is not found'
+ description: Returns a policy
+ tags:
+ - A1 Policy Management
+ /actuator/metrics/{requiredMetricName}:
+ get:
+ x-internal: true
+ 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: string
+ description: OK - Configuration
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: Not Found - Configuration is not found or readable
+ description: 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: OK - Configuration updated
+ "400":
+ $ref: '#/components/responses/BadRequest'
+ description: Replace the current configuration with the given configuration
+ tags:
+ - Configuration
+ /actuator:
+ get:
+ x-internal: true
+ 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:
+ x-internal: true
+ 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:
+ x-internal: true
+ 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: "OK - Service supervision timer refreshed, OK"
+ "404":
+ $ref: '#/components/responses/NotFound'
+ summary: Heartbeat indicates that the service is running
+ tags:
+ - Service Registry and Supervision
+ /actuator/metrics:
+ get:
+ x-internal: true
+ 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:
+ $ref: '#/components/schemas/ric_info_list'
+ examples:
+ ric_info_list:
+ $ref: '#/components/examples/ric_info_list'
+ description: OK
+ "404":
+ $ref: '#/components/responses/NotFound'
+ 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:
+ $ref: '#/components/schemas/service_status_list'
+ examples:
+ service_status_list:
+ $ref: '#/components/examples/service_status_list'
+ description: OK
+ "404":
+ $ref: '#/components/responses/NotFound'
+ 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: OK - Service updated
+ "201":
+ content:
+ '*/*':
+ schema:
+ type: object
+ description: Created - Service created
+ "400":
+ $ref: '#/components/responses/BadRequest'
+ summary: Register a service
+ tags:
+ - Service Registry and Supervision
+ callbacks:
+ RICStatus:
+ "{$request.body#/callback_url}":
+ 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
+ "404":
+ $ref: '#/components/responses/NotFound'
+ summary: Callback for Near-RT RIC status
+ tags:
+ - Service callbacks
+ /actuator/info:
+ get:
+ x-internal: true
+ 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: OK - Service is living
+ description: 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:
+ $ref: '#/components/schemas/policy_type_definition'
+ examples:
+ policy_type_definition:
+ $ref: '#/components/examples/policy_type_definition'
+ description: OK - schema of the given policy type
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: Returns a policy type definition
+ tags:
+ - A1 Policy Management
+ /actuator/logfile:
+ get:
+ x-internal: true
+ 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:
+ x-internal: true
+ 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:
+ $ref: '#/components/schemas/policy_id_list'
+ description: OK - Policy identities
+ "404":
+ $ref: '#/components/responses/NotFound'
+ 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: OK - Policy updated
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/void'
+ description: Created - Policy created
+ "423":
+ $ref: '#/components/responses/Locked'
+ description: Create or update a policy
+ tags:
+ - A1 Policy Management
+ /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:
+ "204":
+ content:
+ '*/*':
+ schema:
+ type: object
+ description: No Content - Service unregistered
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: Unregister a service
+ tags:
+ - Service Registry and Supervision
+ /actuator/heapdump:
+ get:
+ x-internal: true
+ 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:
+ schema:
+ $ref: '#/components/schemas/policy_status_info'
+ examples:
+ policy_status_info:
+ $ref: '#/components/examples/policy_status_info'
+ description: OK - Policy status
+ "404":
+ $ref: '#/components/responses/NotFound'
+ description: Returns a policy status
+ tags:
+ - A1 Policy Management
+components:
+ responses:
+ Locked:
+ description: "Locked - HTTP Status code which can be used when the state is Locked"
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/error_information'
+ example:
+ status: 423
+ title: Locked
+ detail: Requested resource is in a locked state.
+ BadRequest:
+ description: Bad Request
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/error_information'
+ example:
+ status: 400
+ title: Bad Request
+ detail: The provided request is not valid.
+ Forbidden:
+ description: Forbidden
+ content:
+ application/problem+json:
+ schema:
+ $ref: '#/components/schemas/error_information'
+ example:
+ status: 403
+ title: Forbidden
+ detail: Your role does not allow to perform this action. Contact System Administrator to change your access rights.
+ NotFound:
+ description: Not Found
+ content:
+ application/problem+json:
+ example:
+ [ ]
+
+ 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:
+ - some_policy_id
+ - some_policy_id
+ policy_status_info:
+ description: Status for one A1-P Policy
+ value:
+ last_modified: last_modified
+ status:
+ value:
+ status: status
+ status_info:
+ value:
+ status: status
+ ric_info:
+ value:
+ ric_id: ric_id
+ managed_element_ids:
+ - some_managed_element_id
+ - some_managed_element_id
+ state: UNAVAILABLE
+ policytype_ids:
+ - some_policytype_id
+ - some_policytype_id
+ ric_info_list:
+ value:
+ rics:
+ - ric_id: ric_id
+ managed_element_ids:
+ - some_managed_element_id
+ - some_managed_element_id
+ state: UNAVAILABLE
+ policytype_ids:
+ - policytype_id
+ - policytype_id
+ - 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
+ title:
+ description: 'A specific error name'
+ type: string
+ example: Not Found
+ 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
+ default: ""
+ 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
+ - 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 \ No newline at end of file