diff options
author | 2025-01-30 16:16:41 +0000 | |
---|---|---|
committer | 2025-03-03 16:01:36 +0000 | |
commit | b3a847e0fc48e77e9617d6a3e7fb80ab25c3308e (patch) | |
tree | 4a586ba50f875e1aeaff83b9d9a1c25c62c1db3a | |
parent | 1a93ad4c8fd793406c6d4828dee15ae3b49c0d8f (diff) |
Update OpenAPI & documentation
- Dependecies update
- Added a warning for policyId during policy creation
Issue-ID: CCSDK-4076
Change-Id: I28333ef8956a9102fd46d270bb631c1f9ea24b8d
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
(cherry picked from commit 57aad8dd3bb913d77ee6fe4790c02c99d264bafc)
19 files changed, 5152 insertions, 246 deletions
diff --git a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/index.html b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/index.html index 9580d539..c59e6223 100644 --- a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/index.html +++ b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/index.html @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> - <title>A1 Policy Management Service</title> + <title>ONAP CCSDK A1 Policy Management Service</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8" /> @@ -1240,7 +1240,7 @@ ul.nav-tabs { <div id="content"> <div id="project"> <div class="pull-left"> - <h1>A1 Policy Management Service</h1> + <h1>ONAP CCSDK A1 Policy Management Service</h1> </div> <div class="clearfix"></div> </div> @@ -1250,7 +1250,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.3.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> </div> </div> @@ -1385,10 +1385,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-deletePolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -1831,10 +1831,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -2284,10 +2284,10 @@ String *typeName = typeName_example; // Select policies of types with the given </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyIds-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'policytypeId': policytypeId_example, // {String} Select policies of a given policy type identity. 'ricId': ricId_example, // {String} Select policies of a given Near-RT RIC identity. @@ -2819,10 +2819,10 @@ String *typeName = typeName_example; // Select policies of a given type name (ty </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyInstances-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'policytypeId': policytypeId_example, // {String} Select policies with a given type identity. 'ricId': ricId_example, // {String} Select policies for a given Near-RT RIC identity. @@ -3345,10 +3345,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyStatus-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -3782,10 +3782,10 @@ String *policytypeId = policytypeId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policytypeId = policytypeId_example; // {String} var callback = function(error, data, response) { @@ -4229,10 +4229,10 @@ String *compatibleWithVersion = compatibleWithVersion_example; // Select types t </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypes-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'ricId': ricId_example, // {String} Select types for the given Near-RT RIC identity. 'typeName': typeName_example, // {String} Select types with the given type name (type identity has the format <typename_version>) @@ -4722,10 +4722,10 @@ PolicyInfo *policyInfo = ; // </div> <div class="tab-pane" id="examples-A1PolicyManagement-putPolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyInfo = ; // {PolicyInfo} var callback = function(error, data, response) { @@ -5269,10 +5269,10 @@ PolicyAuthorization *policyAuthorization = ; // </div> <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.AuthorizationAPIApi() +var api = new OnapCcsdkA1PolicyManagementService.AuthorizationAPIApi() var policyAuthorization = ; // {PolicyAuthorization} var callback = function(error, data, response) { @@ -5735,10 +5735,10 @@ ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; </div> <div class="tab-pane" id="examples-Configuration-getConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ConfigurationApi() +var api = new OnapCcsdkA1PolicyManagementService.ConfigurationApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -6135,10 +6135,10 @@ Object *body = Object; // </div> <div class="tab-pane" id="examples-Configuration-putConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ConfigurationApi() +var api = new OnapCcsdkA1PolicyManagementService.ConfigurationApi() var body = Object; // {Object} var callback = function(error, data, response) { @@ -6599,10 +6599,10 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </div> <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new OnapCcsdkA1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -6929,10 +6929,10 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </div> <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new OnapCcsdkA1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -7267,10 +7267,10 @@ String *ricId = ricId_example; // The identity of a Near-RT RIC to get informati </div> <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.NearRTRICRepositoryApi() +var api = new OnapCcsdkA1PolicyManagementService.NearRTRICRepositoryApi() var opts = { 'managedElementId': managedElementId_example, // {String} The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. 'ricId': ricId_example // {String} The identity of a Near-RT RIC to get information for. @@ -7735,10 +7735,10 @@ String *policytypeId = policytypeId_example; // The identity of a policy type. I </div> <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.NearRTRICRepositoryApi() +var api = new OnapCcsdkA1PolicyManagementService.NearRTRICRepositoryApi() var opts = { 'policytypeId': policytypeId_example // {String} The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned }; @@ -8179,10 +8179,10 @@ String *serviceId = serviceId_example; // (default to null) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-deleteService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceId = serviceId_example; // {String} var callback = function(error, data, response) { @@ -8612,10 +8612,10 @@ String *serviceId = serviceId_example; // The identity of the service (optional) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-getServices-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var opts = { 'serviceId': serviceId_example // {String} The identity of the service }; @@ -9054,10 +9054,10 @@ String *serviceId = serviceId_example; // (default to null) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-keepAliveService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceId = serviceId_example; // {String} var callback = function(error, data, response) { @@ -9491,10 +9491,10 @@ ServiceRegistrationInfo *serviceRegistrationInfo = ; // </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-putService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceRegistrationInfo = ; // {ServiceRegistrationInfo} var callback = function(error, data, response) { @@ -9916,7 +9916,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html index 2defcfbe..db7407bf 100644 --- a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html +++ b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html @@ -941,18 +941,18 @@ ul.nav-tabs { "properties" : {
"nearRtRicId" : {
"type" : "string",
- "description" : "identity of the target Near-RT RIC",
+ "description" : "Identity of the target Near-RT RIC",
"example" : "Near-RT-Ric-ID"
},
"transient" : {
"type" : "boolean",
- "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 deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
"nullable" : false,
"default" : false
},
"policyId" : {
"type" : "string",
- "description" : "identity of the Policy",
+ "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.",
"example" : "POLICY-ID"
},
"serviceId" : {
@@ -965,7 +965,7 @@ ul.nav-tabs { },
"policyTypeId" : {
"type" : "string",
- "description" : "identity of the policy type",
+ "description" : "Identity of the policy type",
"example" : "ORAN_QOS_1.0.0(typeName_SemVersion)"
}
},
@@ -1096,7 +1096,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of the Near-RT RIC"
+ "description" : "Identity of the Near-RT RIC"
},
"managedElementIds" : {
"type" : "array",
@@ -1141,7 +1141,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of a Near-RT RIC"
+ "description" : "Identity of a Near-RT RIC"
},
"eventType" : {
"type" : "string",
@@ -1161,7 +1161,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1180,7 +1180,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1279,7 +1279,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.0.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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> </div> </div> @@ -11049,7 +11049,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html index 0e7aaa76..95280413 100644 --- a/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html +++ b/a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html @@ -941,18 +941,18 @@ ul.nav-tabs { "properties" : {
"nearRtRicId" : {
"type" : "string",
- "description" : "identity of the target Near-RT RIC",
+ "description" : "Identity of the target Near-RT RIC",
"example" : "Near-RT-Ric-ID"
},
"transient" : {
"type" : "boolean",
- "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 deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
"nullable" : false,
"default" : false
},
"policyId" : {
"type" : "string",
- "description" : "identity of the Policy",
+ "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.",
"example" : "POLICY-ID"
},
"serviceId" : {
@@ -965,7 +965,7 @@ ul.nav-tabs { },
"policyTypeId" : {
"type" : "string",
- "description" : "identity of the policy type",
+ "description" : "Identity of the policy type",
"example" : "ORAN_QOS_1.0.0(typeName_SemVersion)"
}
},
@@ -1096,7 +1096,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of the Near-RT RIC"
+ "description" : "Identity of the Near-RT RIC"
},
"managedElementIds" : {
"type" : "array",
@@ -1141,7 +1141,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of a Near-RT RIC"
+ "description" : "Identity of a Near-RT RIC"
},
"eventType" : {
"type" : "string",
@@ -1161,7 +1161,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1180,7 +1180,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1310,7 +1310,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.0.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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> </div> </div> @@ -15344,7 +15344,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/a1-policy-management/api/offeredapis/swagger/custom/a1pms-api-custom-v3.json b/a1-policy-management/api/offeredapis/swagger/custom/a1pms-api-custom-v3.json new file mode 100644 index 00000000..0fc875fa --- /dev/null +++ b/a1-policy-management/api/offeredapis/swagger/custom/a1pms-api-custom-v3.json @@ -0,0 +1,2454 @@ +{ + "openapi" : "3.0.3", + "info" : { + "contact" : { + "email" : "discuss-list@onap.com", + "url" : "https://www.onap.org/" + }, + "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>", + "license" : { + "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.", + "url" : "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title" : "A1 policy management API", + "version" : "1.0.0", + "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", + "x-audience" : "external-public" + }, + "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" + } + } + } ], + "tags" : [ { + "description" : "**(Newer Version)** API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "name" : "A1 Policy Management" + }, { + "description" : "API used to get the NearRT-RIC for the managed element.", + "name" : "NearRT-RIC Repository" + }, { + "description" : "API used to keep the service Alive with in the timeout period", + "name" : "Service Registry and Supervision" + }, { + "description" : "API used to get the health status and statistics of this service", + "name" : "Health Check" + }, { + "description" : "API used to create or fetch the application configuration.", + "name" : "Configuration" + } ], + "paths" : { + "/status" : { + "get" : { + "description" : "Returns status and statistics of this service", + "operationId" : "getStatus", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "status_info" : { + "$ref" : "#/components/examples/StatusInfo" + } + }, + "schema" : { + "$ref" : "#/components/schemas/StatusInfo" + } + } + }, + "description" : "OK- Service is living Ok" + } + }, + "tags" : [ "Health Check" ] + } + }, + "/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" : "managedElementId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "The identity of a Near-RT RIC to get information for.", + "explode" : true, + "in" : "query", + "name" : "ricId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "ric_info" : { + "$ref" : "#/components/examples/RicInfo" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RicInfo" + } + } + }, + "description" : "OK - Near-RT RIC is found OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "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" : "policyTypeId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "ric_info_list" : { + "$ref" : "#/components/examples/RicInfoList" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RicInfoList" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Query Near-RT RIC information", + "tags" : [ "NearRT-RIC Repository" ] + } + }, + "/policy-types" : { + "get" : { + "description" : "Query policy type identities", + "operationId" : "getPolicyTypes", + "parameters" : [ { + "description" : "Select types for the given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "nearRtRicId", + "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" : "typeName", + "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" : "compatibleWithVersion", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "PolicyTypeInformation" : { + "$ref" : "#/components/examples/PolicyTypeInformation" + } + }, + "schema" : { + "items" : { + "$ref" : "#/components/schemas/PolicyTypeInformation" + }, + "type" : "array" + } + } + }, + "description" : "OK - Policy Type IDs found Ok" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policy-types/{policyTypeId}" : { + "get" : { + "description" : "Returns a policy type definition", + "operationId" : "getPolicyTypeDefinition", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyTypeId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "PolicyTypeObject" : { + "$ref" : "#/components/examples/PolicyTypeObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyTypeObject" + } + } + }, + "description" : "OK - schema of the given policy type" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policies/{policyId}" : { + "delete" : { + "description" : "Deleting the policy using policyId.", + "operationId" : "deletePolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "description" : "The A1 policy was deleted" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "summary" : "Delete a policy", + "tags" : [ "A1 Policy Management" ] + }, + "get" : { + "description" : "Returns a policy", + "operationId" : "getPolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policyObject" : { + "$ref" : "#/components/examples/PolicyObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "description" : "OK - Policy found" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + }, + "put" : { + "description" : "update a policy", + "operationId" : "putPolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "policyObject" : { + "$ref" : "#/components/examples/PolicyObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "description" : "OK - Policy updated" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "411" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Length Required" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policies/{policyId}/status" : { + "get" : { + "description" : "Query a policy status", + "operationId" : "getPolicyStatus", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyStatusObject" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "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", + "parameters" : [ { + "description" : "Select policies of a given policy type identity.", + "explode" : true, + "in" : "query", + "name" : "policyTypeId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies of a given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "nearRtRicId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies owned by a given service.", + "explode" : true, + "in" : "query", + "name" : "serviceId", + "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" : "typeName", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/PolicyInformation" + }, + "type" : "array" + } + } + }, + "description" : "OK - Policy identities" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "summary" : "Query policy identities", + "tags" : [ "A1 Policy Management" ] + }, + "post" : { + "description" : "To create A1 policies", + "operationId" : "createPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObjectInformation" + } + } + }, + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObjectInformation" + } + } + }, + "description" : "Success case 201 created", + "headers" : { + "Location" : { + "description" : "Contains the URI of the newly created resource", + "explode" : false, + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } + } + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/configuration" : { + "get" : { + "description" : "Returns the contents of the application configuration", + "operationId" : "getConfiguration", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "description" : "OK - Application configuration received" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "tags" : [ "Configuration" ] + }, + "put" : { + "description" : "Replace the current configuration file with the given configuration", + "operationId" : "putConfiguration", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "OK - Configuration updated" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + } + }, + "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", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "serviceId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK - Service supervision timer refreshed, OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "parameters" : [ { + "description" : "The identity of the service", + "explode" : true, + "in" : "query", + "name" : "serviceId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "service_status_list" : { + "$ref" : "#/components/examples/ServiceStatusList" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceStatusList" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Returns service information", + "tags" : [ "Service Registry and Supervision" ] + }, + "put" : { + "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", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceCallbackInfo" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Callback for Near-RT RIC status." + } + } + } + }, + "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/ServiceRegistrationInfo" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK - Service updated" + }, + "201" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "Created - Service created" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + } + }, + "summary" : "Register a service", + "tags" : [ "Service Registry and Supervision" ] + } + }, + "/services/{serviceId}" : { + "delete" : { + "description" : "Unregister a service", + "operationId" : "deleteService", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "serviceId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "No Content - Service unregistered" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "keepAliveIntervalSeconds" : 0, + "timeSinceLastActivitySeconds" : 6 + } ] + } + }, + "PolicyStatusInfo" : { + "description" : "Status for one A1-P Policy", + "value" : { + "lastModified" : "last_modified", + "status" : { + "value" : { + "status" : "status" + } + } + } + }, + "StatusInfo" : { + "value" : { + "status" : "status" + } + }, + "RicInfo" : { + "value" : { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + } + }, + "RicInfoList" : { + "value" : { + "rics" : [ { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + }, { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + } ] + } + }, + "PolicyObject" : { + "value" : { + "scope" : { + "ueId" : { + "guRanUeId" : { + "globalGnbId" : { + "plmnId" : { + "mcc" : "123", + "mnc" : "45" + }, + "gnbId" : { + "gnbIdLength" : 24, + "gnbIdValue" : 12345678 + } + }, + "RanUeId" : "a31c510b20e64a74" + } + }, + "groupId" : { + "spId" : 123 + }, + "qosId" : { + "5qI" : 1 + }, + "cellId" : { + "plmnId" : { + "mcc" : "123", + "mnc" : "45" + }, + "cId" : { + "ncI" : 123 + } + } + }, + "qosObjectives" : { + "gfbr" : 100, + "mfbr" : 200, + "priorityLevel" : 3, + "pdb" : 50 + } + } + }, + "PolicyTypeInformation" : { + "value" : [ { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_1" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_1" + } ] + }, + "PolicyTypeObject" : { + "value" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS2 policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + } + } + } + }, + "responses" : { + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "411" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Length Required" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + }, + "Locked" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + } + }, + "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", + "example" : { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, + "properties" : { + "policyTypeId" : { + "description" : "Identity of the policy type", + "type" : "string" + }, + "nearRtRicId" : { + "$ref" : "#/components/schemas/NearRtRicId" + } + }, + "required" : [ "nearRtRicId", "policyTypeId" ], + "type" : "object" + }, + "PolicyObjectInformation" : { + "description" : "Information related to the creation of the policy", + "properties" : { + "nearRtRicId" : { + "description" : "Identity of the target Near-RT RIC", + "example" : "Near-RT-Ric-ID", + "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.", + "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.", + "example" : "POLICY-ID", + "type" : "string" + }, + "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.", + "example" : "rApp ID", + "type" : "string" + }, + "policyObject" : { + "$ref" : "#/components/schemas/PolicyObject" + }, + "policyTypeId" : { + "description" : "Identity of the policy type", + "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", + "type" : "string" + } + }, + "required" : [ "nearRtRicId", "policyObject", "policyTypeId" ], + "type" : "object" + }, + "ErrorInformation" : { + "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", + "example" : "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" + }, + "PolicyObject" : { + "description" : "Policy Object is a JSON representation of an A1 policy", + "type" : "object" + }, + "PolicyTypeObject" : { + "description" : "policy type object as defined in A1TD", + "example" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + }, + "statusSchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0.2.0", + "description" : "STD QOS policy type status", + "type" : "object", + "properties" : { + "enforceStatus" : { + "type" : "string" + }, + "enforceReason" : { + "type" : "string" + }, + "additionalProperties" : false, + "required" : [ "enforceStatus" ] + } + } + }, + "properties" : { + "policySchema" : { + "$ref" : "#/components/schemas/PolicySchema" + }, + "statusSchema" : { + "$ref" : "#/components/schemas/StatusSchema" + } + }, + "required" : [ "policySchema" ], + "type" : "object" + }, + "PolicySchema" : { + "description" : "The schemas are policy type specific", + "type" : "object" + }, + "StatusSchema" : { + "description" : "The optional schema for policy status", + "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.", + "type" : "object" + }, + "void" : { + "description" : "Void/empty", + "type" : "object" + }, + "StatusInfo" : { + "properties" : { + "status" : { + "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" : { + "ricId" : { + "description" : "Identity of the Near-RT RIC", + "type" : "string" + }, + "managedElementIds" : { + "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" + }, + "policyTypeIds" : { + "description" : "supported policy types", + "items" : { + "description" : "supported policy types", + "type" : "string" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "ServiceRegistrationInfo" : { + "description" : "Information for one service", + "properties" : { + "callbackUrl" : { + "description" : "callback 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.", + "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" : { + "properties" : { + "callbackUrl" : { + "description" : "callback for notifying of RIC synchronization", + "type" : "string" + }, + "serviceId" : { + "description" : "Identity of the service", + "type" : "string" + }, + "keepAliveIntervalSeconds" : { + "description" : "policy keep alive timeout", + "format" : "int64", + "type" : "integer" + }, + "timeSinceLastActivitySeconds" : { + "description" : "time since last invocation by the service", + "format" : "int64", + "type" : "integer" + } + }, + "type" : "object" + }, + "RicInfoList" : { + "description" : "List of Near-RT RIC information", + "properties" : { + "rics" : { + "description" : "List of Near-RT RIC information", + "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", + "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", + "properties" : { + "policyId" : { + "description" : "Identity of the policy", + "type" : "string" + }, + "nearRtRicId" : { + "$ref" : "#/components/schemas/NearRtRicId" + } + }, + "required" : [ "nearRtRicId", "policyId" ], + "type" : "object" + }, + "ServiceStatusList" : { + "properties" : { + "serviceList" : { + "description" : "List of service information", + "items" : { + "$ref" : "#/components/schemas/ServiceStatus" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "ServiceCallbackInfo" : { + "description" : "Information transferred as in Service callbacks (callback_url)", + "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", + "enum" : [ "AVAILABLE" ], + "type" : "string" + } + }, + "required" : [ "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", + "properties" : { + "type" : { + "description" : "a URI reference according to IETF RFC 3986 that identifies the problem type", + "type" : "string" + }, + "title" : { + "description" : "human-readable summary of the problem type", + "type" : "string" + }, + "status" : { + "description" : "the HTTP status code", + "type" : "number" + }, + "detail" : { + "description" : "human-readable explanation ", + "type" : "string" + }, + "instance" : { + "description" : "URI reference that identifies the specific occurrence of the problem", + "type" : "string" + } + }, + "type" : "object" + } + } + } +}
\ No newline at end of file diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json b/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json index d8d3041e..0fc875fa 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json +++ b/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json @@ -5,9 +5,9 @@ "email" : "discuss-list@onap.com", "url" : "https://www.onap.org/" }, - "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>", + "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>", "license" : { - "name" : "Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.", + "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.", "url" : "http://www.apache.org/licenses/LICENSE-2.0" }, "title" : "A1 policy management API", @@ -20,12 +20,12 @@ "variables" : { "apiRoot" : { "default" : "https://example.com", - "description" : "This is the Host:Port or Address where the A1-Policy Management Service can be accessed" + "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" } } } ], "tags" : [ { - "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "description" : "**(Newer Version)** API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", "name" : "A1 Policy Management" }, { "description" : "API used to get the NearRT-RIC for the managed element.", @@ -37,8 +37,6 @@ "description" : "API used to get the health status and statistics of this service", "name" : "Health Check" }, { - "name" : "Service callbacks" - }, { "description" : "API used to create or fetch the application configuration.", "name" : "Configuration" } ], @@ -1610,7 +1608,7 @@ "RICStatus" : { "{$request.body#/callback_url}" : { "post" : { - "description" : "The URL to this call is registered at Service registration.", + "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", "requestBody" : { "content" : { @@ -1644,8 +1642,7 @@ "description" : "Not Found" } }, - "summary" : "Callback for Near-RT RIC status", - "tags" : [ "Service callbacks" ] + "summary" : "Callback for Near-RT RIC status." } } } @@ -2079,18 +2076,18 @@ "description" : "Information related to the creation of the policy", "properties" : { "nearRtRicId" : { - "description" : "identity of the target Near-RT RIC", + "description" : "Identity of the target Near-RT RIC", "example" : "Near-RT-Ric-ID", "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.", + "description" : "If true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", "nullable" : false, "type" : "boolean" }, "policyId" : { - "description" : "identity of the Policy", + "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.", "example" : "POLICY-ID", "type" : "string" }, @@ -2103,7 +2100,7 @@ "$ref" : "#/components/schemas/PolicyObject" }, "policyTypeId" : { - "description" : "identity of the policy type", + "description" : "Identity of the policy type", "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", "type" : "string" } @@ -2242,7 +2239,7 @@ "description" : "Information for a Near-RT RIC", "properties" : { "ricId" : { - "description" : "identity of the Near-RT RIC", + "description" : "Identity of the Near-RT RIC", "type" : "string" }, "managedElementIds" : { @@ -2277,7 +2274,7 @@ "type" : "string" }, "serviceId" : { - "description" : "identity of the service", + "description" : "Identity of the service", "type" : "string" }, "keepAliveIntervalSeconds" : { @@ -2310,7 +2307,7 @@ "type" : "string" }, "serviceId" : { - "description" : "identity of the service", + "description" : "Identity of the service", "type" : "string" }, "keepAliveIntervalSeconds" : { @@ -2403,7 +2400,7 @@ "description" : "Information transferred as in Service callbacks (callback_url)", "properties" : { "ricId" : { - "description" : "identity of a Near-RT RIC", + "description" : "Identity of a Near-RT RIC", "type" : "string" }, "eventType" : { diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api-v3.yaml b/a1-policy-management/api/offeredapis/swagger/pms-api-v3.yaml index 8bcfdf4b..e21f679e 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api-v3.yaml +++ b/a1-policy-management/api/offeredapis/swagger/pms-api-v3.yaml @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2024 - 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. @@ -22,7 +22,7 @@ info: version: 1.0.0 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\ + 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\ @@ -47,7 +47,7 @@ info: \ for access control of A1 Policy access. If configured, an external authorization\ \ provider is requested to grant access to the A1 Policy type.</p>" license: - name: Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache 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/ @@ -57,17 +57,17 @@ servers: variables: apiRoot: default: 'https://example.com' - description: 'This is the Host:Port or Address where the A1-Policy Management Service can be accessed' + 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' 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." + description: "**(Newer Version)** 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: Configuration description: "API used to create or fetch the application configuration." paths: @@ -761,7 +761,7 @@ paths: RICStatus: "{$request.body#/callback_url}": post: - description: The URL to this call is registered at Service registration. + 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 requestBody: content: @@ -778,9 +778,7 @@ paths: description: OK "404": $ref: '#/components/responses/404' - summary: Callback for Near-RT RIC status - tags: - - Service callbacks + summary: "Callback for Near-RT RIC status." /services/{serviceId}: delete: operationId: deleteService @@ -953,19 +951,19 @@ components: type: object properties: nearRtRicId: - description: identity of the target Near-RT RIC + description: Identity of the target Near-RT RIC type: string example: 'Near-RT-Ric-ID' transient: default: false - description: "if true, the policy is deleted at RIC restart. If false, its\ + description: "If true, the policy is deleted at RIC restart. If false, its\ \ value is maintained by this service until explicitly deleted. Default\ \ false." nullable: false type: boolean policyId: - description: identity of the Policy + description: The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated. type: string example: 'POLICY-ID' @@ -979,7 +977,7 @@ components: policyObject: $ref: '#/components/schemas/PolicyObject' policyTypeId: - description: identity of the policy type + description: Identity of the policy type type: string example: 'ORAN_QOS_1.0.0(typeName_SemVersion)' required: @@ -1090,7 +1088,7 @@ components: description: Information for a Near-RT RIC properties: ricId: - description: identity of the Near-RT RIC + description: Identity of the Near-RT RIC type: string managedElementIds: description: O1 identities for managed entities @@ -1120,7 +1118,7 @@ components: description: callback for notifying of Near-RT RIC state changes type: string serviceId: - description: identity of the service + description: Identity of the service type: string keepAliveIntervalSeconds: description: "keep alive interval for the service. This is used to enable\ @@ -1151,7 +1149,7 @@ components: description: callback for notifying of RIC synchronization type: string serviceId: - description: identity of the service + description: Identity of the service type: string keepAliveIntervalSeconds: description: policy keep alive timeout @@ -1230,7 +1228,7 @@ components: description: Information transferred as in Service callbacks (callback_url) properties: ricId: - description: identity of a Near-RT RIC + description: Identity of a Near-RT RIC type: string eventType: description: "values:\nAVAILABLE: the Near-RT RIC has become available\ diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api.json b/a1-policy-management/api/offeredapis/swagger/pms-api.json index deb57430..036e7fea 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api.json +++ b/a1-policy-management/api/offeredapis/swagger/pms-api.json @@ -5,12 +5,12 @@ "email" : "discuss-list@onap.com", "url" : "https://www.onap.org/" }, - "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>", + "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><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.", + "name" : "Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved. Licensed under the Apache 2 License.", "url" : "http://www.apache.org/licenses/LICENSE-2.0" }, - "title" : "A1 Policy Management Service", + "title" : "ONAP CCSDK A1 Policy Management Service", "version" : "1.3.0", "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", "x-audience" : "external-public" @@ -19,8 +19,8 @@ "url" : "/" } ], "tags" : [ { - "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", - "name" : "A1 Policy Management" + "description" : "Older API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "name" : "A1 Policy Management (Older version)" }, { "description" : "API used to get the NearRT-RIC for the managed element.", "name" : "NearRT-RIC Repository" @@ -31,9 +31,10 @@ "description" : "API used to get the health status and statistics of this service", "name" : "Health Check" }, { + "description" : "Callouts to indicate status schanges relevant for Services. <br> Note that these calls are called by A1-PMS, not provided.", "name" : "Service callbacks" }, { - "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.", + "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 A1-PMS, it is not provided.", "name" : "Authorization API" }, { "description" : "API used to create or fetch the application configuration.", diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api.yaml b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml index c0b50d4d..421201e9 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api.yaml +++ b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml @@ -1,6 +1,4 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020-2023 Nordix Foundation -# Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved. # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2021 Bell Canada # ================================================================================ @@ -23,7 +21,7 @@ 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\ + 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\ @@ -50,9 +48,10 @@ info: \ 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. + name: Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. + All rights reserved. Licensed under the Apache 2 License. url: http://www.apache.org/licenses/LICENSE-2.0 - title: A1 Policy Management Service + title: ONAP CCSDK A1 Policy Management Service version: 1.3.0 contact: url: https://www.onap.org/ @@ -60,9 +59,9 @@ info: 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: A1 Policy Management (Older version) + description: "Older 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 @@ -70,10 +69,12 @@ tags: - name: Health Check description: "API used to get the health status and statistics of this service" - name: Service callbacks + description: "Callouts to indicate status schanges relevant for Services. + <br> Note that these calls are called by A1-PMS, not provided." - 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." + by A1-PMS, it is not provided." - name: Configuration description: "API used to create or fetch the application configuration." - name: Actuator diff --git a/a1-policy-management/pom.xml b/a1-policy-management/pom.xml index 2565567e..b70b9d8e 100644 --- a/a1-policy-management/pom.xml +++ b/a1-policy-management/pom.xml @@ -4,7 +4,7 @@ ~ ONAP : ccsdk oran ~ ================================================================================ ~ Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. - ~ Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. + ~ Copyright (C) 2024-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. @@ -302,14 +302,14 @@ <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> - <version>1.41.0</version> + <version>1.46.0</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.opentelemetry.instrumentation</groupId> <artifactId>opentelemetry-instrumentation-bom-alpha</artifactId> - <version>2.7.0-alpha</version> + <version>2.12.0-alpha</version> <type>pom</type> <scope>import</scope> </dependency> @@ -459,6 +459,7 @@ </execution> <execution> <id>generate-openapi-json-custom-a1pms</id> + <!-- Create a version of OpenAPI file with a subset of the APIs present--> <phase>prepare-package</phase> <goals> <goal>generate</goal> @@ -466,10 +467,10 @@ <configuration> <inputSpec>${project.basedir}/api/offeredapis/swagger/pms-api-v3.yaml</inputSpec> <generatorName>openapi</generatorName> - <apisToGenerate>A1PolicyManagement</apisToGenerate> - <output>${project.basedir}/api/offeredapis/swagger</output> + <apisToGenerate>A1PolicyManagement</apisToGenerate> <!-- Select which apis to include. Current pms-api-v3 only has one API --> + <output>${project.basedir}/api/offeredapis/swagger/custom</output> <configOptions> - <outputFileName>a1pms-api-v3.json</outputFileName> + <outputFileName>a1pms-api-custom-v3.json</outputFileName> </configOptions> </configuration> </execution> @@ -490,8 +491,8 @@ provides a REST API for managing O-RAN A1 Policies.</appDescription> <appName>ONAP CCSDK A1 Policy Management Service</appName> <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl> - <licenseInfo>Copyright (C) 2020-2023 Nordix Foundation. Licensed - under the Apache License, and Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.</licenseInfo> + <licenseInfo>Copyright (C) 2020-2023 Nordix Foundation and Copyright (C) 2024-2025 OpenInfra Foundation Europe. + All rights reserved. Licensed under the Apache 2 License, </licenseInfo> <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl> </configOptions> </configuration> @@ -509,34 +510,37 @@ <skipOperationExample>false</skipOperationExample> <strictSpec>false</strictSpec> <configOptions> - <appDescription>The O-RAN Non-RT RIC Policy Management Service + <appDescription>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing O-RAN A1 Policies.</appDescription> <appName>ONAP CCSDK A1 Policy Management Service</appName> <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl> - <licenseInfo>Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.</licenseInfo> + <licenseInfo>Copyright (C) 2020-2023 Nordix Foundation and Copyright (C) 2024-2025 OpenInfra Foundation Europe. + All rights reserved.</licenseInfo> <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl> </configOptions> </configuration> </execution> <execution> <id>generate-openapi-html-custom-a1pms</id> + <!-- Create a version of OpenAPI documentation with a subset of the APIs present--> <phase>prepare-package</phase> <goals> <goal>generate</goal> </goals> <configuration> - <inputSpec>${project.basedir}/api/offeredapis/swagger/a1pms-api-v3.json</inputSpec> + <inputSpec>${project.basedir}/api/offeredapis/swagger/custom/a1pms-api-custom-v3.json</inputSpec> <generatorName>html2</generatorName> <output>${project.basedir}/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom</output> <skipOperationExample>false</skipOperationExample> <strictSpec>false</strictSpec> - <apisToGenerate>A1PolicyManagement</apisToGenerate> + <apisToGenerate>A1PolicyManagement</apisToGenerate> <!-- Select which apis to include. Current a1pms-api-custom-v3 only has one API --> <configOptions> - <appDescription>The O-RAN Non-RT RIC Policy Management Service + <appDescription>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing O-RAN A1 Policies.</appDescription> <appName>ONAP CCSDK A1 Policy Management Service</appName> <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl> - <licenseInfo>Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.</licenseInfo> + <licenseInfo>Copyright (C) 2020-2023 Nordix Foundation and Copyright (C) 2024-2025 OpenInfra Foundation Europe. + All rights reserved.</licenseInfo> <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl> </configOptions> </configuration> @@ -623,7 +627,7 @@ <include>swagger/pms-api.yaml</include> <include>swagger/pms-api-v3.json</include> <include>swagger/pms-api-v3.yaml</include> - <include>swagger/a1pms-api-v3.json</include> + <include>swagger/custom/a1pms-api-custom-v3.json</include> <include>openapitoolgen/offeredapis/pms-api/index.html</include> <include>openapitoolgen/offeredapis/pms-api/v3/index.html</include> <include>openapitoolgen/offeredapis/pms-api/v3/custom/index.html</include> diff --git a/docs/media/ORAN-A1PolicyFunction-Architecture-Istanbul.png b/docs/media/ORAN-A1PolicyFunction-Architecture-Istanbul.png Binary files differnew file mode 100644 index 00000000..dc78a7b2 --- /dev/null +++ b/docs/media/ORAN-A1PolicyFunction-Architecture-Istanbul.png diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst index f510bb75..579b4aaa 100644 --- a/docs/offeredapis/offeredapis.rst +++ b/docs/offeredapis/offeredapis.rst @@ -47,9 +47,8 @@ API Table :header: "API name", "|swagger-icon|", "|yaml-icon|" :widths: 10,5, 5 - "A1 Policy Management Service API (NBI)", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`" - "A1 PolicyManagementService, ServiceRegistry, Configuration, and NearRT-RIC Repository API V3 (NBI)", ":download:`link <./swagger/pms-api-v3.json>`", ":download:`link <./swagger/pms-api-v3.yaml>`" - "A1 Policy Management Service API V3 (NBI)", ":download:`link <./swagger/a1pms-api-v3.json>`" + "Older A1PolicyManagementService, ServiceRegistry, Configuration, NearRT-RIC Repository, Health Check APIs, and Admin/Actuator APIs (NBI)", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`" + "New 'V3' A1PolicyManagementService, ServiceRegistry, Configuration, NearRT-RIC Repository, and Health Check APIs (NBI)", ":download:`link <./swagger/pms-api-v3.json>`", ":download:`link <./swagger/pms-api-v3.yaml>`" "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`", ":download:`link <./swagger/a1-adapter-api.yaml>`" .. _pms_api: @@ -57,8 +56,9 @@ API Table A1 Policy Management Service API ................................ -The A1 Policy Management Service API is described in more detail in `A1 Policy Management Service API (html) <./pms-api.html>`_ -A1 PolicyManagementService, ServiceRegistry, Configuration, and NearRT-RIC Repository API version 3 is described in more detail at `A1 Policy Management Service API V3 (html) <./pms-api-v3.html>`_ +The new "V3" A1 PolicyManagementService, ServiceRegistry, Configuration, NearRT-RIC Repository, and Health Check APIs (NBI) are described in more detail in `A1 Policy Management Service API (html) <./pms-api.html>`_ + +The older A1PolicyManagementService, ServiceRegistry, Configuration, NearRT-RIC Repository, Health Check APIs, and Admin/Actuator APIs are described in more detail at `A1 Policy Management Service API "V3" (html) <./pms-api-v3.html>`_ .. _a1_adapter_api: diff --git a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html index 9580d539..c59e6223 100644 --- a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html +++ b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> - <title>A1 Policy Management Service</title> + <title>ONAP CCSDK A1 Policy Management Service</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8" /> @@ -1240,7 +1240,7 @@ ul.nav-tabs { <div id="content"> <div id="project"> <div class="pull-left"> - <h1>A1 Policy Management Service</h1> + <h1>ONAP CCSDK A1 Policy Management Service</h1> </div> <div class="clearfix"></div> </div> @@ -1250,7 +1250,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.3.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> </div> </div> @@ -1385,10 +1385,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-deletePolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -1831,10 +1831,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -2284,10 +2284,10 @@ String *typeName = typeName_example; // Select policies of types with the given </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyIds-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'policytypeId': policytypeId_example, // {String} Select policies of a given policy type identity. 'ricId': ricId_example, // {String} Select policies of a given Near-RT RIC identity. @@ -2819,10 +2819,10 @@ String *typeName = typeName_example; // Select policies of a given type name (ty </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyInstances-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'policytypeId': policytypeId_example, // {String} Select policies with a given type identity. 'ricId': ricId_example, // {String} Select policies for a given Near-RT RIC identity. @@ -3345,10 +3345,10 @@ String *policyId = policyId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyStatus-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyId = policyId_example; // {String} var callback = function(error, data, response) { @@ -3782,10 +3782,10 @@ String *policytypeId = policytypeId_example; // (default to null) </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policytypeId = policytypeId_example; // {String} var callback = function(error, data, response) { @@ -4229,10 +4229,10 @@ String *compatibleWithVersion = compatibleWithVersion_example; // Select types t </div> <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypes-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var opts = { 'ricId': ricId_example, // {String} Select types for the given Near-RT RIC identity. 'typeName': typeName_example, // {String} Select types with the given type name (type identity has the format <typename_version>) @@ -4722,10 +4722,10 @@ PolicyInfo *policyInfo = ; // </div> <div class="tab-pane" id="examples-A1PolicyManagement-putPolicy-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.A1PolicyManagementApi() +var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi() var policyInfo = ; // {PolicyInfo} var callback = function(error, data, response) { @@ -5269,10 +5269,10 @@ PolicyAuthorization *policyAuthorization = ; // </div> <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.AuthorizationAPIApi() +var api = new OnapCcsdkA1PolicyManagementService.AuthorizationAPIApi() var policyAuthorization = ; // {PolicyAuthorization} var callback = function(error, data, response) { @@ -5735,10 +5735,10 @@ ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; </div> <div class="tab-pane" id="examples-Configuration-getConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ConfigurationApi() +var api = new OnapCcsdkA1PolicyManagementService.ConfigurationApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -6135,10 +6135,10 @@ Object *body = Object; // </div> <div class="tab-pane" id="examples-Configuration-putConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ConfigurationApi() +var api = new OnapCcsdkA1PolicyManagementService.ConfigurationApi() var body = Object; // {Object} var callback = function(error, data, response) { @@ -6599,10 +6599,10 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </div> <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new OnapCcsdkA1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -6929,10 +6929,10 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </div> <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new OnapCcsdkA1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -7267,10 +7267,10 @@ String *ricId = ricId_example; // The identity of a Near-RT RIC to get informati </div> <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.NearRTRICRepositoryApi() +var api = new OnapCcsdkA1PolicyManagementService.NearRTRICRepositoryApi() var opts = { 'managedElementId': managedElementId_example, // {String} The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. 'ricId': ricId_example // {String} The identity of a Near-RT RIC to get information for. @@ -7735,10 +7735,10 @@ String *policytypeId = policytypeId_example; // The identity of a policy type. I </div> <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.NearRTRICRepositoryApi() +var api = new OnapCcsdkA1PolicyManagementService.NearRTRICRepositoryApi() var opts = { 'policytypeId': policytypeId_example // {String} The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned }; @@ -8179,10 +8179,10 @@ String *serviceId = serviceId_example; // (default to null) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-deleteService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceId = serviceId_example; // {String} var callback = function(error, data, response) { @@ -8612,10 +8612,10 @@ String *serviceId = serviceId_example; // The identity of the service (optional) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-getServices-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var opts = { 'serviceId': serviceId_example // {String} The identity of the service }; @@ -9054,10 +9054,10 @@ String *serviceId = serviceId_example; // (default to null) </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-keepAliveService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceId = serviceId_example; // {String} var callback = function(error, data, response) { @@ -9491,10 +9491,10 @@ ServiceRegistrationInfo *serviceRegistrationInfo = ; // </div> <div class="tab-pane" id="examples-ServiceRegistryAndSupervision-putService-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); + <pre class="prettyprint"><code class="language-js">var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() +var api = new OnapCcsdkA1PolicyManagementService.ServiceRegistryAndSupervisionApi() var serviceRegistrationInfo = ; // {ServiceRegistrationInfo} var callback = function(error, data, response) { @@ -9916,7 +9916,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html index 2defcfbe..db7407bf 100644 --- a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html +++ b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html @@ -941,18 +941,18 @@ ul.nav-tabs { "properties" : {
"nearRtRicId" : {
"type" : "string",
- "description" : "identity of the target Near-RT RIC",
+ "description" : "Identity of the target Near-RT RIC",
"example" : "Near-RT-Ric-ID"
},
"transient" : {
"type" : "boolean",
- "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 deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
"nullable" : false,
"default" : false
},
"policyId" : {
"type" : "string",
- "description" : "identity of the Policy",
+ "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.",
"example" : "POLICY-ID"
},
"serviceId" : {
@@ -965,7 +965,7 @@ ul.nav-tabs { },
"policyTypeId" : {
"type" : "string",
- "description" : "identity of the policy type",
+ "description" : "Identity of the policy type",
"example" : "ORAN_QOS_1.0.0(typeName_SemVersion)"
}
},
@@ -1096,7 +1096,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of the Near-RT RIC"
+ "description" : "Identity of the Near-RT RIC"
},
"managedElementIds" : {
"type" : "array",
@@ -1141,7 +1141,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of a Near-RT RIC"
+ "description" : "Identity of a Near-RT RIC"
},
"eventType" : {
"type" : "string",
@@ -1161,7 +1161,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1180,7 +1180,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1279,7 +1279,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.0.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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> </div> </div> @@ -11049,7 +11049,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html index 0e7aaa76..95280413 100644 --- a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html +++ b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html @@ -941,18 +941,18 @@ ul.nav-tabs { "properties" : {
"nearRtRicId" : {
"type" : "string",
- "description" : "identity of the target Near-RT RIC",
+ "description" : "Identity of the target Near-RT RIC",
"example" : "Near-RT-Ric-ID"
},
"transient" : {
"type" : "boolean",
- "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 deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
"nullable" : false,
"default" : false
},
"policyId" : {
"type" : "string",
- "description" : "identity of the Policy",
+ "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.",
"example" : "POLICY-ID"
},
"serviceId" : {
@@ -965,7 +965,7 @@ ul.nav-tabs { },
"policyTypeId" : {
"type" : "string",
- "description" : "identity of the policy type",
+ "description" : "Identity of the policy type",
"example" : "ORAN_QOS_1.0.0(typeName_SemVersion)"
}
},
@@ -1096,7 +1096,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of the Near-RT RIC"
+ "description" : "Identity of the Near-RT RIC"
},
"managedElementIds" : {
"type" : "array",
@@ -1141,7 +1141,7 @@ ul.nav-tabs { "properties" : {
"ricId" : {
"type" : "string",
- "description" : "identity of a Near-RT RIC"
+ "description" : "Identity of a Near-RT RIC"
},
"eventType" : {
"type" : "string",
@@ -1161,7 +1161,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1180,7 +1180,7 @@ ul.nav-tabs { },
"serviceId" : {
"type" : "string",
- "description" : "identity of the service"
+ "description" : "Identity of the service"
},
"keepAliveIntervalSeconds" : {
"type" : "integer",
@@ -1310,7 +1310,7 @@ ul.nav-tabs { <div class="app-desc">Version: 1.0.0</div> <hr> <div id="app-description" class="app-desc"> - <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> + <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> </div> </div> @@ -15344,7 +15344,7 @@ $(document).ready(function() { <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.</div> + <div class="license-info">Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/docs/offeredapis/swagger/custom/a1pms-api-custom-v3.json b/docs/offeredapis/swagger/custom/a1pms-api-custom-v3.json new file mode 100644 index 00000000..0fc875fa --- /dev/null +++ b/docs/offeredapis/swagger/custom/a1pms-api-custom-v3.json @@ -0,0 +1,2454 @@ +{ + "openapi" : "3.0.3", + "info" : { + "contact" : { + "email" : "discuss-list@onap.com", + "url" : "https://www.onap.org/" + }, + "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>", + "license" : { + "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.", + "url" : "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title" : "A1 policy management API", + "version" : "1.0.0", + "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", + "x-audience" : "external-public" + }, + "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" + } + } + } ], + "tags" : [ { + "description" : "**(Newer Version)** API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "name" : "A1 Policy Management" + }, { + "description" : "API used to get the NearRT-RIC for the managed element.", + "name" : "NearRT-RIC Repository" + }, { + "description" : "API used to keep the service Alive with in the timeout period", + "name" : "Service Registry and Supervision" + }, { + "description" : "API used to get the health status and statistics of this service", + "name" : "Health Check" + }, { + "description" : "API used to create or fetch the application configuration.", + "name" : "Configuration" + } ], + "paths" : { + "/status" : { + "get" : { + "description" : "Returns status and statistics of this service", + "operationId" : "getStatus", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "status_info" : { + "$ref" : "#/components/examples/StatusInfo" + } + }, + "schema" : { + "$ref" : "#/components/schemas/StatusInfo" + } + } + }, + "description" : "OK- Service is living Ok" + } + }, + "tags" : [ "Health Check" ] + } + }, + "/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" : "managedElementId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "The identity of a Near-RT RIC to get information for.", + "explode" : true, + "in" : "query", + "name" : "ricId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "ric_info" : { + "$ref" : "#/components/examples/RicInfo" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RicInfo" + } + } + }, + "description" : "OK - Near-RT RIC is found OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "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" : "policyTypeId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "ric_info_list" : { + "$ref" : "#/components/examples/RicInfoList" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RicInfoList" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Query Near-RT RIC information", + "tags" : [ "NearRT-RIC Repository" ] + } + }, + "/policy-types" : { + "get" : { + "description" : "Query policy type identities", + "operationId" : "getPolicyTypes", + "parameters" : [ { + "description" : "Select types for the given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "nearRtRicId", + "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" : "typeName", + "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" : "compatibleWithVersion", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "PolicyTypeInformation" : { + "$ref" : "#/components/examples/PolicyTypeInformation" + } + }, + "schema" : { + "items" : { + "$ref" : "#/components/schemas/PolicyTypeInformation" + }, + "type" : "array" + } + } + }, + "description" : "OK - Policy Type IDs found Ok" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policy-types/{policyTypeId}" : { + "get" : { + "description" : "Returns a policy type definition", + "operationId" : "getPolicyTypeDefinition", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyTypeId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "PolicyTypeObject" : { + "$ref" : "#/components/examples/PolicyTypeObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyTypeObject" + } + } + }, + "description" : "OK - schema of the given policy type" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policies/{policyId}" : { + "delete" : { + "description" : "Deleting the policy using policyId.", + "operationId" : "deletePolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "description" : "The A1 policy was deleted" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "summary" : "Delete a policy", + "tags" : [ "A1 Policy Management" ] + }, + "get" : { + "description" : "Returns a policy", + "operationId" : "getPolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policyObject" : { + "$ref" : "#/components/examples/PolicyObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "description" : "OK - Policy found" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + }, + "put" : { + "description" : "update a policy", + "operationId" : "putPolicy", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "policyObject" : { + "$ref" : "#/components/examples/PolicyObject" + } + }, + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObject" + } + } + }, + "description" : "OK - Policy updated" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "411" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Length Required" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/policies/{policyId}/status" : { + "get" : { + "description" : "Query a policy status", + "operationId" : "getPolicyStatus", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyStatusObject" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "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", + "parameters" : [ { + "description" : "Select policies of a given policy type identity.", + "explode" : true, + "in" : "query", + "name" : "policyTypeId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies of a given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "nearRtRicId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies owned by a given service.", + "explode" : true, + "in" : "query", + "name" : "serviceId", + "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" : "typeName", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/PolicyInformation" + }, + "type" : "array" + } + } + }, + "description" : "OK - Policy identities" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "summary" : "Query policy identities", + "tags" : [ "A1 Policy Management" ] + }, + "post" : { + "description" : "To create A1 policies", + "operationId" : "createPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObjectInformation" + } + } + }, + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyObjectInformation" + } + } + }, + "description" : "Success case 201 created", + "headers" : { + "Location" : { + "description" : "Contains the URI of the newly created resource", + "explode" : false, + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } + } + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, + "/configuration" : { + "get" : { + "description" : "Returns the contents of the application configuration", + "operationId" : "getConfiguration", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "description" : "OK - Application configuration received" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "tags" : [ "Configuration" ] + }, + "put" : { + "description" : "Replace the current configuration file with the given configuration", + "operationId" : "putConfiguration", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "OK - Configuration updated" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + } + }, + "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", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "serviceId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK - Service supervision timer refreshed, OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "parameters" : [ { + "description" : "The identity of the service", + "explode" : true, + "in" : "query", + "name" : "serviceId", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "service_status_list" : { + "$ref" : "#/components/examples/ServiceStatusList" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceStatusList" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Returns service information", + "tags" : [ "Service Registry and Supervision" ] + }, + "put" : { + "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", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceCallbackInfo" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "summary" : "Callback for Near-RT RIC status." + } + } + } + }, + "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/ServiceRegistrationInfo" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK - Service updated" + }, + "201" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "Created - Service created" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + } + }, + "summary" : "Register a service", + "tags" : [ "Service Registry and Supervision" ] + } + }, + "/services/{serviceId}" : { + "delete" : { + "description" : "Unregister a service", + "operationId" : "deleteService", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "serviceId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "No Content - Service unregistered" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + } + }, + "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", + "keepAliveIntervalSeconds" : 0, + "timeSinceLastActivitySeconds" : 6 + } ] + } + }, + "PolicyStatusInfo" : { + "description" : "Status for one A1-P Policy", + "value" : { + "lastModified" : "last_modified", + "status" : { + "value" : { + "status" : "status" + } + } + } + }, + "StatusInfo" : { + "value" : { + "status" : "status" + } + }, + "RicInfo" : { + "value" : { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + } + }, + "RicInfoList" : { + "value" : { + "rics" : [ { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + }, { + "ricId" : "ricId", + "managedElementIds" : [ "managedElementId", "managedElementId" ], + "state" : "UNAVAILABLE", + "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + } ] + } + }, + "PolicyObject" : { + "value" : { + "scope" : { + "ueId" : { + "guRanUeId" : { + "globalGnbId" : { + "plmnId" : { + "mcc" : "123", + "mnc" : "45" + }, + "gnbId" : { + "gnbIdLength" : 24, + "gnbIdValue" : 12345678 + } + }, + "RanUeId" : "a31c510b20e64a74" + } + }, + "groupId" : { + "spId" : 123 + }, + "qosId" : { + "5qI" : 1 + }, + "cellId" : { + "plmnId" : { + "mcc" : "123", + "mnc" : "45" + }, + "cId" : { + "ncI" : 123 + } + } + }, + "qosObjectives" : { + "gfbr" : 100, + "mfbr" : 200, + "priorityLevel" : 3, + "pdb" : 50 + } + } + }, + "PolicyTypeInformation" : { + "value" : [ { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_1" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_1" + } ] + }, + "PolicyTypeObject" : { + "value" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS2 policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + } + } + } + }, + "responses" : { + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "411" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Length Required" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + }, + "Locked" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "State is Locked in the provided request." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorInformation" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + } + }, + "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", + "example" : { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, + "properties" : { + "policyTypeId" : { + "description" : "Identity of the policy type", + "type" : "string" + }, + "nearRtRicId" : { + "$ref" : "#/components/schemas/NearRtRicId" + } + }, + "required" : [ "nearRtRicId", "policyTypeId" ], + "type" : "object" + }, + "PolicyObjectInformation" : { + "description" : "Information related to the creation of the policy", + "properties" : { + "nearRtRicId" : { + "description" : "Identity of the target Near-RT RIC", + "example" : "Near-RT-Ric-ID", + "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.", + "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.", + "example" : "POLICY-ID", + "type" : "string" + }, + "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.", + "example" : "rApp ID", + "type" : "string" + }, + "policyObject" : { + "$ref" : "#/components/schemas/PolicyObject" + }, + "policyTypeId" : { + "description" : "Identity of the policy type", + "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", + "type" : "string" + } + }, + "required" : [ "nearRtRicId", "policyObject", "policyTypeId" ], + "type" : "object" + }, + "ErrorInformation" : { + "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", + "example" : "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" + }, + "PolicyObject" : { + "description" : "Policy Object is a JSON representation of an A1 policy", + "type" : "object" + }, + "PolicyTypeObject" : { + "description" : "policy type object as defined in A1TD", + "example" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + }, + "statusSchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0.2.0", + "description" : "STD QOS policy type status", + "type" : "object", + "properties" : { + "enforceStatus" : { + "type" : "string" + }, + "enforceReason" : { + "type" : "string" + }, + "additionalProperties" : false, + "required" : [ "enforceStatus" ] + } + } + }, + "properties" : { + "policySchema" : { + "$ref" : "#/components/schemas/PolicySchema" + }, + "statusSchema" : { + "$ref" : "#/components/schemas/StatusSchema" + } + }, + "required" : [ "policySchema" ], + "type" : "object" + }, + "PolicySchema" : { + "description" : "The schemas are policy type specific", + "type" : "object" + }, + "StatusSchema" : { + "description" : "The optional schema for policy status", + "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.", + "type" : "object" + }, + "void" : { + "description" : "Void/empty", + "type" : "object" + }, + "StatusInfo" : { + "properties" : { + "status" : { + "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" : { + "ricId" : { + "description" : "Identity of the Near-RT RIC", + "type" : "string" + }, + "managedElementIds" : { + "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" + }, + "policyTypeIds" : { + "description" : "supported policy types", + "items" : { + "description" : "supported policy types", + "type" : "string" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "ServiceRegistrationInfo" : { + "description" : "Information for one service", + "properties" : { + "callbackUrl" : { + "description" : "callback 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.", + "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" : { + "properties" : { + "callbackUrl" : { + "description" : "callback for notifying of RIC synchronization", + "type" : "string" + }, + "serviceId" : { + "description" : "Identity of the service", + "type" : "string" + }, + "keepAliveIntervalSeconds" : { + "description" : "policy keep alive timeout", + "format" : "int64", + "type" : "integer" + }, + "timeSinceLastActivitySeconds" : { + "description" : "time since last invocation by the service", + "format" : "int64", + "type" : "integer" + } + }, + "type" : "object" + }, + "RicInfoList" : { + "description" : "List of Near-RT RIC information", + "properties" : { + "rics" : { + "description" : "List of Near-RT RIC information", + "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", + "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", + "properties" : { + "policyId" : { + "description" : "Identity of the policy", + "type" : "string" + }, + "nearRtRicId" : { + "$ref" : "#/components/schemas/NearRtRicId" + } + }, + "required" : [ "nearRtRicId", "policyId" ], + "type" : "object" + }, + "ServiceStatusList" : { + "properties" : { + "serviceList" : { + "description" : "List of service information", + "items" : { + "$ref" : "#/components/schemas/ServiceStatus" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "ServiceCallbackInfo" : { + "description" : "Information transferred as in Service callbacks (callback_url)", + "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", + "enum" : [ "AVAILABLE" ], + "type" : "string" + } + }, + "required" : [ "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", + "properties" : { + "type" : { + "description" : "a URI reference according to IETF RFC 3986 that identifies the problem type", + "type" : "string" + }, + "title" : { + "description" : "human-readable summary of the problem type", + "type" : "string" + }, + "status" : { + "description" : "the HTTP status code", + "type" : "number" + }, + "detail" : { + "description" : "human-readable explanation ", + "type" : "string" + }, + "instance" : { + "description" : "URI reference that identifies the specific occurrence of the problem", + "type" : "string" + } + }, + "type" : "object" + } + } + } +}
\ No newline at end of file diff --git a/docs/offeredapis/swagger/pms-api-v3.json b/docs/offeredapis/swagger/pms-api-v3.json index d8d3041e..0fc875fa 100644 --- a/docs/offeredapis/swagger/pms-api-v3.json +++ b/docs/offeredapis/swagger/pms-api-v3.json @@ -5,9 +5,9 @@ "email" : "discuss-list@onap.com", "url" : "https://www.onap.org/" }, - "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>", + "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>", "license" : { - "name" : "Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache License.", + "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.", "url" : "http://www.apache.org/licenses/LICENSE-2.0" }, "title" : "A1 policy management API", @@ -20,12 +20,12 @@ "variables" : { "apiRoot" : { "default" : "https://example.com", - "description" : "This is the Host:Port or Address where the A1-Policy Management Service can be accessed" + "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" } } } ], "tags" : [ { - "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "description" : "**(Newer Version)** API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", "name" : "A1 Policy Management" }, { "description" : "API used to get the NearRT-RIC for the managed element.", @@ -37,8 +37,6 @@ "description" : "API used to get the health status and statistics of this service", "name" : "Health Check" }, { - "name" : "Service callbacks" - }, { "description" : "API used to create or fetch the application configuration.", "name" : "Configuration" } ], @@ -1610,7 +1608,7 @@ "RICStatus" : { "{$request.body#/callback_url}" : { "post" : { - "description" : "The URL to this call is registered at Service registration.", + "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", "requestBody" : { "content" : { @@ -1644,8 +1642,7 @@ "description" : "Not Found" } }, - "summary" : "Callback for Near-RT RIC status", - "tags" : [ "Service callbacks" ] + "summary" : "Callback for Near-RT RIC status." } } } @@ -2079,18 +2076,18 @@ "description" : "Information related to the creation of the policy", "properties" : { "nearRtRicId" : { - "description" : "identity of the target Near-RT RIC", + "description" : "Identity of the target Near-RT RIC", "example" : "Near-RT-Ric-ID", "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.", + "description" : "If true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", "nullable" : false, "type" : "boolean" }, "policyId" : { - "description" : "identity of the Policy", + "description" : "The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated.", "example" : "POLICY-ID", "type" : "string" }, @@ -2103,7 +2100,7 @@ "$ref" : "#/components/schemas/PolicyObject" }, "policyTypeId" : { - "description" : "identity of the policy type", + "description" : "Identity of the policy type", "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", "type" : "string" } @@ -2242,7 +2239,7 @@ "description" : "Information for a Near-RT RIC", "properties" : { "ricId" : { - "description" : "identity of the Near-RT RIC", + "description" : "Identity of the Near-RT RIC", "type" : "string" }, "managedElementIds" : { @@ -2277,7 +2274,7 @@ "type" : "string" }, "serviceId" : { - "description" : "identity of the service", + "description" : "Identity of the service", "type" : "string" }, "keepAliveIntervalSeconds" : { @@ -2310,7 +2307,7 @@ "type" : "string" }, "serviceId" : { - "description" : "identity of the service", + "description" : "Identity of the service", "type" : "string" }, "keepAliveIntervalSeconds" : { @@ -2403,7 +2400,7 @@ "description" : "Information transferred as in Service callbacks (callback_url)", "properties" : { "ricId" : { - "description" : "identity of a Near-RT RIC", + "description" : "Identity of a Near-RT RIC", "type" : "string" }, "eventType" : { diff --git a/docs/offeredapis/swagger/pms-api-v3.yaml b/docs/offeredapis/swagger/pms-api-v3.yaml index 8bcfdf4b..e21f679e 100644 --- a/docs/offeredapis/swagger/pms-api-v3.yaml +++ b/docs/offeredapis/swagger/pms-api-v3.yaml @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2024 - 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. @@ -22,7 +22,7 @@ info: version: 1.0.0 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\ + 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\ @@ -47,7 +47,7 @@ info: \ for access control of A1 Policy access. If configured, an external authorization\ \ provider is requested to grant access to the A1 Policy type.</p>" license: - name: Copyright (C) 2024 OpenInfra Foundation Europe. Licensed under the Apache 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/ @@ -57,17 +57,17 @@ servers: variables: apiRoot: default: 'https://example.com' - description: 'This is the Host:Port or Address where the A1-Policy Management Service can be accessed' + 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' 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." + description: "**(Newer Version)** 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: Configuration description: "API used to create or fetch the application configuration." paths: @@ -761,7 +761,7 @@ paths: RICStatus: "{$request.body#/callback_url}": post: - description: The URL to this call is registered at Service registration. + 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 requestBody: content: @@ -778,9 +778,7 @@ paths: description: OK "404": $ref: '#/components/responses/404' - summary: Callback for Near-RT RIC status - tags: - - Service callbacks + summary: "Callback for Near-RT RIC status." /services/{serviceId}: delete: operationId: deleteService @@ -953,19 +951,19 @@ components: type: object properties: nearRtRicId: - description: identity of the target Near-RT RIC + description: Identity of the target Near-RT RIC type: string example: 'Near-RT-Ric-ID' transient: default: false - description: "if true, the policy is deleted at RIC restart. If false, its\ + description: "If true, the policy is deleted at RIC restart. If false, its\ \ value is maintained by this service until explicitly deleted. Default\ \ false." nullable: false type: boolean policyId: - description: identity of the Policy + description: The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated. type: string example: 'POLICY-ID' @@ -979,7 +977,7 @@ components: policyObject: $ref: '#/components/schemas/PolicyObject' policyTypeId: - description: identity of the policy type + description: Identity of the policy type type: string example: 'ORAN_QOS_1.0.0(typeName_SemVersion)' required: @@ -1090,7 +1088,7 @@ components: description: Information for a Near-RT RIC properties: ricId: - description: identity of the Near-RT RIC + description: Identity of the Near-RT RIC type: string managedElementIds: description: O1 identities for managed entities @@ -1120,7 +1118,7 @@ components: description: callback for notifying of Near-RT RIC state changes type: string serviceId: - description: identity of the service + description: Identity of the service type: string keepAliveIntervalSeconds: description: "keep alive interval for the service. This is used to enable\ @@ -1151,7 +1149,7 @@ components: description: callback for notifying of RIC synchronization type: string serviceId: - description: identity of the service + description: Identity of the service type: string keepAliveIntervalSeconds: description: policy keep alive timeout @@ -1230,7 +1228,7 @@ components: description: Information transferred as in Service callbacks (callback_url) properties: ricId: - description: identity of a Near-RT RIC + description: Identity of a Near-RT RIC type: string eventType: description: "values:\nAVAILABLE: the Near-RT RIC has become available\ diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json index deb57430..036e7fea 100644 --- a/docs/offeredapis/swagger/pms-api.json +++ b/docs/offeredapis/swagger/pms-api.json @@ -5,12 +5,12 @@ "email" : "discuss-list@onap.com", "url" : "https://www.onap.org/" }, - "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>", + "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><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.", + "name" : "Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved. Licensed under the Apache 2 License.", "url" : "http://www.apache.org/licenses/LICENSE-2.0" }, - "title" : "A1 Policy Management Service", + "title" : "ONAP CCSDK A1 Policy Management Service", "version" : "1.3.0", "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", "x-audience" : "external-public" @@ -19,8 +19,8 @@ "url" : "/" } ], "tags" : [ { - "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", - "name" : "A1 Policy Management" + "description" : "Older API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances.", + "name" : "A1 Policy Management (Older version)" }, { "description" : "API used to get the NearRT-RIC for the managed element.", "name" : "NearRT-RIC Repository" @@ -31,9 +31,10 @@ "description" : "API used to get the health status and statistics of this service", "name" : "Health Check" }, { + "description" : "Callouts to indicate status schanges relevant for Services. <br> Note that these calls are called by A1-PMS, not provided.", "name" : "Service callbacks" }, { - "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.", + "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 A1-PMS, it is not provided.", "name" : "Authorization API" }, { "description" : "API used to create or fetch the application configuration.", diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml index c0b50d4d..421201e9 100644 --- a/docs/offeredapis/swagger/pms-api.yaml +++ b/docs/offeredapis/swagger/pms-api.yaml @@ -1,6 +1,4 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020-2023 Nordix Foundation -# Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved. # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2021 Bell Canada # ================================================================================ @@ -23,7 +21,7 @@ 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\ + 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\ @@ -50,9 +48,10 @@ info: \ 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. + name: Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. + All rights reserved. Licensed under the Apache 2 License. url: http://www.apache.org/licenses/LICENSE-2.0 - title: A1 Policy Management Service + title: ONAP CCSDK A1 Policy Management Service version: 1.3.0 contact: url: https://www.onap.org/ @@ -60,9 +59,9 @@ info: 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: A1 Policy Management (Older version) + description: "Older 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 @@ -70,10 +69,12 @@ tags: - name: Health Check description: "API used to get the health status and statistics of this service" - name: Service callbacks + description: "Callouts to indicate status schanges relevant for Services. + <br> Note that these calls are called by A1-PMS, not provided." - 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." + by A1-PMS, it is not provided." - name: Configuration description: "API used to create or fetch the application configuration." - name: Actuator |