aboutsummaryrefslogtreecommitdiffstats
path: root/docs/offeredapis/swagger/pms-api-v3.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/offeredapis/swagger/pms-api-v3.yaml')
-rw-r--r--docs/offeredapis/swagger/pms-api-v3.yaml589
1 files changed, 299 insertions, 290 deletions
diff --git a/docs/offeredapis/swagger/pms-api-v3.yaml b/docs/offeredapis/swagger/pms-api-v3.yaml
index c97336ed..9570cd46 100644
--- a/docs/offeredapis/swagger/pms-api-v3.yaml
+++ b/docs/offeredapis/swagger/pms-api-v3.yaml
@@ -1,5 +1,6 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. All rights reserved.
+# Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
+# Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -18,62 +19,76 @@
openapi: 3.0.3
info:
- title: 'A1 policy management API'
+ title: ONAP CCSDK - A1 Policy Management API
version: 1.0.0
- x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8
+ x-api-id: e9776a07-0813-4fca-9801-6f892f0a7c13
x-audience: external-public
description: "<h2>General</h2><p>The ONAP CCSDK A1 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>"
+ \ provides a REST API for managing A1 policies. <br/>This document describes the latest API set
+ \ to perform tasks for: </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 each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services\
+ \ (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs\
+ \ provided or defined by the service</h2>\
+ \ <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification\
+ \ for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p>\
+ \ <h3>A1 Policy Management</h3>\
+ \ <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN\
+ \ Alliance R1 Interface specifications for A1 Policy Management:</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 (Older version)</h3>\
+ \ <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy\
+ \ is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
+ \ of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3>\
+ \ <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner.\
+ \ If the owner service is registered, then the service can be monitored by a heart-beat supervision\
+ \ mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note \
+ \ that services do not need to be registered to create A1 Policies, but unregistered services are not \
+ \ supervised. This is a feature that is optional to use.</p>"
license:
name: Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.
url: http://www.apache.org/licenses/LICENSE-2.0
contact:
url: https://www.onap.org/
email: discuss-list@onap.com
+externalDocs:
+ description: 'Based on parts of O-RAN ALLIANCE specification: O-RAN.WG2.R1AP-v07.00'
+ url: 'https://www.o-ran.org/specifications'
servers:
- url: '{apiRoot}/a1-policy-management/v1'
variables:
apiRoot:
default: 'https://example.com'
description: 'This is the Host:Port or Address where the A1-Policy Management Service can be accessed.
- Note: This URL path format aligns with the O-RAN Alliance (r) R1-AP specifiactions for A1 Policy Management'
+ Note: This URL path format aligns with the O-RAN Alliance R1-AP specifications for A1 Policy Management'
tags:
- name: A1 Policy Management
- description: "**(Newer Version)** API used to create polices, Policy Instances and get \ them as individual using an ID or get all policies/Instances."
+ description: >
+ API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types.
- name: NearRT-RIC Repository
- description: "API used to get the NearRT-RIC for the managed element."
+ description: >
+ API used to get information about registered Near-RT RICs.
- name: Service Registry and Supervision
- description: "API used to keep the service Alive with in the timeout period"
+ description: >
+ API used to manage registered service, and control their keep-alive status via heart-beat messages.
- name: Health Check
- description: "API used to get the health status and statistics of this service"
+ description: >
+ API used to get the health status and statistics of this service.
- name: Configuration
- description: "API used to create or fetch the application configuration."
+ description: >
+ API used to create or fetch the application configuration.
paths:
/status:
get:
operationId: getStatus
+ description: Returns status and statistics of this service
+ summary: Get Status (getStatus)
+ tags:
+ - Health Check
responses:
"200":
content:
@@ -84,13 +99,15 @@ paths:
status_info:
$ref: '#/components/examples/StatusInfo'
description: OK- Service is living Ok
- description: Returns status and statistics of this service
- tags:
- - Health Check
+ "404":
+ $ref: '#/components/responses/404'
/rics/{ricId}:
get:
- description: A ricId path parameter must be specified to retrieve associated ric infomation
operationId: getRic
+ description: Get information about a Near-RT RIC
+ summary: Get a Near-RT RIC (getRic)
+ tags:
+ - NearRT-RIC Repository
parameters:
- description: The identity of a Near-RT RIC to get information for.
explode: true
@@ -100,7 +117,6 @@ paths:
schema:
type: string
nullable: false
- style: form
- description: Specifies the content type that the client expects to receive in response to the request.
Only application/json is allowed.
in: header
@@ -120,16 +136,17 @@ paths:
description: OK - Near-RT RIC is found OK
"404":
$ref: '#/components/responses/404'
- summary: Returns info for one Near-RT RIC
- tags:
- - NearRT-RIC Repository
/rics:
get:
- description: The call returns all Near-RT RICs that supports a given policy
- type identity
operationId: getRics
+ description: Get all Near-RT RICs that supports a given A1 Policy Type ID
+ summary: Get Near-RT RICs for A1 Policy Type (getRics)
+ tags:
+ - NearRT-RIC Repository
parameters:
- - description: "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned"
+ - description: >
+ The identity of an A1 Policy Type. If given, all Near-RT RICs supporting
+ the A1 Policy Type are returned.
explode: true
in: query
name: policyTypeId
@@ -156,12 +173,13 @@ paths:
description: OK
"404":
$ref: '#/components/responses/404'
- summary: Query Near-RT RIC information
- tags:
- - NearRT-RIC Repository
/policy-types:
get:
+ description: Query A1 Policy Type identities using query parameters
operationId: getPolicyTypes
+ summary: Get A1 Policy Types (getPolicyTypes)
+ tags:
+ - A1 Policy Management
parameters:
- description: Select types for the given Near-RT RIC identity.
explode: true
@@ -171,8 +189,7 @@ paths:
schema:
type: string
style: form
- - description: Select types with the given type name (type identity has the
- format <typename_version>)
+ - description: Select types compatible with the given type name (type identity has the format 'typename_version')
explode: true
in: query
name: typeName
@@ -180,8 +197,9 @@ paths:
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
+ - description: >
+ Select types that are compatible with the given version. This
+ parameter is only applicable in conjunction with typeName. 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
@@ -228,12 +246,13 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: Query policy type identities
- tags:
- - A1 Policy Management
/policy-types/{policyTypeId}:
get:
operationId: getPolicyTypeDefinition
+ description: Get an A1 Policy Type definition using its policy type ID
+ summary: Get an A1 Policy Type definition (getPolicyTypeDefinition)
+ tags:
+ - A1 Policy Management
parameters:
- explode: false
in: path
@@ -258,7 +277,7 @@ paths:
examples:
PolicyTypeObject:
$ref: '#/components/examples/PolicyTypeObject'
- description: OK - schema of the given policy type
+ description: OK - details and schema of the requested A1 Policy Type
'400':
$ref: '#/components/responses/400'
'401':
@@ -277,12 +296,13 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: Returns a policy type definition
- tags:
- - A1 Policy Management
/policies/{policyId}:
put:
- operationId: putPolicy
+ operationId: updatePolicy
+ description: Update an existing A1 Policy instance's policy data using its policy ID.
+ summary: Update an A1 Policy's policy data (updatePolicy)
+ tags:
+ - A1 Policy Management
parameters:
- name: policyId
in: path
@@ -331,12 +351,12 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: update a policy
- tags:
- - A1 Policy Management
delete:
- description: Deleting the policy using policyId.
operationId: deletePolicy
+ description: Delete an existing A1 Policy instance using its policy ID.
+ summary: Delete an A1 Policy instance (deletePolicy)
+ tags:
+ - A1 Policy Management
parameters:
- explode: false
in: path
@@ -354,7 +374,7 @@ paths:
example: application/json
responses:
'204':
- description: 'The A1 policy was deleted'
+ description: 'No Content'
'400':
$ref: '#/components/responses/400'
'401':
@@ -377,11 +397,12 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- summary: Delete a policy
- tags:
- - A1 Policy Management
get:
operationId: getPolicy
+ description: Get an A1 Policy instance's policy data using its policy ID
+ summary: Get an A1 Policy's policy data (getPolicy)
+ tags:
+ - A1 Policy Management
parameters:
- explode: false
in: path
@@ -425,12 +446,13 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: Returns a policy
- tags:
- - A1 Policy Management
/policies/{policyId}/status:
get:
operationId: getPolicyStatus
+ description: Retrieve the status information for an A1 Policy Instance using its policy ID.
+ summary: Get an A1 Policy Instance's status (getPolicyStatus)
+ tags:
+ - A1 Policy Management
parameters:
- explode: false
in: path
@@ -471,18 +493,17 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: 'Query a policy status'
- tags:
- - A1 Policy Management
-
/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: getAllPolicies
+ operationId: getPolicyIds
+ description: >
+ Returns a collection of A1 Policy Instance IDs for policies that match given search criteria.
+ If several query parameters are defined, the policies matching all conditions are returned.
+ summary: Query for A1 Policy instances (getPolicyIds)
+ tags:
+ - A1 Policy Management
parameters:
- - description: Select policies of a given policy type identity.
+ - description: Select policies with a given A1 Policy Type ID.
explode: true
in: query
name: policyTypeId
@@ -490,7 +511,7 @@ paths:
schema:
type: string
style: form
- - description: Select policies of a given Near-RT RIC identity.
+ - description: Select policies for a given Near-RT RIC identity.
explode: true
in: query
name: nearRtRicId
@@ -498,7 +519,7 @@ paths:
schema:
type: string
style: form
- - description: Select policies owned by a given service.
+ - description: Select policies owned by a given service (registered or unregistered).
explode: true
in: query
name: serviceId
@@ -506,8 +527,7 @@ paths:
schema:
type: string
style: form
- - description: Select policies of types with the given type name (type identity
- has the format <typename_version>)
+ - description: Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
explode: true
in: query
name: typeName
@@ -549,11 +569,12 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- summary: Query policy identities
- tags:
- - A1 Policy Management
post:
operationId: createPolicy
+ description: Create an A1 Policy Instance
+ summary: Create an A1 Policy Instance (createPolicy)
+ tags:
+ - A1 Policy Management
requestBody:
required: true
content:
@@ -562,17 +583,26 @@ paths:
$ref: '#/components/schemas/PolicyObjectInformation'
responses:
'201':
- description: 'Success case 201 created'
+ description: 'Created'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyObjectInformation'
headers:
Location:
- description: 'Contains the URI of the newly created resource'
+ description: >
+ Contains the URI of the newly created A1 Policy Instances.
+ This URI includes the A1 Policy Instance ID for the newly
+ created policy instance.
required: true
schema:
type: string
+ Content-Type:
+ description: 'Media Type of the response'
+ schema:
+ type: string
+ example: application/json
+
'400':
$ref: '#/components/responses/400'
'401':
@@ -601,12 +631,13 @@ paths:
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
- description: 'To create A1 policies'
- tags:
- - A1 Policy Management
/configuration:
get:
operationId: getConfiguration
+ description: Returns the entire contents of the Application Configuration.
+ tags:
+ - Configuration
+ summary: Get the Application Configuration (getConfiguration)
responses:
"200":
content:
@@ -616,12 +647,16 @@ paths:
description: OK - Application configuration received
"404":
$ref: '#/components/responses/404'
-
- description: Returns the contents of the application configuration
- tags:
- - Configuration
put:
operationId: putConfiguration
+ description: >
+ Replace the current Application Configuration with a new configuration.
+ The new configuration, if accepted, will take effect after a short delay.
+ The new configuration must comply with the Application Configuration schema,
+ which can be found from the the Application Documentation (Developer Guide)
+ tags:
+ - Configuration
+ summary: Set/Replace the Application Configuration (putConfiguration)
requestBody:
content:
application/json:
@@ -631,23 +666,23 @@ paths:
responses:
"200":
content:
- '*/*':
+ 'application/json':
schema:
$ref: '#/components/schemas/void'
description: OK - Configuration updated
"400":
$ref: '#/components/responses/400'
- description: Replace the current configuration file with the given configuration
- tags:
- - Configuration
/services/{serviceId}/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
+ description: A registered service should invoke this operation regularly to
+ indicate that it is still alive. If a registered service fails to invoke some operation,
+ or this operation, before the end of a timeout period the service will be deregistered
+ and all its A1 policies wil be removed. This operation is only intended for registered
+ services. (This timeout can be set or disabled when each service is initially registered)
+ summary: Heartbeat message from a service (keepAliveService)
+ tags:
+ - Service Registry and Supervision
parameters:
- explode: false
in: path
@@ -672,22 +707,25 @@ paths:
responses:
"200":
content:
- '*/*':
+ 'application/json':
schema:
type: object
- description: "OK - Service supervision timer refreshed, OK"
+ description: OK - Service supervision timer refreshed, OK
"404":
$ref: '#/components/responses/404'
- summary: Heartbeat indicates that the service is running
- tags:
- - Service Registry and Supervision
/services:
get:
- description: Either information about a registered service with given identity
- or all registered services are returned.
operationId: getServices
+ description: >
+ Get information about all registered services, or a single registered service.
+ If the service ID of a registered service is included in the query, information about that
+ service is returned. Otherwise Information about all registered is returned.
+ This operation does not retrieve information about unregistered services.
+ summary: Get Services (getServices)
+ tags:
+ - Service Registry and Supervision
parameters:
- - description: The identity of the service
+ - description: The identity of the registered service
explode: true
in: query
name: serviceId
@@ -714,16 +752,19 @@ paths:
description: OK
"404":
$ref: '#/components/responses/404'
- 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
+ description: >
+ Register a single service, or update a previous registration.
+ Service registration is required to get callbacks about available NearRT RICs
+ and to enable supervision of the service's active status. If a registered
+ service becomes inactive, its policies can be automatically deleted.
+ A1 Policy instances can also be created for unregistered services.
+ If an unregistered service is later registered, the service's policies are
+ retained when the service becomes registered. This feature is optional to use.
+ summary: Register or update a Service (putService)
+ tags:
+ - Service Registry and Supervision
requestBody:
content:
application/json:
@@ -733,27 +774,29 @@ paths:
responses:
"200":
content:
- '*/*':
+ 'application/json':
schema:
type: object
description: OK - Service updated
"201":
content:
- '*/*':
+ 'application/json':
schema:
type: object
description: Created - Service created
"400":
$ref: '#/components/responses/400'
- 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. <br>Callouts to indicate status changes relevant for Services. Note that these calls are called by A1-PMS and they are not provided.'
operationId: serviceCallback
+ description: |
+ Callouts to indicate Near-RT RIC status changes relevant for Services.
+ The URL invoked by this callback is provided at Service registration.
+ summary: Callback for Near-RT RIC status (serviceCallback)
+ tags:
+ - Service Registry and Supervision
requestBody:
content:
application/json:
@@ -769,10 +812,16 @@ paths:
description: OK
"404":
$ref: '#/components/responses/404'
- summary: "Callback for Near-RT RIC status."
/services/{serviceId}:
delete:
operationId: deleteService
+ description: >
+ Unregister a registered Service using its service ID.
+ Only registered services can be unregistered. All A1 Policy Instances
+ for the previously registered service will be removed.
+ tags:
+ - Service Registry and Supervision
+ summary: Unregister a Service (deleteService)
parameters:
- explode: false
in: path
@@ -791,68 +840,60 @@ paths:
responses:
"204":
content:
- '*/*':
+ 'application/json':
schema:
type: object
description: No Content - Service unregistered
"404":
$ref: '#/components/responses/404'
- description: Unregister a service
- tags:
- - Service Registry and Supervision
+
components:
+
examples:
ServiceStatusList:
description: List of service information
value:
serviceList:
- - callbackUrl: callbackUrl
- serviceId: serviceId
- keepAliveIntervalSeconds: 0
- timeSinceLastActivitySeconds: 6
- - callbackUrl: callbackUrl
- serviceId: serviceId
+ - callbackUrl: http://callback.url
+ serviceId: serviceId1
keepAliveIntervalSeconds: 0
timeSinceLastActivitySeconds: 6
- PolicyStatusInfo:
- description: Status for one A1-P Policy
- value:
- lastModified: last_modified
- status:
- value:
- status: status
+ - callbackUrl: http://callback.url
+ serviceId: serviceId2
+ keepAliveIntervalSeconds: 500
+ timeSinceLastActivitySeconds: 401
StatusInfo:
value:
status: status
RicInfo:
value:
- ricId: ricId
+ ricId: ricId1
managedElementIds:
- - managedElementId
- - managedElementId
+ - managedElementId1
+ - managedElementId2
state: UNAVAILABLE
policyTypeIds:
- - policyTypeId
- - policyTypeId
+ - policyTypeId1
+ - policyTypeId2
RicInfoList:
value:
rics:
- - ricId: ricId
+ - ricId: ricId1
managedElementIds:
- - managedElementId
- - managedElementId
+ - managedElementId1
+ - managedElementId2
state: UNAVAILABLE
policyTypeIds:
- - policyTypeId
- - policyTypeId
- - ricId: ricId
+ - policyTypeId1
+ - policyTypeId2
+ - ricId: ricId2
managedElementIds:
- - managedElementId
- - managedElementId
+ - managedElementId3
+ - managedElementId4
state: UNAVAILABLE
policyTypeIds:
- - policyTypeId
- - policyTypeId
+ - policyTypeId3
+ - policyTypeId4
PolicyObject:
value:
scope:
@@ -884,13 +925,13 @@ components:
PolicyTypeInformation:
value:
- policyTypeId: STD_QOS2_0.1.0
- nearRtRicId: ricsim_g3_2
+ nearRtRicId: ric_g3_2
- policyTypeId: STD_QOS_0_2_0
- nearRtRicId: ricsim_g3_2
+ nearRtRicId: ric_g3_2
- policyTypeId: STD_QOS2_0.1.0
- nearRtRicId: ricsim_g3_1
+ nearRtRicId: ric_g3_1
- policyTypeId: STD_QOS_0_2_0
- nearRtRicId: ricsim_g3_1
+ nearRtRicId: ric_g3_1
PolicyTypeObject:
value:
policySchema:
@@ -918,16 +959,15 @@ components:
additionalProperties: false
required:
- priorityLevel
+
schemas:
PolicyTypeInformation:
description: >-
- Available policy types and for each policy type identifier the Near-RT
- RIC identifiers of those Near-RT RICs that support the related A1 policy
- type
+ A data tuple to indicate that an identified A1 Policy Type is supported at an identified Near-RT RIC.
type: object
properties:
policyTypeId:
- description: Identity of the policy type
+ description: A1 Policy Type identifier
type: string
nearRtRicId:
$ref: '#/components/schemas/NearRtRicId'
@@ -936,42 +976,50 @@ components:
- nearRtRicId
example:
policyTypeId: STD_QOS2_0.1.0
- nearRtRicId: ricsim_g3_2
+ nearRtRicId: ric_g3_2
PolicyObjectInformation:
- description: Information related to the creation of the policy
+ description: Information to create an A1 Policy Instance
type: object
properties:
nearRtRicId:
description: Identity of the target Near-RT RIC
type: string
example:
- 'Near-RT-Ric-ID'
+ 'Near-RT-Ric-ID1'
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."
+ description: >
+ If true, the policy is automatically deleted if the targeted Near-RT RIC restarts
+ or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted
+ Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and
+ must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false.
nullable: false
type: boolean
policyId:
- description: The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.
+ description: >
+ An optional identity to be used for the new A1 Policy Instance.
+ If this value is present, it must be unique. If not present the new A1
+ Policy Instance will be assigned a newly generated unique ID, and the
+ new ID can be extracted from the 'Location' header in the response.
type: string
example:
- 'POLICY-ID'
+ 'POLICY-ID1'
serviceId:
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.
+ to a service). Note that the service does not need to be registered.
+ If the service is registered, the newly created A1 Policy Instance will be
+ subject to the same supervision rules as the the service's other policies.
type: string
example:
- 'rApp ID'
+ 'rApp 1'
default: ""
policyObject:
$ref: '#/components/schemas/PolicyObject'
policyTypeId:
- description: Identity of the policy type
+ description: A1 Policy Type identity
type: string
- example: 'ORAN_QOS_1.0.0(typeName_SemVersion)'
+ example: ORAN_QOS_1.0.0 '(typeName_SemVersion)'
required:
- nearRtRicId
- policyObject
@@ -980,26 +1028,27 @@ components:
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.'
+ 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'
+ 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. '
+ description: |
+ The HTTP status code generated by the origin server for this occurrence of the problem.
example: 404
format: int32
type: integer
type: object
PolicyObject:
- description: 'Policy Object is a JSON representation of an A1 policy'
+ description: >
+ Policy Object is a JSON representation policy data for an A1 Policy Instance.
+ The schema for this policy data is defined in the corresponding A1 Policy Type.
type: object
PolicyTypeObject:
- description: 'policy type object as defined in A1TD'
+ description: An A1 Policy Type, as defined in O-RAN Alliance A1TD
type: object
properties:
policySchema:
@@ -1007,12 +1056,12 @@ components:
statusSchema:
$ref: '#/components/schemas/StatusSchema'
required:
- - "policySchema"
+ - policySchema
example:
policySchema:
"$schema": http://json-schema.org/draft-07/schema#
title: STD_QOS_0_2_0
- description: STD QOS policy type
+ description: Policy data schema for STD_QOS_0.2.0 A1 Policy Instances.
type: object
properties:
scope:
@@ -1037,7 +1086,7 @@ components:
statusSchema:
"$schema": http://json-schema.org/draft-07/schema#
title: STD_QOS_0.2.0
- description: STD QOS policy type status
+ description: Status schema for STD_QOS_0.2.0 A1 Policy Instances.
type: object
properties:
enforceStatus:
@@ -1048,13 +1097,22 @@ components:
required:
- enforceStatus
PolicySchema:
- description: 'The schemas are policy type specific'
+ description: >
+ A schema to define the policy data contents of A1 Policy Instances.
+ Policy data schemas are Policy Type specific.
+ All A1 Policy Instances of an A1 Policy Type should comply with the type's policy data schema.
type: object
StatusSchema:
- description: 'The optional schema for policy status'
+ description: >
+ A schema to define the contents of the status information for A1 Policy Instances.
+ Status schemas are Policy Type specific.
+ All status information for all A1 Policy Instances of an A1 Policy Type should comply
+ with the type's status schema.
type: object
PolicyStatusObject:
- description: 'A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.'
+ description: >
+ A generic policy status object that can be used to transport any policy status.
+ Additionally, a schema for policy status can be defined in the corresponding A1 Policy Type.
type: object
void:
description: Void/empty
@@ -1062,20 +1120,9 @@ components:
StatusInfo:
properties:
status:
- description: status text
+ description: Status text
type: string
type: object
- AuthorizationResult:
- description: Result of authorization
- example:
- result: true
- properties:
- result:
- description: "If true, the access is granted"
- type: boolean
- required:
- - result
- type: object
RicInfo:
description: Information for a Near-RT RIC
properties:
@@ -1083,13 +1130,13 @@ components:
description: Identity of the Near-RT RIC
type: string
managedElementIds:
- description: O1 identities for managed entities
+ description: Identities for managed entities
items:
- description: O1 identities for managed entities
+ description: Identity for a managed entity
type: string
type: array
state:
- description: Represents the states for a Near-RT RIC
+ description: Represents the state of a Near-RT RIC
enum:
- UNAVAILABLE
- AVAILABLE
@@ -1097,111 +1144,80 @@ components:
- CONSISTENCY_CHECK
type: string
policyTypeIds:
- description: supported policy types
+ description: Supported A1 Policy Types
items:
- description: supported policy types
+ description: Supported A1 Policy Type ID
type: string
type: array
type: object
ServiceRegistrationInfo:
- description: Information for one service
+ description: Information for a service to be registered
properties:
callbackUrl:
- description: callback for notifying of Near-RT RIC state changes
+ description: Callback URL for notifying of Near-RT RIC state changes
type: string
serviceId:
description: Identity of the service
type: string
keepAliveIntervalSeconds:
- 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."
+ 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:
- serviceId
type: object
- PolicyStatusInfo:
- description: Status for one A1-P Policy
- properties:
- lastModified:
- description: "timestamp, last modification time"
- type: string
- status:
- description: the Policy status
- type: object
- type: object
ServiceStatus:
+ description: Information about a previously registered service
properties:
callbackUrl:
- description: callback for notifying of RIC synchronization
+ description: Callback URL for notifying of Near-RT RIC state changes
type: string
serviceId:
description: Identity of the service
type: string
keepAliveIntervalSeconds:
- description: policy keep alive timeout
+ description: >
+ Keep alive interval (seconds) 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
timeSinceLastActivitySeconds:
- description: time since last invocation by the service
+ description: Time (seconds) since last recorded operation by the service
format: int64
type: integer
type: object
RicInfoList:
- description: List of Near-RT RIC information
+ description: Collection of Near-RT RIC information objects
properties:
rics:
- description: List of Near-RT RIC information
+ description: List of Near-RT RIC information objects
items:
$ref: '#/components/schemas/RicInfo'
type: array
type: object
- input:
- description: input
- properties:
- accessType:
- description: Access type
- enum:
- - READ
- - WRITE
- - DELETE
- type: string
- authToken:
- description: Authorization token
- type: string
- policyTypeId:
- description: Policy type identifier
- type: string
- required:
- - accessType
- - authToken
- - policyTypeId
- type: object
- PolicyAuthorization:
- description: Authorization request for A1 policy requests
- properties:
- input:
- $ref: '#/components/schemas/input'
- required:
- - input
- type: object
NearRtRicId:
- description: Identity of the policy
+ description: Identity of the Near-RT RIC
type: string
PolicyInformation:
- description: >-
- Near-RT RIC identifiers where A1 policies exist and for each Near-RT RIC
- identifier the policy identifiers of those policies that exist in that
- Near-RT RIC
+ description: >
+ Information tuple for a single A1 Policy Instance.
+ Contains the A1 Policy Instance ID, and the ID of the Near-RT RIC where the policy is created.
type: object
properties:
policyId:
- description: Identity of the policy
+ description: Identity of the A1 Policy Instance
type: string
nearRtRicId:
$ref: '#/components/schemas/NearRtRicId'
@@ -1211,20 +1227,23 @@ components:
ServiceStatusList:
properties:
serviceList:
- description: List of service information
+ description: List of Service Status objects, describing a collection of registered services.
items:
$ref: '#/components/schemas/ServiceStatus'
type: array
type: object
ServiceCallbackInfo:
- description: Information transferred as in Service callbacks (callback_url)
+ description: |
+ Information transferred in Service callbacks,
+ if a callback URL was provided for a registered service
properties:
ricId:
description: Identity of a Near-RT RIC
type: string
eventType:
- description: "values:\nAVAILABLE: the Near-RT RIC has become available\
- \ for A1 Policy management"
+ description: >
+ values:
+ AVAILABLE: the Near-RT RIC has become available for A1 Policy management
enum:
- AVAILABLE
type: string
@@ -1232,36 +1251,26 @@ components:
- eventType
- ricId
type: object
- Link:
- properties:
- templated:
- type: boolean
- href:
- type: string
- type: object
ProblemDetails:
- description: >-
- A problem detail to carry details in an HTTP response according to RFC
- 7807
+ description: Object to carry details about a problem in an HTTP response according to IETF RFC 7807
type: object
properties:
type:
- description: >-
- a URI reference according to IETF RFC 3986 that identifies the
- problem type
+ description: URI reference according to IETF RFC 3986 that identifies the problem type
type: string
title:
- description: human-readable summary of the problem type
+ description: Human-readable summary of the problem type
type: string
status:
- description: the HTTP status code
+ description: HTTP status code
type: number
detail:
- description: 'human-readable explanation '
+ description: Human-readable explanation
type: string
instance:
description: URI reference that identifies the specific occurrence of the problem
type: string
+
responses:
'400':
description: Bad Request
@@ -1324,7 +1333,7 @@ components:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
- description: Too Many Request
+ description: Too Many Requests
content:
application/problem+json:
schema:
@@ -1348,7 +1357,7 @@ components:
schema:
$ref: '#/components/schemas/ProblemDetails'
Locked:
- description: "Locked - HTTP Status code which can be used when the state is Locked"
+ description: Locked - HTTP Status code which can be used when the state is Locked
content:
application/problem+json:
schema:
@@ -1356,4 +1365,4 @@ components:
example:
status: 423
title: Locked
- detail: State is Locked in the provided request.
+ detail: State is Locked in the provided request.