From d624b6ff7795cc1caf0520f29bd63cfa56220cc0 Mon Sep 17 00:00:00 2001 From: "saul.gill" Date: Thu, 6 Mar 2025 17:09:12 +0000 Subject: [PATCH] Improve OpenAPI files and documentation Issue-ID: CCSDK-4034 Change-Id: Ia107df1414615550a85807a3b46bdb3db0267bf0 Signed-off-by: saul.gill --- .gitignore | 2 +- README.md | 7 +- .../openapitoolgen/offeredapis/pms-api/index.html | 510 +++-- .../offeredapis/pms-api/v3/custom/index.html | 1889 +++++++++-------- .../offeredapis/pms-api/v3/index.html | 2171 ++++++++++---------- .../api/offeredapis/swagger/README.md | 2 + .../api/offeredapis/swagger/custom/README.md | 2 + .../swagger/custom/a1pms-api-custom-v3.json | 379 ++-- .../api/offeredapis/swagger/pms-api-v3.json | 379 ++-- .../api/offeredapis/swagger/pms-api-v3.yaml | 503 +++-- .../api/offeredapis/swagger/pms-api.json | 1661 ++++++++------- .../api/offeredapis/swagger/pms-api.yaml | 1342 ++++++------ .../controllers/v3/PolicyControllerV3.java | 4 +- docs/architecture/architecture.rst | 10 +- docs/guide/developer-guide.rst | 68 +- docs/humaninterfaces/humaninterfaces.rst | 4 +- ...ONAP-A1ControllerArchitecture-NewDelhiOslo.png} | Bin docs/media/ONAP-A1ControllerArchitecture-Paris.png | Bin 0 -> 224640 bytes docs/media/html_logo.png | Bin 0 -> 1816 bytes docs/offeredapis/offeredapis.rst | 49 +- .../openapitoolgen/offeredapis/pms-api/index.html | 510 +++-- .../offeredapis/pms-api/v3/custom/index.html | 1889 +++++++++-------- .../offeredapis/pms-api/v3/index.html | 2171 ++++++++++---------- .../swagger/custom/a1pms-api-custom-v3.json | 379 ++-- docs/offeredapis/swagger/pms-api-v3.json | 379 ++-- docs/offeredapis/swagger/pms-api-v3.yaml | 589 +++--- docs/offeredapis/swagger/pms-api.json | 1661 ++++++++------- docs/offeredapis/swagger/pms-api.yaml | 1342 ++++++------ 28 files changed, 9222 insertions(+), 8680 deletions(-) create mode 100644 a1-policy-management/api/offeredapis/swagger/README.md create mode 100644 a1-policy-management/api/offeredapis/swagger/custom/README.md rename docs/media/{ONAP-A1ControllerArchitecture-NewDelhi.png => ONAP-A1ControllerArchitecture-NewDelhiOslo.png} (100%) create mode 100644 docs/media/ONAP-A1ControllerArchitecture-Paris.png create mode 100644 docs/media/html_logo.png diff --git a/.gitignore b/.gitignore index 0f5d71ca..7ad4a3cb 100644 --- a/.gitignore +++ b/.gitignore @@ -43,5 +43,5 @@ out/ _build/ .swagger* docs/offeredapis/**/README.md -a1-policy-management/api/**/README.md +a1-policy-management/api/offeredapis/openapigentool/**/README.md a1-policy-management/api/**/.openapi-generator** diff --git a/README.md b/README.md index 9831f78b..d64456d0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## General -This source repository contains the code for the ORAN A1 related components. +This source repository contains the code for the O-RAN A1 related components. More information on the CCSDK A1 Policy Management Service can be found in the 'a1-policy-management' sub-directory. @@ -10,7 +10,7 @@ See also additional information at: - https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP - https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html -## Prerequisits +## Prerequisites To compile this code: @@ -21,7 +21,8 @@ To compile this code: ## License Copyright (C) 2022-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. 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 38e9caed..08df1a87 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 @@ - ONAP CCSDK A1 Policy Management Service + ONAP CCSDK - Pre-Spec A1 Policy Management API @@ -864,7 +864,7 @@ ul.nav-tabs { "detail" : { "type" : "string", "description" : " A human-readable explanation specific to this occurrence of the problem.", - "example" : "Policy type not found" + "example" : "A1 Policy Type not found" }, "title" : { "type" : "string", @@ -895,7 +895,7 @@ ul.nav-tabs { }, "policy_type_id" : { "type" : "string", - "description" : "Policy type identifier" + "description" : "A1 Policy Type identifier" } }, "description" : "input" @@ -952,14 +952,14 @@ ul.nav-tabs { }, "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 automatically deleted if the targeted Near-RT RIC restarts or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false.\n", "nullable" : false, "example" : false, "default" : false }, "service_id" : { "type" : "string", - "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.", + "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. If the service is registered, the A1 Policy Instance will be subject to the same supervision rules as the the service's other policies.\n", "default" : "" }, "policy_data" : { @@ -972,7 +972,7 @@ ul.nav-tabs { }, "policytype_id" : { "type" : "string", - "description" : "identity of the policy type" + "description" : "identity of the A1 Policy Type" } }, "description" : "Information for one A1-P Policy" @@ -1009,24 +1009,24 @@ ul.nav-tabs { "properties" : { "policy_schema" : { "type" : "object", - "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema" + "description" : "A1 Policy Type json schema. The schema is a json object following http://json-schema.org/draft-07/schema" } }, - "description" : "Contains policy type schema definition" + "description" : "Contains A1 Policy Type schema definition" }; defs["policy_type_id_list"] = { "type" : "object", "properties" : { "policytype_ids" : { "type" : "array", - "description" : "Policy type identities", + "description" : "A1 Policy Type identities", "items" : { "type" : "string", - "description" : "Policy type identities" + "description" : "A1 Policy Type identities" } } }, - "description" : "Information about policy types" + "description" : "Information about A1 Policy Types" }; defs["ric_info"] = { "type" : "object", @@ -1050,10 +1050,10 @@ ul.nav-tabs { }, "policytype_ids" : { "type" : "array", - "description" : "supported policy types", + "description" : "supported A1 Policy Types", "items" : { "type" : "string", - "description" : "supported policy types" + "description" : "supported A1 Policy Types" } } }, @@ -1082,11 +1082,11 @@ ul.nav-tabs { }, "event_type" : { "type" : "string", - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", + "description" : "values: \n AVAILABLE: the Near-RT RIC has become available for A1 Policy management\n", "enum" : [ "AVAILABLE" ] } }, - "description" : "Information transferred as in Service callbacks (callback_url)" + "description" : "Information transferred in Service callbacks, \nif a callback URL was provided for a registered service\n" }; defs["service_registration_info"] = { "required" : [ "service_id" ], @@ -1094,7 +1094,7 @@ ul.nav-tabs { "properties" : { "callback_url" : { "type" : "string", - "description" : "callback for notifying of Near-RT RIC state changes" + "description" : "Callback for notifying of Near-RT RIC state changes" }, "service_id" : { "type" : "string", @@ -1102,7 +1102,7 @@ ul.nav-tabs { }, "keep_alive_interval_seconds" : { "type" : "integer", - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", + "description" : "Keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.\n", "format" : "int64" } }, @@ -1240,7 +1240,7 @@ ul.nav-tabs {
-

ONAP CCSDK A1 Policy Management Service

+

ONAP CCSDK - Pre-Spec A1 Policy Management API

@@ -1250,7 +1250,7 @@ ul.nav-tabs {
Version: 1.3.0

-

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managemecnt of A1 policies.
The main tasks of the service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining a view of supported Near-RT RIC policy types
  • Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management

This is an API for management of A1 Policies.

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.

Health Check

API used for supervision of the PMS component.

Service Registry and Supervision

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.

Authorization API

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.

Spring Boot Actuator

Provides generic functions used to monitor and manage the Spring web application.

+

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies.
This document describes an older pre-spec API set to perform tasks for:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
  • Maintaining a view of each Near-RT RIC's supported A1 Policy Types
  • Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management (Older pre-spec version)

This is an older API for managing A1 Policies:

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy Types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service Callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository (Older version)

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.

Health Check

API used for supervision of the A1 Policy Management Service .

Service Registry and Supervision

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note that services do not need to be registered to create A1 Policies, but unregistered services are not supervised. This is a feature that is optional to use.

Authorization API

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.

Spring Boot Actuator

Provides built-in functions used to monitor and configure the Spring web application hosting the service.

@@ -1262,12 +1262,12 @@ ul.nav-tabs {

deletePolicy

-

Delete a policy

+

Delete an A1 Policy instance (deletePolicy)

-

Deleting the policy using the Policy's Policy ID.

+

Delete an A1 Policy instance using its policy ID.


/a1-policy/v2/policies/{policy_id}
@@ -1371,7 +1371,7 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) -// Delete a policy +// Delete an A1 Policy instance (deletePolicy) [apiInstance deletePolicyWith:policyId completionHandler: ^(Object output, NSError* error) { if (output) { @@ -1385,10 +1385,10 @@ String *policyId = policyId_example; // (default to null)
-
var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service');
+                              
var OnapCcsdkPreSpecA1PolicyManagementApi = require('onap_ccsdk_pre_spec_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi()
+var api = new OnapCcsdkPreSpecA1PolicyManagementApi.A1PolicyManagementApi()
 var policyId = policyId_example; // {String} 
 
 var callback = function(error, data, response) {
@@ -1424,7 +1424,7 @@ namespace Example
             var policyId = policyId_example;  // String |  (default to null)
 
             try {
-                // Delete a policy
+                // Delete an A1 Policy instance (deletePolicy)
                 Object result = apiInstance.deletePolicy(policyId);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -1483,7 +1483,7 @@ api_instance = openapi_client.A1PolicyManagementApi()
 policyId = policyId_example # String |  (default to null)
 
 try:
-    # Delete a policy
+    # Delete an A1 Policy instance (deletePolicy)
     api_response = api_instance.delete_policy(policyId)
     pprint(api_response)
 except ApiException as e:
@@ -1709,12 +1709,12 @@ pub fn main() {
                       

getPolicy

-

+

Get an A1 Policy instance (getPolicy)

-

Returns a policy

+

Get an A1 Policy instance using its policy ID


/a1-policy/v2/policies/{policy_id}
@@ -1818,6 +1818,7 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) +// Get an A1 Policy instance (getPolicy) [apiInstance getPolicyWith:policyId completionHandler: ^(policy_info output, NSError* error) { if (output) { @@ -1831,10 +1832,10 @@ String *policyId = policyId_example; // (default to null)
-
var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service');
+                              
var OnapCcsdkPreSpecA1PolicyManagementApi = require('onap_ccsdk_pre_spec_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi()
+var api = new OnapCcsdkPreSpecA1PolicyManagementApi.A1PolicyManagementApi()
 var policyId = policyId_example; // {String} 
 
 var callback = function(error, data, response) {
@@ -1870,6 +1871,7 @@ namespace Example
             var policyId = policyId_example;  // String |  (default to null)
 
             try {
+                // Get an A1 Policy instance (getPolicy)
                 policy_info result = apiInstance.getPolicy(policyId);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -1928,6 +1930,7 @@ api_instance = openapi_client.A1PolicyManagementApi()
 policyId = policyId_example # String |  (default to null)
 
 try:
+    # Get an A1 Policy instance (getPolicy)
     api_response = api_instance.get_policy(policyId)
     pprint(api_response)
 except ApiException as e:
@@ -2146,12 +2149,13 @@ pub fn main() {
                       

getPolicyIds

-

Query policy identities

+

Query A1 Policy Instances (getPolicyIds)

-

Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.

+

Retrieve a list of A1 Policy Instance IDs for policies that match given search criteria. If multiple query parameters are given, the policies matching all conditions are returned. +


/a1-policy/v2/policies
@@ -2195,10 +2199,11 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - String policytypeId = policytypeId_example; // String | Select policies of a given policy type identity. + String policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID. String ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity. - String serviceId = serviceId_example; // String | Select policies owned by a given service. - String typeName = typeName_example; // String | Select policies of types with the given type name (type identity has the format ) + String serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services) + String typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') + try { policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); @@ -2217,10 +2222,11 @@ public class A1PolicyManagementApiExample { final api_instance = DefaultApi(); -final String policytypeId = new String(); // String | Select policies of a given policy type identity. +final String policytypeId = new String(); // String | Select policies of a given A1 Policy Type ID. final String ricId = new String(); // String | Select policies of a given Near-RT RIC identity. -final String serviceId = new String(); // String | Select policies owned by a given service. -final String typeName = new String(); // String | Select policies of types with the given type name (type identity has the format ) +final String serviceId = new String(); // String | Select policies owned by a given service. (Both registered and unregistered services) +final String typeName = new String(); // String | Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') + try { final result = await api_instance.getPolicyIds(policytypeId, ricId, serviceId, typeName); @@ -2238,10 +2244,11 @@ try { public class A1PolicyManagementApiExample { public static void main(String[] args) { A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - String policytypeId = policytypeId_example; // String | Select policies of a given policy type identity. + String policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID. String ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity. - String serviceId = serviceId_example; // String | Select policies owned by a given service. - String typeName = typeName_example; // String | Select policies of types with the given type name (type identity has the format ) + String serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services) + String typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') + try { policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); @@ -2262,12 +2269,13 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; -String *policytypeId = policytypeId_example; // Select policies of a given policy type identity. (optional) (default to null) +String *policytypeId = policytypeId_example; // Select policies of a given A1 Policy Type ID. (optional) (default to null) String *ricId = ricId_example; // Select policies of a given Near-RT RIC identity. (optional) (default to null) -String *serviceId = serviceId_example; // Select policies owned by a given service. (optional) (default to null) -String *typeName = typeName_example; // Select policies of types with the given type name (type identity has the format ) (optional) (default to null) +String *serviceId = serviceId_example; // Select policies owned by a given service. (Both registered and unregistered services) (optional) (default to null) +String *typeName = typeName_example; // Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') + (optional) (default to null) -// Query policy identities +// Query A1 Policy Instances (getPolicyIds) [apiInstance getPolicyIdsWith:policytypeId ricId:ricId serviceId:serviceId @@ -2284,15 +2292,16 @@ String *typeName = typeName_example; // Select policies of types with the given
-
var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service');
+                              
var OnapCcsdkPreSpecA1PolicyManagementApi = require('onap_ccsdk_pre_spec_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi()
+var api = new OnapCcsdkPreSpecA1PolicyManagementApi.A1PolicyManagementApi()
 var opts = {
-  'policytypeId': policytypeId_example, // {String} Select policies of a given policy type identity.
+  'policytypeId': policytypeId_example, // {String} Select policies of a given A1 Policy Type ID.
   'ricId': ricId_example, // {String} Select policies of a given Near-RT RIC identity.
-  'serviceId': serviceId_example, // {String} Select policies owned by a given service.
-  'typeName': typeName_example // {String} Select policies of types with the given type name (type identity has the format )
+  'serviceId': serviceId_example, // {String} Select policies owned by a given service. (Both registered and unregistered services)
+  'typeName': typeName_example // {String} Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
+
 };
 
 var callback = function(error, data, response) {
@@ -2325,13 +2334,14 @@ namespace Example
 
             // Create an instance of the API class
             var apiInstance = new A1PolicyManagementApi();
-            var policytypeId = policytypeId_example;  // String | Select policies of a given policy type identity. (optional)  (default to null)
+            var policytypeId = policytypeId_example;  // String | Select policies of a given A1 Policy Type ID. (optional)  (default to null)
             var ricId = ricId_example;  // String | Select policies of a given Near-RT RIC identity. (optional)  (default to null)
-            var serviceId = serviceId_example;  // String | Select policies owned by a given service. (optional)  (default to null)
-            var typeName = typeName_example;  // String | Select policies of types with the given type name (type identity has the format ) (optional)  (default to null)
+            var serviceId = serviceId_example;  // String | Select policies owned by a given service. (Both registered and unregistered services) (optional)  (default to null)
+            var typeName = typeName_example;  // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
+ (optional)  (default to null)
 
             try {
-                // Query policy identities
+                // Query A1 Policy Instances (getPolicyIds)
                 policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -2349,10 +2359,11 @@ require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
-$policytypeId = policytypeId_example; // String | Select policies of a given policy type identity.
+$policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID.
 $ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity.
-$serviceId = serviceId_example; // String | Select policies owned by a given service.
-$typeName = typeName_example; // String | Select policies of types with the given type name (type identity has the format )
+$serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services)
+$typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
+
 
 try {
     $result = $api_instance->getPolicyIds($policytypeId, $ricId, $serviceId, $typeName);
@@ -2370,10 +2381,11 @@ use WWW::OPenAPIClient::A1PolicyManagementApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
-my $policytypeId = policytypeId_example; # String | Select policies of a given policy type identity.
+my $policytypeId = policytypeId_example; # String | Select policies of a given A1 Policy Type ID.
 my $ricId = ricId_example; # String | Select policies of a given Near-RT RIC identity.
-my $serviceId = serviceId_example; # String | Select policies owned by a given service.
-my $typeName = typeName_example; # String | Select policies of types with the given type name (type identity has the format )
+my $serviceId = serviceId_example; # String | Select policies owned by a given service. (Both registered and unregistered services)
+my $typeName = typeName_example; # String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
+
 
 eval {
     my $result = $api_instance->getPolicyIds(policytypeId => $policytypeId, ricId => $ricId, serviceId => $serviceId, typeName => $typeName);
@@ -2393,13 +2405,14 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.A1PolicyManagementApi()
-policytypeId = policytypeId_example # String | Select policies of a given policy type identity. (optional) (default to null)
+policytypeId = policytypeId_example # String | Select policies of a given A1 Policy Type ID. (optional) (default to null)
 ricId = ricId_example # String | Select policies of a given Near-RT RIC identity. (optional) (default to null)
-serviceId = serviceId_example # String | Select policies owned by a given service. (optional) (default to null)
-typeName = typeName_example # String | Select policies of types with the given type name (type identity has the format ) (optional) (default to null)
+serviceId = serviceId_example # String | Select policies owned by a given service. (Both registered and unregistered services) (optional) (default to null)
+typeName = typeName_example # String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
+ (optional) (default to null)
 
 try:
-    # Query policy identities
+    # Query A1 Policy Instances (getPolicyIds)
     api_response = api_instance.get_policy_ids(policytypeId=policytypeId, ricId=ricId, serviceId=serviceId, typeName=typeName)
     pprint(api_response)
 except ApiException as e:
@@ -2453,7 +2466,7 @@ pub fn main() {
                 
 
                     
-Select policies of a given policy type identity. +Select policies of a given A1 Policy Type ID.
@@ -2493,7 +2506,7 @@ Select policies of a given Near-RT RIC identity.
-Select policies owned by a given service. +Select policies owned by a given service. (Both registered and unregistered services)
@@ -2513,7 +2526,8 @@ Select policies owned by a given service.
-Select policies of types with the given type name (type identity has the format <typename_version>) +Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') +
@@ -2681,12 +2695,13 @@ Select policies of types with the given type name (type identity has the format

getPolicyInstances

-

Query for A1 policy instances

+

Query for A1 Policy instances (getPolicyInstances)

-

Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.

+

Returns a collection of A1 Policy Instance information for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned. +


/a1-policy/v2/policy-instances
@@ -2730,10 +2745,10 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - String policytypeId = policytypeId_example; // String | Select policies with a given type identity. + String policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID. String ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity. - String serviceId = serviceId_example; // String | Select policies owned by a given service. - String typeName = typeName_example; // String | Select policies of a given type name (type identity has the format ) + String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered). + String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). try { policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); @@ -2752,10 +2767,10 @@ public class A1PolicyManagementApiExample { final api_instance = DefaultApi(); -final String policytypeId = new String(); // String | Select policies with a given type identity. +final String policytypeId = new String(); // String | Select policies with a given A1 Policy Type ID. final String ricId = new String(); // String | Select policies for a given Near-RT RIC identity. -final String serviceId = new String(); // String | Select policies owned by a given service. -final String typeName = new String(); // String | Select policies of a given type name (type identity has the format ) +final String serviceId = new String(); // String | Select policies owned by a given service (registered or unregistered). +final String typeName = new String(); // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). try { final result = await api_instance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); @@ -2773,10 +2788,10 @@ try { public class A1PolicyManagementApiExample { public static void main(String[] args) { A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - String policytypeId = policytypeId_example; // String | Select policies with a given type identity. + String policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID. String ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity. - String serviceId = serviceId_example; // String | Select policies owned by a given service. - String typeName = typeName_example; // String | Select policies of a given type name (type identity has the format ) + String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered). + String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). try { policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); @@ -2797,12 +2812,12 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; -String *policytypeId = policytypeId_example; // Select policies with a given type identity. (optional) (default to null) +String *policytypeId = policytypeId_example; // Select policies with a given A1 Policy Type ID. (optional) (default to null) String *ricId = ricId_example; // Select policies for a given Near-RT RIC identity. (optional) (default to null) -String *serviceId = serviceId_example; // Select policies owned by a given service. (optional) (default to null) -String *typeName = typeName_example; // Select policies of a given type name (type identity has the format ) (optional) (default to null) +String *serviceId = serviceId_example; // Select policies owned by a given service (registered or unregistered). (optional) (default to null) +String *typeName = typeName_example; // Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null) -// Query for A1 policy instances +// Query for A1 Policy instances (getPolicyInstances) [apiInstance getPolicyInstancesWith:policytypeId ricId:ricId serviceId:serviceId @@ -2819,15 +2834,15 @@ String *typeName = typeName_example; // Select policies of a given type name (ty
-
var OnapCcsdkA1PolicyManagementService = require('onap_ccsdk_a1_policy_management_service');
+                              
var OnapCcsdkPreSpecA1PolicyManagementApi = require('onap_ccsdk_pre_spec_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new OnapCcsdkA1PolicyManagementService.A1PolicyManagementApi()
+var api = new OnapCcsdkPreSpecA1PolicyManagementApi.A1PolicyManagementApi()
 var opts = {
-  'policytypeId': policytypeId_example, // {String} Select policies with a given type identity.
+  'policytypeId': policytypeId_example, // {String} Select policies with a given A1 Policy Type ID.
   'ricId': ricId_example, // {String} Select policies for a given Near-RT RIC identity.
-  'serviceId': serviceId_example, // {String} Select policies owned by a given service.
-  'typeName': typeName_example // {String} Select policies of a given type name (type identity has the format )
+  'serviceId': serviceId_example, // {String} Select policies owned by a given service (registered or unregistered).
+  'typeName': typeName_example // {String} Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 };
 
 var callback = function(error, data, response) {
@@ -2860,13 +2875,13 @@ namespace Example
 
             // Create an instance of the API class
             var apiInstance = new A1PolicyManagementApi();
-            var policytypeId = policytypeId_example;  // String | Select policies with a given type identity. (optional)  (default to null)
+            var policytypeId = policytypeId_example;  // String | Select policies with a given A1 Policy Type ID. (optional)  (default to null)
             var ricId = ricId_example;  // String | Select policies for a given Near-RT RIC identity. (optional)  (default to null)
-            var serviceId = serviceId_example;  // String | Select policies owned by a given service. (optional)  (default to null)
-            var typeName = typeName_example;  // String | Select policies of a given type name (type identity has the format ) (optional)  (default to null)
+            var serviceId = serviceId_example;  // String | Select policies owned by a given service (registered or unregistered). (optional)  (default to null)
+            var typeName = typeName_example;  // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional)  (default to null)
 
             try {
-                // Query for A1 policy instances
+                // Query for A1 Policy instances (getPolicyInstances)
                 policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -2884,10 +2899,10 @@ require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
-$policytypeId = policytypeId_example; // String | Select policies with a given type identity.
+$policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID.
 $ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity.
-$serviceId = serviceId_example; // String | Select policies owned by a given service.
-$typeName = typeName_example; // String | Select policies of a given type name (type identity has the format )
+$serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+$typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 
 try {
     $result = $api_instance->getPolicyInstances($policytypeId, $ricId, $serviceId, $typeName);
@@ -2905,10 +2920,10 @@ use WWW::OPenAPIClient::A1PolicyManagementApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
-my $policytypeId = policytypeId_example; # String | Select policies with a given type identity.
+my $policytypeId = policytypeId_example; # String | Select policies with a given A1 Policy Type ID.
 my $ricId = ricId_example; # String | Select policies for a given Near-RT RIC identity.
-my $serviceId = serviceId_example; # String | Select policies owned by a given service.
-my $typeName = typeName_example; # String | Select policies of a given type name (type identity has the format )
+my $serviceId = serviceId_example; # String | Select policies owned by a given service (registered or unregistered).
+my $typeName = typeName_example; # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 
 eval {
     my $result = $api_instance->getPolicyInstances(policytypeId => $policytypeId, ricId => $ricId, serviceId => $serviceId, typeName => $typeName);
@@ -2928,13 +2943,13 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.A1PolicyManagementApi()
-policytypeId = policytypeId_example # String | Select policies with a given type identity. (optional) (default to null)
+policytypeId = policytypeId_example # String | Select policies with a given A1 Policy Type ID. (optional) (default to null)
 ricId = ricId_example # String | Select policies for a given Near-RT RIC identity. (optional) (default to null)
-serviceId = serviceId_example # String | Select policies owned by a given service. (optional) (default to null)
-typeName = typeName_example # String | Select policies of a given type name (type identity has the format ) (optional) (default to null)
+serviceId = serviceId_example # String | Select policies owned by a given service (registered or unregistered). (optional) (default to null)
+typeName = typeName_example # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)
 
 try:
-    # Query for A1 policy instances
+    # Query for A1 Policy instances (getPolicyInstances)
     api_response = api_instance.get_policy_instances(policytypeId=policytypeId, ricId=ricId, serviceId=serviceId, typeName=typeName)
     pprint(api_response)
 except ApiException as e:
@@ -2988,7 +3003,7 @@ pub fn main() {
                 
 
                     
-Select policies with a given type identity. +Select policies with a given A1 Policy Type ID.
@@ -3028,7 +3043,7 @@ Select policies for a given Near-RT RIC identity.
-Select policies owned by a given service. +Select policies owned by a given service (registered or unregistered).
@@ -3048,7 +3063,7 @@ Select policies owned by a given service.
-Select policies of a given type name (type identity has the format <typename_version>) +Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
@@ -3062,7 +3077,7 @@ Select policies of a given type name (type identity has the format <typename_

-

-
-
+
+
-

getPolicy

-

+

getPolicyIds

+

Query for A1 Policy instances (getPolicyIds)

-

Returns a policy

+

Returns a collection of A1 Policy Instance IDs for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned. +


-
/policies/{policyId}
+
/policies

Usage and SDK Samples

-
+
curl -X GET \
  -H "Accept: application/json,application/problem+json" \
- "https://example.com/a1-policy-management/v1/policies/{policyId}"
+ "https://example.com/a1-policy-management/v1/policies?policyTypeId=policyTypeId_example&nearRtRicId=nearRtRicId_example&serviceId=serviceId_example&typeName=typeName_example"
 
-
+
import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
@@ -5245,14 +5106,17 @@ public class A1PolicyManagementApiExample {
 
         // Create an instance of the API class
         A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
-        String policyId = policyId_example; // String | 
+        String policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+        String nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+        String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+        String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
         String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
         try {
-            Object result = apiInstance.getPolicy(policyId, accept);
+            array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
+            System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
             e.printStackTrace();
         }
     }
@@ -5260,58 +5124,71 @@ public class A1PolicyManagementApiExample {
 
-
+
import 'package:openapi/api.dart';
 
 final api_instance = DefaultApi();
 
-final String policyId = new String(); // String | 
+final String policyTypeId = new String(); // String | Select policies with a given A1 Policy Type ID.
+final String nearRtRicId = new String(); // String | Select policies for a given Near-RT RIC identity.
+final String serviceId = new String(); // String | Select policies owned by a given service (registered or unregistered).
+final String typeName = new String(); // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 final String accept = new String(); // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
-    final result = await api_instance.getPolicy(policyId, accept);
+    final result = await api_instance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
     print(result);
 } catch (e) {
-    print('Exception when calling DefaultApi->getPolicy: $e\n');
+    print('Exception when calling DefaultApi->getPolicyIds: $e\n');
 }
 
 
-
+
import org.openapitools.client.api.A1PolicyManagementApi;
 
 public class A1PolicyManagementApiExample {
     public static void main(String[] args) {
         A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
-        String policyId = policyId_example; // String | 
+        String policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+        String nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+        String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+        String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
         String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
         try {
-            Object result = apiInstance.getPolicy(policyId, accept);
+            array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
+            System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
             e.printStackTrace();
         }
     }
 }
-
+

 
 // Create an instance of the API class
 A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
-String *policyId = policyId_example; //  (default to null)
+String *policyTypeId = policyTypeId_example; // Select policies with a given A1 Policy Type ID. (optional) (default to null)
+String *nearRtRicId = nearRtRicId_example; // Select policies for a given Near-RT RIC identity. (optional) (default to null)
+String *serviceId = serviceId_example; // Select policies owned by a given service (registered or unregistered). (optional) (default to null)
+String *typeName = typeName_example; // Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)
 String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
-[apiInstance getPolicyWith:policyId
+// Query for A1 Policy instances (getPolicyIds)
+[apiInstance getPolicyIdsWith:policyTypeId
+    nearRtRicId:nearRtRicId
+    serviceId:serviceId
+    typeName:typeName
     accept:accept
-              completionHandler: ^(Object output, NSError* error) {
+              completionHandler: ^(array[PolicyInformation] output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -5322,13 +5199,16 @@ String *accept = application/json; // Specifies the content type that the client
 
-
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                            
+
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.A1PolicyManagementApi()
-var policyId = policyId_example; // {String} 
+var api = new OnapCcsdkA1PolicyManagementApi.A1PolicyManagementApi()
 var opts = {
+  'policyTypeId': policyTypeId_example, // {String} Select policies with a given A1 Policy Type ID.
+  'nearRtRicId': nearRtRicId_example, // {String} Select policies for a given Near-RT RIC identity.
+  'serviceId': serviceId_example, // {String} Select policies owned by a given service (registered or unregistered).
+  'typeName': typeName_example, // {String} Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 };
 
@@ -5339,14 +5219,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getPolicy(policyId, opts, callback);
+api.getPolicyIds(opts, callback);
 
- -
+
using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -5355,21 +5235,25 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getPolicyExample
+    public class getPolicyIdsExample
     {
         public void main()
         {
 
             // Create an instance of the API class
             var apiInstance = new A1PolicyManagementApi();
-            var policyId = policyId_example;  // String |  (default to null)
+            var policyTypeId = policyTypeId_example;  // String | Select policies with a given A1 Policy Type ID. (optional)  (default to null)
+            var nearRtRicId = nearRtRicId_example;  // String | Select policies for a given Near-RT RIC identity. (optional)  (default to null)
+            var serviceId = serviceId_example;  // String | Select policies owned by a given service (registered or unregistered). (optional)  (default to null)
+            var typeName = typeName_example;  // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional)  (default to null)
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
-                Object result = apiInstance.getPolicy(policyId, accept);
+                // Query for A1 Policy instances (getPolicyIds)
+                array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling A1PolicyManagementApi.getPolicy: " + e.Message );
+                Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyIds: " + e.Message );
             }
         }
     }
@@ -5377,44 +5261,50 @@ namespace Example
 
-
+
<?php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
-$policyId = policyId_example; // String | 
+$policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+$nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+$serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+$typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 $accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
-    $result = $api_instance->getPolicy($policyId, $accept);
+    $result = $api_instance->getPolicyIds($policyTypeId, $nearRtRicId, $serviceId, $typeName, $accept);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling A1PolicyManagementApi->getPolicy: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling A1PolicyManagementApi->getPolicyIds: ', $e->getMessage(), PHP_EOL;
 }
 ?>
-
+
use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
 use WWW::OPenAPIClient::A1PolicyManagementApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
-my $policyId = policyId_example; # String | 
+my $policyTypeId = policyTypeId_example; # String | Select policies with a given A1 Policy Type ID.
+my $nearRtRicId = nearRtRicId_example; # String | Select policies for a given Near-RT RIC identity.
+my $serviceId = serviceId_example; # String | Select policies owned by a given service (registered or unregistered).
+my $typeName = typeName_example; # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 my $accept = application/json; # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 eval {
-    my $result = $api_instance->getPolicy(policyId => $policyId, accept => $accept);
+    my $result = $api_instance->getPolicyIds(policyTypeId => $policyTypeId, nearRtRicId => $nearRtRicId, serviceId => $serviceId, typeName => $typeName, accept => $accept);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling A1PolicyManagementApi->getPolicy: $@\n";
+    warn "Exception when calling A1PolicyManagementApi->getPolicyIds: $@\n";
 }
-
+
from __future__ import print_statement
 import time
 import openapi_client
@@ -5423,25 +5313,32 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.A1PolicyManagementApi()
-policyId = policyId_example # String |  (default to null)
+policyTypeId = policyTypeId_example # String | Select policies with a given A1 Policy Type ID. (optional) (default to null)
+nearRtRicId = nearRtRicId_example # String | Select policies for a given Near-RT RIC identity. (optional) (default to null)
+serviceId = serviceId_example # String | Select policies owned by a given service (registered or unregistered). (optional) (default to null)
+typeName = typeName_example # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
-    api_response = api_instance.get_policy(policyId, accept=accept)
+    # Query for A1 Policy instances (getPolicyIds)
+    api_response = api_instance.get_policy_ids(policyTypeId=policyTypeId, nearRtRicId=nearRtRicId, serviceId=serviceId, typeName=typeName, accept=accept)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling A1PolicyManagementApi->getPolicy: %s\n" % e)
+ print("Exception when calling A1PolicyManagementApi->getPolicyIds: %s\n" % e)
-
+
extern crate A1PolicyManagementApi;
 
 pub fn main() {
-    let policyId = policyId_example; // String
+    let policyTypeId = policyTypeId_example; // String
+    let nearRtRicId = nearRtRicId_example; // String
+    let serviceId = serviceId_example; // String
+    let typeName = typeName_example; // String
     let accept = application/json; // String
 
     let mut context = A1PolicyManagementApi::Context::default();
-    let result = client.getPolicy(policyId, accept, &context).wait();
+    let result = client.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept, &context).wait();
 
     println!("{:?}", result);
 }
@@ -5456,27 +5353,28 @@ pub fn main() {
 
                           

Parameters

-
Path parameters
+ +
Header parameters
- - - - - + + + + + @@ -5484,17 +5382,19 @@ pub fn main() {
NameDescription
policyId*
NameDescription
Accept -
+
String +
+Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. +
-
- Required -
-
Header parameters
+ + +
Query parameters
- + -
Name Description
Accept
policyTypeId -
+
@@ -5502,7 +5402,7 @@ pub fn main() {
-Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. +Select policies with a given A1 Policy Type ID.
@@ -5510,29 +5410,86 @@ Specifies the content type that the client expects to receive in response to the
+ nearRtRicId + +
+
+
+ + String + + +
+Select policies for a given Near-RT RIC identity. +
+
+
+
+ + + + serviceId + +
+
+
+ + String + + +
+Select policies owned by a given service (registered or unregistered). +
+
+
+
+ + + + typeName + + + +
+
+
+ + String + + +
+Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). +
+
+
+
+ + + + +

Responses

-

-

+

+

-
@@ -6288,12 +6243,12 @@ Specifies the content type that the client expects to receive in response to the

getPolicyStatus

-

+

Get an A1 Policy Instance's status (getPolicyStatus)

-

Query a policy status

+

Retrieve the status information for an A1 Policy Instance using its policy ID.


/policies/{policyId}/status
@@ -6401,6 +6356,7 @@ A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) +// Get an A1 Policy Instance's status (getPolicyStatus) [apiInstance getPolicyStatusWith:policyId accept:accept completionHandler: ^(Object output, NSError* error) { @@ -6415,10 +6371,10 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.A1PolicyManagementApi()
+var api = new OnapCcsdkA1PolicyManagementApi.A1PolicyManagementApi()
 var policyId = policyId_example; // {String} 
 var opts = {
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
@@ -6458,6 +6414,7 @@ namespace Example
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
+                // Get an A1 Policy Instance's status (getPolicyStatus)
                 Object result = apiInstance.getPolicyStatus(policyId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -6519,6 +6476,7 @@ policyId = policyId_example # String |  (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
+    # Get an A1 Policy Instance's status (getPolicyStatus)
     api_response = api_instance.get_policy_status(policyId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -7067,7 +7025,7 @@ Specifies the content type that the client expects to receive in response to the
                             

-
+
@@ -9970,23 +9947,23 @@ $(document).ready(function() {

Responses

-

-

+

+

-
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 198ea9be..4327613c 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 @@ -2,7 +2,7 @@ - A1 policy management API + ONAP CCSDK - A1 Policy Management API @@ -844,26 +844,12 @@ ul.nav-tabs { -

-
-
+
+
-

getPolicy

-

+

getPolicyIds

+

Query for A1 Policy instances (getPolicyIds)

-

Returns a policy

+

Returns a collection of A1 Policy Instance IDs for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned. +


-
/policies/{policyId}
+
/policies

Usage and SDK Samples

-
+
curl -X GET \
  -H "Accept: application/json,application/problem+json" \
- "https://example.com/a1-policy-management/v1/policies/{policyId}"
+ "https://example.com/a1-policy-management/v1/policies?policyTypeId=policyTypeId_example&nearRtRicId=nearRtRicId_example&serviceId=serviceId_example&typeName=typeName_example"
 
-
+
import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
@@ -5276,14 +5137,17 @@ public class A1PolicyManagementApiExample {
 
         // Create an instance of the API class
         A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
-        String policyId = policyId_example; // String | 
+        String policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+        String nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+        String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+        String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
         String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
         try {
-            Object result = apiInstance.getPolicy(policyId, accept);
+            array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
+            System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
             e.printStackTrace();
         }
     }
@@ -5291,58 +5155,71 @@ public class A1PolicyManagementApiExample {
 
-
+
import 'package:openapi/api.dart';
 
 final api_instance = DefaultApi();
 
-final String policyId = new String(); // String | 
+final String policyTypeId = new String(); // String | Select policies with a given A1 Policy Type ID.
+final String nearRtRicId = new String(); // String | Select policies for a given Near-RT RIC identity.
+final String serviceId = new String(); // String | Select policies owned by a given service (registered or unregistered).
+final String typeName = new String(); // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 final String accept = new String(); // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
-    final result = await api_instance.getPolicy(policyId, accept);
+    final result = await api_instance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
     print(result);
 } catch (e) {
-    print('Exception when calling DefaultApi->getPolicy: $e\n');
+    print('Exception when calling DefaultApi->getPolicyIds: $e\n');
 }
 
 
-
+
import org.openapitools.client.api.A1PolicyManagementApi;
 
 public class A1PolicyManagementApiExample {
     public static void main(String[] args) {
         A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
-        String policyId = policyId_example; // String | 
+        String policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+        String nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+        String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+        String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
         String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
         try {
-            Object result = apiInstance.getPolicy(policyId, accept);
+            array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
+            System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
             e.printStackTrace();
         }
     }
 }
-
+

 
 // Create an instance of the API class
 A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
-String *policyId = policyId_example; //  (default to null)
+String *policyTypeId = policyTypeId_example; // Select policies with a given A1 Policy Type ID. (optional) (default to null)
+String *nearRtRicId = nearRtRicId_example; // Select policies for a given Near-RT RIC identity. (optional) (default to null)
+String *serviceId = serviceId_example; // Select policies owned by a given service (registered or unregistered). (optional) (default to null)
+String *typeName = typeName_example; // Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)
 String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
-[apiInstance getPolicyWith:policyId
+// Query for A1 Policy instances (getPolicyIds)
+[apiInstance getPolicyIdsWith:policyTypeId
+    nearRtRicId:nearRtRicId
+    serviceId:serviceId
+    typeName:typeName
     accept:accept
-              completionHandler: ^(Object output, NSError* error) {
+              completionHandler: ^(array[PolicyInformation] output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -5353,13 +5230,16 @@ String *accept = application/json; // Specifies the content type that the client
 
-
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                            
+
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.A1PolicyManagementApi()
-var policyId = policyId_example; // {String} 
+var api = new OnapCcsdkA1PolicyManagementApi.A1PolicyManagementApi()
 var opts = {
+  'policyTypeId': policyTypeId_example, // {String} Select policies with a given A1 Policy Type ID.
+  'nearRtRicId': nearRtRicId_example, // {String} Select policies for a given Near-RT RIC identity.
+  'serviceId': serviceId_example, // {String} Select policies owned by a given service (registered or unregistered).
+  'typeName': typeName_example, // {String} Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 };
 
@@ -5370,14 +5250,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getPolicy(policyId, opts, callback);
+api.getPolicyIds(opts, callback);
 
- -
+
using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -5386,21 +5266,25 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getPolicyExample
+    public class getPolicyIdsExample
     {
         public void main()
         {
 
             // Create an instance of the API class
             var apiInstance = new A1PolicyManagementApi();
-            var policyId = policyId_example;  // String |  (default to null)
+            var policyTypeId = policyTypeId_example;  // String | Select policies with a given A1 Policy Type ID. (optional)  (default to null)
+            var nearRtRicId = nearRtRicId_example;  // String | Select policies for a given Near-RT RIC identity. (optional)  (default to null)
+            var serviceId = serviceId_example;  // String | Select policies owned by a given service (registered or unregistered). (optional)  (default to null)
+            var typeName = typeName_example;  // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional)  (default to null)
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
-                Object result = apiInstance.getPolicy(policyId, accept);
+                // Query for A1 Policy instances (getPolicyIds)
+                array[PolicyInformation] result = apiInstance.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling A1PolicyManagementApi.getPolicy: " + e.Message );
+                Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyIds: " + e.Message );
             }
         }
     }
@@ -5408,44 +5292,50 @@ namespace Example
 
-
+
<?php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
-$policyId = policyId_example; // String | 
+$policyTypeId = policyTypeId_example; // String | Select policies with a given A1 Policy Type ID.
+$nearRtRicId = nearRtRicId_example; // String | Select policies for a given Near-RT RIC identity.
+$serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
+$typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 $accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
-    $result = $api_instance->getPolicy($policyId, $accept);
+    $result = $api_instance->getPolicyIds($policyTypeId, $nearRtRicId, $serviceId, $typeName, $accept);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling A1PolicyManagementApi->getPolicy: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling A1PolicyManagementApi->getPolicyIds: ', $e->getMessage(), PHP_EOL;
 }
 ?>
-
+
use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
 use WWW::OPenAPIClient::A1PolicyManagementApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
-my $policyId = policyId_example; # String | 
+my $policyTypeId = policyTypeId_example; # String | Select policies with a given A1 Policy Type ID.
+my $nearRtRicId = nearRtRicId_example; # String | Select policies for a given Near-RT RIC identity.
+my $serviceId = serviceId_example; # String | Select policies owned by a given service (registered or unregistered).
+my $typeName = typeName_example; # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
 my $accept = application/json; # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 eval {
-    my $result = $api_instance->getPolicy(policyId => $policyId, accept => $accept);
+    my $result = $api_instance->getPolicyIds(policyTypeId => $policyTypeId, nearRtRicId => $nearRtRicId, serviceId => $serviceId, typeName => $typeName, accept => $accept);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling A1PolicyManagementApi->getPolicy: $@\n";
+    warn "Exception when calling A1PolicyManagementApi->getPolicyIds: $@\n";
 }
-
+
from __future__ import print_statement
 import time
 import openapi_client
@@ -5454,25 +5344,32 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.A1PolicyManagementApi()
-policyId = policyId_example # String |  (default to null)
+policyTypeId = policyTypeId_example # String | Select policies with a given A1 Policy Type ID. (optional) (default to null)
+nearRtRicId = nearRtRicId_example # String | Select policies for a given Near-RT RIC identity. (optional) (default to null)
+serviceId = serviceId_example # String | Select policies owned by a given service (registered or unregistered). (optional) (default to null)
+typeName = typeName_example # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
-    api_response = api_instance.get_policy(policyId, accept=accept)
+    # Query for A1 Policy instances (getPolicyIds)
+    api_response = api_instance.get_policy_ids(policyTypeId=policyTypeId, nearRtRicId=nearRtRicId, serviceId=serviceId, typeName=typeName, accept=accept)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling A1PolicyManagementApi->getPolicy: %s\n" % e)
+ print("Exception when calling A1PolicyManagementApi->getPolicyIds: %s\n" % e)
-
+
extern crate A1PolicyManagementApi;
 
 pub fn main() {
-    let policyId = policyId_example; // String
+    let policyTypeId = policyTypeId_example; // String
+    let nearRtRicId = nearRtRicId_example; // String
+    let serviceId = serviceId_example; // String
+    let typeName = typeName_example; // String
     let accept = application/json; // String
 
     let mut context = A1PolicyManagementApi::Context::default();
-    let result = client.getPolicy(policyId, accept, &context).wait();
+    let result = client.getPolicyIds(policyTypeId, nearRtRicId, serviceId, typeName, accept, &context).wait();
 
     println!("{:?}", result);
 }
@@ -5487,45 +5384,108 @@ pub fn main() {
 
                           

Parameters

-
Path parameters
- - - - - - + +
Header parameters
+
NameDescription
policyId*
+ + + + + + + + +
NameDescription
Accept + + +
+
+
+ + String + + +
+Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. +
+
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + + -
NameDescription
policyTypeId + + +
+
+
+ + String + + +
+Select policies with a given A1 Policy Type ID. +
+
+
+
+
nearRtRicId + + +
+
+
+ + String + + +
+Select policies for a given Near-RT RIC identity. +
+
+
+
+
serviceId -
+
String +
+Select policies owned by a given service (registered or unregistered). +
-
- Required -
- -
Header parameters
- - - - - - +
NameDescription
Accept
typeName -
+
@@ -5533,7 +5493,7 @@ pub fn main() {
-Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. +Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
@@ -5543,27 +5503,24 @@ Specifies the content type that the client expects to receive in response to the
- - -

Responses

-

-

+

+

-
@@ -6319,12 +6274,12 @@ Specifies the content type that the client expects to receive in response to the

getPolicyStatus

-

+

Get an A1 Policy Instance's status (getPolicyStatus)

-

Query a policy status

+

Retrieve the status information for an A1 Policy Instance using its policy ID.


/policies/{policyId}/status
@@ -6432,6 +6387,7 @@ A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) +// Get an A1 Policy Instance's status (getPolicyStatus) [apiInstance getPolicyStatusWith:policyId accept:accept completionHandler: ^(Object output, NSError* error) { @@ -6446,10 +6402,10 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.A1PolicyManagementApi()
+var api = new OnapCcsdkA1PolicyManagementApi.A1PolicyManagementApi()
 var policyId = policyId_example; // {String} 
 var opts = {
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
@@ -6489,6 +6445,7 @@ namespace Example
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
+                // Get an A1 Policy Instance's status (getPolicyStatus)
                 Object result = apiInstance.getPolicyStatus(policyId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -6550,6 +6507,7 @@ policyId = policyId_example # String |  (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
+    # Get an A1 Policy Instance's status (getPolicyStatus)
     api_response = api_instance.get_policy_status(policyId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -7098,7 +7056,7 @@ Specifies the content type that the client expects to receive in response to the
                             

-
+
@@ -10001,23 +9978,23 @@ $(document).ready(function() {

Responses

-

-

+

+

-
@@ -11080,12 +11057,12 @@ $(document).ready(function() {

getConfiguration

-

+

Get the Application Configuration (getConfiguration)

-

Returns the contents of the application configuration

+

Returns the entire contents of the Application Configuration.


/configuration
@@ -11185,6 +11162,7 @@ public class ConfigurationApiExample { // Create an instance of the API class ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; +// Get the Application Configuration (getConfiguration) [apiInstance getConfigurationWithCompletionHandler: ^('String' output, NSError* error) { if (output) { @@ -11198,10 +11176,10 @@ ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init];
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ConfigurationApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ConfigurationApi()
 var callback = function(error, data, response) {
   if (error) {
     console.error(error);
@@ -11234,6 +11212,7 @@ namespace Example
             var apiInstance = new ConfigurationApi();
 
             try {
+                // Get the Application Configuration (getConfiguration)
                 'String' result = apiInstance.getConfiguration();
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -11289,6 +11268,7 @@ from pprint import pprint
 api_instance = openapi_client.ConfigurationApi()
 
 try:
+    # Get the Application Configuration (getConfiguration)
     api_response = api_instance.get_configuration()
     pprint(api_response)
 except ApiException as e:
@@ -11481,12 +11461,13 @@ pub fn main() {
                       

putConfiguration

-

+

Set/Replace the Application Configuration (putConfiguration)

-

Replace the current configuration file with the given configuration

+

Replace the current Application Configuration with a new configuration. The new configuration, if accepted, will take effect after a short delay. The new configuration must comply with the Application Configuration schema, which can be found from the the Application Documentation (Developer Guide) +


/configuration
@@ -11512,7 +11493,7 @@ pub fn main() {
curl -X PUT \
- -H "Accept: */*,application/problem+json" \
+ -H "Accept: application/json,application/problem+json" \
  -H "Content-Type: application/json" \
  "https://example.com/a1-policy-management/v1/configuration" \
  -d ''
@@ -11592,6 +11573,7 @@ public class ConfigurationApiExample {
 ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init];
 Object *body = Object; // 
 
+// Set/Replace the Application Configuration (putConfiguration)
 [apiInstance putConfigurationWith:body
               completionHandler: ^(Object output, NSError* error) {
     if (output) {
@@ -11605,10 +11587,10 @@ Object *body = Object; //
                             
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ConfigurationApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ConfigurationApi()
 var body = Object; // {Object} 
 
 var callback = function(error, data, response) {
@@ -11644,6 +11626,7 @@ namespace Example
             var body = Object;  // Object | 
 
             try {
+                // Set/Replace the Application Configuration (putConfiguration)
                 Object result = apiInstance.putConfiguration(body);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -11702,6 +11685,7 @@ api_instance = openapi_client.ConfigurationApi()
 body = Object # Object | 
 
 try:
+    # Set/Replace the Application Configuration (putConfiguration)
     api_response = api_instance.put_configuration(body)
     pprint(api_response)
 except ApiException as e:
@@ -11817,7 +11801,7 @@ $(document).ready(function() {
                                       var schemaWrapper = {
   "description" : "OK - Configuration updated",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "$ref" : "#/components/schemas/void"
       }
@@ -11946,7 +11930,7 @@ $(document).ready(function() {
                       

getStatus

-

+

Get Status (getStatus)

@@ -11977,7 +11961,7 @@ $(document).ready(function() {
curl -X GET \
- -H "Accept: application/json" \
+ -H "Accept: application/json,application/problem+json" \
  "https://example.com/a1-policy-management/v1/status"
 
@@ -12051,6 +12035,7 @@ public class HealthCheckApiExample { // Create an instance of the API class HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; +// Get Status (getStatus) [apiInstance getStatusWithCompletionHandler: ^(StatusInfo output, NSError* error) { if (output) { @@ -12064,10 +12049,10 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.HealthCheckApi()
+var api = new OnapCcsdkA1PolicyManagementApi.HealthCheckApi()
 var callback = function(error, data, response) {
   if (error) {
     console.error(error);
@@ -12100,6 +12085,7 @@ namespace Example
             var apiInstance = new HealthCheckApi();
 
             try {
+                // Get Status (getStatus)
                 StatusInfo result = apiInstance.getStatus();
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -12155,6 +12141,7 @@ from pprint import pprint
 api_instance = openapi_client.HealthCheckApi()
 
 try:
+    # Get Status (getStatus)
     api_response = api_instance.get_status()
     pprint(api_response)
 except ApiException as e:
@@ -12269,6 +12256,82 @@ pub fn main() {
                                 
                               
+

+

+ + + + + + +
+
+
+ +
+ +
+

@@ -12279,12 +12342,12 @@ pub fn main() {

getRic

-

Returns info for one Near-RT RIC

+

Get a Near-RT RIC (getRic)

-

A ricId path parameter must be specified to retrieve associated ric infomation

+

Get information about a Near-RT RIC


/rics/{ricId}
@@ -12392,7 +12455,7 @@ NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init]; String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) -// Returns info for one Near-RT RIC +// Get a Near-RT RIC (getRic) [apiInstance getRicWith:ricId accept:accept completionHandler: ^(RicInfo output, NSError* error) { @@ -12407,10 +12470,10 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.NearRTRICRepositoryApi()
+var api = new OnapCcsdkA1PolicyManagementApi.NearRTRICRepositoryApi()
 var ricId = ricId_example; // {String} The identity of a Near-RT RIC to get information for.
 var opts = {
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
@@ -12450,7 +12513,7 @@ namespace Example
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
-                // Returns info for one Near-RT RIC
+                // Get a Near-RT RIC (getRic)
                 RicInfo result = apiInstance.getRic(ricId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -12512,7 +12575,7 @@ ricId = ricId_example # String | The identity of a Near-RT RIC to get informatio
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
-    # Returns info for one Near-RT RIC
+    # Get a Near-RT RIC (getRic)
     api_response = api_instance.get_ric(ricId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -12769,12 +12832,12 @@ Specifies the content type that the client expects to receive in response to the
                       

getRics

-

Query Near-RT RIC information

+

Get Near-RT RICs for A1 Policy Type (getRics)

-

The call returns all Near-RT RICs that supports a given policy type identity

+

Get all Near-RT RICs that supports a given A1 Policy Type ID


/rics
@@ -12818,7 +12881,8 @@ public class NearRTRICRepositoryApiExample { // Create an instance of the API class NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi(); - String policyTypeId = policyTypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned + String policyTypeId = policyTypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. + String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -12838,7 +12902,8 @@ public class NearRTRICRepositoryApiExample { final api_instance = DefaultApi(); -final String policyTypeId = new String(); // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned +final String policyTypeId = new String(); // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. + final String accept = new String(); // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -12857,7 +12922,8 @@ try { public class NearRTRICRepositoryApiExample { public static void main(String[] args) { NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi(); - String policyTypeId = policyTypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned + String policyTypeId = policyTypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. + String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -12879,10 +12945,11 @@ public class NearRTRICRepositoryApiExample { // Create an instance of the API class NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init]; -String *policyTypeId = policyTypeId_example; // The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned (optional) (default to null) +String *policyTypeId = policyTypeId_example; // The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. + (optional) (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) -// Query Near-RT RIC information +// Get Near-RT RICs for A1 Policy Type (getRics) [apiInstance getRicsWith:policyTypeId accept:accept completionHandler: ^(RicInfoList output, NSError* error) { @@ -12897,12 +12964,13 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.NearRTRICRepositoryApi()
+var api = new OnapCcsdkA1PolicyManagementApi.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
+  'policyTypeId': policyTypeId_example, // {String} The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
+
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 };
 
@@ -12936,11 +13004,12 @@ namespace Example
 
             // Create an instance of the API class
             var apiInstance = new NearRTRICRepositoryApi();
-            var policyTypeId = policyTypeId_example;  // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned (optional)  (default to null)
+            var policyTypeId = policyTypeId_example;  // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
+ (optional)  (default to null)
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
-                // Query Near-RT RIC information
+                // Get Near-RT RICs for A1 Policy Type (getRics)
                 RicInfoList result = apiInstance.getRics(policyTypeId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -12958,7 +13027,8 @@ require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\NearRTRICRepositoryApi();
-$policyTypeId = policyTypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
+$policyTypeId = policyTypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
+
 $accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
@@ -12977,7 +13047,8 @@ use WWW::OPenAPIClient::NearRTRICRepositoryApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::NearRTRICRepositoryApi->new();
-my $policyTypeId = policyTypeId_example; # String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
+my $policyTypeId = policyTypeId_example; # String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
+
 my $accept = application/json; # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 eval {
@@ -12998,11 +13069,12 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.NearRTRICRepositoryApi()
-policyTypeId = policyTypeId_example # String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned (optional) (default to null)
+policyTypeId = policyTypeId_example # String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
+ (optional) (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
-    # Query Near-RT RIC information
+    # Get Near-RT RICs for A1 Policy Type (getRics)
     api_response = api_instance.get_rics(policyTypeId=policyTypeId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -13081,7 +13153,8 @@ Specifies the content type that the client expects to receive in response to the
                 
 
                     
-The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned +The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. +
@@ -13259,12 +13332,13 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy

deleteService

-

+

Unregister a Service (deleteService)

-

Unregister a service

+

Unregister a registered Service using its service ID. Only registered services can be unregistered. All A1 Policy Instances for the previously registered service will be removed. +


/services/{serviceId}
@@ -13290,7 +13364,7 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy
curl -X DELETE \
- -H "Accept: */*,application/problem+json" \
+ -H "Accept: application/json,application/problem+json" \
  "https://example.com/a1-policy-management/v1/services/{serviceId}"
 
@@ -13372,6 +13446,7 @@ ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionA String *serviceId = serviceId_example; // (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) +// Unregister a Service (deleteService) [apiInstance deleteServiceWith:serviceId accept:accept completionHandler: ^(Object output, NSError* error) { @@ -13386,10 +13461,10 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
 var serviceId = serviceId_example; // {String} 
 var opts = {
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
@@ -13429,6 +13504,7 @@ namespace Example
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
+                // Unregister a Service (deleteService)
                 Object result = apiInstance.deleteService(serviceId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -13490,6 +13566,7 @@ serviceId = serviceId_example # String |  (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
+    # Unregister a Service (deleteService)
     api_response = api_instance.delete_service(serviceId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -13612,7 +13689,7 @@ Specifies the content type that the client expects to receive in response to the
                                       var schemaWrapper = {
   "description" : "No Content - Service unregistered",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "type" : "object"
       }
@@ -13738,12 +13815,13 @@ Specifies the content type that the client expects to receive in response to the
                       

getServices

-

Returns service information

+

Get Services (getServices)

-

Either information about a registered service with given identity or all registered services are returned.

+

Get information about all registered services, or a single registered service. If the service ID of a registered service is included in the query, information about that service is returned. Otherwise Information about all registered is returned. This operation does not retrieve information about unregistered services. +


/services
@@ -13787,7 +13865,7 @@ public class ServiceRegistryAndSupervisionApiExample { // Create an instance of the API class ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi(); - String serviceId = serviceId_example; // String | The identity of the service + String serviceId = serviceId_example; // String | The identity of the registered service String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -13807,7 +13885,7 @@ public class ServiceRegistryAndSupervisionApiExample { final api_instance = DefaultApi(); -final String serviceId = new String(); // String | The identity of the service +final String serviceId = new String(); // String | The identity of the registered service final String accept = new String(); // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -13826,7 +13904,7 @@ try { public class ServiceRegistryAndSupervisionApiExample { public static void main(String[] args) { ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi(); - String serviceId = serviceId_example; // String | The identity of the service + String serviceId = serviceId_example; // String | The identity of the registered service String accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. try { @@ -13848,10 +13926,10 @@ public class ServiceRegistryAndSupervisionApiExample { // Create an instance of the API class ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init]; -String *serviceId = serviceId_example; // The identity of the service (optional) (default to null) +String *serviceId = serviceId_example; // The identity of the registered service (optional) (default to null) String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null) -// Returns service information +// Get Services (getServices) [apiInstance getServicesWith:serviceId accept:accept completionHandler: ^(ServiceStatusList output, NSError* error) { @@ -13866,12 +13944,12 @@ String *accept = application/json; // Specifies the content type that the client
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
 var opts = {
-  'serviceId': serviceId_example, // {String} The identity of the service
+  'serviceId': serviceId_example, // {String} The identity of the registered service
   'accept': application/json // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 };
 
@@ -13905,11 +13983,11 @@ namespace Example
 
             // Create an instance of the API class
             var apiInstance = new ServiceRegistryAndSupervisionApi();
-            var serviceId = serviceId_example;  // String | The identity of the service (optional)  (default to null)
+            var serviceId = serviceId_example;  // String | The identity of the registered service (optional)  (default to null)
             var accept = application/json;  // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional)  (default to null)
 
             try {
-                // Returns service information
+                // Get Services (getServices)
                 ServiceStatusList result = apiInstance.getServices(serviceId, accept);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -13927,7 +14005,7 @@ require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi();
-$serviceId = serviceId_example; // String | The identity of the service
+$serviceId = serviceId_example; // String | The identity of the registered service
 $accept = application/json; // String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 try {
@@ -13946,7 +14024,7 @@ use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new();
-my $serviceId = serviceId_example; # String | The identity of the service
+my $serviceId = serviceId_example; # String | The identity of the registered service
 my $accept = application/json; # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
 
 eval {
@@ -13967,11 +14045,11 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
-serviceId = serviceId_example # String | The identity of the service (optional) (default to null)
+serviceId = serviceId_example # String | The identity of the registered service (optional) (default to null)
 accept = application/json # String | Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 
 try:
-    # Returns service information
+    # Get Services (getServices)
     api_response = api_instance.get_services(serviceId=serviceId, accept=accept)
     pprint(api_response)
 except ApiException as e:
@@ -14050,7 +14128,7 @@ Specifies the content type that the client expects to receive in response to the
                 
 
                     
-The identity of the service +The identity of the registered service
@@ -14225,12 +14303,12 @@ The identity of the service

keepAliveService

-

Heartbeat indicates that the service is running

+

Heartbeat message from a service (keepAliveService)

-

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)

+

A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)


/services/{serviceId}/keepalive
@@ -14256,7 +14334,7 @@ The identity of the service
curl -X PUT \
- -H "Accept: */*,application/problem+json" \
+ -H "Accept: application/json,application/problem+json" \
  -H "Content-Type: application/json" \
  "https://example.com/a1-policy-management/v1/services/{serviceId}/keepalive" \
  -d ''
@@ -14344,7 +14422,7 @@ String *serviceId = serviceId_example; //  (default to null)
 String *accept = application/json; // Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. (optional) (default to null)
 String *body = body_example; //  (optional)
 
-// Heartbeat indicates that the service is running
+// Heartbeat message from a service (keepAliveService)
 [apiInstance keepAliveServiceWith:serviceId
     accept:accept
     body:body
@@ -14360,10 +14438,10 @@ String *body = body_example; //  (optional)
                             
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
 var serviceId = serviceId_example; // {String} 
 var opts = {
   'accept': application/json, // {String} Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.
@@ -14405,7 +14483,7 @@ namespace Example
             var body = body_example;  // String |  (optional) 
 
             try {
-                // Heartbeat indicates that the service is running
+                // Heartbeat message from a service (keepAliveService)
                 Object result = apiInstance.keepAliveService(serviceId, accept, body);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -14470,7 +14548,7 @@ accept = application/json # String | Specifies the content type that the client
 body = body_example # String |  (optional)
 
 try:
-    # Heartbeat indicates that the service is running
+    # Heartbeat message from a service (keepAliveService)
     api_response = api_instance.keep_alive_service(serviceId, accept=accept, body=body)
     pprint(api_response)
 except ApiException as e:
@@ -14642,7 +14720,7 @@ $(document).ready(function() {
                                       var schemaWrapper = {
   "description" : "OK - Service supervision timer refreshed, OK",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "type" : "object"
       }
@@ -14768,12 +14846,13 @@ $(document).ready(function() {
                       

putService

-

Register a service

+

Register or update a Service (putService)

-

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.

+

Register a single service, or update a previous registration. Service registration is required to get callbacks about available NearRT RICs and to enable supervision of the service's active status. If a registered service becomes inactive, its policies can be automatically deleted. A1 Policy instances can also be created for unregistered services. If an unregistered service is later registered, the service's policies are retained when the service becomes registered. This feature is optional to use. +


/services
@@ -14799,7 +14878,7 @@ $(document).ready(function() {
curl -X PUT \
- -H "Accept: */*,application/problem+json" \
+ -H "Accept: application/json,application/problem+json" \
  -H "Content-Type: application/json" \
  "https://example.com/a1-policy-management/v1/services" \
  -d '{
@@ -14883,7 +14962,7 @@ public class ServiceRegistryAndSupervisionApiExample {
 ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init];
 ServiceRegistrationInfo *serviceRegistrationInfo = ; // 
 
-// Register a service
+// Register or update a Service (putService)
 [apiInstance putServiceWith:serviceRegistrationInfo
               completionHandler: ^(Object output, NSError* error) {
     if (output) {
@@ -14897,10 +14976,10 @@ ServiceRegistrationInfo *serviceRegistrationInfo = ; //
                             
-
var A1PolicyManagementApi = require('a1_policy_management_api');
+                              
var OnapCcsdkA1PolicyManagementApi = require('onap_ccsdk_a1_policy_management_api');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
+var api = new OnapCcsdkA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
 var serviceRegistrationInfo = ; // {ServiceRegistrationInfo} 
 
 var callback = function(error, data, response) {
@@ -14936,7 +15015,7 @@ namespace Example
             var serviceRegistrationInfo = new ServiceRegistrationInfo(); // ServiceRegistrationInfo | 
 
             try {
-                // Register a service
+                // Register or update a Service (putService)
                 Object result = apiInstance.putService(serviceRegistrationInfo);
                 Debug.WriteLine(result);
             } catch (Exception e) {
@@ -14995,7 +15074,7 @@ api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
 serviceRegistrationInfo =  # ServiceRegistrationInfo | 
 
 try:
-    # Register a service
+    # Register or update a Service (putService)
     api_response = api_instance.put_service(serviceRegistrationInfo)
     pprint(api_response)
 except ApiException as e:
@@ -15111,7 +15190,7 @@ $(document).ready(function() {
                                       var schemaWrapper = {
   "description" : "OK - Service updated",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "type" : "object"
       }
@@ -15187,7 +15266,7 @@ $(document).ready(function() {
                                       var schemaWrapper = {
   "description" : "Created - Service created",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "type" : "object"
       }
diff --git a/a1-policy-management/api/offeredapis/swagger/README.md b/a1-policy-management/api/offeredapis/swagger/README.md
new file mode 100644
index 00000000..8bbce067
--- /dev/null
+++ b/a1-policy-management/api/offeredapis/swagger/README.md
@@ -0,0 +1,2 @@
+# OpenAPI JSON
+This is a OpenAPI JSON built by the [openapi-generator](https://github.com/openapitools/openapi-generator) project.
\ No newline at end of file
diff --git a/a1-policy-management/api/offeredapis/swagger/custom/README.md b/a1-policy-management/api/offeredapis/swagger/custom/README.md
new file mode 100644
index 00000000..8bbce067
--- /dev/null
+++ b/a1-policy-management/api/offeredapis/swagger/custom/README.md
@@ -0,0 +1,2 @@
+# OpenAPI JSON
+This is a OpenAPI JSON built by the [openapi-generator](https://github.com/openapitools/openapi-generator) project.
\ No newline at end of file
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
index 9514db8d..07f2ac42 100644
--- 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
@@ -5,39 +5,43 @@
       "email" : "discuss-list@onap.com",
       "url" : "https://www.onap.org/"
     },
-    "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managemecnt of A1 policies.
The main tasks of the service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining a view of supported Near-RT RIC policy types
  • Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management

This is an API for management of A1 Policies.

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.

Health Check

API used for supervision of the PMS component.

Service Registry and Supervision

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.

Authorization API

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.

", + "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies.
This document describes the latest API set to perform tasks for:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
  • Maintaining a view of each Near-RT RIC's supported A1 Policy Types
  • Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.

APIs provided or defined by the service

Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'

A1 Policy Management

This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy Types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service Callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository (Older version)

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.

Health Check

API used for supervision of the A1 Policy Management Service.

Service Registry and Supervision

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note that services do not need to be registered to create A1 Policies, but unregistered services are not supervised. This is a feature that is optional to use.

", "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", + "title" : "ONAP CCSDK - A1 Policy Management API", "version" : "1.0.0", - "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", + "x-api-id" : "e9776a07-0813-4fca-9801-6f892f0a7c13", "x-audience" : "external-public" }, + "externalDocs" : { + "description" : "Based on parts of O-RAN ALLIANCE specification: O-RAN.WG2.R1AP-v07.00", + "url" : "https://www.o-ran.org/specifications" + }, "servers" : [ { "url" : "{apiRoot}/a1-policy-management/v1", "variables" : { "apiRoot" : { "default" : "https://example.com", - "description" : "This is the Host:Port or Address where the A1-Policy Management Service can be accessed. Note: This URL path format aligns with the O-RAN Alliance (r) R1-AP specifiactions for A1 Policy Management" + "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 R1-AP specifications 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.", + "description" : "API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types.\n", "name" : "A1 Policy Management" }, { - "description" : "API used to get the NearRT-RIC for the managed element.", + "description" : "API used to get information about registered Near-RT RICs.\n", "name" : "NearRT-RIC Repository" }, { - "description" : "API used to keep the service Alive with in the timeout period", + "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n", "name" : "Service Registry and Supervision" }, { - "description" : "API used to get the health status and statistics of this service", + "description" : "API used to get the health status and statistics of this service.\n", "name" : "Health Check" }, { - "description" : "API used to create or fetch the application configuration.", + "description" : "API used to create or fetch the application configuration.\n", "name" : "Configuration" } ], "paths" : { @@ -60,14 +64,25 @@ } }, "description" : "OK- Service is living Ok" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" } }, + "summary" : "Get Status (getStatus)", "tags" : [ "Health Check" ] } }, "/rics/{ricId}" : { "get" : { - "description" : "A ricId path parameter must be specified to retrieve associated ric infomation", + "description" : "Get information about a Near-RT RIC", "operationId" : "getRic", "parameters" : [ { "description" : "The identity of a Near-RT RIC to get information for.", @@ -79,7 +94,7 @@ "nullable" : false, "type" : "string" }, - "style" : "form" + "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, @@ -119,16 +134,16 @@ "description" : "Not Found" } }, - "summary" : "Returns info for one Near-RT RIC", + "summary" : "Get a Near-RT RIC (getRic)", "tags" : [ "NearRT-RIC Repository" ] } }, "/rics" : { "get" : { - "description" : "The call returns all Near-RT RICs that supports a given policy type identity", + "description" : "Get all Near-RT RICs that supports a given A1 Policy Type ID", "operationId" : "getRics", "parameters" : [ { - "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned", + "description" : "The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.\n", "explode" : true, "in" : "query", "name" : "policyTypeId", @@ -176,13 +191,13 @@ "description" : "Not Found" } }, - "summary" : "Query Near-RT RIC information", + "summary" : "Get Near-RT RICs for A1 Policy Type (getRics)", "tags" : [ "NearRT-RIC Repository" ] } }, "/policy-types" : { "get" : { - "description" : "Query policy type identities", + "description" : "Query A1 Policy Type identities using query parameters", "operationId" : "getPolicyTypes", "parameters" : [ { "description" : "Select types for the given Near-RT RIC identity.", @@ -195,7 +210,7 @@ }, "style" : "form" }, { - "description" : "Select types with the given type name (type identity has the format )", + "description" : "Select types compatible with the given type name (type identity has the format 'typename_version')", "explode" : true, "in" : "query", "name" : "typeName", @@ -205,7 +220,7 @@ }, "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.", + "description" : "Select types that are compatible with the given version. This parameter is only applicable in conjunction with typeName. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.\n", "explode" : true, "in" : "query", "name" : "compatibleWithVersion", @@ -303,7 +318,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -336,12 +351,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Get A1 Policy Types (getPolicyTypes)", "tags" : [ "A1 Policy Management" ] } }, "/policy-types/{policyTypeId}" : { "get" : { - "description" : "Returns a policy type definition", + "description" : "Get an A1 Policy Type definition using its policy type ID", "operationId" : "getPolicyTypeDefinition", "parameters" : [ { "explode" : false, @@ -378,7 +394,7 @@ } } }, - "description" : "OK - schema of the given policy type" + "description" : "OK - details and schema of the requested A1 Policy Type" }, "400" : { "content" : { @@ -438,7 +454,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -471,12 +487,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy Type definition (getPolicyTypeDefinition)", "tags" : [ "A1 Policy Management" ] } }, "/policies/{policyId}" : { "delete" : { - "description" : "Deleting the policy using policyId.", + "description" : "Delete an existing A1 Policy instance using its policy ID.", "operationId" : "deletePolicy", "parameters" : [ { "explode" : false, @@ -501,7 +518,7 @@ } ], "responses" : { "204" : { - "description" : "The A1 policy was deleted" + "description" : "No Content" }, "400" : { "content" : { @@ -569,7 +586,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -586,7 +603,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -619,11 +636,11 @@ "description" : "Service Unavailable" } }, - "summary" : "Delete a policy", + "summary" : "Delete an A1 Policy instance (deletePolicy)", "tags" : [ "A1 Policy Management" ] }, "get" : { - "description" : "Returns a policy", + "description" : "Get an A1 Policy instance's policy data using its policy ID", "operationId" : "getPolicy", "parameters" : [ { "explode" : false, @@ -720,7 +737,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -753,11 +770,12 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy's policy data (getPolicy)", "tags" : [ "A1 Policy Management" ] }, "put" : { - "description" : "update a policy", - "operationId" : "putPolicy", + "description" : "Update an existing A1 Policy instance's policy data using its policy ID.", + "operationId" : "updatePolicy", "parameters" : [ { "explode" : false, "in" : "path", @@ -880,7 +898,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -897,7 +915,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -930,12 +948,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Update an A1 Policy's policy data (updatePolicy)", "tags" : [ "A1 Policy Management" ] } }, "/policies/{policyId}/status" : { "get" : { - "description" : "Query a policy status", + "description" : "Retrieve the status information for an A1 Policy Instance using its policy ID.", "operationId" : "getPolicyStatus", "parameters" : [ { "explode" : false, @@ -1027,7 +1046,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1060,15 +1079,16 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy Instance's status (getPolicyStatus)", "tags" : [ "A1 Policy Management" ] } }, "/policies" : { "get" : { - "description" : "Returns a list of A1 policies matching given search criteria.
If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getAllPolicies", + "description" : "Returns a collection of A1 Policy Instance IDs for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned.\n", + "operationId" : "getPolicyIds", "parameters" : [ { - "description" : "Select policies of a given policy type identity.", + "description" : "Select policies with a given A1 Policy Type ID.", "explode" : true, "in" : "query", "name" : "policyTypeId", @@ -1078,7 +1098,7 @@ }, "style" : "form" }, { - "description" : "Select policies of a given Near-RT RIC identity.", + "description" : "Select policies for a given Near-RT RIC identity.", "explode" : true, "in" : "query", "name" : "nearRtRicId", @@ -1088,7 +1108,7 @@ }, "style" : "form" }, { - "description" : "Select policies owned by a given service.", + "description" : "Select policies owned by a given service (registered or unregistered).", "explode" : true, "in" : "query", "name" : "serviceId", @@ -1098,7 +1118,7 @@ }, "style" : "form" }, { - "description" : "Select policies of types with the given type name (type identity has the format )", + "description" : "Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').", "explode" : true, "in" : "query", "name" : "typeName", @@ -1191,7 +1211,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1224,11 +1244,11 @@ "description" : "Service Unavailable" } }, - "summary" : "Query policy identities", + "summary" : "Query for A1 Policy instances (getPolicyIds)", "tags" : [ "A1 Policy Management" ] }, "post" : { - "description" : "To create A1 policies", + "description" : "Create an A1 Policy Instance", "operationId" : "createPolicy", "requestBody" : { "content" : { @@ -1249,16 +1269,25 @@ } } }, - "description" : "Success case 201 created", + "description" : "Created", "headers" : { "Location" : { - "description" : "Contains the URI of the newly created resource", + "description" : "Contains the URI of the newly created A1 Policy Instances. This URI includes the A1 Policy Instance ID for the newly created policy instance.\n", "explode" : false, "required" : true, "schema" : { "type" : "string" }, "style" : "simple" + }, + "Content-Type" : { + "description" : "Media Type of the response", + "explode" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" } } }, @@ -1358,7 +1387,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -1375,7 +1404,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1408,12 +1437,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Create an A1 Policy Instance (createPolicy)", "tags" : [ "A1 Policy Management" ] } }, "/configuration" : { "get" : { - "description" : "Returns the contents of the application configuration", + "description" : "Returns the entire contents of the Application Configuration.", "operationId" : "getConfiguration", "responses" : { "200" : { @@ -1437,10 +1467,11 @@ "description" : "Not Found" } }, + "summary" : "Get the Application Configuration (getConfiguration)", "tags" : [ "Configuration" ] }, "put" : { - "description" : "Replace the current configuration file with the given configuration", + "description" : "Replace the current Application Configuration with a new configuration. The new configuration, if accepted, will take effect after a short delay. The new configuration must comply with the Application Configuration schema, which can be found from the the Application Documentation (Developer Guide) \n", "operationId" : "putConfiguration", "requestBody" : { "content" : { @@ -1455,7 +1486,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/void" } @@ -1474,12 +1505,13 @@ "description" : "Bad Request" } }, + "summary" : "Set/Replace the Application Configuration (putConfiguration)", "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)", + "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)", "operationId" : "keepAliveService", "parameters" : [ { "explode" : false, @@ -1515,7 +1547,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1534,16 +1566,16 @@ "description" : "Not Found" } }, - "summary" : "Heartbeat indicates that the service is running", + "summary" : "Heartbeat message from a service (keepAliveService)", "tags" : [ "Service Registry and Supervision" ] } }, "/services" : { "get" : { - "description" : "Either information about a registered service with given identity or all registered services are returned.", + "description" : "Get information about all registered services, or a single registered service. If the service ID of a registered service is included in the query, information about that service is returned. Otherwise Information about all registered is returned. This operation does not retrieve information about unregistered services.\n", "operationId" : "getServices", "parameters" : [ { - "description" : "The identity of the service", + "description" : "The identity of the registered service", "explode" : true, "in" : "query", "name" : "serviceId", @@ -1591,7 +1623,7 @@ "description" : "Not Found" } }, - "summary" : "Returns service information", + "summary" : "Get Services (getServices)", "tags" : [ "Service Registry and Supervision" ] }, "put" : { @@ -1599,7 +1631,7 @@ "RICStatus" : { "{$request.body#/callback_url}" : { "post" : { - "description" : "The URL to this call is registered at Service registration.
Callouts to indicate status changes relevant for Services. Note that these calls are called by A1-PMS and they are not provided.", + "description" : "Callouts to indicate Near-RT RIC status changes relevant for Services. \nThe URL invoked by this callback is provided at Service registration.\n", "operationId" : "serviceCallback", "requestBody" : { "content" : { @@ -1633,12 +1665,13 @@ "description" : "Not Found" } }, - "summary" : "Callback for Near-RT RIC status." + "summary" : "Callback for Near-RT RIC status (serviceCallback)", + "tags" : [ "Service Registry and Supervision" ] } } } }, - "description" : "Registering a service is needed to:
  • Get callbacks about available NearRT RICs.
  • Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.
Policies can be created even if the service is not registerred. This is a feature which it is optional to use.", + "description" : "Register a single service, or update a previous registration. Service registration is required to get callbacks about available NearRT RICs and to enable supervision of the service's active status. If a registered service becomes inactive, its policies can be automatically deleted. A1 Policy instances can also be created for unregistered services. If an unregistered service is later registered, the service's policies are retained when the service becomes registered. This feature is optional to use.\n", "operationId" : "putService", "requestBody" : { "content" : { @@ -1653,7 +1686,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1663,7 +1696,7 @@ }, "201" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1682,13 +1715,13 @@ "description" : "Bad Request" } }, - "summary" : "Register a service", + "summary" : "Register or update a Service (putService)", "tags" : [ "Service Registry and Supervision" ] } }, "/services/{serviceId}" : { "delete" : { - "description" : "Unregister a service", + "description" : "Unregister a registered Service using its service ID. Only registered services can be unregistered. All A1 Policy Instances for the previously registered service will be removed.\n", "operationId" : "deleteService", "parameters" : [ { "explode" : false, @@ -1714,7 +1747,7 @@ "responses" : { "204" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1733,6 +1766,7 @@ "description" : "Not Found" } }, + "summary" : "Unregister a Service (deleteService)", "tags" : [ "Service Registry and Supervision" ] } } @@ -1743,29 +1777,18 @@ "description" : "List of service information", "value" : { "serviceList" : [ { - "callbackUrl" : "callbackUrl", - "serviceId" : "serviceId", + "callbackUrl" : "http://callback.url", + "serviceId" : "serviceId1", "keepAliveIntervalSeconds" : 0, "timeSinceLastActivitySeconds" : 6 }, { - "callbackUrl" : "callbackUrl", - "serviceId" : "serviceId", - "keepAliveIntervalSeconds" : 0, - "timeSinceLastActivitySeconds" : 6 + "callbackUrl" : "http://callback.url", + "serviceId" : "serviceId2", + "keepAliveIntervalSeconds" : 500, + "timeSinceLastActivitySeconds" : 401 } ] } }, - "PolicyStatusInfo" : { - "description" : "Status for one A1-P Policy", - "value" : { - "lastModified" : "last_modified", - "status" : { - "value" : { - "status" : "status" - } - } - } - }, "StatusInfo" : { "value" : { "status" : "status" @@ -1773,24 +1796,24 @@ }, "RicInfo" : { "value" : { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId1", + "managedElementIds" : [ "managedElementId1", "managedElementId2" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ] } }, "RicInfoList" : { "value" : { "rics" : [ { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId1", + "managedElementIds" : [ "managedElementId1", "managedElementId2" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ] }, { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId2", + "managedElementIds" : [ "managedElementId3", "managedElementId4" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ] } ] } }, @@ -1839,16 +1862,16 @@ "PolicyTypeInformation" : { "value" : [ { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, { "policyTypeId" : "STD_QOS_0_2_0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_1" + "nearRtRicId" : "ric_g3_1" }, { "policyTypeId" : "STD_QOS_0_2_0", - "nearRtRicId" : "ricsim_g3_1" + "nearRtRicId" : "ric_g3_1" } ] }, "PolicyTypeObject" : { @@ -1996,7 +2019,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -2034,7 +2057,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -2046,14 +2069,14 @@ }, "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", + "description" : "A data tuple to indicate that an identified A1 Policy Type is supported at an identified Near-RT RIC.", "example" : { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, "properties" : { "policyTypeId" : { - "description" : "Identity of the policy type", + "description" : "A1 Policy Type identifier", "type" : "string" }, "nearRtRicId" : { @@ -2064,36 +2087,36 @@ "type" : "object" }, "PolicyObjectInformation" : { - "description" : "Information related to the creation of the policy", + "description" : "Information to create an A1 Policy Instance", "properties" : { "nearRtRicId" : { "description" : "Identity of the target Near-RT RIC", - "example" : "Near-RT-Ric-ID", + "example" : "Near-RT-Ric-ID1", "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 automatically deleted if the targeted Near-RT RIC restarts or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false.\n", "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", + "description" : "An optional identity to be used for the new A1 Policy Instance. If this value is present, it must be unique. If not present the new A1 Policy Instance will be assigned a newly generated unique ID, and the new ID can be extracted from the 'Location' header in the response.\n", + "example" : "POLICY-ID1", "type" : "string" }, "serviceId" : { "default" : "", - "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", + "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. If the service is registered, the newly created A1 Policy Instance will be subject to the same supervision rules as the the service's other policies.", + "example" : "rApp 1", "type" : "string" }, "policyObject" : { "$ref" : "#/components/schemas/PolicyObject" }, "policyTypeId" : { - "description" : "Identity of the policy type", - "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", + "description" : "A1 Policy Type identity", + "example" : "ORAN_QOS_1.0.0 '(typeName_SemVersion)'", "type" : "string" } }, @@ -2104,7 +2127,7 @@ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807", "properties" : { "detail" : { - "description" : " A human-readable explanation specific to this occurrence of the problem.", + "description" : "A human-readable explanation specific to this occurrence of the problem.", "example" : "Policy type not found", "type" : "string" }, @@ -2114,7 +2137,7 @@ "type" : "string" }, "status" : { - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.\n", "example" : 404, "format" : "int32", "type" : "integer" @@ -2123,16 +2146,16 @@ "type" : "object" }, "PolicyObject" : { - "description" : "Policy Object is a JSON representation of an A1 policy", + "description" : "Policy Object is a JSON representation policy data for an A1 Policy Instance. The schema for this policy data is defined in the corresponding A1 Policy Type. \n", "type" : "object" }, "PolicyTypeObject" : { - "description" : "policy type object as defined in A1TD", + "description" : "An A1 Policy Type, as defined in O-RAN Alliance A1TD", "example" : { "policySchema" : { "$schema" : "http://json-schema.org/draft-07/schema#", "title" : "STD_QOS_0_2_0", - "description" : "STD QOS policy type", + "description" : "Policy data schema for STD_QOS_0.2.0 A1 Policy Instances.", "type" : "object", "properties" : { "scope" : { @@ -2163,7 +2186,7 @@ "statusSchema" : { "$schema" : "http://json-schema.org/draft-07/schema#", "title" : "STD_QOS_0.2.0", - "description" : "STD QOS policy type status", + "description" : "Status schema for STD_QOS_0.2.0 A1 Policy Instances.", "type" : "object", "properties" : { "enforceStatus" : { @@ -2189,15 +2212,15 @@ "type" : "object" }, "PolicySchema" : { - "description" : "The schemas are policy type specific", + "description" : "A schema to define the policy data contents of A1 Policy Instances. Policy data schemas are Policy Type specific. All A1 Policy Instances of an A1 Policy Type should comply with the type's policy data schema.\n", "type" : "object" }, "StatusSchema" : { - "description" : "The optional schema for policy status", + "description" : "A schema to define the contents of the status information for A1 Policy Instances. Status schemas are Policy Type specific. All status information for all A1 Policy Instances of an A1 Policy Type should comply with the type's status schema.\n", "type" : "object" }, "PolicyStatusObject" : { - "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.", + "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a schema for policy status can be defined in the corresponding A1 Policy Type.\n", "type" : "object" }, "void" : { @@ -2207,26 +2230,12 @@ "StatusInfo" : { "properties" : { "status" : { - "description" : "status text", + "description" : "Status text", "type" : "string" } }, "type" : "object" }, - "AuthorizationResult" : { - "description" : "Result of authorization", - "example" : { - "result" : true - }, - "properties" : { - "result" : { - "description" : "If true, the access is granted", - "type" : "boolean" - } - }, - "required" : [ "result" ], - "type" : "object" - }, "RicInfo" : { "description" : "Information for a Near-RT RIC", "properties" : { @@ -2235,22 +2244,22 @@ "type" : "string" }, "managedElementIds" : { - "description" : "O1 identities for managed entities", + "description" : "Identities for managed entities", "items" : { - "description" : "O1 identities for managed entities", + "description" : "Identity for a managed entity", "type" : "string" }, "type" : "array" }, "state" : { - "description" : "Represents the states for a Near-RT RIC", + "description" : "Represents the state of a Near-RT RIC", "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ], "type" : "string" }, "policyTypeIds" : { - "description" : "supported policy types", + "description" : "Supported A1 Policy Types", "items" : { - "description" : "supported policy types", + "description" : "Supported A1 Policy Type ID", "type" : "string" }, "type" : "array" @@ -2259,10 +2268,10 @@ "type" : "object" }, "ServiceRegistrationInfo" : { - "description" : "Information for one service", + "description" : "Information for a service to be registered", "properties" : { "callbackUrl" : { - "description" : "callback for notifying of Near-RT RIC state changes", + "description" : "Callback URL for notifying of Near-RT RIC state changes", "type" : "string" }, "serviceId" : { @@ -2270,7 +2279,7 @@ "type" : "string" }, "keepAliveIntervalSeconds" : { - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", + "description" : "Keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.\n", "format" : "int64", "type" : "integer" } @@ -2278,24 +2287,11 @@ "required" : [ "serviceId" ], "type" : "object" }, - "PolicyStatusInfo" : { - "description" : "Status for one A1-P Policy", - "properties" : { - "lastModified" : { - "description" : "timestamp, last modification time", - "type" : "string" - }, - "status" : { - "description" : "the Policy status", - "type" : "object" - } - }, - "type" : "object" - }, "ServiceStatus" : { + "description" : "Information about a previously registered service", "properties" : { "callbackUrl" : { - "description" : "callback for notifying of RIC synchronization", + "description" : "Callback URL for notifying of Near-RT RIC state changes", "type" : "string" }, "serviceId" : { @@ -2303,12 +2299,12 @@ "type" : "string" }, "keepAliveIntervalSeconds" : { - "description" : "policy keep alive timeout", + "description" : "Keep alive interval (seconds) for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.\n", "format" : "int64", "type" : "integer" }, "timeSinceLastActivitySeconds" : { - "description" : "time since last invocation by the service", + "description" : "Time (seconds) since last recorded operation by the service", "format" : "int64", "type" : "integer" } @@ -2316,10 +2312,10 @@ "type" : "object" }, "RicInfoList" : { - "description" : "List of Near-RT RIC information", + "description" : "Collection of Near-RT RIC information objects", "properties" : { "rics" : { - "description" : "List of Near-RT RIC information", + "description" : "List of Near-RT RIC information objects", "items" : { "$ref" : "#/components/schemas/RicInfo" }, @@ -2328,45 +2324,15 @@ }, "type" : "object" }, - "input" : { - "description" : "input", - "properties" : { - "accessType" : { - "description" : "Access type", - "enum" : [ "READ", "WRITE", "DELETE" ], - "type" : "string" - }, - "authToken" : { - "description" : "Authorization token", - "type" : "string" - }, - "policyTypeId" : { - "description" : "Policy type identifier", - "type" : "string" - } - }, - "required" : [ "accessType", "authToken", "policyTypeId" ], - "type" : "object" - }, - "PolicyAuthorization" : { - "description" : "Authorization request for A1 policy requests", - "properties" : { - "input" : { - "$ref" : "#/components/schemas/input" - } - }, - "required" : [ "input" ], - "type" : "object" - }, "NearRtRicId" : { - "description" : "Identity of the policy", + "description" : "Identity of the Near-RT RIC", "type" : "string" }, "PolicyInformation" : { - "description" : "Near-RT RIC identifiers where A1 policies exist and for each Near-RT RIC identifier the policy identifiers of those policies that exist in that Near-RT RIC", + "description" : "Information tuple for a single A1 Policy Instance. Contains the A1 Policy Instance ID, and the ID of the Near-RT RIC where the policy is created. \n", "properties" : { "policyId" : { - "description" : "Identity of the policy", + "description" : "Identity of the A1 Policy Instance", "type" : "string" }, "nearRtRicId" : { @@ -2379,7 +2345,7 @@ "ServiceStatusList" : { "properties" : { "serviceList" : { - "description" : "List of service information", + "description" : "List of Service Status objects, describing a collection of registered services.", "items" : { "$ref" : "#/components/schemas/ServiceStatus" }, @@ -2389,14 +2355,14 @@ "type" : "object" }, "ServiceCallbackInfo" : { - "description" : "Information transferred as in Service callbacks (callback_url)", + "description" : "Information transferred in Service callbacks, \nif a callback URL was provided for a registered service\n", "properties" : { "ricId" : { "description" : "Identity of a Near-RT RIC", "type" : "string" }, "eventType" : { - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", + "description" : "values: \n AVAILABLE: the Near-RT RIC has become available for A1 Policy management\n", "enum" : [ "AVAILABLE" ], "type" : "string" } @@ -2404,34 +2370,23 @@ "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", + "description" : "Object to carry details about a problem in an HTTP response according to IETF RFC 7807", "properties" : { "type" : { - "description" : "a URI reference according to IETF RFC 3986 that identifies the problem type", + "description" : "URI reference according to IETF RFC 3986 that identifies the problem type", "type" : "string" }, "title" : { - "description" : "human-readable summary of the problem type", + "description" : "Human-readable summary of the problem type", "type" : "string" }, "status" : { - "description" : "the HTTP status code", + "description" : "HTTP status code", "type" : "number" }, "detail" : { - "description" : "human-readable explanation ", + "description" : "Human-readable explanation", "type" : "string" }, "instance" : { 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 9514db8d..07f2ac42 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json +++ b/a1-policy-management/api/offeredapis/swagger/pms-api-v3.json @@ -5,39 +5,43 @@ "email" : "discuss-list@onap.com", "url" : "https://www.onap.org/" }, - "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managemecnt of A1 policies.
The main tasks of the service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining a view of supported Near-RT RIC policy types
  • Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management

This is an API for management of A1 Policies.

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.

Health Check

API used for supervision of the PMS component.

Service Registry and Supervision

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.

Authorization API

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.

", + "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies.
This document describes the latest API set to perform tasks for:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
  • Maintaining a view of each Near-RT RIC's supported A1 Policy Types
  • Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.

APIs provided or defined by the service

Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'

A1 Policy Management

This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy Types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service Callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository (Older version)

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.

Health Check

API used for supervision of the A1 Policy Management Service.

Service Registry and Supervision

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note that services do not need to be registered to create A1 Policies, but unregistered services are not supervised. This is a feature that is optional to use.

", "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", + "title" : "ONAP CCSDK - A1 Policy Management API", "version" : "1.0.0", - "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", + "x-api-id" : "e9776a07-0813-4fca-9801-6f892f0a7c13", "x-audience" : "external-public" }, + "externalDocs" : { + "description" : "Based on parts of O-RAN ALLIANCE specification: O-RAN.WG2.R1AP-v07.00", + "url" : "https://www.o-ran.org/specifications" + }, "servers" : [ { "url" : "{apiRoot}/a1-policy-management/v1", "variables" : { "apiRoot" : { "default" : "https://example.com", - "description" : "This is the Host:Port or Address where the A1-Policy Management Service can be accessed. Note: This URL path format aligns with the O-RAN Alliance (r) R1-AP specifiactions for A1 Policy Management" + "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 R1-AP specifications 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.", + "description" : "API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types.\n", "name" : "A1 Policy Management" }, { - "description" : "API used to get the NearRT-RIC for the managed element.", + "description" : "API used to get information about registered Near-RT RICs.\n", "name" : "NearRT-RIC Repository" }, { - "description" : "API used to keep the service Alive with in the timeout period", + "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n", "name" : "Service Registry and Supervision" }, { - "description" : "API used to get the health status and statistics of this service", + "description" : "API used to get the health status and statistics of this service.\n", "name" : "Health Check" }, { - "description" : "API used to create or fetch the application configuration.", + "description" : "API used to create or fetch the application configuration.\n", "name" : "Configuration" } ], "paths" : { @@ -60,14 +64,25 @@ } }, "description" : "OK- Service is living Ok" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" } }, + "summary" : "Get Status (getStatus)", "tags" : [ "Health Check" ] } }, "/rics/{ricId}" : { "get" : { - "description" : "A ricId path parameter must be specified to retrieve associated ric infomation", + "description" : "Get information about a Near-RT RIC", "operationId" : "getRic", "parameters" : [ { "description" : "The identity of a Near-RT RIC to get information for.", @@ -79,7 +94,7 @@ "nullable" : false, "type" : "string" }, - "style" : "form" + "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, @@ -119,16 +134,16 @@ "description" : "Not Found" } }, - "summary" : "Returns info for one Near-RT RIC", + "summary" : "Get a Near-RT RIC (getRic)", "tags" : [ "NearRT-RIC Repository" ] } }, "/rics" : { "get" : { - "description" : "The call returns all Near-RT RICs that supports a given policy type identity", + "description" : "Get all Near-RT RICs that supports a given A1 Policy Type ID", "operationId" : "getRics", "parameters" : [ { - "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned", + "description" : "The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.\n", "explode" : true, "in" : "query", "name" : "policyTypeId", @@ -176,13 +191,13 @@ "description" : "Not Found" } }, - "summary" : "Query Near-RT RIC information", + "summary" : "Get Near-RT RICs for A1 Policy Type (getRics)", "tags" : [ "NearRT-RIC Repository" ] } }, "/policy-types" : { "get" : { - "description" : "Query policy type identities", + "description" : "Query A1 Policy Type identities using query parameters", "operationId" : "getPolicyTypes", "parameters" : [ { "description" : "Select types for the given Near-RT RIC identity.", @@ -195,7 +210,7 @@ }, "style" : "form" }, { - "description" : "Select types with the given type name (type identity has the format )", + "description" : "Select types compatible with the given type name (type identity has the format 'typename_version')", "explode" : true, "in" : "query", "name" : "typeName", @@ -205,7 +220,7 @@ }, "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.", + "description" : "Select types that are compatible with the given version. This parameter is only applicable in conjunction with typeName. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.\n", "explode" : true, "in" : "query", "name" : "compatibleWithVersion", @@ -303,7 +318,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -336,12 +351,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Get A1 Policy Types (getPolicyTypes)", "tags" : [ "A1 Policy Management" ] } }, "/policy-types/{policyTypeId}" : { "get" : { - "description" : "Returns a policy type definition", + "description" : "Get an A1 Policy Type definition using its policy type ID", "operationId" : "getPolicyTypeDefinition", "parameters" : [ { "explode" : false, @@ -378,7 +394,7 @@ } } }, - "description" : "OK - schema of the given policy type" + "description" : "OK - details and schema of the requested A1 Policy Type" }, "400" : { "content" : { @@ -438,7 +454,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -471,12 +487,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy Type definition (getPolicyTypeDefinition)", "tags" : [ "A1 Policy Management" ] } }, "/policies/{policyId}" : { "delete" : { - "description" : "Deleting the policy using policyId.", + "description" : "Delete an existing A1 Policy instance using its policy ID.", "operationId" : "deletePolicy", "parameters" : [ { "explode" : false, @@ -501,7 +518,7 @@ } ], "responses" : { "204" : { - "description" : "The A1 policy was deleted" + "description" : "No Content" }, "400" : { "content" : { @@ -569,7 +586,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -586,7 +603,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -619,11 +636,11 @@ "description" : "Service Unavailable" } }, - "summary" : "Delete a policy", + "summary" : "Delete an A1 Policy instance (deletePolicy)", "tags" : [ "A1 Policy Management" ] }, "get" : { - "description" : "Returns a policy", + "description" : "Get an A1 Policy instance's policy data using its policy ID", "operationId" : "getPolicy", "parameters" : [ { "explode" : false, @@ -720,7 +737,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -753,11 +770,12 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy's policy data (getPolicy)", "tags" : [ "A1 Policy Management" ] }, "put" : { - "description" : "update a policy", - "operationId" : "putPolicy", + "description" : "Update an existing A1 Policy instance's policy data using its policy ID.", + "operationId" : "updatePolicy", "parameters" : [ { "explode" : false, "in" : "path", @@ -880,7 +898,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -897,7 +915,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -930,12 +948,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Update an A1 Policy's policy data (updatePolicy)", "tags" : [ "A1 Policy Management" ] } }, "/policies/{policyId}/status" : { "get" : { - "description" : "Query a policy status", + "description" : "Retrieve the status information for an A1 Policy Instance using its policy ID.", "operationId" : "getPolicyStatus", "parameters" : [ { "explode" : false, @@ -1027,7 +1046,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1060,15 +1079,16 @@ "description" : "Service Unavailable" } }, + "summary" : "Get an A1 Policy Instance's status (getPolicyStatus)", "tags" : [ "A1 Policy Management" ] } }, "/policies" : { "get" : { - "description" : "Returns a list of A1 policies matching given search criteria.
If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getAllPolicies", + "description" : "Returns a collection of A1 Policy Instance IDs for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned.\n", + "operationId" : "getPolicyIds", "parameters" : [ { - "description" : "Select policies of a given policy type identity.", + "description" : "Select policies with a given A1 Policy Type ID.", "explode" : true, "in" : "query", "name" : "policyTypeId", @@ -1078,7 +1098,7 @@ }, "style" : "form" }, { - "description" : "Select policies of a given Near-RT RIC identity.", + "description" : "Select policies for a given Near-RT RIC identity.", "explode" : true, "in" : "query", "name" : "nearRtRicId", @@ -1088,7 +1108,7 @@ }, "style" : "form" }, { - "description" : "Select policies owned by a given service.", + "description" : "Select policies owned by a given service (registered or unregistered).", "explode" : true, "in" : "query", "name" : "serviceId", @@ -1098,7 +1118,7 @@ }, "style" : "form" }, { - "description" : "Select policies of types with the given type name (type identity has the format )", + "description" : "Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').", "explode" : true, "in" : "query", "name" : "typeName", @@ -1191,7 +1211,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1224,11 +1244,11 @@ "description" : "Service Unavailable" } }, - "summary" : "Query policy identities", + "summary" : "Query for A1 Policy instances (getPolicyIds)", "tags" : [ "A1 Policy Management" ] }, "post" : { - "description" : "To create A1 policies", + "description" : "Create an A1 Policy Instance", "operationId" : "createPolicy", "requestBody" : { "content" : { @@ -1249,16 +1269,25 @@ } } }, - "description" : "Success case 201 created", + "description" : "Created", "headers" : { "Location" : { - "description" : "Contains the URI of the newly created resource", + "description" : "Contains the URI of the newly created A1 Policy Instances. This URI includes the A1 Policy Instance ID for the newly created policy instance.\n", "explode" : false, "required" : true, "schema" : { "type" : "string" }, "style" : "simple" + }, + "Content-Type" : { + "description" : "Media Type of the response", + "explode" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" } } }, @@ -1358,7 +1387,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -1375,7 +1404,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -1408,12 +1437,13 @@ "description" : "Service Unavailable" } }, + "summary" : "Create an A1 Policy Instance (createPolicy)", "tags" : [ "A1 Policy Management" ] } }, "/configuration" : { "get" : { - "description" : "Returns the contents of the application configuration", + "description" : "Returns the entire contents of the Application Configuration.", "operationId" : "getConfiguration", "responses" : { "200" : { @@ -1437,10 +1467,11 @@ "description" : "Not Found" } }, + "summary" : "Get the Application Configuration (getConfiguration)", "tags" : [ "Configuration" ] }, "put" : { - "description" : "Replace the current configuration file with the given configuration", + "description" : "Replace the current Application Configuration with a new configuration. The new configuration, if accepted, will take effect after a short delay. The new configuration must comply with the Application Configuration schema, which can be found from the the Application Documentation (Developer Guide) \n", "operationId" : "putConfiguration", "requestBody" : { "content" : { @@ -1455,7 +1486,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/void" } @@ -1474,12 +1505,13 @@ "description" : "Bad Request" } }, + "summary" : "Set/Replace the Application Configuration (putConfiguration)", "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)", + "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)", "operationId" : "keepAliveService", "parameters" : [ { "explode" : false, @@ -1515,7 +1547,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1534,16 +1566,16 @@ "description" : "Not Found" } }, - "summary" : "Heartbeat indicates that the service is running", + "summary" : "Heartbeat message from a service (keepAliveService)", "tags" : [ "Service Registry and Supervision" ] } }, "/services" : { "get" : { - "description" : "Either information about a registered service with given identity or all registered services are returned.", + "description" : "Get information about all registered services, or a single registered service. If the service ID of a registered service is included in the query, information about that service is returned. Otherwise Information about all registered is returned. This operation does not retrieve information about unregistered services.\n", "operationId" : "getServices", "parameters" : [ { - "description" : "The identity of the service", + "description" : "The identity of the registered service", "explode" : true, "in" : "query", "name" : "serviceId", @@ -1591,7 +1623,7 @@ "description" : "Not Found" } }, - "summary" : "Returns service information", + "summary" : "Get Services (getServices)", "tags" : [ "Service Registry and Supervision" ] }, "put" : { @@ -1599,7 +1631,7 @@ "RICStatus" : { "{$request.body#/callback_url}" : { "post" : { - "description" : "The URL to this call is registered at Service registration.
Callouts to indicate status changes relevant for Services. Note that these calls are called by A1-PMS and they are not provided.", + "description" : "Callouts to indicate Near-RT RIC status changes relevant for Services. \nThe URL invoked by this callback is provided at Service registration.\n", "operationId" : "serviceCallback", "requestBody" : { "content" : { @@ -1633,12 +1665,13 @@ "description" : "Not Found" } }, - "summary" : "Callback for Near-RT RIC status." + "summary" : "Callback for Near-RT RIC status (serviceCallback)", + "tags" : [ "Service Registry and Supervision" ] } } } }, - "description" : "Registering a service is needed to:
  • Get callbacks about available NearRT RICs.
  • Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.
Policies can be created even if the service is not registerred. This is a feature which it is optional to use.", + "description" : "Register a single service, or update a previous registration. Service registration is required to get callbacks about available NearRT RICs and to enable supervision of the service's active status. If a registered service becomes inactive, its policies can be automatically deleted. A1 Policy instances can also be created for unregistered services. If an unregistered service is later registered, the service's policies are retained when the service becomes registered. This feature is optional to use.\n", "operationId" : "putService", "requestBody" : { "content" : { @@ -1653,7 +1686,7 @@ "responses" : { "200" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1663,7 +1696,7 @@ }, "201" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1682,13 +1715,13 @@ "description" : "Bad Request" } }, - "summary" : "Register a service", + "summary" : "Register or update a Service (putService)", "tags" : [ "Service Registry and Supervision" ] } }, "/services/{serviceId}" : { "delete" : { - "description" : "Unregister a service", + "description" : "Unregister a registered Service using its service ID. Only registered services can be unregistered. All A1 Policy Instances for the previously registered service will be removed.\n", "operationId" : "deleteService", "parameters" : [ { "explode" : false, @@ -1714,7 +1747,7 @@ "responses" : { "204" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "type" : "object" } @@ -1733,6 +1766,7 @@ "description" : "Not Found" } }, + "summary" : "Unregister a Service (deleteService)", "tags" : [ "Service Registry and Supervision" ] } } @@ -1743,29 +1777,18 @@ "description" : "List of service information", "value" : { "serviceList" : [ { - "callbackUrl" : "callbackUrl", - "serviceId" : "serviceId", + "callbackUrl" : "http://callback.url", + "serviceId" : "serviceId1", "keepAliveIntervalSeconds" : 0, "timeSinceLastActivitySeconds" : 6 }, { - "callbackUrl" : "callbackUrl", - "serviceId" : "serviceId", - "keepAliveIntervalSeconds" : 0, - "timeSinceLastActivitySeconds" : 6 + "callbackUrl" : "http://callback.url", + "serviceId" : "serviceId2", + "keepAliveIntervalSeconds" : 500, + "timeSinceLastActivitySeconds" : 401 } ] } }, - "PolicyStatusInfo" : { - "description" : "Status for one A1-P Policy", - "value" : { - "lastModified" : "last_modified", - "status" : { - "value" : { - "status" : "status" - } - } - } - }, "StatusInfo" : { "value" : { "status" : "status" @@ -1773,24 +1796,24 @@ }, "RicInfo" : { "value" : { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId1", + "managedElementIds" : [ "managedElementId1", "managedElementId2" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ] } }, "RicInfoList" : { "value" : { "rics" : [ { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId1", + "managedElementIds" : [ "managedElementId1", "managedElementId2" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ] }, { - "ricId" : "ricId", - "managedElementIds" : [ "managedElementId", "managedElementId" ], + "ricId" : "ricId2", + "managedElementIds" : [ "managedElementId3", "managedElementId4" ], "state" : "UNAVAILABLE", - "policyTypeIds" : [ "policyTypeId", "policyTypeId" ] + "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ] } ] } }, @@ -1839,16 +1862,16 @@ "PolicyTypeInformation" : { "value" : [ { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, { "policyTypeId" : "STD_QOS_0_2_0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_1" + "nearRtRicId" : "ric_g3_1" }, { "policyTypeId" : "STD_QOS_0_2_0", - "nearRtRicId" : "ricsim_g3_1" + "nearRtRicId" : "ric_g3_1" } ] }, "PolicyTypeObject" : { @@ -1996,7 +2019,7 @@ } } }, - "description" : "Too Many Request" + "description" : "Too Many Requests" }, "500" : { "content" : { @@ -2034,7 +2057,7 @@ "example" : { "status" : 423, "title" : "Locked", - "detail" : "State is Locked in the provided request." + "detail" : "State is Locked in the provided request." }, "schema" : { "$ref" : "#/components/schemas/ErrorInformation" @@ -2046,14 +2069,14 @@ }, "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", + "description" : "A data tuple to indicate that an identified A1 Policy Type is supported at an identified Near-RT RIC.", "example" : { "policyTypeId" : "STD_QOS2_0.1.0", - "nearRtRicId" : "ricsim_g3_2" + "nearRtRicId" : "ric_g3_2" }, "properties" : { "policyTypeId" : { - "description" : "Identity of the policy type", + "description" : "A1 Policy Type identifier", "type" : "string" }, "nearRtRicId" : { @@ -2064,36 +2087,36 @@ "type" : "object" }, "PolicyObjectInformation" : { - "description" : "Information related to the creation of the policy", + "description" : "Information to create an A1 Policy Instance", "properties" : { "nearRtRicId" : { "description" : "Identity of the target Near-RT RIC", - "example" : "Near-RT-Ric-ID", + "example" : "Near-RT-Ric-ID1", "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 automatically deleted if the targeted Near-RT RIC restarts or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false.\n", "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", + "description" : "An optional identity to be used for the new A1 Policy Instance. If this value is present, it must be unique. If not present the new A1 Policy Instance will be assigned a newly generated unique ID, and the new ID can be extracted from the 'Location' header in the response.\n", + "example" : "POLICY-ID1", "type" : "string" }, "serviceId" : { "default" : "", - "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", + "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. If the service is registered, the newly created A1 Policy Instance will be subject to the same supervision rules as the the service's other policies.", + "example" : "rApp 1", "type" : "string" }, "policyObject" : { "$ref" : "#/components/schemas/PolicyObject" }, "policyTypeId" : { - "description" : "Identity of the policy type", - "example" : "ORAN_QOS_1.0.0(typeName_SemVersion)", + "description" : "A1 Policy Type identity", + "example" : "ORAN_QOS_1.0.0 '(typeName_SemVersion)'", "type" : "string" } }, @@ -2104,7 +2127,7 @@ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807", "properties" : { "detail" : { - "description" : " A human-readable explanation specific to this occurrence of the problem.", + "description" : "A human-readable explanation specific to this occurrence of the problem.", "example" : "Policy type not found", "type" : "string" }, @@ -2114,7 +2137,7 @@ "type" : "string" }, "status" : { - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.\n", "example" : 404, "format" : "int32", "type" : "integer" @@ -2123,16 +2146,16 @@ "type" : "object" }, "PolicyObject" : { - "description" : "Policy Object is a JSON representation of an A1 policy", + "description" : "Policy Object is a JSON representation policy data for an A1 Policy Instance. The schema for this policy data is defined in the corresponding A1 Policy Type. \n", "type" : "object" }, "PolicyTypeObject" : { - "description" : "policy type object as defined in A1TD", + "description" : "An A1 Policy Type, as defined in O-RAN Alliance A1TD", "example" : { "policySchema" : { "$schema" : "http://json-schema.org/draft-07/schema#", "title" : "STD_QOS_0_2_0", - "description" : "STD QOS policy type", + "description" : "Policy data schema for STD_QOS_0.2.0 A1 Policy Instances.", "type" : "object", "properties" : { "scope" : { @@ -2163,7 +2186,7 @@ "statusSchema" : { "$schema" : "http://json-schema.org/draft-07/schema#", "title" : "STD_QOS_0.2.0", - "description" : "STD QOS policy type status", + "description" : "Status schema for STD_QOS_0.2.0 A1 Policy Instances.", "type" : "object", "properties" : { "enforceStatus" : { @@ -2189,15 +2212,15 @@ "type" : "object" }, "PolicySchema" : { - "description" : "The schemas are policy type specific", + "description" : "A schema to define the policy data contents of A1 Policy Instances. Policy data schemas are Policy Type specific. All A1 Policy Instances of an A1 Policy Type should comply with the type's policy data schema.\n", "type" : "object" }, "StatusSchema" : { - "description" : "The optional schema for policy status", + "description" : "A schema to define the contents of the status information for A1 Policy Instances. Status schemas are Policy Type specific. All status information for all A1 Policy Instances of an A1 Policy Type should comply with the type's status schema.\n", "type" : "object" }, "PolicyStatusObject" : { - "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.", + "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a schema for policy status can be defined in the corresponding A1 Policy Type.\n", "type" : "object" }, "void" : { @@ -2207,26 +2230,12 @@ "StatusInfo" : { "properties" : { "status" : { - "description" : "status text", + "description" : "Status text", "type" : "string" } }, "type" : "object" }, - "AuthorizationResult" : { - "description" : "Result of authorization", - "example" : { - "result" : true - }, - "properties" : { - "result" : { - "description" : "If true, the access is granted", - "type" : "boolean" - } - }, - "required" : [ "result" ], - "type" : "object" - }, "RicInfo" : { "description" : "Information for a Near-RT RIC", "properties" : { @@ -2235,22 +2244,22 @@ "type" : "string" }, "managedElementIds" : { - "description" : "O1 identities for managed entities", + "description" : "Identities for managed entities", "items" : { - "description" : "O1 identities for managed entities", + "description" : "Identity for a managed entity", "type" : "string" }, "type" : "array" }, "state" : { - "description" : "Represents the states for a Near-RT RIC", + "description" : "Represents the state of a Near-RT RIC", "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ], "type" : "string" }, "policyTypeIds" : { - "description" : "supported policy types", + "description" : "Supported A1 Policy Types", "items" : { - "description" : "supported policy types", + "description" : "Supported A1 Policy Type ID", "type" : "string" }, "type" : "array" @@ -2259,10 +2268,10 @@ "type" : "object" }, "ServiceRegistrationInfo" : { - "description" : "Information for one service", + "description" : "Information for a service to be registered", "properties" : { "callbackUrl" : { - "description" : "callback for notifying of Near-RT RIC state changes", + "description" : "Callback URL for notifying of Near-RT RIC state changes", "type" : "string" }, "serviceId" : { @@ -2270,7 +2279,7 @@ "type" : "string" }, "keepAliveIntervalSeconds" : { - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", + "description" : "Keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.\n", "format" : "int64", "type" : "integer" } @@ -2278,24 +2287,11 @@ "required" : [ "serviceId" ], "type" : "object" }, - "PolicyStatusInfo" : { - "description" : "Status for one A1-P Policy", - "properties" : { - "lastModified" : { - "description" : "timestamp, last modification time", - "type" : "string" - }, - "status" : { - "description" : "the Policy status", - "type" : "object" - } - }, - "type" : "object" - }, "ServiceStatus" : { + "description" : "Information about a previously registered service", "properties" : { "callbackUrl" : { - "description" : "callback for notifying of RIC synchronization", + "description" : "Callback URL for notifying of Near-RT RIC state changes", "type" : "string" }, "serviceId" : { @@ -2303,12 +2299,12 @@ "type" : "string" }, "keepAliveIntervalSeconds" : { - "description" : "policy keep alive timeout", + "description" : "Keep alive interval (seconds) for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.\n", "format" : "int64", "type" : "integer" }, "timeSinceLastActivitySeconds" : { - "description" : "time since last invocation by the service", + "description" : "Time (seconds) since last recorded operation by the service", "format" : "int64", "type" : "integer" } @@ -2316,10 +2312,10 @@ "type" : "object" }, "RicInfoList" : { - "description" : "List of Near-RT RIC information", + "description" : "Collection of Near-RT RIC information objects", "properties" : { "rics" : { - "description" : "List of Near-RT RIC information", + "description" : "List of Near-RT RIC information objects", "items" : { "$ref" : "#/components/schemas/RicInfo" }, @@ -2328,45 +2324,15 @@ }, "type" : "object" }, - "input" : { - "description" : "input", - "properties" : { - "accessType" : { - "description" : "Access type", - "enum" : [ "READ", "WRITE", "DELETE" ], - "type" : "string" - }, - "authToken" : { - "description" : "Authorization token", - "type" : "string" - }, - "policyTypeId" : { - "description" : "Policy type identifier", - "type" : "string" - } - }, - "required" : [ "accessType", "authToken", "policyTypeId" ], - "type" : "object" - }, - "PolicyAuthorization" : { - "description" : "Authorization request for A1 policy requests", - "properties" : { - "input" : { - "$ref" : "#/components/schemas/input" - } - }, - "required" : [ "input" ], - "type" : "object" - }, "NearRtRicId" : { - "description" : "Identity of the policy", + "description" : "Identity of the Near-RT RIC", "type" : "string" }, "PolicyInformation" : { - "description" : "Near-RT RIC identifiers where A1 policies exist and for each Near-RT RIC identifier the policy identifiers of those policies that exist in that Near-RT RIC", + "description" : "Information tuple for a single A1 Policy Instance. Contains the A1 Policy Instance ID, and the ID of the Near-RT RIC where the policy is created. \n", "properties" : { "policyId" : { - "description" : "Identity of the policy", + "description" : "Identity of the A1 Policy Instance", "type" : "string" }, "nearRtRicId" : { @@ -2379,7 +2345,7 @@ "ServiceStatusList" : { "properties" : { "serviceList" : { - "description" : "List of service information", + "description" : "List of Service Status objects, describing a collection of registered services.", "items" : { "$ref" : "#/components/schemas/ServiceStatus" }, @@ -2389,14 +2355,14 @@ "type" : "object" }, "ServiceCallbackInfo" : { - "description" : "Information transferred as in Service callbacks (callback_url)", + "description" : "Information transferred in Service callbacks, \nif a callback URL was provided for a registered service\n", "properties" : { "ricId" : { "description" : "Identity of a Near-RT RIC", "type" : "string" }, "eventType" : { - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", + "description" : "values: \n AVAILABLE: the Near-RT RIC has become available for A1 Policy management\n", "enum" : [ "AVAILABLE" ], "type" : "string" } @@ -2404,34 +2370,23 @@ "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", + "description" : "Object to carry details about a problem in an HTTP response according to IETF RFC 7807", "properties" : { "type" : { - "description" : "a URI reference according to IETF RFC 3986 that identifies the problem type", + "description" : "URI reference according to IETF RFC 3986 that identifies the problem type", "type" : "string" }, "title" : { - "description" : "human-readable summary of the problem type", + "description" : "Human-readable summary of the problem type", "type" : "string" }, "status" : { - "description" : "the HTTP status code", + "description" : "HTTP status code", "type" : "number" }, "detail" : { - "description" : "human-readable explanation ", + "description" : "Human-readable explanation", "type" : "string" }, "instance" : { 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 4df9d61a..5ee5cb9d 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,6 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. +# Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,62 +19,76 @@ openapi: 3.0.3 info: - title: 'A1 policy management API' + title: ONAP CCSDK - A1 Policy Management API version: 1.0.0 - x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8 + x-api-id: e9776a07-0813-4fca-9801-6f892f0a7c13 x-audience: external-public description: "

General

The ONAP CCSDK A1 Policy Management Service\ - \ provides a REST API for managemecnt of A1 policies.
The main tasks of the\ - \ service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring\ - \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining\ - \ a view of supported Near-RT RIC policy types
  • Supervision of using services\ - \ (R-APPs). When a service is unavailable, its policies are removed.

APIs\ - \ provided or defined by the service

A1 Policy Management

This\ - \ is an API for management of A1 Policies.

  • A1 Policy retrieval, creation,\ - \ modification and deletion.
  • Retrieval of supported A1 Policy types for\ - \ a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management\ - \ of configuration

API for updating and retrieval of the component configuration.\ - \ Note that there other ways to maintain the configuration.

Service callbacks

These\ - \ are endpoints that are invoked by this service. The callbacks are registered\ - \ in this service at service registration.

NearRT-RIC Repository

This\ - \ is an API that provides support for looking up a NearRT-RIC. Each A1 policy\ - \ is targeted for one Near-RT RIC.

Health Check

API used for supervision\ - \ of the PMS component.

Service Registry and Supervision

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.

Authorization API

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.

" + \ provides a REST API for managing A1 policies.
This document describes the latest API set + \ to perform tasks for:

  • A1 Policy creation, modification and deletion.
  • Monitoring\ + \ and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
  • Maintaining\ + \ a view of each Near-RT RIC's supported A1 Policy Types
  • Supervision of registered services\ + \ (rApps). When a registered service is unavailable, its policies are removed.

APIs\ + \ provided or defined by the service

\ + \

Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification\ + \ for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'

\ + \

A1 Policy Management

\ + \

This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN\ + \ Alliance R1 Interface specifications for A1 Policy Management:

  • A1 Policy retrieval, creation,\ + \ modification and deletion.
  • Retrieval of supported A1 Policy Types for\ + \ a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management\ + \ of configuration

API for updating and retrieval of the component configuration.\ + \ Note that there other ways to maintain the configuration.

Service Callbacks

These\ + \ are endpoints that are invoked by this service. The callbacks are registered\ + \ in this service at service registration.

NearRT-RIC Repository (Older version)

\ + \

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy\ + \ is targeted towards one Near-RT RIC.

Health Check

API used for supervision\ + \ of the A1 Policy Management Service.

Service Registry and Supervision

\ + \

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner.\ + \ If the owner service is registered, then the service can be monitored by a heart-beat supervision\ + \ mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note \ + \ that services do not need to be registered to create A1 Policies, but unregistered services are not \ + \ supervised. This is a feature that is optional to use.

" license: name: Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License. url: http://www.apache.org/licenses/LICENSE-2.0 contact: url: https://www.onap.org/ email: discuss-list@onap.com +externalDocs: + description: 'Based on parts of O-RAN ALLIANCE specification: O-RAN.WG2.R1AP-v07.00' + url: 'https://www.o-ran.org/specifications' servers: - url: '{apiRoot}/a1-policy-management/v1' variables: apiRoot: default: 'https://example.com' description: 'This is the Host:Port or Address where the A1-Policy Management Service can be accessed. - Note: This URL path format aligns with the O-RAN Alliance (r) R1-AP specifiactions for A1 Policy Management' + Note: This URL path format aligns with the O-RAN Alliance R1-AP specifications for A1 Policy Management' tags: - name: A1 Policy Management - description: "**(Newer Version)** API used to create polices, Policy Instances and get \ them as individual using an ID or get all policies/Instances." + description: > + API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types. - name: NearRT-RIC Repository - description: "API used to get the NearRT-RIC for the managed element." + description: > + API used to get information about registered Near-RT RICs. - name: Service Registry and Supervision - description: "API used to keep the service Alive with in the timeout period" + description: > + API used to manage registered services, and control their keep-alive status via heart-beat messages. - name: Health Check - description: "API used to get the health status and statistics of this service" + description: > + API used to get the health status and statistics of this service. - name: Configuration - description: "API used to create or fetch the application configuration." + description: > + API used to create or fetch the application configuration. paths: /status: get: operationId: getStatus + description: Returns status and statistics of this service + summary: Get Status (getStatus) + tags: + - Health Check responses: "200": content: @@ -86,13 +101,13 @@ paths: description: OK- Service is living Ok "404": $ref: '#/components/responses/404' - description: Returns status and statistics of this service - tags: - - Health Check /rics/{ricId}: get: - description: A ricId path parameter must be specified to retrieve associated ric infomation operationId: getRic + description: Get information about a Near-RT RIC + summary: Get a Near-RT RIC (getRic) + tags: + - NearRT-RIC Repository parameters: - description: The identity of a Near-RT RIC to get information for. explode: true @@ -102,7 +117,6 @@ paths: schema: type: string nullable: false - style: form - description: Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed. in: header @@ -122,16 +136,17 @@ paths: description: OK - Near-RT RIC is found OK "404": $ref: '#/components/responses/404' - summary: Returns info for one Near-RT RIC - tags: - - NearRT-RIC Repository /rics: get: - description: The call returns all Near-RT RICs that supports a given policy - type identity operationId: getRics + description: Get all Near-RT RICs that supports a given A1 Policy Type ID + summary: Get Near-RT RICs for A1 Policy Type (getRics) + tags: + - NearRT-RIC Repository parameters: - - description: "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned" + - description: > + The identity of an A1 Policy Type. If given, all Near-RT RICs supporting + the A1 Policy Type are returned. explode: true in: query name: policyTypeId @@ -158,12 +173,13 @@ paths: description: OK "404": $ref: '#/components/responses/404' - summary: Query Near-RT RIC information - tags: - - NearRT-RIC Repository /policy-types: get: + description: Query A1 Policy Type identities using query parameters operationId: getPolicyTypes + summary: Get A1 Policy Types (getPolicyTypes) + tags: + - A1 Policy Management parameters: - description: Select types for the given Near-RT RIC identity. explode: true @@ -173,8 +189,7 @@ paths: schema: type: string style: form - - description: Select types with the given type name (type identity has the - format ) + - description: Select types compatible with the given type name (type identity has the format 'typename_version') explode: true in: query name: typeName @@ -182,8 +197,9 @@ paths: schema: type: string style: form - - description: Select types that are compatible with the given version. This - parameter is only applicable in conjunction with type_name. As an example + - description: > + Select types that are compatible with the given version. This + parameter is only applicable in conjunction with typeName. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. explode: true @@ -230,12 +246,13 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: Query policy type identities - tags: - - A1 Policy Management /policy-types/{policyTypeId}: get: operationId: getPolicyTypeDefinition + description: Get an A1 Policy Type definition using its policy type ID + summary: Get an A1 Policy Type definition (getPolicyTypeDefinition) + tags: + - A1 Policy Management parameters: - explode: false in: path @@ -260,7 +277,7 @@ paths: examples: PolicyTypeObject: $ref: '#/components/examples/PolicyTypeObject' - description: OK - schema of the given policy type + description: OK - details and schema of the requested A1 Policy Type '400': $ref: '#/components/responses/400' '401': @@ -279,12 +296,13 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: Returns a policy type definition - tags: - - A1 Policy Management /policies/{policyId}: put: - operationId: putPolicy + operationId: updatePolicy + description: Update an existing A1 Policy instance's policy data using its policy ID. + summary: Update an A1 Policy's policy data (updatePolicy) + tags: + - A1 Policy Management parameters: - name: policyId in: path @@ -333,12 +351,12 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: update a policy - tags: - - A1 Policy Management delete: - description: Deleting the policy using policyId. operationId: deletePolicy + description: Delete an existing A1 Policy instance using its policy ID. + summary: Delete an A1 Policy instance (deletePolicy) + tags: + - A1 Policy Management parameters: - explode: false in: path @@ -379,11 +397,12 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - summary: Delete a policy - tags: - - A1 Policy Management get: operationId: getPolicy + description: Get an A1 Policy instance's policy data using its policy ID + summary: Get an A1 Policy's policy data (getPolicy) + tags: + - A1 Policy Management parameters: - explode: false in: path @@ -427,12 +446,13 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: Returns a policy - tags: - - A1 Policy Management /policies/{policyId}/status: get: operationId: getPolicyStatus + description: Retrieve the status information for an A1 Policy Instance using its policy ID. + summary: Get an A1 Policy Instance's status (getPolicyStatus) + tags: + - A1 Policy Management parameters: - explode: false in: path @@ -473,18 +493,17 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: 'Query a policy status' - tags: - - A1 Policy Management - /policies: get: - description: "Returns a list of A1 policies matching given search criteria.\ - \
If several query parameters are defined, the policies matching all conditions\ - \ are returned." - operationId: getAllPolicies + operationId: getPolicyIds + description: > + Returns a collection of A1 Policy Instance IDs for policies that match given search criteria. + If several query parameters are defined, the policies matching all conditions are returned. + summary: Query for A1 Policy instances (getPolicyIds) + tags: + - A1 Policy Management parameters: - - description: Select policies of a given policy type identity. + - description: Select policies with a given A1 Policy Type ID. explode: true in: query name: policyTypeId @@ -492,7 +511,7 @@ paths: schema: type: string style: form - - description: Select policies of a given Near-RT RIC identity. + - description: Select policies for a given Near-RT RIC identity. explode: true in: query name: nearRtRicId @@ -500,7 +519,7 @@ paths: schema: type: string style: form - - description: Select policies owned by a given service. + - description: Select policies owned by a given service (registered or unregistered). explode: true in: query name: serviceId @@ -508,8 +527,7 @@ paths: schema: type: string style: form - - description: Select policies of types with the given type name (type identity - has the format ) + - description: Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). explode: true in: query name: typeName @@ -551,11 +569,12 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - summary: Query policy identities - tags: - - A1 Policy Management post: operationId: createPolicy + description: Create an A1 Policy Instance + summary: Create an A1 Policy Instance (createPolicy) + tags: + - A1 Policy Management requestBody: required: true content: @@ -571,7 +590,10 @@ paths: $ref: '#/components/schemas/PolicyObjectInformation' headers: Location: - description: 'Contains the URI of the newly created resource' + description: > + Contains the URI of the newly created A1 Policy Instances. + This URI includes the A1 Policy Instance ID for the newly + created policy instance. required: true schema: type: string @@ -609,12 +631,13 @@ paths: $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' - description: 'To create A1 policies' - tags: - - A1 Policy Management /configuration: get: operationId: getConfiguration + description: Returns the entire contents of the Application Configuration. + tags: + - Configuration + summary: Get the Application Configuration (getConfiguration) responses: "200": content: @@ -624,12 +647,16 @@ paths: description: OK - Application configuration received "404": $ref: '#/components/responses/404' - - description: Returns the contents of the application configuration - tags: - - Configuration put: operationId: putConfiguration + description: > + Replace the current Application Configuration with a new configuration. + The new configuration, if accepted, will take effect after a short delay. + The new configuration must comply with the Application Configuration schema, + which can be found from the the Application Documentation (Developer Guide) + tags: + - Configuration + summary: Set/Replace the Application Configuration (putConfiguration) requestBody: content: application/json: @@ -645,17 +672,17 @@ paths: description: OK - Configuration updated "400": $ref: '#/components/responses/400' - description: Replace the current configuration file with the given configuration - tags: - - Configuration /services/{serviceId}/keepalive: put: - description: A registered service should invoke this operation regularly to - indicate that it is still alive. If a registered service fails to invoke this - operation before the end of a timeout period the service will be deregistered - and all its A1 policies wil be removed. (This timeout can be set or disabled - when each service is initially registered) operationId: keepAliveService + description: A registered service should invoke this operation regularly to + indicate that it is still alive. If a registered service fails to invoke some operation, + or this operation, before the end of a timeout period the service will be deregistered + and all its A1 policies wil be removed. This operation is only intended for registered + services. (This timeout can be set or disabled when each service is initially registered) + summary: Heartbeat message from a service (keepAliveService) + tags: + - Service Registry and Supervision parameters: - explode: false in: path @@ -683,19 +710,22 @@ paths: 'application/json': schema: type: object - description: "OK - Service supervision timer refreshed, OK" + description: OK - Service supervision timer refreshed, OK "404": $ref: '#/components/responses/404' - summary: Heartbeat indicates that the service is running - tags: - - Service Registry and Supervision /services: get: - description: Either information about a registered service with given identity - or all registered services are returned. operationId: getServices + description: > + Get information about all registered services, or a single registered service. + If the service ID of a registered service is included in the query, information about that + service is returned. Otherwise Information about all registered is returned. + This operation does not retrieve information about unregistered services. + summary: Get Services (getServices) + tags: + - Service Registry and Supervision parameters: - - description: The identity of the service + - description: The identity of the registered service explode: true in: query name: serviceId @@ -722,16 +752,19 @@ paths: description: OK "404": $ref: '#/components/responses/404' - summary: Returns service information - tags: - - Service Registry and Supervision put: - description: "Registering a service is needed to:
  • Get callbacks about\ - \ available NearRT RICs.
  • Activate supervision of the service. If a\ - \ service is inactive, its policies will automatically be deleted.
Policies\ - \ can be created even if the service is not registerred. This is a feature\ - \ which it is optional to use." operationId: putService + description: > + Register a single service, or update a previous registration. + Service registration is required to get callbacks about available NearRT RICs + and to enable supervision of the service's active status. If a registered + service becomes inactive, its policies can be automatically deleted. + A1 Policy instances can also be created for unregistered services. + If an unregistered service is later registered, the service's policies are + retained when the service becomes registered. This feature is optional to use. + summary: Register or update a Service (putService) + tags: + - Service Registry and Supervision requestBody: content: application/json: @@ -753,15 +786,17 @@ paths: description: Created - Service created "400": $ref: '#/components/responses/400' - summary: Register a service - tags: - - Service Registry and Supervision callbacks: RICStatus: "{$request.body#/callback_url}": post: - description: 'The URL to this call is registered at Service registration.
Callouts to indicate status changes relevant for Services. Note that these calls are called by A1-PMS and they are not provided.' operationId: serviceCallback + description: | + Callouts to indicate Near-RT RIC status changes relevant for Services. + The URL invoked by this callback is provided at Service registration. + summary: Callback for Near-RT RIC status (serviceCallback) + tags: + - Service Registry and Supervision requestBody: content: application/json: @@ -777,10 +812,16 @@ paths: description: OK "404": $ref: '#/components/responses/404' - summary: "Callback for Near-RT RIC status." /services/{serviceId}: delete: operationId: deleteService + description: > + Unregister a registered Service using its service ID. + Only registered services can be unregistered. All A1 Policy Instances + for the previously registered service will be removed. + tags: + - Service Registry and Supervision + summary: Unregister a Service (deleteService) parameters: - explode: false in: path @@ -805,55 +846,54 @@ paths: description: No Content - Service unregistered "404": $ref: '#/components/responses/404' - description: Unregister a service - tags: - - Service Registry and Supervision + components: + examples: ServiceStatusList: description: List of service information value: serviceList: - - callbackUrl: callbackUrl - serviceId: serviceId - keepAliveIntervalSeconds: 0 - timeSinceLastActivitySeconds: 6 - - callbackUrl: callbackUrl - serviceId: serviceId + - callbackUrl: http://callback.url + serviceId: serviceId1 keepAliveIntervalSeconds: 0 timeSinceLastActivitySeconds: 6 + - callbackUrl: http://callback.url + serviceId: serviceId2 + keepAliveIntervalSeconds: 500 + timeSinceLastActivitySeconds: 401 StatusInfo: value: - status: status + status: success RicInfo: value: - ricId: ricId + ricId: ricId1 managedElementIds: - - managedElementId - - managedElementId + - managedElementId1 + - managedElementId2 state: UNAVAILABLE policyTypeIds: - - policyTypeId - - policyTypeId + - policyTypeId1 + - policyTypeId2 RicInfoList: value: rics: - - ricId: ricId + - ricId: ricId1 managedElementIds: - - managedElementId - - managedElementId + - managedElementId1 + - managedElementId2 state: UNAVAILABLE policyTypeIds: - - policyTypeId - - policyTypeId - - ricId: ricId + - policyTypeId1 + - policyTypeId2 + - ricId: ricId2 managedElementIds: - - managedElementId - - managedElementId + - managedElementId3 + - managedElementId4 state: UNAVAILABLE policyTypeIds: - - policyTypeId - - policyTypeId + - policyTypeId3 + - policyTypeId4 PolicyObject: value: scope: @@ -885,13 +925,13 @@ components: PolicyTypeInformation: value: - policyTypeId: STD_QOS2_0.1.0 - nearRtRicId: ricsim_g3_2 + nearRtRicId: ric_g3_2 - policyTypeId: STD_QOS_0_2_0 - nearRtRicId: ricsim_g3_2 + nearRtRicId: ric_g3_2 - policyTypeId: STD_QOS2_0.1.0 - nearRtRicId: ricsim_g3_1 + nearRtRicId: ric_g3_1 - policyTypeId: STD_QOS_0_2_0 - nearRtRicId: ricsim_g3_1 + nearRtRicId: ric_g3_1 PolicyTypeObject: value: policySchema: @@ -919,16 +959,15 @@ components: additionalProperties: false required: - priorityLevel + schemas: PolicyTypeInformation: description: >- - Available policy types and for each policy type identifier the Near-RT - RIC identifiers of those Near-RT RICs that support the related A1 policy - type + A data tuple to indicate that an identified A1 Policy Type is supported at an identified Near-RT RIC. type: object properties: policyTypeId: - description: Identity of the policy type + description: A1 Policy Type identifier type: string nearRtRicId: $ref: '#/components/schemas/NearRtRicId' @@ -937,42 +976,50 @@ components: - nearRtRicId example: policyTypeId: STD_QOS2_0.1.0 - nearRtRicId: ricsim_g3_2 + nearRtRicId: ric_g3_2 PolicyObjectInformation: - description: Information related to the creation of the policy + description: Information to create an A1 Policy Instance type: object properties: nearRtRicId: description: Identity of the target Near-RT RIC type: string example: - 'Near-RT-Ric-ID' + 'Near-RT-Ric-ID1' transient: default: false - description: "If true, the policy is deleted at RIC restart. If false, its\ - \ value is maintained by this service until explicitly deleted. Default\ - \ false." + description: > + If true, the policy is automatically deleted if the targeted Near-RT RIC restarts + or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted + Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and + must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false. nullable: false type: boolean policyId: - description: The identity of the Policy. If this value is present, it must be unique; otherwise, a random UUID is generated. + description: > + An optional identity to be used for the new A1 Policy Instance. + If this value is present, it must be unique. If not present the new A1 + Policy Instance will be assigned a newly generated unique ID, and the + new ID can be extracted from the 'Location' header in the response. type: string example: - 'POLICY-ID' + 'POLICY-ID1' serviceId: description: the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated - to a service). Note that the service does not need to be registered. + to a service). Note that the service does not need to be registered. + If the service is registered, the newly created A1 Policy Instance will be + subject to the same supervision rules as the the service's other policies. type: string example: - 'rApp ID' + 'rApp 1' default: "" policyObject: $ref: '#/components/schemas/PolicyObject' policyTypeId: - description: Identity of the policy type + description: A1 Policy Type identity type: string - example: 'ORAN_QOS_1.0.0(typeName_SemVersion)' + example: ORAN_QOS_1.0.0 '(typeName_SemVersion)' required: - nearRtRicId - policyObject @@ -981,26 +1028,27 @@ components: description: Problem as defined in https://tools.ietf.org/html/rfc7807 properties: detail: - description: ' A human-readable explanation specific to this occurrence - of the problem.' + description: A human-readable explanation specific to this occurrence of the problem. example: Policy type not found type: string title: - description: 'A specific error name' + description: A specific error name type: string example: Not Found status: - description: 'The HTTP status code generated by the origin server for this - occurrence of the problem. ' + description: | + The HTTP status code generated by the origin server for this occurrence of the problem. example: 404 format: int32 type: integer type: object PolicyObject: - description: 'Policy Object is a JSON representation of an A1 policy' + description: > + Policy Object is a JSON representation policy data for an A1 Policy Instance. + The schema for this policy data is defined in the corresponding A1 Policy Type. type: object PolicyTypeObject: - description: 'policy type object as defined in A1TD' + description: An A1 Policy Type, as defined in O-RAN Alliance A1TD type: object properties: policySchema: @@ -1008,12 +1056,12 @@ components: statusSchema: $ref: '#/components/schemas/StatusSchema' required: - - "policySchema" + - policySchema example: policySchema: "$schema": http://json-schema.org/draft-07/schema# title: STD_QOS_0_2_0 - description: STD QOS policy type + description: Policy data schema for STD_QOS_0.2.0 A1 Policy Instances. type: object properties: scope: @@ -1038,7 +1086,7 @@ components: statusSchema: "$schema": http://json-schema.org/draft-07/schema# title: STD_QOS_0.2.0 - description: STD QOS policy type status + description: Status schema for STD_QOS_0.2.0 A1 Policy Instances. type: object properties: enforceStatus: @@ -1049,13 +1097,22 @@ components: required: - enforceStatus PolicySchema: - description: 'The schemas are policy type specific' + description: > + A schema to define the policy data contents of A1 Policy Instances. + Policy data schemas are Policy Type specific. + All A1 Policy Instances of an A1 Policy Type should comply with the type's policy data schema. type: object StatusSchema: - description: 'The optional schema for policy status' + description: > + A schema to define the contents of the status information for A1 Policy Instances. + Status schemas are Policy Type specific. + All status information for all A1 Policy Instances of an A1 Policy Type should comply + with the type's status schema. type: object PolicyStatusObject: - description: 'A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.' + description: > + A generic policy status object that can be used to transport any policy status. + Additionally, a schema for policy status can be defined in the corresponding A1 Policy Type. type: object void: description: Void/empty @@ -1063,7 +1120,7 @@ components: StatusInfo: properties: status: - description: status text + description: Status text type: string type: object RicInfo: @@ -1073,13 +1130,13 @@ components: description: Identity of the Near-RT RIC type: string managedElementIds: - description: O1 identities for managed entities + description: Identities for managed entities items: - description: O1 identities for managed entities + description: Identity for a managed entity type: string type: array state: - description: Represents the states for a Near-RT RIC + description: Represents the state of a Near-RT RIC enum: - UNAVAILABLE - AVAILABLE @@ -1087,72 +1144,80 @@ components: - CONSISTENCY_CHECK type: string policyTypeIds: - description: supported policy types + description: Supported A1 Policy Types items: - description: supported policy types + description: Supported A1 Policy Type ID type: string type: array type: object ServiceRegistrationInfo: - description: Information for one service + description: Information for a service to be registered properties: callbackUrl: - description: callback for notifying of Near-RT RIC state changes + description: Callback URL for notifying of Near-RT RIC state changes type: string serviceId: description: Identity of the service type: string keepAliveIntervalSeconds: - description: "keep alive interval for the service. This is used to enable\ - \ optional heartbeat supervision of the service. If set (> 0) the registered\ - \ service should regularly invoke a 'keepalive' REST call. When a service\ - \ fails to invoke this 'keepalive' call within the configured time, the\ - \ service is considered unavailable. An unavailable service will be automatically\ - \ deregistered and its policies will be deleted. Value 0 means timeout\ - \ supervision is disabled." + description: > + Keep alive interval for the service. This is used to enable + optional heartbeat supervision of the service. If set (> 0) the registered + service should regularly invoke a 'keepalive' REST call. When a service + fails to invoke this 'keepalive' call within the configured time, the + service is considered unavailable. An unavailable service will be automatically + deregistered and its policies will be deleted. Value 0 means timeout + supervision is disabled. format: int64 type: integer required: - serviceId type: object ServiceStatus: + description: Information about a previously registered service properties: callbackUrl: - description: callback for notifying of RIC synchronization + description: Callback URL for notifying of Near-RT RIC state changes type: string serviceId: description: Identity of the service type: string keepAliveIntervalSeconds: - description: policy keep alive timeout + description: > + Keep alive interval (seconds) for the service. This is used to enable + optional heartbeat supervision of the service. If set (> 0) the registered + service should regularly invoke a 'keepalive' REST call. When a service + fails to invoke this 'keepalive' call within the configured time, the + service is considered unavailable. An unavailable service will be automatically + deregistered and its policies will be deleted. Value 0 means timeout + supervision is disabled. format: int64 type: integer timeSinceLastActivitySeconds: - description: time since last invocation by the service + description: Time (seconds) since last recorded operation by the service format: int64 type: integer type: object RicInfoList: - description: List of Near-RT RIC information + description: Collection of Near-RT RIC information objects properties: rics: - description: List of Near-RT RIC information + description: List of Near-RT RIC information objects items: $ref: '#/components/schemas/RicInfo' type: array type: object NearRtRicId: - description: Identity of the policy + description: Identity of the Near-RT RIC type: string PolicyInformation: - description: >- - Near-RT RIC identifiers where A1 policies exist and for each Near-RT RIC - identifier the policy identifiers of those policies that exist in that - Near-RT RIC + description: > + Information tuple for a single A1 Policy Instance. + Contains the A1 Policy Instance ID, and the ID of the Near-RT RIC where the policy is created. type: object properties: policyId: - description: Identity of the policy + description: Identity of the A1 Policy Instance type: string nearRtRicId: $ref: '#/components/schemas/NearRtRicId' @@ -1162,20 +1227,23 @@ components: ServiceStatusList: properties: serviceList: - description: List of service information + description: List of Service Status objects, describing a collection of registered services. items: $ref: '#/components/schemas/ServiceStatus' type: array type: object ServiceCallbackInfo: - description: Information transferred as in Service callbacks (callback_url) + description: | + Information transferred in Service callbacks, + if a callback URL was provided for a registered service properties: ricId: description: Identity of a Near-RT RIC type: string eventType: - description: "values:\nAVAILABLE: the Near-RT RIC has become available\ - \ for A1 Policy management" + description: > + values: + AVAILABLE: the Near-RT RIC has become available for A1 Policy management enum: - AVAILABLE type: string @@ -1184,28 +1252,25 @@ components: - ricId type: object ProblemDetails: - description: >- - A problem detail to carry details in an HTTP response according to RFC - 7807 + description: Object to carry details about a problem in an HTTP response according to IETF RFC 7807 type: object properties: type: - description: >- - a URI reference according to IETF RFC 3986 that identifies the - problem type + description: URI reference according to IETF RFC 3986 that identifies the problem type type: string title: - description: human-readable summary of the problem type + description: Human-readable summary of the problem type type: string status: - description: the HTTP status code + description: HTTP status code type: number detail: - description: 'human-readable explanation ' + description: Human-readable explanation type: string instance: description: URI reference that identifies the specific occurrence of the problem type: string + responses: '400': description: Bad Request @@ -1292,7 +1357,7 @@ components: schema: $ref: '#/components/schemas/ProblemDetails' Locked: - description: "Locked - HTTP Status code which can be used when the state is Locked" + description: Locked - HTTP Status code which can be used when the state is Locked content: application/problem+json: schema: @@ -1300,4 +1365,4 @@ components: example: status: 423 title: Locked - detail: State is Locked in the provided request. + detail: State is Locked in the provided request. diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api.json b/a1-policy-management/api/offeredapis/swagger/pms-api.json index 036e7fea..8434ba94 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api.json +++ b/a1-policy-management/api/offeredapis/swagger/pms-api.json @@ -3,14 +3,15 @@ "info" : { "contact" : { "email" : "discuss-list@onap.com", + "name" : "ONAP CCSDK Project", "url" : "https://www.onap.org/" }, - "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managemecnt of A1 policies.
The main tasks of the service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining a view of supported Near-RT RIC policy types
  • Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management

This is an API for management of A1 Policies.

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.

Health Check

API used for supervision of the PMS component.

Service Registry and Supervision

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.

Authorization API

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.

Spring Boot Actuator

Provides generic functions used to monitor and manage the Spring web application.

", + "description" : "

General

The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies.
This document describes an older pre-spec API set to perform tasks for:

  • A1 Policy creation, modification and deletion.
  • Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
  • Maintaining a view of each Near-RT RIC's supported A1 Policy Types
  • Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.

APIs provided or defined by the service

A1 Policy Management (Older pre-spec version)

This is an older API for managing A1 Policies:

  • A1 Policy retrieval, creation, modification and deletion.
  • Retrieval of supported A1 Policy Types for a Near-RT RIC
  • Retrieval of status for existing A1 policies

Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

Service Callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

NearRT-RIC Repository (Older version)

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.

Health Check

API used for supervision of the A1 Policy Management Service .

Service Registry and Supervision

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note that services do not need to be registered to create A1 Policies, but unregistered services are not supervised. This is a feature that is optional to use.

Authorization API

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.

Spring Boot Actuator

Provides built-in functions used to monitor and configure the Spring web application hosting the service.

", "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.", + "name" : "Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025 OpenInfra Foundation Europe. \nAll rights reserved. Licensed under the Apache 2 License.\n", "url" : "http://www.apache.org/licenses/LICENSE-2.0" }, - "title" : "ONAP CCSDK A1 Policy Management Service", + "title" : "ONAP CCSDK - Pre-Spec A1 Policy Management API", "version" : "1.3.0", "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8", "x-audience" : "external-public" @@ -19,189 +20,53 @@ "url" : "/" } ], "tags" : [ { - "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" : "Older pre-spec API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types.\n", + "name" : "A1 Policy Management" }, { - "description" : "API used to get the NearRT-RIC for the managed element.", + "description" : "Older API used to get information about registered Near-RT RICs.\n", "name" : "NearRT-RIC Repository" }, { - "description" : "API used to keep the service Alive with in the timeout period", + "description" : "Older API used to manage registered service, and control their keep-alive status via heart-beat messages.\n", "name" : "Service Registry and Supervision" }, { - "description" : "API used to get the health status and statistics of this service", + "description" : "API used to get the health status and statistics of this service\n", "name" : "Health Check" }, { - "description" : "Callouts to indicate status schanges relevant for Services.
Note that these calls are called by A1-PMS, not provided.", - "name" : "Service callbacks" + "description" : "Callout to registered services to indicate a status changes for a Near-RT RIC. Note that these operations are called by the A1 Policy Management Service, not provided.\n", + "name" : "Service Callbacks" }, { - "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA).
Note that this API is called by A1-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). Note that these operations are called by the A1 Policy Management Service, not provided.\n", "name" : "Authorization API" }, { - "description" : "API used to create or fetch the application configuration.", + "description" : "API used to create or fetch the application configuration.\n", "name" : "Configuration" }, { - "description" : "Monitor and interact", + "description" : "API used to monitor and configure the A1-PMS Springboot Service.\n", "externalDocs" : { "description" : "Spring Boot Actuator Web API Documentation", - "url" : "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/" + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" }, - "name" : "Actuator" + "name" : "Actuator API" } ], "paths" : { - "/a1-policy/v2/policy-instances" : { - "get" : { - "description" : "Returns a list of A1 policies matching given search criteria.
If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getPolicyInstances", - "parameters" : [ { - "description" : "Select policies with a given type identity.", - "explode" : true, - "in" : "query", - "name" : "policytype_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies for a given Near-RT RIC identity.", - "explode" : true, - "in" : "query", - "name" : "ric_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies owned by a given service.", - "explode" : true, - "in" : "query", - "name" : "service_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies of a given type name (type identity has the format )", - "explode" : true, - "in" : "query", - "name" : "type_name", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "examples" : { - "policy_info_list" : { - "$ref" : "#/components/examples/policy_info_list" - } - }, - "schema" : { - "$ref" : "#/components/schemas/policy_info_list" - } - } - }, - "description" : "OK - Returns A1 Policies which matches the criteria" - }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - }, - "description" : "Not Found - Near-RT RIC, policy type or service not found" - } - }, - "summary" : "Query for A1 policy instances", - "tags" : [ "A1 Policy Management" ] - } - }, - "/example-authz-check" : { - "post" : { - "description" : "The authorization function decides if access is granted.", - "operationId" : "performAccessControl", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_authorization" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/authorization_result" - } - } - }, - "description" : "OK" - }, - "403" : { - "content" : { - "application/problem+json" : { - "example" : { - "status" : 403, - "title" : "Forbidden", - "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights." - }, - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - }, - "description" : "Forbidden" - } - }, - "summary" : "Request for access authorization.", - "tags" : [ "Authorization API" ] - } - }, - "/actuator/threaddump" : { + "/status" : { "get" : { - "operationId" : "threaddump", + "description" : "Returns status and statistics of this service", + "operationId" : "getStatusV1", "responses" : { "200" : { "content" : { - "text/plain;charset=UTF-8" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { + "*/*" : { "schema" : { - "type" : "object" + "type" : "string" } } }, - "description" : "OK" + "description" : "OK - Service is living" } }, - "summary" : "Actuator web endpoint 'threaddump'", - "tags" : [ "Actuator" ], - "x-internal" : true + "summary" : "Get Status (getStatusV1)", + "tags" : [ "Health Check" ] } }, "/a1-policy/v2/status" : { @@ -225,75 +90,16 @@ "description" : "OK- Service is living Ok" } }, + "summary" : "Get Status (getStatus)", "tags" : [ "Health Check" ] } }, - "/actuator/loggers" : { - "get" : { - "operationId" : "loggers", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'loggers'", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, - "/actuator/health/**" : { - "get" : { - "operationId" : "health-path", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'health-path'", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, "/a1-policy/v2/rics/ric" : { "get" : { - "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.
The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).", + "description" : "Query information about a Near-RT RIC. Either a Near-RT RIC identity or a Managed Element identity can be specified. The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).\n", "operationId" : "getRic", "parameters" : [ { - "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.", + "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.\n", "explode" : true, "in" : "query", "name" : "managed_element_id", @@ -338,43 +144,13 @@ "description" : "Not Found" } }, - "summary" : "Returns info of Near-RT RIC queried by the ric-id and managed-element-id", + "summary" : "Get a Near-RT RIC (getRic)", "tags" : [ "NearRT-RIC Repository" ] } }, - "/actuator/shutdown" : { - "post" : { - "operationId" : "shutdown", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'shutdown'", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, "/a1-policy/v2/policy-types" : { "get" : { - "description" : "Query policy type identities", + "description" : "Query A1 Policy Type identities using query parameters", "operationId" : "getPolicyTypes", "parameters" : [ { "description" : "Select types for the given Near-RT RIC identity.", @@ -387,7 +163,7 @@ }, "style" : "form" }, { - "description" : "Select types with the given type name (type identity has the format )", + "description" : "Select types compatible with the given type name (type identity has the format 'typename_version')", "explode" : true, "in" : "query", "name" : "type_name", @@ -432,12 +208,13 @@ "description" : "Not Found" } }, + "summary" : "Get A1 Policy Types (getPolicyTypes)", "tags" : [ "A1 Policy Management" ] } }, "/a1-policy/v2/policies/{policy_id}" : { "delete" : { - "description" : "Deleting the policy using the Policy's Policy ID.", + "description" : "Delete an A1 Policy instance using its policy ID.", "operationId" : "deletePolicy", "parameters" : [ { "explode" : false, @@ -476,11 +253,11 @@ "description" : "Locked - HTTP Status code which can be used when the state is Locked" } }, - "summary" : "Delete a policy", + "summary" : "Delete an A1 Policy instance (deletePolicy)", "tags" : [ "A1 Policy Management" ] }, "get" : { - "description" : "Returns a policy", + "description" : "Get an A1 Policy instance using its policy ID", "operationId" : "getPolicy", "parameters" : [ { "explode" : false, @@ -517,16 +294,18 @@ "description" : "Not Found" } }, + "summary" : "Get an A1 Policy instance (getPolicy)", "tags" : [ "A1 Policy Management" ] } }, - "/actuator/metrics/{requiredMetricName}" : { - "get" : { - "operationId" : "metrics-requiredMetricName", + "/a1-policy/v2/services/{service_id}/keepalive" : { + "put" : { + "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)", + "operationId" : "keepAliveService", "parameters" : [ { "explode" : false, "in" : "path", - "name" : "requiredMetricName", + "name" : "service_id", "required" : true, "schema" : { "type" : "string" @@ -536,299 +315,33 @@ "responses" : { "200" : { "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { + "*/*" : { "schema" : { "type" : "object" } } }, - "description" : "OK" + "description" : "OK - Service supervision timer refreshed, OK" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" } }, - "summary" : "Actuator web endpoint 'metrics-requiredMetricName'", - "tags" : [ "Actuator" ], - "x-internal" : true + "summary" : "Heartbeat message from a service (keepAliveService)", + "tags" : [ "Service Registry and Supervision" ] } }, - "/a1-policy/v2/configuration" : { + "/a1-policy/v2/rics" : { "get" : { - "description" : "Returns the contents of the application configuration file", - "operationId" : "getConfiguration", - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - }, - "description" : "OK - Configuration" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" - } - }, - "tags" : [ "Configuration" ] - }, - "put" : { - "description" : "Replace the current configuration 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" : { - "example" : { - "status" : 400, - "title" : "Bad Request", - "detail" : "The provided request is not valid." - }, - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - }, - "description" : "Bad Request" - } - }, - "tags" : [ "Configuration" ] - } - }, - "/actuator" : { - "get" : { - "operationId" : "links", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "additionalProperties" : { - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - }, - "type" : "object" - }, - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "additionalProperties" : { - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - }, - "type" : "object" - }, - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "additionalProperties" : { - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - }, - "type" : "object" - }, - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator root web endpoint", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, - "/actuator/loggers/{name}" : { - "get" : { - "operationId" : "loggers-name", - "parameters" : [ { - "explode" : false, - "in" : "path", - "name" : "name", - "required" : true, - "schema" : { - "type" : "string" - }, - "style" : "simple" - } ], - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'loggers-name'", - "tags" : [ "Actuator" ], - "x-internal" : true - }, - "post" : { - "operationId" : "loggers-name_2", - "parameters" : [ { - "explode" : false, - "in" : "path", - "name" : "name", - "required" : true, - "schema" : { - "type" : "string" - }, - "style" : "simple" - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ], - "type" : "string" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'loggers-name'", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, - "/a1-policy/v2/services/{service_id}/keepalive" : { - "put" : { - "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)", - "operationId" : "keepAliveService", - "parameters" : [ { - "explode" : false, - "in" : "path", - "name" : "service_id", - "required" : true, - "schema" : { - "type" : "string" - }, - "style" : "simple" - } ], - "responses" : { - "200" : { - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK - Service supervision timer refreshed, OK" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" - } - }, - "summary" : "Heartbeat indicates that the service is running", - "tags" : [ "Service Registry and Supervision" ] - } - }, - "/actuator/metrics" : { - "get" : { - "operationId" : "metrics", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - }, - "description" : "OK" - } - }, - "summary" : "Actuator web endpoint 'metrics'", - "tags" : [ "Actuator" ], - "x-internal" : true - } - }, - "/a1-policy/v2/rics" : { - "get" : { - "description" : "The call returns all Near-RT RICs that supports a given policy type identity", + "description" : "Get all Near-RT RICs that supports a given A1 Policy Type ID", "operationId" : "getRics", "parameters" : [ { - "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned", + "description" : "The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.\n", "explode" : true, "in" : "query", "name" : "policytype_id", @@ -863,16 +376,16 @@ "description" : "Not Found" } }, - "summary" : "Query Near-RT RIC information", + "summary" : "Get Near-RT RICs for A1 Policy Type (getRics)", "tags" : [ "NearRT-RIC Repository" ] } }, "/a1-policy/v2/services" : { "get" : { - "description" : "Either information about a registered service with given identity or all registered services are returned.", + "description" : "Get information about all registered services, or a single registered service. If the service ID of a registered service is included in the query, information about that service is returned. Otherwise Information about all registered is returned. This operation does not retrieve information about unregistered services.\n", "operationId" : "getServices", "parameters" : [ { - "description" : "The identity of the service", + "description" : "The identity of the registered service", "explode" : true, "in" : "query", "name" : "service_id", @@ -907,7 +420,7 @@ "description" : "Not Found" } }, - "summary" : "Returns service information", + "summary" : "Get Services (getServices)", "tags" : [ "Service Registry and Supervision" ] }, "put" : { @@ -915,7 +428,7 @@ "RICStatus" : { "{$request.body#/callback_url}" : { "post" : { - "description" : "The URL to this call is registered at Service registration.", + "description" : "Callouts to indicate Near-RT RIC status changes relevant for Services. \nThe URL invoked by this callback is provided at Service registration.\n", "operationId" : "serviceCallback", "requestBody" : { "content" : { @@ -947,13 +460,13 @@ "description" : "Not Found" } }, - "summary" : "Callback for Near-RT RIC status", - "tags" : [ "Service callbacks" ] + "summary" : "Callback for Near-RT RIC status (serviceCallback)", + "tags" : [ "Service Registry and Supervision", "Service Callbacks" ] } } } }, - "description" : "Registering a service is needed to:
  • Get callbacks about available NearRT RICs.
  • Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.
Policies can be created even if the service is not registerred. This is a feature which it is optional to use.", + "description" : "Register a single service, or update a previous registtration. Service registration is required to get callbacks about available NearRT RICs and to enable supervision of the service's active status. If a registered service becomes inactive, its policies can be automatically deleted. A1 Policy instances can also be created for unregistered services. If an unregistered service is later registered, the service's policies are retained when the service becomes registered. This feature is optional to use.\n", "operationId" : "putService", "requestBody" : { "content" : { @@ -1002,28 +515,494 @@ "description" : "Bad Request" } }, - "summary" : "Register a service", + "summary" : "Register or update a Service (putService)", "tags" : [ "Service Registry and Supervision" ] } }, - "/actuator/info" : { + "/a1-policy/v2/policy-types/{policytype_id}" : { "get" : { - "operationId" : "info", - "responses" : { - "200" : { - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { + "description" : "Get an A1 Policy Type definition using its policy type ID", + "operationId" : "getPolicyTypeDefinition", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policytype_id", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policy_type_definition" : { + "$ref" : "#/components/examples/policy_type_definition" + } + }, + "schema" : { + "$ref" : "#/components/schemas/policy_type_definition" + } + } + }, + "description" : "OK - schema of the requested A1 Policy Type" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" + } + }, + "summary" : "Get an A1 Policy Type definition (getPolicyTypeDefinition)", + "tags" : [ "A1 Policy Management" ] + } + }, + "/a1-policy/v2/policies" : { + "get" : { + "description" : "Retrieve a list of A1 Policy Instance IDs for policies that match given search criteria. If multiple query parameters are given, the policies matching all conditions are returned.\n", + "operationId" : "getPolicyIds", + "parameters" : [ { + "description" : "Select policies of a given A1 Policy Type ID.", + "explode" : true, + "in" : "query", + "name" : "policytype_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies of a given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "ric_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies owned by a given service. (Both registered and unregistered services)", + "explode" : true, + "in" : "query", + "name" : "service_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version')\n", + "explode" : true, + "in" : "query", + "name" : "type_name", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policy_id_list" : { + "$ref" : "#/components/examples/policy_id_list" + } + }, + "schema" : { + "$ref" : "#/components/schemas/policy_id_list" + } + } + }, + "description" : "OK - Policy identities" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" + } + }, + "summary" : "Query A1 Policy Instances (getPolicyIds)", + "tags" : [ "A1 Policy Management" ] + }, + "put" : { + "description" : "Create or Update an A1 Policy Instance", + "operationId" : "putPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/policy_info" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "OK - Policy updated" + }, + "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/void" + } + } + }, + "description" : "Created - Policy created" + }, + "423" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 423, + "title" : "Locked", + "detail" : "Requested resource is in a locked state." + }, + "schema" : { + "$ref" : "#/components/schemas/error_information" + } + } + }, + "description" : "Locked - HTTP Status code which can be used when the state is Locked" + } + }, + "summary" : "Create or Update an A1 Policy Instance (putPolicy)", + "tags" : [ "A1 Policy Management" ] + } + }, + "/a1-policy/v2/policy-instances" : { + "get" : { + "description" : "Returns a collection of A1 Policy Instance information for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned.\n", + "operationId" : "getPolicyInstances", + "parameters" : [ { + "description" : "Select policies with a given A1 Policy Type ID.", + "explode" : true, + "in" : "query", + "name" : "policytype_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies for a given Near-RT RIC identity.", + "explode" : true, + "in" : "query", + "name" : "ric_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies owned by a given service (registered or unregistered).", + "explode" : true, + "in" : "query", + "name" : "service_id", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').", + "explode" : true, + "in" : "query", + "name" : "type_name", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policy_info_list" : { + "$ref" : "#/components/examples/policy_info_list" + } + }, + "schema" : { + "$ref" : "#/components/schemas/policy_info_list" + } + } + }, + "description" : "OK - Returns A1 Policy Instances which match the criteria" + }, + "404" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/error_information" + } + } + }, + "description" : "Not Found - Near-RT RIC, A1 Policy Type or service was not found" + } + }, + "summary" : "Query for A1 Policy instances (getPolicyInstances)", + "tags" : [ "A1 Policy Management" ] + } + }, + "/a1-policy/v2/services/{service_id}" : { + "delete" : { + "description" : "Unregister a registered Service using its service ID. Only registered services can be unregistered. All A1 Policy Instances for the previously registered service will be removed.\n", + "operationId" : "deleteService", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "service_id", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "content" : { + "*/*" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "No Content - Service unregistered" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" + } + }, + "summary" : "Unregister a Service (deleteService)", + "tags" : [ "Service Registry and Supervision" ] + } + }, + "/a1-policy/v2/policies/{policy_id}/status" : { + "get" : { + "description" : "Retrieve the status information for an A1 Policy Instance.", + "operationId" : "getPolicyStatus", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policy_id", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "policy_status_info" : { + "$ref" : "#/components/examples/policy_status_info" + } + }, + "schema" : { + "$ref" : "#/components/schemas/policy_status_info" + } + } + }, + "description" : "OK - Policy status" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" + } + }, + "summary" : "Get an A1 Policy Instance's status (getPolicyStatus)", + "tags" : [ "A1 Policy Management" ] + } + }, + "/a1-policy/v2/configuration" : { + "get" : { + "description" : "Returns the entire contents of the Application Configuration.", + "operationId" : "getConfiguration", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "description" : "OK - Configuration" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : [ ] + } + }, + "description" : "Not Found" + } + }, + "summary" : "Get the Application Configuration (getConfiguration)", + "tags" : [ "Configuration" ] + }, + "put" : { + "description" : "Replace the current Application Configuration with a new configuration. The new configuration, if accepted, will take effect after a short delay. The new configuration must comply with the Application Configuration schema, which can be found from the the Application Documentation (Developer Guide) \n", + "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" : { + "example" : { + "status" : 400, + "title" : "Bad Request", + "detail" : "The provided request is not valid." + }, + "schema" : { + "$ref" : "#/components/schemas/error_information" + } + } + }, + "description" : "Bad Request" + } + }, + "summary" : "Set/Replace the Application Configuration (putConfiguration)", + "tags" : [ "Configuration" ] + } + }, + "/example-authz-check" : { + "post" : { + "description" : "A template endpoint for callout requests to an external authorization function. The authorization function, if enabled, decides if individual operations are permitted.\n", + "operationId" : "performAccessControl", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/policy_authorization" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/authorization_result" + } + } + }, + "description" : "OK" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : 403, + "title" : "Forbidden", + "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights." + }, + "schema" : { + "$ref" : "#/components/schemas/error_information" + } + } + }, + "description" : "Forbidden" + } + }, + "summary" : "Callout request for access authorization (performAccessControl)", + "tags" : [ "Authorization API" ] + } + }, + "/actuator" : { + "get" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint. Returns a set of links to available/enabled actuator endpoints.\n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorLinks", + "responses" : { + "200" : { + "content" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "additionalProperties" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/Link" + }, + "type" : "object" + }, + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "additionalProperties" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/Link" + }, + "type" : "object" + }, "type" : "object" } }, "application/vnd.spring-boot.actuator.v2+json" : { "schema" : { + "additionalProperties" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/Link" + }, + "type" : "object" + }, "type" : "object" } } @@ -1031,75 +1010,242 @@ "description" : "OK" } }, - "summary" : "Actuator web endpoint 'info'", - "tags" : [ "Actuator" ], + "summary" : "Actuator endpoint - Root (actuatorLinks)", + "tags" : [ "Actuator API" ], "x-internal" : true } }, - "/status" : { + "/actuator/heapdump" : { "get" : { - "description" : "Returns status and statistics of this service", - "operationId" : "getStatusV1", + "description" : "A1-PMS Springboot Service Actuator web endpoint - HeapDump. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorHeapdump", "responses" : { "200" : { "content" : { - "*/*" : { + "application/octet-stream" : { "schema" : { - "type" : "string" + "type" : "object" } } }, - "description" : "OK - Service is living" + "description" : "OK" + } + }, + "summary" : "Actuator endpoint - Heapdump (actuatorHeapdump)", + "tags" : [ "Actuator API" ], + "x-internal" : true + } + }, + "/actuator/info" : { + "get" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - Info. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorInfo", + "responses" : { + "200" : { + "content" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK" + } + }, + "summary" : "Actuator endpoint - Info (actuatorInfo)", + "tags" : [ "Actuator API" ], + "x-internal" : true + } + }, + "/actuator/threaddump" : { + "get" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - ThreadDump. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorThreaddump", + "responses" : { + "200" : { + "content" : { + "text/plain;charset=UTF-8" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK" + } + }, + "summary" : "Actuator endpoint - Threaddump (actuatorThreaddump)", + "tags" : [ "Actuator API" ], + "x-internal" : true + } + }, + "/actuator/loggers" : { + "get" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - Get a list of Loggers. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorLoggers", + "responses" : { + "200" : { + "content" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK" + } + }, + "summary" : "Actuator endpoint - Get Loggers (actuatorLoggers)", + "tags" : [ "Actuator API" ], + "x-internal" : true + } + }, + "/actuator/loggers/{name}" : { + "get" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - Get a single named Logger. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorGetLogger", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "name", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK" } }, - "tags" : [ "Health Check" ] - } - }, - "/a1-policy/v2/policy-types/{policytype_id}" : { - "get" : { - "description" : "Returns a policy type definition", - "operationId" : "getPolicyTypeDefinition", + "summary" : "Actuator endpoint - Get Logger (actuatorGetLogger)", + "tags" : [ "Actuator API" ], + "x-internal" : true + }, + "post" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - Create or Update single named Logger. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorSetlogger", "parameters" : [ { "explode" : false, "in" : "path", - "name" : "policytype_id", + "name" : "name", "required" : true, "schema" : { "type" : "string" }, "style" : "simple" } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ], + "type" : "string" + } + } + } + }, "responses" : { "200" : { "content" : { - "application/json" : { - "examples" : { - "policy_type_definition" : { - "$ref" : "#/components/examples/policy_type_definition" - } - }, + "*/*" : { "schema" : { - "$ref" : "#/components/schemas/policy_type_definition" + "type" : "object" } } }, - "description" : "OK - schema of the given policy type" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" + "description" : "OK" } }, - "tags" : [ "A1 Policy Management" ] + "summary" : "Actuator endpoint - Set Logger (actuatorSetlogger)", + "tags" : [ "Actuator API" ], + "x-internal" : true } }, "/actuator/logfile" : { "get" : { - "operationId" : "logfile", + "description" : "A1-PMS Springboot Service Actuator web endpoint - Get the Log file. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorGetLogFile", "responses" : { "200" : { "content" : { @@ -1112,14 +1258,19 @@ "description" : "OK" } }, - "summary" : "Actuator web endpoint 'logfile'", - "tags" : [ "Actuator" ], + "summary" : "Actuator endpoint - Log File (actuatorGetLogFile)", + "tags" : [ "Actuator API" ], "x-internal" : true } }, "/actuator/health" : { "get" : { - "operationId" : "health", + "description" : "A1-PMS Springboot Service Actuator web endpoint - Health Check. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorHealth", "responses" : { "200" : { "content" : { @@ -1142,181 +1293,103 @@ "description" : "OK" } }, - "summary" : "Actuator web endpoint 'health'", - "tags" : [ "Actuator" ], + "summary" : "Actuator endpoint - Health (actuatorHealth)", + "tags" : [ "Actuator API" ], "x-internal" : true } }, - "/a1-policy/v2/policies" : { + "/actuator/health/**" : { "get" : { - "description" : "Returns a list of A1 policies matching given search criteria.
If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getPolicyIds", - "parameters" : [ { - "description" : "Select policies of a given policy type identity.", - "explode" : true, - "in" : "query", - "name" : "policytype_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies of a given Near-RT RIC identity.", - "explode" : true, - "in" : "query", - "name" : "ric_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies owned by a given service.", - "explode" : true, - "in" : "query", - "name" : "service_id", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - }, { - "description" : "Select policies of types with the given type name (type identity has the format )", - "explode" : true, - "in" : "query", - "name" : "type_name", - "required" : false, - "schema" : { - "type" : "string" - }, - "style" : "form" - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "examples" : { - "policy_id_list" : { - "$ref" : "#/components/examples/policy_id_list" - } - }, - "schema" : { - "$ref" : "#/components/schemas/policy_id_list" - } - } - }, - "description" : "OK - Policy identities" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" - } - }, - "summary" : "Query policy identities", - "tags" : [ "A1 Policy Management" ] - }, - "put" : { - "description" : "Create or update a policy", - "operationId" : "putPolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info" - } - } - }, - "required" : true + "description" : "A1-PMS Springboot Service Actuator web endpoint - Health Status for an Application Component. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" }, + "operationId" : "actuatorHealthComponent", "responses" : { "200" : { "content" : { - "application/json" : { + "application/vnd.spring-boot.actuator.v3+json" : { "schema" : { - "$ref" : "#/components/schemas/void" + "type" : "object" } - } - }, - "description" : "OK - Policy updated" - }, - "201" : { - "content" : { + }, "application/json" : { "schema" : { - "$ref" : "#/components/schemas/void" + "type" : "object" } - } - }, - "description" : "Created - Policy created" - }, - "423" : { - "content" : { - "application/problem+json" : { - "example" : { - "status" : 423, - "title" : "Locked", - "detail" : "Requested resource is in a locked state." - }, + }, + "application/vnd.spring-boot.actuator.v2+json" : { "schema" : { - "$ref" : "#/components/schemas/error_information" + "type" : "object" } } }, - "description" : "Locked - HTTP Status code which can be used when the state is Locked" + "description" : "OK" } }, - "tags" : [ "A1 Policy Management" ] + "summary" : "Actuator endpoint - Component Health (actuatorHealthComponent)", + "tags" : [ "Actuator API" ], + "x-internal" : true } }, - "/a1-policy/v2/services/{service_id}" : { - "delete" : { - "description" : "Unregister a service", - "operationId" : "deleteService", - "parameters" : [ { - "explode" : false, - "in" : "path", - "name" : "service_id", - "required" : true, - "schema" : { - "type" : "string" - }, - "style" : "simple" - } ], + "/actuator/shutdown" : { + "post" : { + "description" : "A1-PMS Springboot Service Actuator web endpoint - Shutdown the Application. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorShutdown", "responses" : { - "204" : { + "200" : { "content" : { - "*/*" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { "schema" : { "type" : "object" } } }, - "description" : "No Content - Service unregistered" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" + "description" : "OK" } }, - "tags" : [ "Service Registry and Supervision" ] + "summary" : "Actuator endpoint - Shutdown (actuatorShutdown)", + "tags" : [ "Actuator API" ], + "x-internal" : true } }, - "/actuator/heapdump" : { + "/actuator/metrics" : { "get" : { - "operationId" : "heapdump", + "description" : "A1-PMS Springboot Service Actuator web endpoint - Get a list of Application metrics names. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorMetrics", "responses" : { "200" : { "content" : { - "application/octet-stream" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, + "application/json" : { + "schema" : { + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { "schema" : { "type" : "object" } @@ -1325,19 +1398,23 @@ "description" : "OK" } }, - "summary" : "Actuator web endpoint 'heapdump'", - "tags" : [ "Actuator" ], + "summary" : "Actuator endpoint - Metrics (actuatorMetrics)", + "tags" : [ "Actuator API" ], "x-internal" : true } }, - "/a1-policy/v2/policies/{policy_id}/status" : { + "/actuator/metrics/{requiredMetricName}" : { "get" : { - "description" : "Returns a policy status", - "operationId" : "getPolicyStatus", + "description" : "A1-PMS Springboot Service Actuator web endpoint - Get the value for a named Application metric. \n", + "externalDocs" : { + "description" : "Spring Boot Actuator Web API Documentation", + "url" : "https://docs.spring.io/spring-boot/reference/actuator/endpoints.html" + }, + "operationId" : "actuatorGetMetric", "parameters" : [ { "explode" : false, "in" : "path", - "name" : "policy_id", + "name" : "requiredMetricName", "required" : true, "schema" : { "type" : "string" @@ -1347,29 +1424,27 @@ "responses" : { "200" : { "content" : { + "application/vnd.spring-boot.actuator.v3+json" : { + "schema" : { + "type" : "object" + } + }, "application/json" : { - "examples" : { - "policy_status_info" : { - "$ref" : "#/components/examples/policy_status_info" - } - }, "schema" : { - "$ref" : "#/components/schemas/policy_status_info" + "type" : "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json" : { + "schema" : { + "type" : "object" } } }, - "description" : "OK - Policy status" - }, - "404" : { - "content" : { - "application/problem+json" : { - "example" : [ ] - } - }, - "description" : "Not Found" + "description" : "OK" } }, - "tags" : [ "A1 Policy Management" ] + "summary" : "Actuator endpoint - Get Metric (actuatorGetMetric)", + "x-internal" : true } } }, @@ -1401,48 +1476,48 @@ } }, "policy_type_definition" : { - "description" : "Schema of the given Policy type", + "description" : "Schema of the given A1 Policy Type", "value" : { "policy_schema" : "{}" } }, "policy_type_id_list" : { - "description" : "Array of policy type id's", + "description" : "Array of A1 Policy Type id's", "value" : { "policy_type_id_list" : [ "policytype_id", "policytype_id" ] } }, "policy_info" : { - "description" : "Policy information of one A1-P policy", + "description" : "Information for an A1 Policy Instance", "value" : { - "ric_id" : "ric_id", - "policy_id" : "policy_id", + "ric_id" : "ric_id1", + "policy_id" : "policy_id1", "transient" : false, - "service_id" : "service_id", + "service_id" : "service_id1", "policy_data" : "{}", "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" + "policytype_id" : "policytype_id1" } }, "policy_info_list" : { "description" : "List of policy information", "value" : { "policies" : [ { - "ric_id" : "ric_id", - "policy_id" : "policy_id", + "ric_id" : "ric_id1", + "policy_id" : "policy_id1", "transient" : false, - "service_id" : "service_id", + "service_id" : "service_id1", "policy_data" : "{}", "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" + "policytype_id" : "policytype_id1" }, { - "ric_id" : "ric_id", - "policy_id" : "policy_id", - "transient" : false, - "service_id" : "service_id", + "ric_id" : "ric_id2", + "policy_id" : "policy_id2", + "transient" : true, + "service_id" : "service_id2", "policy_data" : "{}", "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" + "policytype_id" : "policytype_id2" } ] } }, @@ -1549,10 +1624,10 @@ }, "schemas" : { "policy_type_definition" : { - "description" : "Contains policy type schema definition", + "description" : "Contains A1 Policy Type schema definition", "properties" : { "policy_schema" : { - "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema", + "description" : "A1 Policy Type json schema. The schema is a json object following http://json-schema.org/draft-07/schema", "type" : "object" } }, @@ -1563,7 +1638,7 @@ "properties" : { "detail" : { "description" : " A human-readable explanation specific to this occurrence of the problem.", - "example" : "Policy type not found", + "example" : "A1 Policy Type not found", "type" : "string" }, "title" : { @@ -1628,9 +1703,9 @@ "type" : "string" }, "policytype_ids" : { - "description" : "supported policy types", + "description" : "supported A1 Policy Types", "items" : { - "description" : "supported policy types", + "description" : "supported A1 Policy Types", "type" : "string" }, "type" : "array" @@ -1642,7 +1717,7 @@ "description" : "Information for one service", "properties" : { "callback_url" : { - "description" : "callback for notifying of Near-RT RIC state changes", + "description" : "Callback for notifying of Near-RT RIC state changes", "type" : "string" }, "service_id" : { @@ -1650,7 +1725,7 @@ "type" : "string" }, "keep_alive_interval_seconds" : { - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", + "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.\n", "format" : "int64", "type" : "integer" } @@ -1734,7 +1809,7 @@ "type" : "string" }, "policy_type_id" : { - "description" : "Policy type identifier", + "description" : "A1 Policy Type identifier", "type" : "string" } }, @@ -1752,12 +1827,12 @@ "type" : "object" }, "policy_type_id_list" : { - "description" : "Information about policy types", + "description" : "Information about A1 Policy Types", "properties" : { "policytype_ids" : { - "description" : "Policy type identities", + "description" : "A1 Policy Type identities", "items" : { - "description" : "Policy type identities", + "description" : "A1 Policy Type identities", "type" : "string" }, "type" : "array" @@ -1778,14 +1853,14 @@ }, "transient" : { "default" : false, - "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", + "description" : "If true, the policy is automatically deleted if the targeted Near-RT RIC restarts or recovers. If false, the A1 Policy Instance remains, and is re-pushed to the targeted Near-RT RIC after a restart or recovery. If false, the A1 Policy Instance is maintained and must be deleted separately in the event of Near-RT RIC restart or recovery. Default is false.\n", "example" : false, "nullable" : false, "type" : "boolean" }, "service_id" : { "default" : "", - "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.", + "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. If the service is registered, the A1 Policy Instance will be subject to the same supervision rules as the the service's other policies.\n", "type" : "string" }, "policy_data" : { @@ -1797,7 +1872,7 @@ "type" : "string" }, "policytype_id" : { - "description" : "identity of the policy type", + "description" : "identity of the A1 Policy Type", "type" : "string" } }, @@ -1834,14 +1909,14 @@ "type" : "object" }, "service_callback_info_v2" : { - "description" : "Information transferred as in Service callbacks (callback_url)", + "description" : "Information transferred in Service callbacks, \nif a callback URL was provided for a registered service\n", "properties" : { "ric_id" : { "description" : "identity of a Near-RT RIC", "type" : "string" }, "event_type" : { - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", + "description" : "values: \n AVAILABLE: the Near-RT RIC has become available for A1 Policy management\n", "enum" : [ "AVAILABLE" ], "type" : "string" } diff --git a/a1-policy-management/api/offeredapis/swagger/pms-api.yaml b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml index 421201e9..ea6d5d1e 100644 --- a/a1-policy-management/api/offeredapis/swagger/pms-api.yaml +++ b/a1-policy-management/api/offeredapis/swagger/pms-api.yaml @@ -1,6 +1,6 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2020-2023 Nordix Foundation. 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 # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,174 +22,98 @@ info: x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8 x-audience: external-public description: "

General

The ONAP CCSDK A1 Policy Management Service\ - \ provides a REST API for managemecnt of A1 policies.
The main tasks of the\ - \ service are:

  • A1 Policy creation, modification and deletion.
  • Monitoring\ - \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs
  • Maintaining\ - \ a view of supported Near-RT RIC policy types
  • Supervision of using services\ - \ (R-APPs). When a service is unavailable, its policies are removed.

APIs\ - \ provided or defined by the service

A1 Policy Management

This\ - \ is an API for management of A1 Policies.