A1 PMS support for fine grained access control -A1 London 88/134188/5
authorPatrikBuhr <patrik.buhr@est.tech>
Mon, 17 Apr 2023 11:00:15 +0000 (13:00 +0200)
committerPatrikBuhr <patrik.buhr@est.tech>
Wed, 19 Apr 2023 07:09:31 +0000 (09:09 +0200)
Documentation updates.

Issue-ID: CCSDK-3889
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
Change-Id: Iaa73d0128a4c466ed2b3d1803af66368d3c37fa6

17 files changed:
a1-policy-management/api/pms-api.json
a1-policy-management/api/pms-api.yaml
a1-policy-management/api/pms-api/index.html
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/SwaggerConfig.java
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/AuthorizationConsts.java
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java
a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/OpenPolicyAgentSimulatorController.java
docs/architecture/architecture.rst
docs/conf.py
docs/guide/developer-guide.rst
docs/media/ONAP-A1ControllerArchitecture.png
docs/media/ONAP-A1ControllerArchitecture.pptx [new file with mode: 0644]
docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html
docs/offeredapis/swagger/pms-api.json
docs/offeredapis/swagger/pms-api.yaml
docs/requirements-docs.txt
docs/tox.ini

index 9efa7b7..33fa5e1 100644 (file)
                 "description": "OK",
                 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
             }},
-            "tags": ["Callbacks"]
+            "tags": ["Service callbacks"]
         }},
         "/a1-policy/v2/services/{service_id}": {"delete": {
             "summary": "Unregister a service",
             "name": "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.",
             "url": "http://www.apache.org/licenses/LICENSE-2.0"
         },
-        "description": "<h2>General<\/h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:<\/p><ul><li>A1 Policy creation, modification and deletion.<\/li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs<\/li><li>Maintaining a view of supported Near-RT RIC policy types<\/li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.<\/li><\/ul><h2>APIs provided by the service<\/h2><h3>A1 Policy Management<\/h3><p>This is an API for management of A1 Policies.<\/p><ul><li>A1 Policy retrieval, creation, modification and deletion.<\/li><li>Retrieval of supported A1 Policy types for a Near-RT RIC<\/li><li>Retrieval of status for existing A1 policies<\/li><\/ul><h3>Management of configuration<\/h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.<\/p><h3>Callbacks<\/h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.<\/p><h3>NearRT-RIC Repository<\/h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.<\/p><h3>Health Check<\/h3><p>API used for supervision of the PMS component.<\/p><h3>Service Registry and Supervision<\/h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.<\/p><h3>Spring Boot Actuator<\/h3><p>Provides generic functions  used to monitor and manage the Spring web application.<\/p>",
+        "description": "<h2>General<\/h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:<\/p><ul><li>A1 Policy creation, modification and deletion.<\/li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs<\/li><li>Maintaining a view of supported Near-RT RIC policy types<\/li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.<\/li><\/ul><h2>APIs provided or defined by the service<\/h2><h3>A1 Policy Management<\/h3><p>This is an API for management of A1 Policies.<\/p><ul><li>A1 Policy retrieval, creation, modification and deletion.<\/li><li>Retrieval of supported A1 Policy types for a Near-RT RIC<\/li><li>Retrieval of status for existing A1 policies<\/li><\/ul><h3>Management of configuration<\/h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.<\/p><h3>Service callbacks<\/h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.<\/p><h3>NearRT-RIC Repository<\/h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.<\/p><h3>Health Check<\/h3><p>API used for supervision of the PMS component.<\/p><h3>Service Registry and Supervision<\/h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.<\/p><h3>Authorization API<\/h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.<\/p><h3>Spring Boot Actuator<\/h3><p>Provides generic functions  used to monitor and manage the Spring web application.<\/p>",
         "title": "A1 Policy Management Service",
-        "version": "1.1.0"
+        "version": "1.2.0"
     },
     "tags": [
         {
index a905c40..44dc2ba 100644 (file)
@@ -6,28 +6,31 @@ info:
     \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining\
     \ a view of supported Near-RT RIC policy types</li><li>Supervision of using services\
     \ (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs\
-    \ provided by the service</h2><h3>A1 Policy Management</h3><p>This is an API for\
-    \ management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification\
-    \ and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval\
-    \ of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API\
-    \ for updating and retrieval of the component configuration. Note that there other\
-    \ ways to maintain the configuration.</p><h3>Callbacks</h3><p>These are endpoints\
-    \ that are invoked by this service. The callbacks are registered in this service\
-    \ at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API\
-    \ that provides support for looking up a NearRT-RIC. Each A1 policy is targeted\
-    \ for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of\
-    \ the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for\
-    \ registering services that uses PMS. Each A1 policy is optionally owned by a\
-    \ service. PMS can supervise each registered service by a heart-beat supervision\
+    \ provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This\
+    \ is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation,\
+    \ modification and deletion.</li><li>Retrieval of supported A1 Policy types for\
+    \ a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management\
+    \ of configuration</h3><p>API for updating and retrieval of the component configuration.\
+    \ Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These\
+    \ are endpoints that are invoked by this service. The callbacks are registered\
+    \ in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This\
+    \ is an API that provides support for looking up a NearRT-RIC. Each A1 policy\
+    \ is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
+    \ of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used\
+    \ for registering services that uses PMS. Each A1 policy is optionally owned by\
+    \ service. PMS can supervise each registered service by a heart-beat supervision\
     \ and will automatically remove policies for unavailable services. Note that a\
     \ service does not need to be registered in order to create A1 Policies. This\
-    \ is a feature that is optional to use.</p><h3>Spring Boot Actuator</h3><p>Provides\
-    \ generic functions  used to monitor and manage the Spring web application.</p>"
+    \ is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used\
+    \ for access control of A1 Policy access. If configured, an external authorization\
+    \ provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot\
+    \ Actuator</h3><p>Provides generic functions  used to monitor and manage the Spring\
+    \ web application.</p>"
   license:
     name: Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.
     url: http://www.apache.org/licenses/LICENSE-2.0
   title: A1 Policy Management Service
-  version: 1.1.0
+  version: 1.2.0
 servers:
 - url: /
 tags:
@@ -879,7 +882,7 @@ paths:
           description: OK
       summary: Callback for Near-RT RIC status
       tags:
-      - Callbacks
+      - Service callbacks
   /a1-policy/v2/services/{service_id}:
     delete:
       operationId: deleteService
index 8b29a31..c4aa60e 100644 (file)
@@ -1230,10 +1230,6 @@ ul.nav-tabs {
                     <li data-group="AuthorizationAPI" data-name="performAccessControl" class="">
                       <a href="#api-AuthorizationAPI-performAccessControl">performAccessControl</a>
                     </li>
-                  <li class="nav-header" data-group="Callbacks"><a href="#api-Callbacks">API Methods - Callbacks</a></li>
-                    <li data-group="Callbacks" data-name="serviceCallback" class="">
-                      <a href="#api-Callbacks-serviceCallback">serviceCallback</a>
-                    </li>
                   <li class="nav-header" data-group="HealthCheck"><a href="#api-HealthCheck">API Methods - HealthCheck</a></li>
                     <li data-group="HealthCheck" data-name="getStatus" class="">
                       <a href="#api-HealthCheck-getStatus">getStatus</a>
@@ -1255,6 +1251,10 @@ ul.nav-tabs {
                     <li data-group="NearRTRICRepository" data-name="getRics" class="">
                       <a href="#api-NearRTRICRepository-getRics">getRics</a>
                     </li>
+                  <li class="nav-header" data-group="ServiceCallbacks"><a href="#api-ServiceCallbacks">API Methods - ServiceCallbacks</a></li>
+                    <li data-group="ServiceCallbacks" data-name="serviceCallback" class="">
+                      <a href="#api-ServiceCallbacks-serviceCallback">serviceCallback</a>
+                    </li>
                   <li class="nav-header" data-group="ServiceRegistryAndSupervision"><a href="#api-ServiceRegistryAndSupervision">API Methods - ServiceRegistryAndSupervision</a></li>
                     <li data-group="ServiceRegistryAndSupervision" data-name="deleteService" class="">
                       <a href="#api-ServiceRegistryAndSupervision-deleteService">deleteService</a>
@@ -1281,10 +1281,10 @@ ul.nav-tabs {
         <div id="header">
           <div id="api-_">
             <h2 id="welcome-to-apidoc">API and SDK Documentation</h2>
-              <div class="app-desc">Version: 1.1.0</div>
+              <div class="app-desc">Version: 1.2.0</div>
             <hr>
             <div id="app-description" class="app-desc">
-                <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions  used to monitor and manage the Spring web application.</p>
+                <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions  used to monitor and manage the Spring web application.</p>
 
             </div>
           </div>
@@ -9628,69 +9628,66 @@ $(document).ready(function() {
                       </div>
                       <hr>
                   </section>
-                <section id="api-Callbacks">
-                  <h1>Callbacks</h1>
-                    <div id="api-Callbacks-serviceCallback">
-                      <article id="api-Callbacks-serviceCallback-0" data-group="User" data-name="serviceCallback" data-version="0">
+                <section id="api-HealthCheck">
+                  <h1>HealthCheck</h1>
+                    <div id="api-HealthCheck-getStatus">
+                      <article id="api-HealthCheck-getStatus-0" data-group="User" data-name="getStatus" data-version="0">
                         <div class="pull-left">
-                          <h1>serviceCallback</h1>
-                          <p>Callback for Near-RT RIC status</p>
+                          <h1>getStatus</h1>
+                          <p>Returns status and statistics of this service</p>
                         </div>
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked">The URL to this call is registered at Service registration.</p>
+                        <p class="marked"></p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/r-app/near-rt-ric-status</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/status</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-Callbacks-serviceCallback-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-java">Java</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-Callbacks-serviceCallback-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-Callbacks-serviceCallback-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-python">Python</a></li>
-                          <li class=""><a href="#examples-Callbacks-serviceCallback-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-HealthCheck-getStatus-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-java">Java</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-python">Python</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatus-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-Callbacks-serviceCallback-0-curl">
-                            <pre class="prettyprint"><code class="language-bsh">curl -X POST \
+                          <div class="tab-pane active" id="examples-HealthCheck-getStatus-0-curl">
+                            <pre class="prettyprint"><code class="language-bsh">curl -X GET \
  -H "Accept: application/json" \
- -H "Content-Type: application/json" \
- "http://localhost/r-app/near-rt-ric-status" \
- -d ''
+ "http://localhost/a1-policy/v2/status"
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-java">
+                          <div class="tab-pane" id="examples-HealthCheck-getStatus-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
-import org.openapitools.client.api.CallbacksApi;
+import org.openapitools.client.api.HealthCheckApi;
 
 import java.io.File;
 import java.util.*;
 
-public class CallbacksApiExample {
+public class HealthCheckApiExample {
     public static void main(String[] args) {
 
         // Create an instance of the API class
-        CallbacksApi apiInstance = new CallbacksApi();
-        ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
+        HealthCheckApi apiInstance = new HealthCheckApi();
 
         try {
-            Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
+            status_info_v2 result = apiInstance.getStatus();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling CallbacksApi#serviceCallback");
+            System.err.println("Exception when calling HealthCheckApi#getStatus");
             e.printStackTrace();
         }
     }
@@ -9698,38 +9695,36 @@ public class CallbacksApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-android">
-                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.CallbacksApi;
+                          <div class="tab-pane" id="examples-HealthCheck-getStatus-0-android">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi;
 
-public class CallbacksApiExample {
+public class HealthCheckApiExample {
     public static void main(String[] args) {
-        CallbacksApi apiInstance = new CallbacksApi();
-        ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
+        HealthCheckApi apiInstance = new HealthCheckApi();
 
         try {
-            Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
+            status_info_v2 result = apiInstance.getStatus();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling CallbacksApi#serviceCallback");
+            System.err.println("Exception when calling HealthCheckApi#getStatus");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-groovy">
+  <div class="tab-pane" id="examples-HealthCheck-getStatus-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-objc">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
-CallbacksApi *apiInstance = [[CallbacksApi alloc] init];
-ServiceCallbackInfoV2 *serviceCallbackInfoV2 = ; // 
+HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
 
-// Callback for Near-RT RIC status
-[apiInstance serviceCallbackWith:serviceCallbackInfoV2
-              completionHandler: ^(Object output, NSError* error) {
+// Returns status and statistics of this service
+[apiInstance getStatusWithCompletionHandler: 
+              ^(status_info_v2 output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -9740,13 +9735,11 @@ ServiceCallbackInfoV2 *serviceCallbackInfoV2 = ; //
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-javascript">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementService.CallbacksApi()
-var serviceCallbackInfoV2 = ; // {ServiceCallbackInfoV2} 
-
+var api = new A1PolicyManagementService.HealthCheckApi()
 var callback = function(error, data, response) {
   if (error) {
     console.error(error);
@@ -9754,14 +9747,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.serviceCallback(serviceCallbackInfoV2, callback);
+api.getStatus(callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-Callbacks-serviceCallback-0-angular">
+                            <!--<div class="tab-pane" id="examples-HealthCheck-getStatus-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-csharp">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -9770,21 +9763,20 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class serviceCallbackExample
+    public class getStatusExample
     {
         public void main()
         {
 
             // Create an instance of the API class
-            var apiInstance = new CallbacksApi();
-            var serviceCallbackInfoV2 = new ServiceCallbackInfoV2(); // ServiceCallbackInfoV2 | 
+            var apiInstance = new HealthCheckApi();
 
             try {
-                // Callback for Near-RT RIC status
-                Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
+                // Returns status and statistics of this service
+                status_info_v2 result = apiInstance.getStatus();
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling CallbacksApi.serviceCallback: " + e.Message );
+                Debug.Print("Exception when calling HealthCheckApi.getStatus: " + e.Message );
             }
         }
     }
@@ -9792,42 +9784,40 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-php">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
-$api_instance = new OpenAPITools\Client\Api\CallbacksApi();
-$serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
+$api_instance = new OpenAPITools\Client\Api\HealthCheckApi();
 
 try {
-    $result = $api_instance->serviceCallback($serviceCallbackInfoV2);
+    $result = $api_instance->getStatus();
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling CallbacksApi->serviceCallback: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling HealthCheckApi->getStatus: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-perl">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
-use WWW::OPenAPIClient::CallbacksApi;
+use WWW::OPenAPIClient::HealthCheckApi;
 
 # Create an instance of the API class
-my $api_instance = WWW::OPenAPIClient::CallbacksApi->new();
-my $serviceCallbackInfoV2 = WWW::OPenAPIClient::Object::ServiceCallbackInfoV2->new(); # ServiceCallbackInfoV2 | 
+my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new();
 
 eval {
-    my $result = $api_instance->serviceCallback(serviceCallbackInfoV2 => $serviceCallbackInfoV2);
+    my $result = $api_instance->getStatus();
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling CallbacksApi->serviceCallback: $@\n";
+    warn "Exception when calling HealthCheckApi->getStatus: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-python">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -9835,25 +9825,23 @@ from openapi_client.rest import ApiException
 from pprint import pprint
 
 # Create an instance of the API class
-api_instance = openapi_client.CallbacksApi()
-serviceCallbackInfoV2 =  # ServiceCallbackInfoV2 | 
+api_instance = openapi_client.HealthCheckApi()
 
 try:
-    # Callback for Near-RT RIC status
-    api_response = api_instance.service_callback(serviceCallbackInfoV2)
+    # Returns status and statistics of this service
+    api_response = api_instance.get_status()
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling CallbacksApi->serviceCallback: %s\n" % e)</code></pre>
+    print("Exception when calling HealthCheckApi->getStatus: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-Callbacks-serviceCallback-0-rust">
-                              <pre class="prettyprint"><code class="language-rust">extern crate CallbacksApi;
+                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-rust">
+                              <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi;
 
 pub fn main() {
-    let serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2
 
-    let mut context = CallbacksApi::Context::default();
-    let result = client.serviceCallback(serviceCallbackInfoV2, &context).wait();
+    let mut context = HealthCheckApi::Context::default();
+    let result = client.getStatus(&context).wait();
 
     println!("{:?}", result);
 }
@@ -9870,73 +9858,27 @@ pub fn main() {
 
 
 
-                            <div class="methodsubtabletitle">Body parameters</div>
-                            <table id="methodsubtable">
-                              <tr>
-                                <th width="150px">Name</th>
-                                <th>Description</th>
-                              </tr>
-                                <tr><td style="width:150px;">serviceCallbackInfoV2 <span style="color:red;">*</span></td>
-<td>
-<p class="marked"></p>
-<script>
-$(document).ready(function() {
-  var schemaWrapper = {
-  "content" : {
-    "application/json" : {
-      "schema" : {
-        "$ref" : "#/components/schemas/service_callback_info_v2"
-      }
-    }
-  },
-  "required" : true
-};
-
-  var schema = findNode('schema',schemaWrapper).schema;
-  if (!schema) {
-    schema = schemaWrapper.schema;
-  }
-  if (schema.$ref != null) {
-    schema = defsParser.$refs.get(schema.$ref);
-  } else {
-    schemaWrapper.definitions = Object.assign({}, defs);
-    $RefParser.dereference(schemaWrapper).catch(function(err) {
-      console.log(err);
-    });
-  }
-
-  var view = new JSONSchemaView(schema,2,{isBodyParam: true});
-  var result = $('#d2e199_serviceCallback_serviceCallbackInfoV2');
-  result.empty();
-  result.append(view.render());
-});
-</script>
-<div id="d2e199_serviceCallback_serviceCallbackInfoV2"></div>
-</td>
-</tr>
-
-                            </table>
 
 
 
                           <h2>Responses</h2>
-                            <h3 id="examples-Callbacks-serviceCallback-title-200"></h3>
-                            <p id="examples-Callbacks-serviceCallback-description-200" class="marked"></p>
+                            <h3 id="examples-HealthCheck-getStatus-title-200"></h3>
+                            <p id="examples-HealthCheck-getStatus-description-200" class="marked"></p>
                             <script>
-                              var responseCallbacks200_description = `OK`;
-                              var responseCallbacks200_description_break = responseCallbacks200_description.indexOf('\n');
-                              if (responseCallbacks200_description_break == -1) {
-                                $("#examples-Callbacks-serviceCallback-title-200").text("Status: 200 - " + responseCallbacks200_description);
+                              var responseHealthCheck200_description = `Service is living`;
+                              var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n');
+                              if (responseHealthCheck200_description_break == -1) {
+                                $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description);
                               } else {
-                                $("#examples-Callbacks-serviceCallback-title-200").text("Status: 200 - " + responseCallbacks200_description.substring(0, responseCallbacks200_description_break));
-                                $("#examples-Callbacks-serviceCallback-description-200").html(responseCallbacks200_description.substring(responseCallbacks200_description_break));
+                                $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break));
+                                $("#examples-HealthCheck-getStatus-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-Callbacks-serviceCallback-200" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-HealthCheck-getStatus-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-Callbacks-serviceCallback-200-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-HealthCheck-getStatus-200-schema">Schema</a>
                                 </li>
 
 
@@ -9945,17 +9887,17 @@ $(document).ready(function() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-Callbacks-serviceCallback-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-Callbacks-serviceCallback-200-schema">
-                                  <div id="responses-Callbacks-serviceCallback-schema-200" class="exampleStyle">
+                            <div class="tab-content" id="responses-HealthCheck-getStatus-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-HealthCheck-getStatus-200-schema">
+                                  <div id="responses-HealthCheck-getStatus-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "OK",
+  "description" : "Service is living",
   "content" : {
     "application/json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/void"
+        "$ref" : "#/components/schemas/status_info_v2"
       }
     }
   }
@@ -9976,26 +9918,23 @@ $(document).ready(function() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-Callbacks-serviceCallback-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-Callbacks-serviceCallback-schema-200');
+                                        $('#responses-HealthCheck-getStatus-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-HealthCheck-getStatus-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-Callbacks-serviceCallback-200-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-HealthCheck-getStatus-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
                       </div>
                       <hr>
-                  </section>
-                <section id="api-HealthCheck">
-                  <h1>HealthCheck</h1>
-                    <div id="api-HealthCheck-getStatus">
-                      <article id="api-HealthCheck-getStatus-0" data-group="User" data-name="getStatus" data-version="0">
+                    <div id="api-HealthCheck-getStatusV1">
+                      <article id="api-HealthCheck-getStatusV1-0" data-group="User" data-name="getStatusV1" data-version="0">
                         <div class="pull-left">
-                          <h1>getStatus</h1>
+                          <h1>getStatusV1</h1>
                           <p>Returns status and statistics of this service</p>
                         </div>
                         <div class="pull-right"></div>
@@ -10004,33 +9943,33 @@ $(document).ready(function() {
                         <p class="marked"></p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/status</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/status</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-HealthCheck-getStatus-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-java">Java</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-python">Python</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatus-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-HealthCheck-getStatusV1-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-java">Java</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-python">Python</a></li>
+                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-HealthCheck-getStatus-0-curl">
+                          <div class="tab-pane active" id="examples-HealthCheck-getStatusV1-0-curl">
                             <pre class="prettyprint"><code class="language-bsh">curl -X GET \
- -H "Accept: application/json" \
- "http://localhost/a1-policy/v2/status"
+ -H "Accept: */*" \
+ "http://localhost/status"
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-HealthCheck-getStatus-0-java">
+                          <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
@@ -10046,10 +9985,10 @@ public class HealthCheckApiExample {
         HealthCheckApi apiInstance = new HealthCheckApi();
 
         try {
-            status_info_v2 result = apiInstance.getStatus();
+            'String' result = apiInstance.getStatusV1();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling HealthCheckApi#getStatus");
+            System.err.println("Exception when calling HealthCheckApi#getStatusV1");
             e.printStackTrace();
         }
     }
@@ -10057,7 +9996,7 @@ public class HealthCheckApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-HealthCheck-getStatus-0-android">
+                          <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-android">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi;
 
 public class HealthCheckApiExample {
@@ -10065,28 +10004,28 @@ public class HealthCheckApiExample {
         HealthCheckApi apiInstance = new HealthCheckApi();
 
         try {
-            status_info_v2 result = apiInstance.getStatus();
+            'String' result = apiInstance.getStatusV1();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling HealthCheckApi#getStatus");
+            System.err.println("Exception when calling HealthCheckApi#getStatusV1");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-HealthCheck-getStatus-0-groovy">
+  <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-objc">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
 HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
 
 // Returns status and statistics of this service
-[apiInstance getStatusWithCompletionHandler: 
-              ^(status_info_v2 output, NSError* error) {
+[apiInstance getStatusV1WithCompletionHandler: 
+              ^('String' output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -10097,7 +10036,7 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
@@ -10109,14 +10048,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getStatus(callback);
+api.getStatusV1(callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-HealthCheck-getStatus-0-angular">
+                            <!--<div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-csharp">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -10125,7 +10064,7 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getStatusExample
+    public class getStatusV1Example
     {
         public void main()
         {
@@ -10135,10 +10074,10 @@ namespace Example
 
             try {
                 // Returns status and statistics of this service
-                status_info_v2 result = apiInstance.getStatus();
+                'String' result = apiInstance.getStatusV1();
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling HealthCheckApi.getStatus: " + e.Message );
+                Debug.Print("Exception when calling HealthCheckApi.getStatusV1: " + e.Message );
             }
         }
     }
@@ -10146,7 +10085,7 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-php">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
@@ -10154,15 +10093,15 @@ require_once(__DIR__ . '/vendor/autoload.php');
 $api_instance = new OpenAPITools\Client\Api\HealthCheckApi();
 
 try {
-    $result = $api_instance->getStatus();
+    $result = $api_instance->getStatusV1();
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling HealthCheckApi->getStatus: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling HealthCheckApi->getStatusV1: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-perl">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
 use WWW::OPenAPIClient::HealthCheckApi;
@@ -10171,15 +10110,15 @@ use WWW::OPenAPIClient::HealthCheckApi;
 my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new();
 
 eval {
-    my $result = $api_instance->getStatus();
+    my $result = $api_instance->getStatusV1();
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling HealthCheckApi->getStatus: $@\n";
+    warn "Exception when calling HealthCheckApi->getStatusV1: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-python">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -10191,19 +10130,19 @@ api_instance = openapi_client.HealthCheckApi()
 
 try:
     # Returns status and statistics of this service
-    api_response = api_instance.get_status()
+    api_response = api_instance.get_status_v1()
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling HealthCheckApi->getStatus: %s\n" % e)</code></pre>
+    print("Exception when calling HealthCheckApi->getStatusV1: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatus-0-rust">
+                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-rust">
                               <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi;
 
 pub fn main() {
 
     let mut context = HealthCheckApi::Context::default();
-    let result = client.getStatus(&context).wait();
+    let result = client.getStatusV1(&context).wait();
 
     println!("{:?}", result);
 }
@@ -10224,23 +10163,23 @@ pub fn main() {
 
 
                           <h2>Responses</h2>
-                            <h3 id="examples-HealthCheck-getStatus-title-200"></h3>
-                            <p id="examples-HealthCheck-getStatus-description-200" class="marked"></p>
+                            <h3 id="examples-HealthCheck-getStatusV1-title-200"></h3>
+                            <p id="examples-HealthCheck-getStatusV1-description-200" class="marked"></p>
                             <script>
                               var responseHealthCheck200_description = `Service is living`;
                               var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n');
                               if (responseHealthCheck200_description_break == -1) {
-                                $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description);
+                                $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description);
                               } else {
-                                $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break));
-                                $("#examples-HealthCheck-getStatus-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break));
+                                $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break));
+                                $("#examples-HealthCheck-getStatusV1-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-HealthCheck-getStatus-200" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-HealthCheck-getStatusV1-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-HealthCheck-getStatus-200-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-HealthCheck-getStatusV1-200-schema">Schema</a>
                                 </li>
 
 
@@ -10249,17 +10188,17 @@ pub fn main() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-HealthCheck-getStatus-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-HealthCheck-getStatus-200-schema">
-                                  <div id="responses-HealthCheck-getStatus-schema-200" class="exampleStyle">
+                            <div class="tab-content" id="responses-HealthCheck-getStatusV1-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-HealthCheck-getStatusV1-200-schema">
+                                  <div id="responses-HealthCheck-getStatusV1-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
   "description" : "Service is living",
   "content" : {
-    "application/json" : {
+    "*/*" : {
       "schema" : {
-        "$ref" : "#/components/schemas/status_info_v2"
+        "type" : "string"
       }
     }
   }
@@ -10280,24 +10219,27 @@ pub fn main() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-HealthCheck-getStatus-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-HealthCheck-getStatus-schema-200');
+                                        $('#responses-HealthCheck-getStatusV1-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-HealthCheck-getStatusV1-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-HealthCheck-getStatus-200-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-HealthCheck-getStatusV1-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
                       </div>
                       <hr>
-                    <div id="api-HealthCheck-getStatusV1">
-                      <article id="api-HealthCheck-getStatusV1-0" data-group="User" data-name="getStatusV1" data-version="0">
+                  </section>
+                <section id="api-ManagementOfConfiguration">
+                  <h1>ManagementOfConfiguration</h1>
+                    <div id="api-ManagementOfConfiguration-getConfiguration">
+                      <article id="api-ManagementOfConfiguration-getConfiguration-0" data-group="User" data-name="getConfiguration" data-version="0">
                         <div class="pull-left">
-                          <h1>getStatusV1</h1>
-                          <p>Returns status and statistics of this service</p>
+                          <h1>getConfiguration</h1>
+                          <p>Returns the contents of the application configuration file</p>
                         </div>
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
@@ -10305,52 +10247,52 @@ pub fn main() {
                         <p class="marked"></p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/status</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-HealthCheck-getStatusV1-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-java">Java</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-python">Python</a></li>
-                          <li class=""><a href="#examples-HealthCheck-getStatusV1-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-ManagementOfConfiguration-getConfiguration-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-java">Java</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-python">Python</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-HealthCheck-getStatusV1-0-curl">
+                          <div class="tab-pane active" id="examples-ManagementOfConfiguration-getConfiguration-0-curl">
                             <pre class="prettyprint"><code class="language-bsh">curl -X GET \
- -H "Accept: */*" \
- "http://localhost/status"
+ -H "Accept: application/json" \
+ "http://localhost/a1-policy/v2/configuration"
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-java">
+                          <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
-import org.openapitools.client.api.HealthCheckApi;
+import org.openapitools.client.api.ManagementOfConfigurationApi;
 
 import java.io.File;
 import java.util.*;
 
-public class HealthCheckApiExample {
+public class ManagementOfConfigurationApiExample {
     public static void main(String[] args) {
 
         // Create an instance of the API class
-        HealthCheckApi apiInstance = new HealthCheckApi();
+        ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
 
         try {
-            'String' result = apiInstance.getStatusV1();
+            Object result = apiInstance.getConfiguration();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling HealthCheckApi#getStatusV1");
+            System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration");
             e.printStackTrace();
         }
     }
@@ -10358,36 +10300,36 @@ public class HealthCheckApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-android">
-                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi;
+                          <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-android">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ManagementOfConfigurationApi;
 
-public class HealthCheckApiExample {
+public class ManagementOfConfigurationApiExample {
     public static void main(String[] args) {
-        HealthCheckApi apiInstance = new HealthCheckApi();
+        ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
 
         try {
-            'String' result = apiInstance.getStatusV1();
+            Object result = apiInstance.getConfiguration();
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling HealthCheckApi#getStatusV1");
+            System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-groovy">
+  <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-objc">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
-HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
+ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc] init];
 
-// Returns status and statistics of this service
-[apiInstance getStatusV1WithCompletionHandler: 
-              ^('String' output, NSError* error) {
+// Returns the contents of the application configuration file
+[apiInstance getConfigurationWithCompletionHandler: 
+              ^(Object output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -10398,11 +10340,11 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementService.HealthCheckApi()
+var api = new A1PolicyManagementService.ManagementOfConfigurationApi()
 var callback = function(error, data, response) {
   if (error) {
     console.error(error);
@@ -10410,14 +10352,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getStatusV1(callback);
+api.getConfiguration(callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-angular">
+                            <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-csharp">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -10426,20 +10368,20 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getStatusV1Example
+    public class getConfigurationExample
     {
         public void main()
         {
 
             // Create an instance of the API class
-            var apiInstance = new HealthCheckApi();
+            var apiInstance = new ManagementOfConfigurationApi();
 
             try {
-                // Returns status and statistics of this service
-                'String' result = apiInstance.getStatusV1();
+                // Returns the contents of the application configuration file
+                Object result = apiInstance.getConfiguration();
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling HealthCheckApi.getStatusV1: " + e.Message );
+                Debug.Print("Exception when calling ManagementOfConfigurationApi.getConfiguration: " + e.Message );
             }
         }
     }
@@ -10447,40 +10389,40 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-php">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
-$api_instance = new OpenAPITools\Client\Api\HealthCheckApi();
+$api_instance = new OpenAPITools\Client\Api\ManagementOfConfigurationApi();
 
 try {
-    $result = $api_instance->getStatusV1();
+    $result = $api_instance->getConfiguration();
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling HealthCheckApi->getStatusV1: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling ManagementOfConfigurationApi->getConfiguration: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-perl">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
-use WWW::OPenAPIClient::HealthCheckApi;
+use WWW::OPenAPIClient::ManagementOfConfigurationApi;
 
 # Create an instance of the API class
-my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new();
+my $api_instance = WWW::OPenAPIClient::ManagementOfConfigurationApi->new();
 
 eval {
-    my $result = $api_instance->getStatusV1();
+    my $result = $api_instance->getConfiguration();
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling HealthCheckApi->getStatusV1: $@\n";
+    warn "Exception when calling ManagementOfConfigurationApi->getConfiguration: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-python">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -10488,23 +10430,23 @@ from openapi_client.rest import ApiException
 from pprint import pprint
 
 # Create an instance of the API class
-api_instance = openapi_client.HealthCheckApi()
+api_instance = openapi_client.ManagementOfConfigurationApi()
 
 try:
-    # Returns status and statistics of this service
-    api_response = api_instance.get_status_v1()
+    # Returns the contents of the application configuration file
+    api_response = api_instance.get_configuration()
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling HealthCheckApi->getStatusV1: %s\n" % e)</code></pre>
+    print("Exception when calling ManagementOfConfigurationApi->getConfiguration: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-rust">
-                              <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi;
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-rust">
+                              <pre class="prettyprint"><code class="language-rust">extern crate ManagementOfConfigurationApi;
 
 pub fn main() {
 
-    let mut context = HealthCheckApi::Context::default();
-    let result = client.getStatusV1(&context).wait();
+    let mut context = ManagementOfConfigurationApi::Context::default();
+    let result = client.getConfiguration(&context).wait();
 
     println!("{:?}", result);
 }
@@ -10525,23 +10467,23 @@ pub fn main() {
 
 
                           <h2>Responses</h2>
-                            <h3 id="examples-HealthCheck-getStatusV1-title-200"></h3>
-                            <p id="examples-HealthCheck-getStatusV1-description-200" class="marked"></p>
+                            <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-200"></h3>
+                            <p id="examples-ManagementOfConfiguration-getConfiguration-description-200" class="marked"></p>
                             <script>
-                              var responseHealthCheck200_description = `Service is living`;
-                              var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n');
-                              if (responseHealthCheck200_description_break == -1) {
-                                $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description);
+                              var responseManagementOfConfiguration200_description = `Configuration`;
+                              var responseManagementOfConfiguration200_description_break = responseManagementOfConfiguration200_description.indexOf('\n');
+                              if (responseManagementOfConfiguration200_description_break == -1) {
+                                $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description);
                               } else {
-                                $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break));
-                                $("#examples-HealthCheck-getStatusV1-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break));
+                                $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break));
+                                $("#examples-ManagementOfConfiguration-getConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-HealthCheck-getStatusV1-200" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-HealthCheck-getStatusV1-200-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-200-schema">Schema</a>
                                 </li>
 
 
@@ -10550,17 +10492,17 @@ pub fn main() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-HealthCheck-getStatusV1-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-HealthCheck-getStatusV1-200-schema">
-                                  <div id="responses-HealthCheck-getStatusV1-schema-200" class="exampleStyle">
+                            <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-200-schema">
+                                  <div id="responses-ManagementOfConfiguration-getConfiguration-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Service is living",
+  "description" : "Configuration",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
-        "type" : "string"
+        "type" : "object"
       }
     }
   }
@@ -10581,61 +10523,126 @@ pub fn main() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-HealthCheck-getStatusV1-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-HealthCheck-getStatusV1-schema-200');
+                                        $('#responses-ManagementOfConfiguration-getConfiguration-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-HealthCheck-getStatusV1-200-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-ManagementOfConfiguration-getConfiguration-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
-                        </article>
-                      </div>
-                      <hr>
-                  </section>
-                <section id="api-ManagementOfConfiguration">
-                  <h1>ManagementOfConfiguration</h1>
-                    <div id="api-ManagementOfConfiguration-getConfiguration">
-                      <article id="api-ManagementOfConfiguration-getConfiguration-0" data-group="User" data-name="getConfiguration" data-version="0">
-                        <div class="pull-left">
-                          <h1>getConfiguration</h1>
-                          <p>Returns the contents of the application configuration file</p>
-                        </div>
-                        <div class="pull-right"></div>
-                        <div class="clearfix"></div>
-                        <p></p>
-                        <p class="marked"></p>
-                        <p></p>
-                        <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre>
-                        <p>
-                          <h3>Usage and SDK Samples</h3>
-                        </p>
-                        <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-ManagementOfConfiguration-getConfiguration-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-java">Java</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-python">Python</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-rust">Rust</a></li>
-                        </ul>
-
-                        <div class="tab-content">
-                          <div class="tab-pane active" id="examples-ManagementOfConfiguration-getConfiguration-0-curl">
-                            <pre class="prettyprint"><code class="language-bsh">curl -X GET \
- -H "Accept: application/json" \
- "http://localhost/a1-policy/v2/configuration"
-</code></pre>
+                            <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-404"></h3>
+                            <p id="examples-ManagementOfConfiguration-getConfiguration-description-404" class="marked"></p>
+                            <script>
+                              var responseManagementOfConfiguration404_description = `File is not found or readable`;
+                              var responseManagementOfConfiguration404_description_break = responseManagementOfConfiguration404_description.indexOf('\n');
+                              if (responseManagementOfConfiguration404_description_break == -1) {
+                                $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description);
+                              } else {
+                                $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description.substring(0, responseManagementOfConfiguration404_description_break));
+                                $("#examples-ManagementOfConfiguration-getConfiguration-description-404").html(responseManagementOfConfiguration404_description.substring(responseManagementOfConfiguration404_description_break));
+                              }
+                            </script>
+
+
+                            <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-404" class="nav nav-tabs nav-tabs-examples" >
+                                <li class="active">
+                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-404-schema">Schema</a>
+                                </li>
+
+
+
+
+                            </ul>
+
+
+                            <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-404-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-404-schema">
+                                  <div id="responses-ManagementOfConfiguration-getConfiguration-schema-404" class="exampleStyle">
+                                    <script>
+                                      $(document).ready(function() {
+                                        var schemaWrapper = {
+  "description" : "File is not found or readable",
+  "content" : {
+    "application/json" : {
+      "schema" : {
+        "$ref" : "#/components/schemas/error_information"
+      }
+    }
+  }
+};
+                                        var schema = findNode('schema',schemaWrapper).schema;
+                                        if (!schema) {
+                                          schema = schemaWrapper.schema;
+                                        }
+                                        if (schema.$ref != null) {
+                                          schema = defsParser.$refs.get(schema.$ref);
+                                        } else if (schema.items != null && schema.items.$ref != null) {
+                                            schema.items = defsParser.$refs.get(schema.items.$ref);
+                                        } else {
+                                          schemaWrapper.definitions = Object.assign({}, defs);
+                                          $RefParser.dereference(schemaWrapper).catch(function(err) {
+                                            console.log(err);
+                                          });
+                                        }
+
+                                        var view = new JSONSchemaView(schema, 3);
+                                        $('#responses-ManagementOfConfiguration-getConfiguration-404-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-404');
+                                        result.empty();
+                                        result.append(view.render());
+                                      });
+                                    </script>
+                                  </div>
+                                  <input id='responses-ManagementOfConfiguration-getConfiguration-404-schema-data' type='hidden' value=''></input>
+                                </div>
+                            </div>
+                        </article>
+                      </div>
+                      <hr>
+                    <div id="api-ManagementOfConfiguration-putConfiguration">
+                      <article id="api-ManagementOfConfiguration-putConfiguration-0" data-group="User" data-name="putConfiguration" data-version="0">
+                        <div class="pull-left">
+                          <h1>putConfiguration</h1>
+                          <p>Replace the current configuration file with the given configuration</p>
+                        </div>
+                        <div class="pull-right"></div>
+                        <div class="clearfix"></div>
+                        <p></p>
+                        <p class="marked"></p>
+                        <p></p>
+                        <br />
+                        <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre>
+                        <p>
+                          <h3>Usage and SDK Samples</h3>
+                        </p>
+                        <ul class="nav nav-tabs nav-tabs-examples">
+                          <li class="active"><a href="#examples-ManagementOfConfiguration-putConfiguration-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-java">Java</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-python">Python</a></li>
+                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-rust">Rust</a></li>
+                        </ul>
+
+                        <div class="tab-content">
+                          <div class="tab-pane active" id="examples-ManagementOfConfiguration-putConfiguration-0-curl">
+                            <pre class="prettyprint"><code class="language-bsh">curl -X PUT \
+ -H "Accept: */*" \
+ -H "Content-Type: application/json" \
+ "http://localhost/a1-policy/v2/configuration" \
+ -d ''
+</code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-java">
+                          <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
@@ -10649,12 +10656,13 @@ public class ManagementOfConfigurationApiExample {
 
         // Create an instance of the API class
         ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
+        Object body = Object; // Object | 
 
         try {
-            Object result = apiInstance.getConfiguration();
+            Object result = apiInstance.putConfiguration(body);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration");
+            System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration");
             e.printStackTrace();
         }
     }
@@ -10662,36 +10670,38 @@ public class ManagementOfConfigurationApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-android">
+                          <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-android">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ManagementOfConfigurationApi;
 
 public class ManagementOfConfigurationApiExample {
     public static void main(String[] args) {
         ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
+        Object body = Object; // Object | 
 
         try {
-            Object result = apiInstance.getConfiguration();
+            Object result = apiInstance.putConfiguration(body);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration");
+            System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-groovy">
+  <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-objc">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
 ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc] init];
+Object *body = Object; // 
 
-// Returns the contents of the application configuration file
-[apiInstance getConfigurationWithCompletionHandler: 
-              ^(Object output, NSError* error) {
+// Replace the current configuration file with the given configuration
+[apiInstance putConfigurationWith:body
+              completionHandler: ^(Object output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -10702,11 +10712,13 @@ ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-javascript">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
 var api = new A1PolicyManagementService.ManagementOfConfigurationApi()
+var body = Object; // {Object} 
+
 var callback = function(error, data, response) {
   if (error) {
     console.error(error);
@@ -10714,14 +10726,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getConfiguration(callback);
+api.putConfiguration(body, callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-angular">
+                            <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-csharp">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -10730,20 +10742,21 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getConfigurationExample
+    public class putConfigurationExample
     {
         public void main()
         {
 
             // Create an instance of the API class
             var apiInstance = new ManagementOfConfigurationApi();
+            var body = Object;  // Object | 
 
             try {
-                // Returns the contents of the application configuration file
-                Object result = apiInstance.getConfiguration();
+                // Replace the current configuration file with the given configuration
+                Object result = apiInstance.putConfiguration(body);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling ManagementOfConfigurationApi.getConfiguration: " + e.Message );
+                Debug.Print("Exception when calling ManagementOfConfigurationApi.putConfiguration: " + e.Message );
             }
         }
     }
@@ -10751,40 +10764,42 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-php">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\ManagementOfConfigurationApi();
+$body = Object; // Object | 
 
 try {
-    $result = $api_instance->getConfiguration();
+    $result = $api_instance->putConfiguration($body);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling ManagementOfConfigurationApi->getConfiguration: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling ManagementOfConfigurationApi->putConfiguration: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-perl">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
 use WWW::OPenAPIClient::ManagementOfConfigurationApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::ManagementOfConfigurationApi->new();
+my $body = WWW::OPenAPIClient::Object::Object->new(); # Object | 
 
 eval {
-    my $result = $api_instance->getConfiguration();
+    my $result = $api_instance->putConfiguration(body => $body);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling ManagementOfConfigurationApi->getConfiguration: $@\n";
+    warn "Exception when calling ManagementOfConfigurationApi->putConfiguration: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-python">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -10793,22 +10808,24 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.ManagementOfConfigurationApi()
+body = Object # Object | 
 
 try:
-    # Returns the contents of the application configuration file
-    api_response = api_instance.get_configuration()
+    # Replace the current configuration file with the given configuration
+    api_response = api_instance.put_configuration(body)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling ManagementOfConfigurationApi->getConfiguration: %s\n" % e)</code></pre>
+    print("Exception when calling ManagementOfConfigurationApi->putConfiguration: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-rust">
+                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-rust">
                               <pre class="prettyprint"><code class="language-rust">extern crate ManagementOfConfigurationApi;
 
 pub fn main() {
+    let body = Object; // Object
 
     let mut context = ManagementOfConfigurationApi::Context::default();
-    let result = client.getConfiguration(&context).wait();
+    let result = client.putConfiguration(body, &context).wait();
 
     println!("{:?}", result);
 }
@@ -10825,27 +10842,73 @@ pub fn main() {
 
 
 
+                            <div class="methodsubtabletitle">Body parameters</div>
+                            <table id="methodsubtable">
+                              <tr>
+                                <th width="150px">Name</th>
+                                <th>Description</th>
+                              </tr>
+                                <tr><td style="width:150px;">body <span style="color:red;">*</span></td>
+<td>
+<p class="marked"></p>
+<script>
+$(document).ready(function() {
+  var schemaWrapper = {
+  "content" : {
+    "application/json" : {
+      "schema" : {
+        "type" : "object"
+      }
+    }
+  },
+  "required" : true
+};
+
+  var schema = findNode('schema',schemaWrapper).schema;
+  if (!schema) {
+    schema = schemaWrapper.schema;
+  }
+  if (schema.$ref != null) {
+    schema = defsParser.$refs.get(schema.$ref);
+  } else {
+    schemaWrapper.definitions = Object.assign({}, defs);
+    $RefParser.dereference(schemaWrapper).catch(function(err) {
+      console.log(err);
+    });
+  }
+
+  var view = new JSONSchemaView(schema,2,{isBodyParam: true});
+  var result = $('#d2e199_putConfiguration_body');
+  result.empty();
+  result.append(view.render());
+});
+</script>
+<div id="d2e199_putConfiguration_body"></div>
+</td>
+</tr>
+
+                            </table>
 
 
 
                           <h2>Responses</h2>
-                            <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-200"></h3>
-                            <p id="examples-ManagementOfConfiguration-getConfiguration-description-200" class="marked"></p>
+                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-200"></h3>
+                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-200" class="marked"></p>
                             <script>
-                              var responseManagementOfConfiguration200_description = `Configuration`;
+                              var responseManagementOfConfiguration200_description = `Configuration updated`;
                               var responseManagementOfConfiguration200_description_break = responseManagementOfConfiguration200_description.indexOf('\n');
                               if (responseManagementOfConfiguration200_description_break == -1) {
-                                $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description);
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description);
                               } else {
-                                $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break));
-                                $("#examples-ManagementOfConfiguration-getConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break));
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break));
+                                $("#examples-ManagementOfConfiguration-putConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-200" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-200-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-200-schema">Schema</a>
                                 </li>
 
 
@@ -10854,17 +10917,17 @@ pub fn main() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-200-schema">
-                                  <div id="responses-ManagementOfConfiguration-getConfiguration-schema-200" class="exampleStyle">
+                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-200-schema">
+                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Configuration",
+  "description" : "Configuration updated",
   "content" : {
-    "application/json" : {
+    "*/*" : {
       "schema" : {
-        "type" : "object"
+        "$ref" : "#/components/schemas/void"
       }
     }
   }
@@ -10885,33 +10948,33 @@ pub fn main() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-ManagementOfConfiguration-getConfiguration-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-200');
+                                        $('#responses-ManagementOfConfiguration-putConfiguration-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-ManagementOfConfiguration-getConfiguration-200-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-ManagementOfConfiguration-putConfiguration-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
-                            <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-404"></h3>
-                            <p id="examples-ManagementOfConfiguration-getConfiguration-description-404" class="marked"></p>
+                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-400"></h3>
+                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-400" class="marked"></p>
                             <script>
-                              var responseManagementOfConfiguration404_description = `File is not found or readable`;
-                              var responseManagementOfConfiguration404_description_break = responseManagementOfConfiguration404_description.indexOf('\n');
-                              if (responseManagementOfConfiguration404_description_break == -1) {
-                                $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description);
+                              var responseManagementOfConfiguration400_description = `Invalid configuration provided`;
+                              var responseManagementOfConfiguration400_description_break = responseManagementOfConfiguration400_description.indexOf('\n');
+                              if (responseManagementOfConfiguration400_description_break == -1) {
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description);
                               } else {
-                                $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description.substring(0, responseManagementOfConfiguration404_description_break));
-                                $("#examples-ManagementOfConfiguration-getConfiguration-description-404").html(responseManagementOfConfiguration404_description.substring(responseManagementOfConfiguration404_description_break));
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description.substring(0, responseManagementOfConfiguration400_description_break));
+                                $("#examples-ManagementOfConfiguration-putConfiguration-description-400").html(responseManagementOfConfiguration400_description.substring(responseManagementOfConfiguration400_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-404" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-400" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-404-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-400-schema">Schema</a>
                                 </li>
 
 
@@ -10920,15 +10983,15 @@ pub fn main() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-404-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-404-schema">
-                                  <div id="responses-ManagementOfConfiguration-getConfiguration-schema-404" class="exampleStyle">
+                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-400-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-400-schema">
+                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-400" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "File is not found or readable",
+  "description" : "Invalid configuration provided",
   "content" : {
-    "application/json" : {
+    "*/*" : {
       "schema" : {
         "$ref" : "#/components/schemas/error_information"
       }
@@ -10951,80 +11014,148 @@ pub fn main() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-ManagementOfConfiguration-getConfiguration-404-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-404');
+                                        $('#responses-ManagementOfConfiguration-putConfiguration-400-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-400');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-ManagementOfConfiguration-getConfiguration-404-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-ManagementOfConfiguration-putConfiguration-400-schema-data' type='hidden' value=''></input>
+                                </div>
+                            </div>
+                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-500"></h3>
+                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-500" class="marked"></p>
+                            <script>
+                              var responseManagementOfConfiguration500_description = `Something went wrong when replacing the configuration. Try again.`;
+                              var responseManagementOfConfiguration500_description_break = responseManagementOfConfiguration500_description.indexOf('\n');
+                              if (responseManagementOfConfiguration500_description_break == -1) {
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description);
+                              } else {
+                                $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description.substring(0, responseManagementOfConfiguration500_description_break));
+                                $("#examples-ManagementOfConfiguration-putConfiguration-description-500").html(responseManagementOfConfiguration500_description.substring(responseManagementOfConfiguration500_description_break));
+                              }
+                            </script>
+
+
+                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-500" class="nav nav-tabs nav-tabs-examples" >
+                                <li class="active">
+                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-500-schema">Schema</a>
+                                </li>
+
+
+
+
+                            </ul>
+
+
+                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-500-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-500-schema">
+                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-500" class="exampleStyle">
+                                    <script>
+                                      $(document).ready(function() {
+                                        var schemaWrapper = {
+  "description" : "Something went wrong when replacing the configuration. Try again.",
+  "content" : {
+    "*/*" : {
+      "schema" : {
+        "$ref" : "#/components/schemas/error_information"
+      }
+    }
+  }
+};
+                                        var schema = findNode('schema',schemaWrapper).schema;
+                                        if (!schema) {
+                                          schema = schemaWrapper.schema;
+                                        }
+                                        if (schema.$ref != null) {
+                                          schema = defsParser.$refs.get(schema.$ref);
+                                        } else if (schema.items != null && schema.items.$ref != null) {
+                                            schema.items = defsParser.$refs.get(schema.items.$ref);
+                                        } else {
+                                          schemaWrapper.definitions = Object.assign({}, defs);
+                                          $RefParser.dereference(schemaWrapper).catch(function(err) {
+                                            console.log(err);
+                                          });
+                                        }
+
+                                        var view = new JSONSchemaView(schema, 3);
+                                        $('#responses-ManagementOfConfiguration-putConfiguration-500-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-500');
+                                        result.empty();
+                                        result.append(view.render());
+                                      });
+                                    </script>
+                                  </div>
+                                  <input id='responses-ManagementOfConfiguration-putConfiguration-500-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
                       </div>
                       <hr>
-                    <div id="api-ManagementOfConfiguration-putConfiguration">
-                      <article id="api-ManagementOfConfiguration-putConfiguration-0" data-group="User" data-name="putConfiguration" data-version="0">
+                  </section>
+                <section id="api-NearRTRICRepository">
+                  <h1>NearRTRICRepository</h1>
+                    <div id="api-NearRTRICRepository-getRic">
+                      <article id="api-NearRTRICRepository-getRic-0" data-group="User" data-name="getRic" data-version="0">
                         <div class="pull-left">
-                          <h1>putConfiguration</h1>
-                          <p>Replace the current configuration file with the given configuration</p>
+                          <h1>getRic</h1>
+                          <p>Returns info for one Near-RT RIC</p>
                         </div>
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked"></p>
+                        <p class="marked">Either a Near-RT RIC identity or a Managed Element identity can be specified.&lt;br&gt;The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).</p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/rics/ric</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-ManagementOfConfiguration-putConfiguration-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-java">Java</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-python">Python</a></li>
-                          <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-NearRTRICRepository-getRic-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-java">Java</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRic-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRic-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-python">Python</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-ManagementOfConfiguration-putConfiguration-0-curl">
-                            <pre class="prettyprint"><code class="language-bsh">curl -X PUT \
- -H "Accept: */*" \
- -H "Content-Type: application/json" \
- "http://localhost/a1-policy/v2/configuration" \
- -d ''
+                          <div class="tab-pane active" id="examples-NearRTRICRepository-getRic-0-curl">
+                            <pre class="prettyprint"><code class="language-bsh">curl -X GET \
+ -H "Accept: application/json" \
+ "http://localhost/a1-policy/v2/rics/ric?managed_element_id=managedElementId_example&ric_id=ricId_example"
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-java">
+                          <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
-import org.openapitools.client.api.ManagementOfConfigurationApi;
+import org.openapitools.client.api.NearRTRICRepositoryApi;
 
 import java.io.File;
 import java.util.*;
 
-public class ManagementOfConfigurationApiExample {
+public class NearRTRICRepositoryApiExample {
     public static void main(String[] args) {
 
         // Create an instance of the API class
-        ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
-        Object body = Object; // Object | 
+        NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
+        String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+        String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
 
         try {
-            Object result = apiInstance.putConfiguration(body);
+            ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration");
+            System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
             e.printStackTrace();
         }
     }
@@ -11032,38 +11163,41 @@ public class ManagementOfConfigurationApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-android">
-                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ManagementOfConfigurationApi;
+                          <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-android">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.NearRTRICRepositoryApi;
 
-public class ManagementOfConfigurationApiExample {
+public class NearRTRICRepositoryApiExample {
     public static void main(String[] args) {
-        ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi();
-        Object body = Object; // Object | 
+        NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
+        String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+        String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
 
         try {
-            Object result = apiInstance.putConfiguration(body);
+            ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration");
+            System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-groovy">
+  <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-objc">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
-ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc] init];
-Object *body = Object; // 
+NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init];
+String *managedElementId = managedElementId_example; // The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null)
+String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (optional) (default to null)
 
-// Replace the current configuration file with the given configuration
-[apiInstance putConfigurationWith:body
-              completionHandler: ^(Object output, NSError* error) {
+// Returns info for one Near-RT RIC
+[apiInstance getRicWith:managedElementId
+    ricId:ricId
+              completionHandler: ^(ric_info_v2 output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -11074,12 +11208,15 @@ Object *body = Object; //
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-javascript">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementService.ManagementOfConfigurationApi()
-var body = Object; // {Object} 
+var api = new A1PolicyManagementService.NearRTRICRepositoryApi()
+var opts = {
+  'managedElementId': managedElementId_example, // {String} The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+  'ricId': ricId_example // {String} The identity of a Near-RT RIC to get information for.
+};
 
 var callback = function(error, data, response) {
   if (error) {
@@ -11088,14 +11225,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.putConfiguration(body, callback);
+api.getRic(opts, callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-angular">
+                            <!--<div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-csharp">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -11104,21 +11241,22 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class putConfigurationExample
+    public class getRicExample
     {
         public void main()
         {
 
             // Create an instance of the API class
-            var apiInstance = new ManagementOfConfigurationApi();
-            var body = Object;  // Object | 
+            var apiInstance = new NearRTRICRepositoryApi();
+            var managedElementId = managedElementId_example;  // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional)  (default to null)
+            var ricId = ricId_example;  // String | The identity of a Near-RT RIC to get information for. (optional)  (default to null)
 
             try {
-                // Replace the current configuration file with the given configuration
-                Object result = apiInstance.putConfiguration(body);
+                // Returns info for one Near-RT RIC
+                ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling ManagementOfConfigurationApi.putConfiguration: " + e.Message );
+                Debug.Print("Exception when calling NearRTRICRepositoryApi.getRic: " + e.Message );
             }
         }
     }
@@ -11126,42 +11264,44 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-php">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
-$api_instance = new OpenAPITools\Client\Api\ManagementOfConfigurationApi();
-$body = Object; // Object | 
+$api_instance = new OpenAPITools\Client\Api\NearRTRICRepositoryApi();
+$managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+$ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
 
 try {
-    $result = $api_instance->putConfiguration($body);
+    $result = $api_instance->getRic($managedElementId, $ricId);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling ManagementOfConfigurationApi->putConfiguration: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling NearRTRICRepositoryApi->getRic: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-perl">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
-use WWW::OPenAPIClient::ManagementOfConfigurationApi;
+use WWW::OPenAPIClient::NearRTRICRepositoryApi;
 
 # Create an instance of the API class
-my $api_instance = WWW::OPenAPIClient::ManagementOfConfigurationApi->new();
-my $body = WWW::OPenAPIClient::Object::Object->new(); # Object | 
+my $api_instance = WWW::OPenAPIClient::NearRTRICRepositoryApi->new();
+my $managedElementId = managedElementId_example; # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+my $ricId = ricId_example; # String | The identity of a Near-RT RIC to get information for.
 
 eval {
-    my $result = $api_instance->putConfiguration(body => $body);
+    my $result = $api_instance->getRic(managedElementId => $managedElementId, ricId => $ricId);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling ManagementOfConfigurationApi->putConfiguration: $@\n";
+    warn "Exception when calling NearRTRICRepositoryApi->getRic: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-python">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -11169,25 +11309,27 @@ from openapi_client.rest import ApiException
 from pprint import pprint
 
 # Create an instance of the API class
-api_instance = openapi_client.ManagementOfConfigurationApi()
-body = Object # Object | 
+api_instance = openapi_client.NearRTRICRepositoryApi()
+managedElementId = managedElementId_example # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null)
+ricId = ricId_example # String | The identity of a Near-RT RIC to get information for. (optional) (default to null)
 
 try:
-    # Replace the current configuration file with the given configuration
-    api_response = api_instance.put_configuration(body)
+    # Returns info for one Near-RT RIC
+    api_response = api_instance.get_ric(managedElementId=managedElementId, ricId=ricId)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling ManagementOfConfigurationApi->putConfiguration: %s\n" % e)</code></pre>
+    print("Exception when calling NearRTRICRepositoryApi->getRic: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-rust">
-                              <pre class="prettyprint"><code class="language-rust">extern crate ManagementOfConfigurationApi;
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-rust">
+                              <pre class="prettyprint"><code class="language-rust">extern crate NearRTRICRepositoryApi;
 
 pub fn main() {
-    let body = Object; // Object
+    let managedElementId = managedElementId_example; // String
+    let ricId = ricId_example; // String
 
-    let mut context = ManagementOfConfigurationApi::Context::default();
-    let result = client.putConfiguration(body, &context).wait();
+    let mut context = NearRTRICRepositoryApi::Context::default();
+    let result = client.getRic(managedElementId, ricId, &context).wait();
 
     println!("{:?}", result);
 }
@@ -11204,139 +11346,74 @@ pub fn main() {
 
 
 
-                            <div class="methodsubtabletitle">Body parameters</div>
+
+
+                            <div class="methodsubtabletitle">Query parameters</div>
                             <table id="methodsubtable">
                               <tr>
                                 <th width="150px">Name</th>
                                 <th>Description</th>
                               </tr>
-                                <tr><td style="width:150px;">body <span style="color:red;">*</span></td>
+                                <tr><td style="width:150px;">managed_element_id</td>
 <td>
-<p class="marked"></p>
-<script>
-$(document).ready(function() {
-  var schemaWrapper = {
-  "content" : {
-    "application/json" : {
-      "schema" : {
-        "type" : "object"
-      }
-    }
-  },
-  "required" : true
-};
 
-  var schema = findNode('schema',schemaWrapper).schema;
-  if (!schema) {
-    schema = schemaWrapper.schema;
-  }
-  if (schema.$ref != null) {
-    schema = defsParser.$refs.get(schema.$ref);
-  } else {
-    schemaWrapper.definitions = Object.assign({}, defs);
-    $RefParser.dereference(schemaWrapper).catch(function(err) {
-      console.log(err);
-    });
-  }
 
-  var view = new JSONSchemaView(schema,2,{isBodyParam: true});
-  var result = $('#d2e199_putConfiguration_body');
-  result.empty();
-  result.append(view.render());
-});
-</script>
-<div id="d2e199_putConfiguration_body"></div>
+    <div id="d2e199_getRic_managedElementId">
+        <div class="json-schema-view">
+            <div class="primitive">
+                <span class="type">
+                    String
+                </span>
+
+                    <div class="inner description marked">
+The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
+                    </div>
+            </div>
+        </div>
+    </div>
 </td>
 </tr>
 
-                            </table>
-
-
-
-                          <h2>Responses</h2>
-                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-200"></h3>
-                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-200" class="marked"></p>
-                            <script>
-                              var responseManagementOfConfiguration200_description = `Configuration updated`;
-                              var responseManagementOfConfiguration200_description_break = responseManagementOfConfiguration200_description.indexOf('\n');
-                              if (responseManagementOfConfiguration200_description_break == -1) {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description);
-                              } else {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break));
-                                $("#examples-ManagementOfConfiguration-putConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break));
-                              }
-                            </script>
-
-
-                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-200" class="nav nav-tabs nav-tabs-examples" >
-                                <li class="active">
-                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-200-schema">Schema</a>
-                                </li>
-
-
+                                <tr><td style="width:150px;">ric_id</td>
+<td>
 
 
-                            </ul>
+    <div id="d2e199_getRic_ricId">
+        <div class="json-schema-view">
+            <div class="primitive">
+                <span class="type">
+                    String
+                </span>
 
+                    <div class="inner description marked">
+The identity of a Near-RT RIC to get information for.
+                    </div>
+            </div>
+        </div>
+    </div>
+</td>
+</tr>
 
-                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-200-schema">
-                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-200" class="exampleStyle">
-                                    <script>
-                                      $(document).ready(function() {
-                                        var schemaWrapper = {
-  "description" : "Configuration updated",
-  "content" : {
-    "*/*" : {
-      "schema" : {
-        "$ref" : "#/components/schemas/void"
-      }
-    }
-  }
-};
-                                        var schema = findNode('schema',schemaWrapper).schema;
-                                        if (!schema) {
-                                          schema = schemaWrapper.schema;
-                                        }
-                                        if (schema.$ref != null) {
-                                          schema = defsParser.$refs.get(schema.$ref);
-                                        } else if (schema.items != null && schema.items.$ref != null) {
-                                            schema.items = defsParser.$refs.get(schema.items.$ref);
-                                        } else {
-                                          schemaWrapper.definitions = Object.assign({}, defs);
-                                          $RefParser.dereference(schemaWrapper).catch(function(err) {
-                                            console.log(err);
-                                          });
-                                        }
+                            </table>
 
-                                        var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-ManagementOfConfiguration-putConfiguration-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-200');
-                                        result.empty();
-                                        result.append(view.render());
-                                      });
-                                    </script>
-                                  </div>
-                                  <input id='responses-ManagementOfConfiguration-putConfiguration-200-schema-data' type='hidden' value=''></input>
-                                </div>
-                            </div>
-                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-400"></h3>
-                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-400" class="marked"></p>
+                          <h2>Responses</h2>
+                            <h3 id="examples-NearRTRICRepository-getRic-title-200"></h3>
+                            <p id="examples-NearRTRICRepository-getRic-description-200" class="marked"></p>
                             <script>
-                              var responseManagementOfConfiguration400_description = `Invalid configuration provided`;
-                              var responseManagementOfConfiguration400_description_break = responseManagementOfConfiguration400_description.indexOf('\n');
-                              if (responseManagementOfConfiguration400_description_break == -1) {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description);
+                              var responseNearRTRICRepository200_description = `Near-RT RIC is found`;
+                              var responseNearRTRICRepository200_description_break = responseNearRTRICRepository200_description.indexOf('\n');
+                              if (responseNearRTRICRepository200_description_break == -1) {
+                                $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description);
                               } else {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description.substring(0, responseManagementOfConfiguration400_description_break));
-                                $("#examples-ManagementOfConfiguration-putConfiguration-description-400").html(responseManagementOfConfiguration400_description.substring(responseManagementOfConfiguration400_description_break));
+                                $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description.substring(0, responseNearRTRICRepository200_description_break));
+                                $("#examples-NearRTRICRepository-getRic-description-200").html(responseNearRTRICRepository200_description.substring(responseNearRTRICRepository200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-400" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-NearRTRICRepository-getRic-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-400-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-200-schema">Schema</a>
                                 </li>
 
 
@@ -11345,17 +11422,17 @@ $(document).ready(function() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-400-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-400-schema">
-                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-400" class="exampleStyle">
+                            <div class="tab-content" id="responses-NearRTRICRepository-getRic-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-200-schema">
+                                  <div id="responses-NearRTRICRepository-getRic-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Invalid configuration provided",
+  "description" : "Near-RT RIC is found",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/error_information"
+        "$ref" : "#/components/schemas/ric_info_v2"
       }
     }
   }
@@ -11376,33 +11453,33 @@ $(document).ready(function() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-ManagementOfConfiguration-putConfiguration-400-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-400');
+                                        $('#responses-NearRTRICRepository-getRic-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-NearRTRICRepository-getRic-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-ManagementOfConfiguration-putConfiguration-400-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-NearRTRICRepository-getRic-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
-                            <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-500"></h3>
-                            <p id="examples-ManagementOfConfiguration-putConfiguration-description-500" class="marked"></p>
+                            <h3 id="examples-NearRTRICRepository-getRic-title-404"></h3>
+                            <p id="examples-NearRTRICRepository-getRic-description-404" class="marked"></p>
                             <script>
-                              var responseManagementOfConfiguration500_description = `Something went wrong when replacing the configuration. Try again.`;
-                              var responseManagementOfConfiguration500_description_break = responseManagementOfConfiguration500_description.indexOf('\n');
-                              if (responseManagementOfConfiguration500_description_break == -1) {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description);
+                              var responseNearRTRICRepository404_description = `Near-RT RIC is not found`;
+                              var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n');
+                              if (responseNearRTRICRepository404_description_break == -1) {
+                                $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description);
                               } else {
-                                $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description.substring(0, responseManagementOfConfiguration500_description_break));
-                                $("#examples-ManagementOfConfiguration-putConfiguration-description-500").html(responseManagementOfConfiguration500_description.substring(responseManagementOfConfiguration500_description_break));
+                                $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description.substring(0, responseNearRTRICRepository404_description_break));
+                                $("#examples-NearRTRICRepository-getRic-description-404").html(responseNearRTRICRepository404_description.substring(responseNearRTRICRepository404_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-500" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-NearRTRICRepository-getRic-404" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-500-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-404-schema">Schema</a>
                                 </li>
 
 
@@ -11411,15 +11488,15 @@ $(document).ready(function() {
                             </ul>
 
 
-                            <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-500-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-500-schema">
-                                  <div id="responses-ManagementOfConfiguration-putConfiguration-schema-500" class="exampleStyle">
+                            <div class="tab-content" id="responses-NearRTRICRepository-getRic-404-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-404-schema">
+                                  <div id="responses-NearRTRICRepository-getRic-schema-404" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Something went wrong when replacing the configuration. Try again.",
+  "description" : "Near-RT RIC is not found",
   "content" : {
-    "*/*" : {
+    "application/json" : {
       "schema" : {
         "$ref" : "#/components/schemas/error_information"
       }
@@ -11442,61 +11519,58 @@ $(document).ready(function() {
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-ManagementOfConfiguration-putConfiguration-500-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-500');
+                                        $('#responses-NearRTRICRepository-getRic-404-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-NearRTRICRepository-getRic-schema-404');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-ManagementOfConfiguration-putConfiguration-500-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-NearRTRICRepository-getRic-404-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
                       </div>
                       <hr>
-                  </section>
-                <section id="api-NearRTRICRepository">
-                  <h1>NearRTRICRepository</h1>
-                    <div id="api-NearRTRICRepository-getRic">
-                      <article id="api-NearRTRICRepository-getRic-0" data-group="User" data-name="getRic" data-version="0">
+                    <div id="api-NearRTRICRepository-getRics">
+                      <article id="api-NearRTRICRepository-getRics-0" data-group="User" data-name="getRics" data-version="0">
                         <div class="pull-left">
-                          <h1>getRic</h1>
-                          <p>Returns info for one Near-RT RIC</p>
+                          <h1>getRics</h1>
+                          <p>Query Near-RT RIC information</p>
                         </div>
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked">Either a Near-RT RIC identity or a Managed Element identity can be specified.&lt;br&gt;The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).</p>
+                        <p class="marked">The call returns all Near-RT RICs that supports a given policy type identity</p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/rics/ric</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/rics</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-NearRTRICRepository-getRic-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-java">Java</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRic-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRic-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-python">Python</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRic-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-NearRTRICRepository-getRics-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-java">Java</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRics-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRics-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-python">Python</a></li>
+                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-NearRTRICRepository-getRic-0-curl">
+                          <div class="tab-pane active" id="examples-NearRTRICRepository-getRics-0-curl">
                             <pre class="prettyprint"><code class="language-bsh">curl -X GET \
  -H "Accept: application/json" \
- "http://localhost/a1-policy/v2/rics/ric?managed_element_id=managedElementId_example&ric_id=ricId_example"
+ "http://localhost/a1-policy/v2/rics?policytype_id=policytypeId_example"
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-java">
+                          <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
@@ -11510,14 +11584,13 @@ public class NearRTRICRepositoryApiExample {
 
         // Create an instance of the API class
         NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
-        String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-        String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
+        String policytypeId = policytypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
 
         try {
-            ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
+            ric_info_list_v2 result = apiInstance.getRics(policytypeId);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
+            System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
             e.printStackTrace();
         }
     }
@@ -11525,41 +11598,38 @@ public class NearRTRICRepositoryApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-android">
+                          <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-android">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.NearRTRICRepositoryApi;
 
 public class NearRTRICRepositoryApiExample {
     public static void main(String[] args) {
         NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
-        String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-        String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
+        String policytypeId = policytypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
 
         try {
-            ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
+            ric_info_list_v2 result = apiInstance.getRics(policytypeId);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
+            System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-groovy">
+  <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-objc">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // Create an instance of the API class
 NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init];
-String *managedElementId = managedElementId_example; // The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null)
-String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (optional) (default to null)
+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)
 
-// Returns info for one Near-RT RIC
-[apiInstance getRicWith:managedElementId
-    ricId:ricId
-              completionHandler: ^(ric_info_v2 output, NSError* error) {
+// Query Near-RT RIC information
+[apiInstance getRicsWith:policytypeId
+              completionHandler: ^(ric_info_list_v2 output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -11570,14 +11640,13 @@ String *ricId = ricId_example; // The identity of a Near-RT RIC to get informati
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-javascript">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
 var api = new A1PolicyManagementService.NearRTRICRepositoryApi()
 var opts = {
-  'managedElementId': managedElementId_example, // {String} The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-  'ricId': ricId_example // {String} The identity of a Near-RT RIC to get information for.
+  'policytypeId': policytypeId_example // {String} The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
 };
 
 var callback = function(error, data, response) {
@@ -11587,14 +11656,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getRic(opts, callback);
+api.getRics(opts, callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-angular">
+                            <!--<div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-csharp">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -11603,22 +11672,21 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getRicExample
+    public class getRicsExample
     {
         public void main()
         {
 
             // Create an instance of the API class
             var apiInstance = new NearRTRICRepositoryApi();
-            var managedElementId = managedElementId_example;  // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional)  (default to null)
-            var ricId = ricId_example;  // String | The identity of a Near-RT RIC to get information for. (optional)  (default to null)
+            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)
 
             try {
-                // Returns info for one Near-RT RIC
-                ric_info_v2 result = apiInstance.getRic(managedElementId, ricId);
+                // Query Near-RT RIC information
+                ric_info_list_v2 result = apiInstance.getRics(policytypeId);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling NearRTRICRepositoryApi.getRic: " + e.Message );
+                Debug.Print("Exception when calling NearRTRICRepositoryApi.getRics: " + e.Message );
             }
         }
     }
@@ -11626,44 +11694,42 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-php">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 require_once(__DIR__ . '/vendor/autoload.php');
 
 // Create an instance of the API class
 $api_instance = new OpenAPITools\Client\Api\NearRTRICRepositoryApi();
-$managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-$ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.
+$policytypeId = policytypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
 
 try {
-    $result = $api_instance->getRic($managedElementId, $ricId);
+    $result = $api_instance->getRics($policytypeId);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling NearRTRICRepositoryApi->getRic: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling NearRTRICRepositoryApi->getRics: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-perl">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
 use WWW::OPenAPIClient::NearRTRICRepositoryApi;
 
 # Create an instance of the API class
 my $api_instance = WWW::OPenAPIClient::NearRTRICRepositoryApi->new();
-my $managedElementId = managedElementId_example; # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-my $ricId = ricId_example; # String | The identity of a Near-RT RIC to get information for.
+my $policytypeId = policytypeId_example; # String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
 
 eval {
-    my $result = $api_instance->getRic(managedElementId => $managedElementId, ricId => $ricId);
+    my $result = $api_instance->getRics(policytypeId => $policytypeId);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling NearRTRICRepositoryApi->getRic: $@\n";
+    warn "Exception when calling NearRTRICRepositoryApi->getRics: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-python">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -11672,26 +11738,24 @@ from pprint import pprint
 
 # Create an instance of the API class
 api_instance = openapi_client.NearRTRICRepositoryApi()
-managedElementId = managedElementId_example # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null)
-ricId = ricId_example # String | The identity of a Near-RT RIC to get information for. (optional) (default to null)
+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)
 
 try:
-    # Returns info for one Near-RT RIC
-    api_response = api_instance.get_ric(managedElementId=managedElementId, ricId=ricId)
+    # Query Near-RT RIC information
+    api_response = api_instance.get_rics(policytypeId=policytypeId)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling NearRTRICRepositoryApi->getRic: %s\n" % e)</code></pre>
+    print("Exception when calling NearRTRICRepositoryApi->getRics: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRic-0-rust">
+                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-rust">
                               <pre class="prettyprint"><code class="language-rust">extern crate NearRTRICRepositoryApi;
 
 pub fn main() {
-    let managedElementId = managedElementId_example; // String
-    let ricId = ricId_example; // String
+    let policytypeId = policytypeId_example; // String
 
     let mut context = NearRTRICRepositoryApi::Context::default();
-    let result = client.getRic(managedElementId, ricId, &context).wait();
+    let result = client.getRics(policytypeId, &context).wait();
 
     println!("{:?}", result);
 }
@@ -11716,31 +11780,11 @@ pub fn main() {
                                 <th width="150px">Name</th>
                                 <th>Description</th>
                               </tr>
-                                <tr><td style="width:150px;">managed_element_id</td>
-<td>
-
-
-    <div id="d2e199_getRic_managedElementId">
-        <div class="json-schema-view">
-            <div class="primitive">
-                <span class="type">
-                    String
-                </span>
-
-                    <div class="inner description marked">
-The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
-                    </div>
-            </div>
-        </div>
-    </div>
-</td>
-</tr>
-
-                                <tr><td style="width:150px;">ric_id</td>
+                                <tr><td style="width:150px;">policytype_id</td>
 <td>
 
 
-    <div id="d2e199_getRic_ricId">
+    <div id="d2e199_getRics_policytypeId">
         <div class="json-schema-view">
             <div class="primitive">
                 <span class="type">
@@ -11748,7 +11792,7 @@ The identity of a Managed Element. If given, the Near-RT RIC managing the ME is
                 </span>
 
                     <div class="inner description marked">
-The identity of a Near-RT RIC to get information for.
+The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
                     </div>
             </div>
         </div>
@@ -11759,23 +11803,23 @@ The identity of a Near-RT RIC to get information for.
                             </table>
 
                           <h2>Responses</h2>
-                            <h3 id="examples-NearRTRICRepository-getRic-title-200"></h3>
-                            <p id="examples-NearRTRICRepository-getRic-description-200" class="marked"></p>
+                            <h3 id="examples-NearRTRICRepository-getRics-title-200"></h3>
+                            <p id="examples-NearRTRICRepository-getRics-description-200" class="marked"></p>
                             <script>
-                              var responseNearRTRICRepository200_description = `Near-RT RIC is found`;
+                              var responseNearRTRICRepository200_description = `OK`;
                               var responseNearRTRICRepository200_description_break = responseNearRTRICRepository200_description.indexOf('\n');
                               if (responseNearRTRICRepository200_description_break == -1) {
-                                $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description);
+                                $("#examples-NearRTRICRepository-getRics-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description);
                               } else {
-                                $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description.substring(0, responseNearRTRICRepository200_description_break));
-                                $("#examples-NearRTRICRepository-getRic-description-200").html(responseNearRTRICRepository200_description.substring(responseNearRTRICRepository200_description_break));
+                                $("#examples-NearRTRICRepository-getRics-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description.substring(0, responseNearRTRICRepository200_description_break));
+                                $("#examples-NearRTRICRepository-getRics-description-200").html(responseNearRTRICRepository200_description.substring(responseNearRTRICRepository200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-NearRTRICRepository-getRic-200" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-NearRTRICRepository-getRics-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-200-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-200-schema">Schema</a>
                                 </li>
 
 
@@ -11784,17 +11828,17 @@ The identity of a Near-RT RIC to get information for.
                             </ul>
 
 
-                            <div class="tab-content" id="responses-NearRTRICRepository-getRic-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-200-schema">
-                                  <div id="responses-NearRTRICRepository-getRic-schema-200" class="exampleStyle">
+                            <div class="tab-content" id="responses-NearRTRICRepository-getRics-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-200-schema">
+                                  <div id="responses-NearRTRICRepository-getRics-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Near-RT RIC is found",
+  "description" : "OK",
   "content" : {
     "application/json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ric_info_v2"
+        "$ref" : "#/components/schemas/ric_info_list_v2"
       }
     }
   }
@@ -11815,33 +11859,33 @@ The identity of a Near-RT RIC to get information for.
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-NearRTRICRepository-getRic-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-NearRTRICRepository-getRic-schema-200');
+                                        $('#responses-NearRTRICRepository-getRics-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-NearRTRICRepository-getRics-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-NearRTRICRepository-getRic-200-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-NearRTRICRepository-getRics-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
-                            <h3 id="examples-NearRTRICRepository-getRic-title-404"></h3>
-                            <p id="examples-NearRTRICRepository-getRic-description-404" class="marked"></p>
+                            <h3 id="examples-NearRTRICRepository-getRics-title-404"></h3>
+                            <p id="examples-NearRTRICRepository-getRics-description-404" class="marked"></p>
                             <script>
-                              var responseNearRTRICRepository404_description = `Near-RT RIC is not found`;
+                              var responseNearRTRICRepository404_description = `Policy type is not found`;
                               var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n');
                               if (responseNearRTRICRepository404_description_break == -1) {
-                                $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description);
+                                $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description);
                               } else {
-                                $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description.substring(0, responseNearRTRICRepository404_description_break));
-                                $("#examples-NearRTRICRepository-getRic-description-404").html(responseNearRTRICRepository404_description.substring(responseNearRTRICRepository404_description_break));
+                                $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description.substring(0, responseNearRTRICRepository404_description_break));
+                                $("#examples-NearRTRICRepository-getRics-description-404").html(responseNearRTRICRepository404_description.substring(responseNearRTRICRepository404_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-NearRTRICRepository-getRic-404" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-NearRTRICRepository-getRics-404" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-404-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-404-schema">Schema</a>
                                 </li>
 
 
@@ -11850,13 +11894,13 @@ The identity of a Near-RT RIC to get information for.
                             </ul>
 
 
-                            <div class="tab-content" id="responses-NearRTRICRepository-getRic-404-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-404-schema">
-                                  <div id="responses-NearRTRICRepository-getRic-schema-404" class="exampleStyle">
+                            <div class="tab-content" id="responses-NearRTRICRepository-getRics-404-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-404-schema">
+                                  <div id="responses-NearRTRICRepository-getRics-schema-404" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Near-RT RIC is not found",
+  "description" : "Policy type is not found",
   "content" : {
     "application/json" : {
       "schema" : {
@@ -11881,78 +11925,83 @@ The identity of a Near-RT RIC to get information for.
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-NearRTRICRepository-getRic-404-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-NearRTRICRepository-getRic-schema-404');
+                                        $('#responses-NearRTRICRepository-getRics-404-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-NearRTRICRepository-getRics-schema-404');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-NearRTRICRepository-getRic-404-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-NearRTRICRepository-getRics-404-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
                       </div>
                       <hr>
-                    <div id="api-NearRTRICRepository-getRics">
-                      <article id="api-NearRTRICRepository-getRics-0" data-group="User" data-name="getRics" data-version="0">
+                  </section>
+                <section id="api-ServiceCallbacks">
+                  <h1>ServiceCallbacks</h1>
+                    <div id="api-ServiceCallbacks-serviceCallback">
+                      <article id="api-ServiceCallbacks-serviceCallback-0" data-group="User" data-name="serviceCallback" data-version="0">
                         <div class="pull-left">
-                          <h1>getRics</h1>
-                          <p>Query Near-RT RIC information</p>
+                          <h1>serviceCallback</h1>
+                          <p>Callback for Near-RT RIC status</p>
                         </div>
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked">The call returns all Near-RT RICs that supports a given policy type identity</p>
+                        <p class="marked">The URL to this call is registered at Service registration.</p>
                         <p></p>
                         <br />
-                        <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/rics</span></code></pre>
+                        <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/r-app/near-rt-ric-status</span></code></pre>
                         <p>
                           <h3>Usage and SDK Samples</h3>
                         </p>
                         <ul class="nav nav-tabs nav-tabs-examples">
-                          <li class="active"><a href="#examples-NearRTRICRepository-getRics-0-curl">Curl</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-java">Java</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-android">Android</a></li>
-                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRics-0-groovy">Groovy</a></li>-->
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-objc">Obj-C</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-javascript">JavaScript</a></li>
-                          <!--<li class=""><a href="#examples-NearRTRICRepository-getRics-0-angular">Angular</a></li>-->
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-csharp">C#</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-php">PHP</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-perl">Perl</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-python">Python</a></li>
-                          <li class=""><a href="#examples-NearRTRICRepository-getRics-0-rust">Rust</a></li>
+                          <li class="active"><a href="#examples-ServiceCallbacks-serviceCallback-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-java">Java</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-python">Python</a></li>
+                          <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-rust">Rust</a></li>
                         </ul>
 
                         <div class="tab-content">
-                          <div class="tab-pane active" id="examples-NearRTRICRepository-getRics-0-curl">
-                            <pre class="prettyprint"><code class="language-bsh">curl -X GET \
+                          <div class="tab-pane active" id="examples-ServiceCallbacks-serviceCallback-0-curl">
+                            <pre class="prettyprint"><code class="language-bsh">curl -X POST \
  -H "Accept: application/json" \
- "http://localhost/a1-policy/v2/rics?policytype_id=policytypeId_example"
+ -H "Content-Type: application/json" \
+ "http://localhost/r-app/near-rt-ric-status" \
+ -d ''
 </code></pre>
                           </div>
-                          <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-java">
+                          <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-java">
                             <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
 import org.openapitools.client.auth.*;
 import org.openapitools.client.model.*;
-import org.openapitools.client.api.NearRTRICRepositoryApi;
+import org.openapitools.client.api.ServiceCallbacksApi;
 
 import java.io.File;
 import java.util.*;
 
-public class NearRTRICRepositoryApiExample {
+public class ServiceCallbacksApiExample {
     public static void main(String[] args) {
 
         // 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
+        ServiceCallbacksApi apiInstance = new ServiceCallbacksApi();
+        ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
 
         try {
-            ric_info_list_v2 result = apiInstance.getRics(policytypeId);
+            Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
+            System.err.println("Exception when calling ServiceCallbacksApi#serviceCallback");
             e.printStackTrace();
         }
     }
@@ -11960,38 +12009,38 @@ public class NearRTRICRepositoryApiExample {
 </code></pre>
                           </div>
 
-                          <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-android">
-                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.NearRTRICRepositoryApi;
+                          <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-android">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ServiceCallbacksApi;
 
-public class NearRTRICRepositoryApiExample {
+public class ServiceCallbacksApiExample {
     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
+        ServiceCallbacksApi apiInstance = new ServiceCallbacksApi();
+        ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
 
         try {
-            ric_info_list_v2 result = apiInstance.getRics(policytypeId);
+            Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
             System.out.println(result);
         } catch (ApiException e) {
-            System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
+            System.err.println("Exception when calling ServiceCallbacksApi#serviceCallback");
             e.printStackTrace();
         }
     }
 }</code></pre>
                           </div>
   <!--
-  <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-groovy">
+  <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-groovy">
   <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
   </div> -->
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-objc">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-objc">
                               <pre class="prettyprint"><code class="language-cpp">
 
 // 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)
+ServiceCallbacksApi *apiInstance = [[ServiceCallbacksApi alloc] init];
+ServiceCallbackInfoV2 *serviceCallbackInfoV2 = ; // 
 
-// Query Near-RT RIC information
-[apiInstance getRicsWith:policytypeId
-              completionHandler: ^(ric_info_list_v2 output, NSError* error) {
+// Callback for Near-RT RIC status
+[apiInstance serviceCallbackWith:serviceCallbackInfoV2
+              completionHandler: ^(Object output, NSError* error) {
     if (output) {
         NSLog(@"%@", output);
     }
@@ -12002,14 +12051,12 @@ String *policytypeId = policytypeId_example; // The identity of a policy type. I
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-javascript">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-javascript">
                               <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
 
 // Create an instance of the API class
-var api = new A1PolicyManagementService.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
-};
+var api = new A1PolicyManagementService.ServiceCallbacksApi()
+var serviceCallbackInfoV2 = ; // {ServiceCallbackInfoV2} 
 
 var callback = function(error, data, response) {
   if (error) {
@@ -12018,14 +12065,14 @@ var callback = function(error, data, response) {
     console.log('API called successfully. Returned data: ' + data);
   }
 };
-api.getRics(opts, callback);
+api.serviceCallback(serviceCallbackInfoV2, callback);
 </code></pre>
                             </div>
 
-                            <!--<div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-angular">
+                            <!--<div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-angular">
               <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
             </div>-->
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-csharp">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-csharp">
                               <pre class="prettyprint"><code class="language-cs">using System;
 using System.Diagnostics;
 using Org.OpenAPITools.Api;
@@ -12034,21 +12081,21 @@ using Org.OpenAPITools.Model;
 
 namespace Example
 {
-    public class getRicsExample
+    public class serviceCallbackExample
     {
         public void main()
         {
 
             // 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 apiInstance = new ServiceCallbacksApi();
+            var serviceCallbackInfoV2 = new ServiceCallbackInfoV2(); // ServiceCallbackInfoV2 | 
 
             try {
-                // Query Near-RT RIC information
-                ric_info_list_v2 result = apiInstance.getRics(policytypeId);
+                // Callback for Near-RT RIC status
+                Object result = apiInstance.serviceCallback(serviceCallbackInfoV2);
                 Debug.WriteLine(result);
             } catch (Exception e) {
-                Debug.Print("Exception when calling NearRTRICRepositoryApi.getRics: " + e.Message );
+                Debug.Print("Exception when calling ServiceCallbacksApi.serviceCallback: " + e.Message );
             }
         }
     }
@@ -12056,42 +12103,42 @@ namespace Example
 </code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-php">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-php">
                               <pre class="prettyprint"><code class="language-php"><&#63;php
 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
+$api_instance = new OpenAPITools\Client\Api\ServiceCallbacksApi();
+$serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | 
 
 try {
-    $result = $api_instance->getRics($policytypeId);
+    $result = $api_instance->serviceCallback($serviceCallbackInfoV2);
     print_r($result);
 } catch (Exception $e) {
-    echo 'Exception when calling NearRTRICRepositoryApi->getRics: ', $e->getMessage(), PHP_EOL;
+    echo 'Exception when calling ServiceCallbacksApi->serviceCallback: ', $e->getMessage(), PHP_EOL;
 }
 ?></code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-perl">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-perl">
                               <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
 use WWW::OPenAPIClient::Configuration;
-use WWW::OPenAPIClient::NearRTRICRepositoryApi;
+use WWW::OPenAPIClient::ServiceCallbacksApi;
 
 # 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 $api_instance = WWW::OPenAPIClient::ServiceCallbacksApi->new();
+my $serviceCallbackInfoV2 = WWW::OPenAPIClient::Object::ServiceCallbackInfoV2->new(); # ServiceCallbackInfoV2 | 
 
 eval {
-    my $result = $api_instance->getRics(policytypeId => $policytypeId);
+    my $result = $api_instance->serviceCallback(serviceCallbackInfoV2 => $serviceCallbackInfoV2);
     print Dumper($result);
 };
 if ($@) {
-    warn "Exception when calling NearRTRICRepositoryApi->getRics: $@\n";
+    warn "Exception when calling ServiceCallbacksApi->serviceCallback: $@\n";
 }</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-python">
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-python">
                               <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
 import time
 import openapi_client
@@ -12099,25 +12146,25 @@ from openapi_client.rest import ApiException
 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)
+api_instance = openapi_client.ServiceCallbacksApi()
+serviceCallbackInfoV2 =  # ServiceCallbackInfoV2 | 
 
 try:
-    # Query Near-RT RIC information
-    api_response = api_instance.get_rics(policytypeId=policytypeId)
+    # Callback for Near-RT RIC status
+    api_response = api_instance.service_callback(serviceCallbackInfoV2)
     pprint(api_response)
 except ApiException as e:
-    print("Exception when calling NearRTRICRepositoryApi->getRics: %s\n" % e)</code></pre>
+    print("Exception when calling ServiceCallbacksApi->serviceCallback: %s\n" % e)</code></pre>
                             </div>
 
-                            <div class="tab-pane" id="examples-NearRTRICRepository-getRics-0-rust">
-                              <pre class="prettyprint"><code class="language-rust">extern crate NearRTRICRepositoryApi;
+                            <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-rust">
+                              <pre class="prettyprint"><code class="language-rust">extern crate ServiceCallbacksApi;
 
 pub fn main() {
-    let policytypeId = policytypeId_example; // String
+    let serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2
 
-    let mut context = NearRTRICRepositoryApi::Context::default();
-    let result = client.getRics(policytypeId, &context).wait();
+    let mut context = ServiceCallbacksApi::Context::default();
+    let result = client.serviceCallback(serviceCallbackInfoV2, &context).wait();
 
     println!("{:?}", result);
 }
@@ -12134,120 +12181,73 @@ pub fn main() {
 
 
 
-
-
-                            <div class="methodsubtabletitle">Query parameters</div>
+                            <div class="methodsubtabletitle">Body parameters</div>
                             <table id="methodsubtable">
                               <tr>
                                 <th width="150px">Name</th>
                                 <th>Description</th>
                               </tr>
-                                <tr><td style="width:150px;">policytype_id</td>
+                                <tr><td style="width:150px;">serviceCallbackInfoV2 <span style="color:red;">*</span></td>
 <td>
+<p class="marked"></p>
+<script>
+$(document).ready(function() {
+  var schemaWrapper = {
+  "content" : {
+    "application/json" : {
+      "schema" : {
+        "$ref" : "#/components/schemas/service_callback_info_v2"
+      }
+    }
+  },
+  "required" : true
+};
 
+  var schema = findNode('schema',schemaWrapper).schema;
+  if (!schema) {
+    schema = schemaWrapper.schema;
+  }
+  if (schema.$ref != null) {
+    schema = defsParser.$refs.get(schema.$ref);
+  } else {
+    schemaWrapper.definitions = Object.assign({}, defs);
+    $RefParser.dereference(schemaWrapper).catch(function(err) {
+      console.log(err);
+    });
+  }
 
-    <div id="d2e199_getRics_policytypeId">
-        <div class="json-schema-view">
-            <div class="primitive">
-                <span class="type">
-                    String
-                </span>
-
-                    <div class="inner description marked">
-The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned
-                    </div>
-            </div>
-        </div>
-    </div>
+  var view = new JSONSchemaView(schema,2,{isBodyParam: true});
+  var result = $('#d2e199_serviceCallback_serviceCallbackInfoV2');
+  result.empty();
+  result.append(view.render());
+});
+</script>
+<div id="d2e199_serviceCallback_serviceCallbackInfoV2"></div>
 </td>
 </tr>
 
                             </table>
 
-                          <h2>Responses</h2>
-                            <h3 id="examples-NearRTRICRepository-getRics-title-200"></h3>
-                            <p id="examples-NearRTRICRepository-getRics-description-200" class="marked"></p>
-                            <script>
-                              var responseNearRTRICRepository200_description = `OK`;
-                              var responseNearRTRICRepository200_description_break = responseNearRTRICRepository200_description.indexOf('\n');
-                              if (responseNearRTRICRepository200_description_break == -1) {
-                                $("#examples-NearRTRICRepository-getRics-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description);
-                              } else {
-                                $("#examples-NearRTRICRepository-getRics-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description.substring(0, responseNearRTRICRepository200_description_break));
-                                $("#examples-NearRTRICRepository-getRics-description-200").html(responseNearRTRICRepository200_description.substring(responseNearRTRICRepository200_description_break));
-                              }
-                            </script>
-
-
-                            <ul id="responses-detail-NearRTRICRepository-getRics-200" class="nav nav-tabs nav-tabs-examples" >
-                                <li class="active">
-                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-200-schema">Schema</a>
-                                </li>
-
-
-
 
-                            </ul>
-
-
-                            <div class="tab-content" id="responses-NearRTRICRepository-getRics-200-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-200-schema">
-                                  <div id="responses-NearRTRICRepository-getRics-schema-200" class="exampleStyle">
-                                    <script>
-                                      $(document).ready(function() {
-                                        var schemaWrapper = {
-  "description" : "OK",
-  "content" : {
-    "application/json" : {
-      "schema" : {
-        "$ref" : "#/components/schemas/ric_info_list_v2"
-      }
-    }
-  }
-};
-                                        var schema = findNode('schema',schemaWrapper).schema;
-                                        if (!schema) {
-                                          schema = schemaWrapper.schema;
-                                        }
-                                        if (schema.$ref != null) {
-                                          schema = defsParser.$refs.get(schema.$ref);
-                                        } else if (schema.items != null && schema.items.$ref != null) {
-                                            schema.items = defsParser.$refs.get(schema.items.$ref);
-                                        } else {
-                                          schemaWrapper.definitions = Object.assign({}, defs);
-                                          $RefParser.dereference(schemaWrapper).catch(function(err) {
-                                            console.log(err);
-                                          });
-                                        }
 
-                                        var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-NearRTRICRepository-getRics-200-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-NearRTRICRepository-getRics-schema-200');
-                                        result.empty();
-                                        result.append(view.render());
-                                      });
-                                    </script>
-                                  </div>
-                                  <input id='responses-NearRTRICRepository-getRics-200-schema-data' type='hidden' value=''></input>
-                                </div>
-                            </div>
-                            <h3 id="examples-NearRTRICRepository-getRics-title-404"></h3>
-                            <p id="examples-NearRTRICRepository-getRics-description-404" class="marked"></p>
+                          <h2>Responses</h2>
+                            <h3 id="examples-ServiceCallbacks-serviceCallback-title-200"></h3>
+                            <p id="examples-ServiceCallbacks-serviceCallback-description-200" class="marked"></p>
                             <script>
-                              var responseNearRTRICRepository404_description = `Policy type is not found`;
-                              var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n');
-                              if (responseNearRTRICRepository404_description_break == -1) {
-                                $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description);
+                              var responseServiceCallbacks200_description = `OK`;
+                              var responseServiceCallbacks200_description_break = responseServiceCallbacks200_description.indexOf('\n');
+                              if (responseServiceCallbacks200_description_break == -1) {
+                                $("#examples-ServiceCallbacks-serviceCallback-title-200").text("Status: 200 - " + responseServiceCallbacks200_description);
                               } else {
-                                $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description.substring(0, responseNearRTRICRepository404_description_break));
-                                $("#examples-NearRTRICRepository-getRics-description-404").html(responseNearRTRICRepository404_description.substring(responseNearRTRICRepository404_description_break));
+                                $("#examples-ServiceCallbacks-serviceCallback-title-200").text("Status: 200 - " + responseServiceCallbacks200_description.substring(0, responseServiceCallbacks200_description_break));
+                                $("#examples-ServiceCallbacks-serviceCallback-description-200").html(responseServiceCallbacks200_description.substring(responseServiceCallbacks200_description_break));
                               }
                             </script>
 
 
-                            <ul id="responses-detail-NearRTRICRepository-getRics-404" class="nav nav-tabs nav-tabs-examples" >
+                            <ul id="responses-detail-ServiceCallbacks-serviceCallback-200" class="nav nav-tabs nav-tabs-examples" >
                                 <li class="active">
-                                  <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-404-schema">Schema</a>
+                                  <a data-toggle="tab" href="#responses-ServiceCallbacks-serviceCallback-200-schema">Schema</a>
                                 </li>
 
 
@@ -12256,17 +12256,17 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy
                             </ul>
 
 
-                            <div class="tab-content" id="responses-NearRTRICRepository-getRics-404-wrapper" style='margin-bottom: 10px;'>
-                                <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-404-schema">
-                                  <div id="responses-NearRTRICRepository-getRics-schema-404" class="exampleStyle">
+                            <div class="tab-content" id="responses-ServiceCallbacks-serviceCallback-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-ServiceCallbacks-serviceCallback-200-schema">
+                                  <div id="responses-ServiceCallbacks-serviceCallback-schema-200" class="exampleStyle">
                                     <script>
                                       $(document).ready(function() {
                                         var schemaWrapper = {
-  "description" : "Policy type is not found",
+  "description" : "OK",
   "content" : {
     "application/json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/error_information"
+        "$ref" : "#/components/schemas/void"
       }
     }
   }
@@ -12287,14 +12287,14 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy
                                         }
 
                                         var view = new JSONSchemaView(schema, 3);
-                                        $('#responses-NearRTRICRepository-getRics-404-schema-data').val(JSON.stringify(schema));
-                                        var result = $('#responses-NearRTRICRepository-getRics-schema-404');
+                                        $('#responses-ServiceCallbacks-serviceCallback-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-ServiceCallbacks-serviceCallback-schema-200');
                                         result.empty();
                                         result.append(view.render());
                                       });
                                     </script>
                                   </div>
-                                  <input id='responses-NearRTRICRepository-getRics-404-schema-data' type='hidden' value=''></input>
+                                  <input id='responses-ServiceCallbacks-serviceCallback-200-schema-data' type='hidden' value=''></input>
                                 </div>
                             </div>
                         </article>
index b6d3a07..9f4f442 100644 (file)
@@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition;
 import io.swagger.v3.oas.annotations.info.Info;
 import io.swagger.v3.oas.annotations.info.License;
 
+import org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization.AuthorizationConsts;
 import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.ConfigurationController;
 import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts;
 import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.PolicyController;
@@ -63,7 +64,7 @@ public class SwaggerConfig {
             "<li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li>"
             + //
             "</ul>" + //
-            "<h2>APIs provided by the service</h2>" + //
+            "<h2>APIs provided or defined by the service</h2>" + //
             H3 + PolicyController.API_NAME + H3_END + //
             "<p>This is an API for management of A1 Policies.</p>" + //
             "<ul>" + //
@@ -75,23 +76,36 @@ public class SwaggerConfig {
             H3 + ConfigurationController.API_NAME + H3_END + //
             "<p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p>"
             + //
+
             H3 + Consts.V2_API_SERVICE_CALLBACKS_NAME + H3_END + //
             "<p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p>"
             + //
+
             H3 + RicRepositoryController.API_NAME + H3_END + //
             "<p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p>"
-            + H3 + StatusController.API_NAME + H3_END + //
-            "<p>API used for supervision of the PMS component.</p>" + //
+            + //
+
+            H3 + StatusController.API_NAME + H3_END + //
+            "<p>API used for supervision of the PMS component.</p>" //
+            + //
+
             H3 + ServiceController.API_NAME + H3_END + //
             "<p>" //
             + "API used for registering services that uses PMS."
             + " Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services."
             + " Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use."
             + "</p>" + //
+
+            H3 + AuthorizationConsts.API_NAME + H3_END + //
+            "<p>" //
+            + "API used for access control of A1 Policy access."
+            + " If configured, an external authorization provider is requested to grant access to the A1 Policy type."
+            + "</p>" + //
+
             H3 + "Spring Boot Actuator" + H3_END + //
             "<p>" //
             + "Provides generic functions  used to monitor and manage the Spring web application." + //
             "</p>";
 
-    public static final String VERSION = "1.1.0";
+    public static final String VERSION = "1.2.0";
 }
index a905b9d..cc2d234 100644 (file)
@@ -22,8 +22,8 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization;
 
 public class AuthorizationConsts {
 
-    public static final String AUTH_API_NAME = "Authorization API";
-    public static final String AUTH_API_DESCRIPTION =
+    public static final String API_NAME = "Authorization API";
+    public static final String API_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 PMS, it is not provided.
index 7f954e9..c554dbd 100644 (file)
@@ -32,7 +32,7 @@ public class Consts {
 
     public static final String V2_API_ROOT = "/a1-policy/v2";
 
-    public static final String V2_API_SERVICE_CALLBACKS_NAME = "Callbacks";
+    public static final String V2_API_SERVICE_CALLBACKS_NAME = "Service callbacks";
     public static final String V2_API_SERVICE_CALLBACKS_DESCRIPTION = "";
 
     private Consts() {}
index 236c31b..3e63b46 100644 (file)
@@ -52,7 +52,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController("OpenPolicyAgentSimulatorController")
-@Tag(name = AuthorizationConsts.AUTH_API_NAME, description = AuthorizationConsts.AUTH_API_DESCRIPTION)
+@Tag(name = AuthorizationConsts.API_NAME, description = AuthorizationConsts.API_DESCRIPTION)
 public class OpenPolicyAgentSimulatorController {
     private static Gson gson = new GsonBuilder().disableHtmlEscaping().create();
 
index a9facd5..edb9d34 100755 (executable)
@@ -11,9 +11,9 @@ Introduction
 ************
 
 
-The CCSDK ORAN components add support for handling "A1 Policies" as defined for the O-RAN A1 interface.
+The CCSDK ORAN components add support for handling "A1 Policies" as defined for the O-RAN A1-P interface.
 
-The O-RAN A1 interface is defined by the `O-RAN Alliance <https://www.o-ran.org>`_
+The O-RAN A1-P interface is defined by the `O-RAN Alliance <https://www.o-ran.org>`_
 
 
 *******************
@@ -21,11 +21,21 @@ Architecture Review
 *******************
 
 This picture provides a overview of ONAP's A1 Controller architecture,
-integration with other ONAP components and API resource/operation provided.
+integration with other components and API resource/operation provided.
 
 .. image:: ../media/ONAP-A1ControllerArchitecture.png
    :width: 500pt
 
+The A1 Policy Management Service provides an API for accessing of A1 Policies. The PMS
+configures these in the traffical elements (NearRT-RICS). It also keeps a backup of these in case of restart of PMS.
+On regular basis, it will check that the configured A1 Policices are consistent with the actual ones in the NearRT-RICS (and take action if not).
+The access to the NearRT-RIC may be tunneled through an A1 adapter in the CCSDK/SDNC controller.
+
+The A1 PMS provides support for fine granied access control, which is implemented by delegating the granting of access of A1 Policies to an external
+authorization provider.
+
+More details can be found in :ref:`developer_guide`.
 
 ***************
 Developer Guide
index 6901c02..f53b9f4 100644 (file)
@@ -69,5 +69,7 @@ def setup(app):
     app.add_css_file("css/ribbon.css")
 
 linkcheck_ignore = [
-  r'http://localhost:\d+/'
+  r'http://localhost:\d+/',
+  './a1-adapter-api.html', #Generated file that doesn't exist at link check.
+  './pms-api.html'  #Generated file that doesn't exist at link check.
 ]
index d3b1646..ea72633 100644 (file)
@@ -34,7 +34,7 @@ A1 Policy Management Service provides a REST API for management of policies. It
 
 The Policy Management Service can be accessed over the REST API. See :ref:`pms_api` for more information about the API.
 
-The configured A1 policies are stored persistently to survive a service restart.
+The configured A1 policies are stored persistently to survive a service restart. This information can be stored in a persistent volume or in an S3 Object Store bucket. 
 
 Dependencies
 ------------
@@ -47,7 +47,7 @@ dependency management tool (see *pom.xml* file at root level) :
 - `Springfox <https://github.com/springfox/springfox>`_ Automated JSON API documentation for APIs built with Spring
 - `Lombok <https://github.com/rzwitserloot/lombok>`_ to generate code, such as getters and setters
 - `Awaitility <https://github.com/awaitility/awaitility>`_ to test asynchronous functionality
-- `S3 <https://mvnrepository.com/artifact/software.amazon.awssdk/s3>`_ Access of Amazon S3 - Cloud Object Storage
+
 
 To get a complete list of all dependencies, use command "mvn dependency:tree".
 
index 0d549f5..3440cfc 100644 (file)
Binary files a/docs/media/ONAP-A1ControllerArchitecture.png and b/docs/media/ONAP-A1ControllerArchitecture.png differ
diff --git a/docs/media/ONAP-A1ControllerArchitecture.pptx b/docs/media/ONAP-A1ControllerArchitecture.pptx
new file mode 100644 (file)
index 0000000..2178bd1
Binary files /dev/null and b/docs/media/ONAP-A1ControllerArchitecture.pptx differ
index c8f97a8..8b29a31 100644 (file)
@@ -846,6 +846,17 @@ ul.nav-tabs {
   <script>
     // Script section to load models into a JS Var
     var defs = {}
+    defs["authorization_result"] = {
+  "required" : [ "result" ],
+  "type" : "object",
+  "properties" : {
+    "result" : {
+      "type" : "boolean",
+      "description" : "If true, the access is granted"
+    }
+  },
+  "description" : "Result of authorization"
+};
     defs["error_information"] = {
   "type" : "object",
   "properties" : {
@@ -862,6 +873,26 @@ ul.nav-tabs {
     }
   },
   "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
+};
+    defs["input"] = {
+  "required" : [ "access_type", "auth_token", "policy_type_id" ],
+  "type" : "object",
+  "properties" : {
+    "access_type" : {
+      "type" : "string",
+      "description" : "Access type",
+      "enum" : [ "READ", "WRITE", "DELETE" ]
+    },
+    "auth_token" : {
+      "type" : "string",
+      "description" : "Authorization token"
+    },
+    "policy_type_id" : {
+      "type" : "string",
+      "description" : "Policy type identifier"
+    }
+  },
+  "description" : "input"
 };
     defs["Link"] = {
   "type" : "object",
@@ -873,6 +904,16 @@ ul.nav-tabs {
       "type" : "string"
     }
   }
+};
+    defs["policy_authorization"] = {
+  "required" : [ "input" ],
+  "type" : "object",
+  "properties" : {
+    "input" : {
+      "$ref" : "#/components/schemas/input"
+    }
+  },
+  "description" : "Authorization request for A1 policy requests"
 };
     defs["policy_id_list_v2"] = {
   "type" : "object",
@@ -1185,6 +1226,10 @@ ul.nav-tabs {
                     <li data-group="Actuator" data-name="threaddump" class="">
                       <a href="#api-Actuator-threaddump">threaddump</a>
                     </li>
+                  <li class="nav-header" data-group="AuthorizationAPI"><a href="#api-AuthorizationAPI">API Methods - AuthorizationAPI</a></li>
+                    <li data-group="AuthorizationAPI" data-name="performAccessControl" class="">
+                      <a href="#api-AuthorizationAPI-performAccessControl">performAccessControl</a>
+                    </li>
                   <li class="nav-header" data-group="Callbacks"><a href="#api-Callbacks">API Methods - Callbacks</a></li>
                     <li data-group="Callbacks" data-name="serviceCallback" class="">
                       <a href="#api-Callbacks-serviceCallback">serviceCallback</a>
@@ -9221,6 +9266,368 @@ pub fn main() {
                       </div>
                       <hr>
                   </section>
+                <section id="api-AuthorizationAPI">
+                  <h1>AuthorizationAPI</h1>
+                    <div id="api-AuthorizationAPI-performAccessControl">
+                      <article id="api-AuthorizationAPI-performAccessControl-0" data-group="User" data-name="performAccessControl" data-version="0">
+                        <div class="pull-left">
+                          <h1>performAccessControl</h1>
+                          <p>Request for access authorization.</p>
+                        </div>
+                        <div class="pull-right"></div>
+                        <div class="clearfix"></div>
+                        <p></p>
+                        <p class="marked">The authorization function decides if access is granted.</p>
+                        <p></p>
+                        <br />
+                        <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/example-authz-check</span></code></pre>
+                        <p>
+                          <h3>Usage and SDK Samples</h3>
+                        </p>
+                        <ul class="nav nav-tabs nav-tabs-examples">
+                          <li class="active"><a href="#examples-AuthorizationAPI-performAccessControl-0-curl">Curl</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-java">Java</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-android">Android</a></li>
+                          <!--<li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-groovy">Groovy</a></li>-->
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-objc">Obj-C</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-javascript">JavaScript</a></li>
+                          <!--<li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-angular">Angular</a></li>-->
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-csharp">C#</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-php">PHP</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-perl">Perl</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-python">Python</a></li>
+                          <li class=""><a href="#examples-AuthorizationAPI-performAccessControl-0-rust">Rust</a></li>
+                        </ul>
+
+                        <div class="tab-content">
+                          <div class="tab-pane active" id="examples-AuthorizationAPI-performAccessControl-0-curl">
+                            <pre class="prettyprint"><code class="language-bsh">curl -X POST \
+ -H "Accept: application/json" \
+ -H "Content-Type: application/json" \
+ "http://localhost/example-authz-check" \
+ -d ''
+</code></pre>
+                          </div>
+                          <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-java">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.AuthorizationAPIApi;
+
+import java.io.File;
+import java.util.*;
+
+public class AuthorizationAPIApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        AuthorizationAPIApi apiInstance = new AuthorizationAPIApi();
+        PolicyAuthorization policyAuthorization = ; // PolicyAuthorization | 
+
+        try {
+            authorization_result result = apiInstance.performAccessControl(policyAuthorization);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling AuthorizationAPIApi#performAccessControl");
+            e.printStackTrace();
+        }
+    }
+}
+</code></pre>
+                          </div>
+
+                          <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-android">
+                            <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.AuthorizationAPIApi;
+
+public class AuthorizationAPIApiExample {
+    public static void main(String[] args) {
+        AuthorizationAPIApi apiInstance = new AuthorizationAPIApi();
+        PolicyAuthorization policyAuthorization = ; // PolicyAuthorization | 
+
+        try {
+            authorization_result result = apiInstance.performAccessControl(policyAuthorization);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling AuthorizationAPIApi#performAccessControl");
+            e.printStackTrace();
+        }
+    }
+}</code></pre>
+                          </div>
+  <!--
+  <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-groovy">
+  <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
+  </div> -->
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-objc">
+                              <pre class="prettyprint"><code class="language-cpp">
+
+// Create an instance of the API class
+AuthorizationAPIApi *apiInstance = [[AuthorizationAPIApi alloc] init];
+PolicyAuthorization *policyAuthorization = ; // 
+
+// Request for access authorization.
+[apiInstance performAccessControlWith:policyAuthorization
+              completionHandler: ^(authorization_result output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+</code></pre>
+                            </div>
+
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-javascript">
+                              <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service');
+
+// Create an instance of the API class
+var api = new A1PolicyManagementService.AuthorizationAPIApi()
+var policyAuthorization = ; // {PolicyAuthorization} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.performAccessControl(policyAuthorization, callback);
+</code></pre>
+                            </div>
+
+                            <!--<div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-angular">
+              <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre>
+            </div>-->
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-csharp">
+                              <pre class="prettyprint"><code class="language-cs">using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class performAccessControlExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new AuthorizationAPIApi();
+            var policyAuthorization = new PolicyAuthorization(); // PolicyAuthorization | 
+
+            try {
+                // Request for access authorization.
+                authorization_result result = apiInstance.performAccessControl(policyAuthorization);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling AuthorizationAPIApi.performAccessControl: " + e.Message );
+            }
+        }
+    }
+}
+</code></pre>
+                            </div>
+
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-php">
+                              <pre class="prettyprint"><code class="language-php"><&#63;php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\AuthorizationAPIApi();
+$policyAuthorization = ; // PolicyAuthorization | 
+
+try {
+    $result = $api_instance->performAccessControl($policyAuthorization);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling AuthorizationAPIApi->performAccessControl: ', $e->getMessage(), PHP_EOL;
+}
+?></code></pre>
+                            </div>
+
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-perl">
+                              <pre class="prettyprint"><code class="language-perl">use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::AuthorizationAPIApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::AuthorizationAPIApi->new();
+my $policyAuthorization = WWW::OPenAPIClient::Object::PolicyAuthorization->new(); # PolicyAuthorization | 
+
+eval {
+    my $result = $api_instance->performAccessControl(policyAuthorization => $policyAuthorization);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling AuthorizationAPIApi->performAccessControl: $@\n";
+}</code></pre>
+                            </div>
+
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-python">
+                              <pre class="prettyprint"><code class="language-python">from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.AuthorizationAPIApi()
+policyAuthorization =  # PolicyAuthorization | 
+
+try:
+    # Request for access authorization.
+    api_response = api_instance.perform_access_control(policyAuthorization)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling AuthorizationAPIApi->performAccessControl: %s\n" % e)</code></pre>
+                            </div>
+
+                            <div class="tab-pane" id="examples-AuthorizationAPI-performAccessControl-0-rust">
+                              <pre class="prettyprint"><code class="language-rust">extern crate AuthorizationAPIApi;
+
+pub fn main() {
+    let policyAuthorization = ; // PolicyAuthorization
+
+    let mut context = AuthorizationAPIApi::Context::default();
+    let result = client.performAccessControl(policyAuthorization, &context).wait();
+
+    println!("{:?}", result);
+}
+</code></pre>
+                            </div>
+                          </div>
+
+                          <h2>Scopes</h2>
+                          <table>
+                            
+                          </table>
+
+                          <h2>Parameters</h2>
+
+
+
+                            <div class="methodsubtabletitle">Body parameters</div>
+                            <table id="methodsubtable">
+                              <tr>
+                                <th width="150px">Name</th>
+                                <th>Description</th>
+                              </tr>
+                                <tr><td style="width:150px;">policyAuthorization <span style="color:red;">*</span></td>
+<td>
+<p class="marked"></p>
+<script>
+$(document).ready(function() {
+  var schemaWrapper = {
+  "content" : {
+    "application/json" : {
+      "schema" : {
+        "$ref" : "#/components/schemas/policy_authorization"
+      }
+    }
+  },
+  "required" : true
+};
+
+  var schema = findNode('schema',schemaWrapper).schema;
+  if (!schema) {
+    schema = schemaWrapper.schema;
+  }
+  if (schema.$ref != null) {
+    schema = defsParser.$refs.get(schema.$ref);
+  } else {
+    schemaWrapper.definitions = Object.assign({}, defs);
+    $RefParser.dereference(schemaWrapper).catch(function(err) {
+      console.log(err);
+    });
+  }
+
+  var view = new JSONSchemaView(schema,2,{isBodyParam: true});
+  var result = $('#d2e199_performAccessControl_policyAuthorization');
+  result.empty();
+  result.append(view.render());
+});
+</script>
+<div id="d2e199_performAccessControl_policyAuthorization"></div>
+</td>
+</tr>
+
+                            </table>
+
+
+
+                          <h2>Responses</h2>
+                            <h3 id="examples-AuthorizationAPI-performAccessControl-title-200"></h3>
+                            <p id="examples-AuthorizationAPI-performAccessControl-description-200" class="marked"></p>
+                            <script>
+                              var responseAuthorizationAPI200_description = `OK`;
+                              var responseAuthorizationAPI200_description_break = responseAuthorizationAPI200_description.indexOf('\n');
+                              if (responseAuthorizationAPI200_description_break == -1) {
+                                $("#examples-AuthorizationAPI-performAccessControl-title-200").text("Status: 200 - " + responseAuthorizationAPI200_description);
+                              } else {
+                                $("#examples-AuthorizationAPI-performAccessControl-title-200").text("Status: 200 - " + responseAuthorizationAPI200_description.substring(0, responseAuthorizationAPI200_description_break));
+                                $("#examples-AuthorizationAPI-performAccessControl-description-200").html(responseAuthorizationAPI200_description.substring(responseAuthorizationAPI200_description_break));
+                              }
+                            </script>
+
+
+                            <ul id="responses-detail-AuthorizationAPI-performAccessControl-200" class="nav nav-tabs nav-tabs-examples" >
+                                <li class="active">
+                                  <a data-toggle="tab" href="#responses-AuthorizationAPI-performAccessControl-200-schema">Schema</a>
+                                </li>
+
+
+
+
+                            </ul>
+
+
+                            <div class="tab-content" id="responses-AuthorizationAPI-performAccessControl-200-wrapper" style='margin-bottom: 10px;'>
+                                <div class="tab-pane active" id="responses-AuthorizationAPI-performAccessControl-200-schema">
+                                  <div id="responses-AuthorizationAPI-performAccessControl-schema-200" class="exampleStyle">
+                                    <script>
+                                      $(document).ready(function() {
+                                        var schemaWrapper = {
+  "description" : "OK",
+  "content" : {
+    "application/json" : {
+      "schema" : {
+        "$ref" : "#/components/schemas/authorization_result"
+      }
+    }
+  }
+};
+                                        var schema = findNode('schema',schemaWrapper).schema;
+                                        if (!schema) {
+                                          schema = schemaWrapper.schema;
+                                        }
+                                        if (schema.$ref != null) {
+                                          schema = defsParser.$refs.get(schema.$ref);
+                                        } else if (schema.items != null && schema.items.$ref != null) {
+                                            schema.items = defsParser.$refs.get(schema.items.$ref);
+                                        } else {
+                                          schemaWrapper.definitions = Object.assign({}, defs);
+                                          $RefParser.dereference(schemaWrapper).catch(function(err) {
+                                            console.log(err);
+                                          });
+                                        }
+
+                                        var view = new JSONSchemaView(schema, 3);
+                                        $('#responses-AuthorizationAPI-performAccessControl-200-schema-data').val(JSON.stringify(schema));
+                                        var result = $('#responses-AuthorizationAPI-performAccessControl-schema-200');
+                                        result.empty();
+                                        result.append(view.render());
+                                      });
+                                    </script>
+                                  </div>
+                                  <input id='responses-AuthorizationAPI-performAccessControl-200-schema-data' type='hidden' value=''></input>
+                                </div>
+                            </div>
+                        </article>
+                      </div>
+                      <hr>
+                  </section>
                 <section id="api-Callbacks">
                   <h1>Callbacks</h1>
                     <div id="api-Callbacks-serviceCallback">
index 9efa7b7..33fa5e1 100644 (file)
                 "description": "OK",
                 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
             }},
-            "tags": ["Callbacks"]
+            "tags": ["Service callbacks"]
         }},
         "/a1-policy/v2/services/{service_id}": {"delete": {
             "summary": "Unregister a service",
             "name": "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.",
             "url": "http://www.apache.org/licenses/LICENSE-2.0"
         },
-        "description": "<h2>General<\/h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:<\/p><ul><li>A1 Policy creation, modification and deletion.<\/li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs<\/li><li>Maintaining a view of supported Near-RT RIC policy types<\/li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.<\/li><\/ul><h2>APIs provided by the service<\/h2><h3>A1 Policy Management<\/h3><p>This is an API for management of A1 Policies.<\/p><ul><li>A1 Policy retrieval, creation, modification and deletion.<\/li><li>Retrieval of supported A1 Policy types for a Near-RT RIC<\/li><li>Retrieval of status for existing A1 policies<\/li><\/ul><h3>Management of configuration<\/h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.<\/p><h3>Callbacks<\/h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.<\/p><h3>NearRT-RIC Repository<\/h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.<\/p><h3>Health Check<\/h3><p>API used for supervision of the PMS component.<\/p><h3>Service Registry and Supervision<\/h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.<\/p><h3>Spring Boot Actuator<\/h3><p>Provides generic functions  used to monitor and manage the Spring web application.<\/p>",
+        "description": "<h2>General<\/h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:<\/p><ul><li>A1 Policy creation, modification and deletion.<\/li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs<\/li><li>Maintaining a view of supported Near-RT RIC policy types<\/li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.<\/li><\/ul><h2>APIs provided or defined by the service<\/h2><h3>A1 Policy Management<\/h3><p>This is an API for management of A1 Policies.<\/p><ul><li>A1 Policy retrieval, creation, modification and deletion.<\/li><li>Retrieval of supported A1 Policy types for a Near-RT RIC<\/li><li>Retrieval of status for existing A1 policies<\/li><\/ul><h3>Management of configuration<\/h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.<\/p><h3>Service callbacks<\/h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.<\/p><h3>NearRT-RIC Repository<\/h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.<\/p><h3>Health Check<\/h3><p>API used for supervision of the PMS component.<\/p><h3>Service Registry and Supervision<\/h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.<\/p><h3>Authorization API<\/h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.<\/p><h3>Spring Boot Actuator<\/h3><p>Provides generic functions  used to monitor and manage the Spring web application.<\/p>",
         "title": "A1 Policy Management Service",
-        "version": "1.1.0"
+        "version": "1.2.0"
     },
     "tags": [
         {
index 0cd28d0..a905c40 100644 (file)
@@ -31,6 +31,10 @@ info:
 servers:
 - url: /
 tags:
+- description: "API used for authorization of information A1 policy access (this is\
+    \ provided by an authorization producer such as OPA).\nNote that this API is called\
+    \ by PMS, it is not provided.\n"
+  name: Authorization API
 - description: Monitor and interact
   externalDocs:
     description: Spring Boot Actuator Web API Documentation
@@ -93,6 +97,26 @@ paths:
       summary: Query for A1 policy instances
       tags:
       - A1 Policy Management
+  /example-authz-check:
+    post:
+      description: The authorization function decides if access is granted.
+      operationId: performAccessControl
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/policy_authorization'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/authorization_result'
+          description: OK
+      summary: Request for access authorization.
+      tags:
+      - Authorization API
   /actuator/threaddump:
     get:
       operationId: threaddump
@@ -957,6 +981,17 @@ components:
           description: status text
           type: string
       type: object
+    authorization_result:
+      description: Result of authorization
+      example:
+        result: true
+      properties:
+        result:
+          description: "If true, the access is granted"
+          type: boolean
+      required:
+      - result
+      type: object
     ric_info_v2:
       description: Information for a Near-RT RIC
       example:
@@ -1113,6 +1148,35 @@ components:
             http://json-schema.org/draft-07/schema
           type: object
       type: object
+    input:
+      description: input
+      properties:
+        access_type:
+          description: Access type
+          enum:
+          - READ
+          - WRITE
+          - DELETE
+          type: string
+        auth_token:
+          description: Authorization token
+          type: string
+        policy_type_id:
+          description: Policy type identifier
+          type: string
+      required:
+      - access_type
+      - auth_token
+      - policy_type_id
+      type: object
+    policy_authorization:
+      description: Authorization request for A1 policy requests
+      properties:
+        input:
+          $ref: '#/components/schemas/input'
+      required:
+      - input
+      type: object
     policytype_id_list_v2:
       description: Information about policy types
       example:
index 2c805dc..3ba864a 100644 (file)
@@ -7,3 +7,4 @@ sphinxcontrib-spelling
 sphinxcontrib-plantuml
 sphinxcontrib-redoc
 sphinx-tabs
+
index 0b0d4e6..00ec327 100644 (file)
@@ -1,6 +1,8 @@
 [tox]
 minversion = 1.6
-envlist = docs,
+envlist =
+    docs,
+    docs-linkcheck,
 skipsdist = true
 
 [testenv:docs]
@@ -12,17 +14,17 @@ deps =
 commands =
     sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./ {toxinidir}/_build/html
     echo "Generated docs available in {toxinidir}/_build/html"
-whitelist_externals =
+allowlist_externals =
     echo
     git
     sh
 
 [testenv:docs-linkcheck]
 basepython = python3.8
-#deps = -r{toxinidir}/requirements-docs.txt
-commands = echo "Link Checking not enforced"
-#commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./ {toxinidir}/_build/linkcheck
-whitelist_externals = echo
+deps = -r{toxinidir}/requirements-docs.txt
+#commands = echo "Link Checking not enforced"
+commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./ {toxinidir}/_build/linkcheck
+allowlist_externals = echo
 
 [testenv:docs-spellcheck]
 basepython = python3.8