Added JSON log streaming capability 34/140534/2
authorsaul.gill <saul.gill@est.tech>
Thu, 20 Mar 2025 11:21:22 +0000 (11:21 +0000)
committersaul.gill <saul.gill@est.tech>
Thu, 20 Mar 2025 13:52:04 +0000 (13:52 +0000)
- Added improvements to Open API yaml
- Uplifted ccsdk parent references to 3.1.0

Issue-ID: CCSDK-4104
Change-Id: I082959c67e25c3516c68321bfaaa80313f332277
Signed-off-by: saul.gill <saul.gill@est.tech>
28 files changed:
a1-adapter/a1-adapter-api/feature/pom.xml
a1-adapter/a1-adapter-api/installer/pom.xml
a1-adapter/a1-adapter-api/model/pom.xml
a1-adapter/a1-adapter-api/pom.xml
a1-adapter/a1-adapter-api/provider/pom.xml
a1-adapter/features/a1-adapter-northbound/pom.xml
a1-adapter/features/installer/pom.xml
a1-adapter/features/pom.xml
a1-adapter/pom.xml
a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html
a1-policy-management/api/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html
a1-policy-management/api/offeredapis/swagger/custom/a1pms-api-custom-v3.json
a1-policy-management/api/offeredapis/swagger/pms-api-v3.json
a1-policy-management/api/offeredapis/swagger/pms-api-v3.yaml
a1-policy-management/api/offeredapis/swagger/pms-api.json
a1-policy-management/pom.xml
a1-policy-management/src/main/resources/logback-json.xml [new file with mode: 0644]
a1-policy-management/src/main/resources/logback-plain.xml
a1-policy-management/src/main/resources/logback-stream.xml [new file with mode: 0644]
docs/offeredapis/application_configuration_schema.json [new file with mode: 0644]
docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/custom/index.html
docs/offeredapis/openapitoolgen/offeredapis/pms-api/v3/index.html
docs/offeredapis/swagger/custom/a1pms-api-custom-v3.json
docs/offeredapis/swagger/pms-api-v3.json
docs/offeredapis/swagger/pms-api-v3.yaml
docs/offeredapis/swagger/pms-api.json
docs/offeredapis/swagger/pms-api.yaml
pom.xml

index 9673de8..c49efa9 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 6a79cf9..25a2e48 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 6d8930f..cd1c272 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>binding-parent</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index fc5989f..98d5497 100644 (file)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 360c75c..47ef37b 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>binding-parent</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 02e506a..d190c90 100644 (file)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index c1ab0d4..5ae2c0e 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index d3ab5cb..689a17f 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 2f354aa..e074de9 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
 
index 31499b8..61b74d1 100644 (file)
@@ -1212,7 +1212,7 @@ ul.nav-tabs {
               <div class="app-desc">Version: 1.0.0</div>
             <hr>
             <div id="app-description" class="app-desc">
-                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>
+                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>
 
             </div>
           </div>
index 4327613..cfc8c65 100644 (file)
@@ -1243,7 +1243,7 @@ ul.nav-tabs {
               <div class="app-desc">Version: 1.0.0</div>
             <hr>
             <div id="app-description" class="app-desc">
-                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>
+                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>
 
             </div>
           </div>
@@ -14308,7 +14308,7 @@ The identity of the registered service
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked">A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)</p>
+                        <p class="marked">A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.</p>
                         <p></p>
                         <br />
                         <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/services/{serviceId}/keepalive</span></code></pre>
index 07f2ac4..7b22198 100644 (file)
@@ -5,7 +5,7 @@
       "email" : "discuss-list@onap.com",
       "url" : "https://www.onap.org/"
     },
-    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>",
+    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>",
     "license" : {
       "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.",
       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
@@ -35,7 +35,7 @@
     "description" : "API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service.\n",
     },
     "/services/{serviceId}/keepalive" : {
       "put" : {
-        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)",
+        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.",
         "operationId" : "keepAliveService",
         "parameters" : [ {
           "explode" : false,
       },
       "StatusInfo" : {
         "value" : {
-          "status" : "status"
+          "status" : "success"
         }
       },
       "RicInfo" : {
         "value" : {
           "ricId" : "ricId1",
-          "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+          "managedElementIds" : [ "Note #1", "Athlone small cells", "Some optional string" ],
           "state" : "UNAVAILABLE",
           "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
         }
         "value" : {
           "rics" : [ {
             "ricId" : "ricId1",
-            "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+            "managedElementIds" : [ "Note #1", "Athlone small cells", "Fake Cells" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
           }, {
             "ricId" : "ricId2",
-            "managedElementIds" : [ "managedElementId3", "managedElementId4" ],
+            "managedElementIds" : [ "My test element", "Another test element" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ]
           } ]
index 07f2ac4..7b22198 100644 (file)
@@ -5,7 +5,7 @@
       "email" : "discuss-list@onap.com",
       "url" : "https://www.onap.org/"
     },
-    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>",
+    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>",
     "license" : {
       "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.",
       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
@@ -35,7 +35,7 @@
     "description" : "API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service.\n",
     },
     "/services/{serviceId}/keepalive" : {
       "put" : {
-        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)",
+        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.",
         "operationId" : "keepAliveService",
         "parameters" : [ {
           "explode" : false,
       },
       "StatusInfo" : {
         "value" : {
-          "status" : "status"
+          "status" : "success"
         }
       },
       "RicInfo" : {
         "value" : {
           "ricId" : "ricId1",
-          "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+          "managedElementIds" : [ "Note #1", "Athlone small cells", "Some optional string" ],
           "state" : "UNAVAILABLE",
           "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
         }
         "value" : {
           "rics" : [ {
             "ricId" : "ricId1",
-            "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+            "managedElementIds" : [ "Note #1", "Athlone small cells", "Fake Cells" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
           }, {
             "ricId" : "ricId2",
-            "managedElementIds" : [ "managedElementId3", "managedElementId4" ],
+            "managedElementIds" : [ "My test element", "Another test element" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ]
           } ]
index 5ee5cb9..0865ff2 100644 (file)
@@ -45,10 +45,10 @@ info:
     \ is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
     \ of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3>\
     \ <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner.\
-    \ If the owner service is registered, then the service can be monitored by a heart-beat supervision\
-    \ mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note \
-    \ that services do not need to be registered to create A1 Policies, but unregistered services are not \
-    \ supervised. This is a feature that is optional to use.</p>"
+    \ If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision\
+    \ mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are \
+    \ deleted. Note that services do not need to be registered to create A1 Policies, but unregistered \ 
+    \ services are not supervised. This is a feature that is optional to use.</p>"
   license:
     name: Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.
     url: http://www.apache.org/licenses/LICENSE-2.0
@@ -678,8 +678,10 @@ paths:
       description: A registered service should invoke this operation regularly to
         indicate that it is still alive. If a registered service fails to invoke some operation, 
         or this operation, before the end of a timeout period the service will be deregistered
-        and all its A1 policies wil be removed. This operation is only intended for registered 
-        services. (This timeout can be set or disabled when each service is initially registered)
+        and all its A1 policies wil be removed and the service is deleted. 
+        This operation is only intended for registered services. (This timeout can be set or disabled when 
+        each service is initially registered). Unregistered services do not need to invoke this operation, 
+        since the optional keep-alive monitoring feature can only be enabled for registered services.
       summary: Heartbeat message from a service (keepAliveService)
       tags:
         - Service Registry and Supervision
@@ -869,8 +871,9 @@ components:
       value:
         ricId: ricId1
         managedElementIds:
-          - managedElementId1
-          - managedElementId2
+          - "Note #1"
+          - "Athlone small cells"
+          - "Some optional string"
         state: UNAVAILABLE
         policyTypeIds:
           - policyTypeId1
@@ -880,16 +883,17 @@ components:
         rics:
           - ricId: ricId1
             managedElementIds:
-              - managedElementId1
-              - managedElementId2
+              - "Note #1"
+              - "Athlone small cells"
+              - "Fake Cells"
             state: UNAVAILABLE
             policyTypeIds:
               - policyTypeId1
               - policyTypeId2
           - ricId: ricId2
             managedElementIds:
-              - managedElementId3
-              - managedElementId4
+              - "My test element"
+              - "Another test element"
             state: UNAVAILABLE
             policyTypeIds:
               - policyTypeId3
index 8434ba9..26fc122 100644 (file)
@@ -26,7 +26,7 @@
     "description" : "Older API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "Older API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "Older API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service\n",
index 2214291..93c3237 100644 (file)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>spring-boot-34-starter-parent</artifactId>
-        <version>3.1.0-SNAPSHOT</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>
     <groupId>org.onap.ccsdk.oran</groupId>
@@ -63,6 +63,7 @@
         <opentelemetry-bom.version>1.41.0</opentelemetry-bom.version>
         <opentelemetry-instrumentation-bom-alpha.version>2.7.0-alpha</opentelemetry-instrumentation-bom-alpha.version>
         <allowskiptests>false</allowskiptests>
+        <version.logback>8.0</version.logback>
     </properties>
     <repositories>
         <repository>
             <artifactId>spring-boot-actuator-autoconfigure</artifactId>
             <version>${spring.boot.version}</version>
         </dependency>
+        <dependency>
+            <groupId>net.logstash.logback</groupId>
+            <artifactId>logstash-logback-encoder</artifactId>
+            <version>${version.logback}</version>
+        </dependency>
     </dependencies>
     <dependencyManagement>
         <dependencies>
diff --git a/a1-policy-management/src/main/resources/logback-json.xml b/a1-policy-management/src/main/resources/logback-json.xml
new file mode 100644 (file)
index 0000000..3c22aea
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+  Copyright (C) 2025 OpenInfra Foundation Europe
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+ -->
+<configuration>
+    <appender name="json" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+            <providers>
+                <version>
+                    <fieldName>version</fieldName>
+                    <version>1.2.0</version>
+                </version>
+                <timestamp>
+                    <fieldName>timestamp</fieldName>
+                    <pattern>yyyy-MM-dd'T'HH:mm:ss.SSSZ</pattern>
+                </timestamp>
+                <pattern>
+                    <omitEmptyFields>true</omitEmptyFields>
+                    <pattern>
+                        {
+                        "service_id": "${SERVICE_ID:-a1pms}",
+                        "message": "%msg",
+                        "facility": "%X{facility}",
+                        "subject": "%X{subject}",
+                            "extra_data": {
+                                "logger": "%logger",
+                                "thread_info": {
+                                    "thread_name": "%thread"
+                                },
+                                "dst": {
+                                    "trace_id": "%mdc{traceId}"
+                                },
+                                "exception": {
+                                    "stack_trace": "%xEx"
+                                }
+                            },
+                            "metadata": {
+                                "application_id": "${APP_ID:-a1pms}"
+                            }
+                        }
+                    </pattern>
+                </pattern>
+            </providers>
+
+        </encoder>
+    </appender>
+
+    <root level="${ROOT_LOG_LEVEL:-INFO}">
+        <appender-ref ref="json"/>
+    </root>
+
+    <logger name="/" level="${ROOT_LOG_LEVEL:-INFO}"/>
+</configuration>
+
index 0340cce..014a983 100644 (file)
   ~
 -->
 <configuration>
-
-    <!-- Define a plain text console appender -->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{55} - <!--
-                -->%replace(%X{facility}){'^(.+)$','facility=$1 | '} <!--
-                -->%replace(%X{subject}){'^(.+)$','subject=$1 | ' } <!--
-                -->%msg%n</pattern>
+            <pattern>
+                %d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread] %-5level %logger - %msg [facility=%X{facility}, subject=%X{subject}, traceId=%mdc{traceId}] %n%xEx
+            </pattern>
         </encoder>
     </appender>
 
-
-
-    <!-- Configure root logger to use the plain text console appender for all log levels -->
-    <root level="INFO">
+    <root level="${ROOT_LOG_LEVEL:-INFO}">
         <appender-ref ref="console"/>
     </root>
 
+    <logger name="/" level="${ROOT_LOG_LEVEL:-INFO}"/>
 </configuration>
\ No newline at end of file
diff --git a/a1-policy-management/src/main/resources/logback-stream.xml b/a1-policy-management/src/main/resources/logback-stream.xml
new file mode 100644 (file)
index 0000000..9cfb863
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+  Copyright (C) 2025 OpenInfra Foundation Europe
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+ -->
+<configuration>
+    <appender name="json" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
+        <destination>localhost:5044</destination>
+        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+            <providers>
+                <version>
+                    <fieldName>version</fieldName>
+                    <version>1.2.0</version>
+                </version>
+                <timestamp>
+                    <fieldName>timestamp</fieldName>
+                    <pattern>yyyy-MM-dd'T'HH:mm:ss.SSSZ</pattern>
+                </timestamp>
+                <pattern>
+                    <omitEmptyFields>true</omitEmptyFields>
+                    <pattern>
+                        {
+                        "service_id": "${SERVICE_ID:-a1pms}",
+                        "message": "%msg",
+                        "facility": "%X{facility}",
+                        "subject": "%X{subject}",
+                            "extra_data": {
+                                "logger": "%logger",
+                                "thread_info": {
+                                    "thread_name": "%thread"
+                                },
+                                "dst": {
+                                    "trace_id": "%mdc{traceId}"
+                                },
+                                "exception": {
+                                    "stack_trace": "%xEx"
+                                }
+                            },
+                            "metadata": {
+                                "application_id": "${APP_ID:-a1pms}"
+                            }
+                        }
+                    </pattern>
+                </pattern>
+            </providers>
+
+        </encoder>
+    </appender>
+
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>
+                %d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread] %-5level %logger - %msg [facility=%X{facility}, subject=%X{subject}, traceId=%mdc{traceId}] %n%xEx
+            </pattern>
+        </encoder>
+    </appender>
+
+    <root level="${ROOT_LOG_LEVEL:-INFO}">
+        <appender-ref ref="json"/>
+        <appender-ref ref="console"/>
+    </root>
+
+    <logger name="/" level="${ROOT_LOG_LEVEL:-INFO}"/>
+</configuration>
+
diff --git a/docs/offeredapis/application_configuration_schema.json b/docs/offeredapis/application_configuration_schema.json
new file mode 100644 (file)
index 0000000..3186dae
--- /dev/null
@@ -0,0 +1,91 @@
+{
+  "$schema": "http://json-schema.org/draft-04/schema#",
+  "type": "object",
+  "properties": {
+    "config": {
+      "type": "object",
+      "properties": {
+        "//description": {
+          "type": "string"
+        },
+        "description": {
+          "type": "string"
+        },
+        "controller": {
+          "type": "array",
+          "items": [
+            {
+              "type": "object",
+              "properties": {
+                "name": {
+                  "type": "string"
+                },
+                "baseUrl": {
+                  "type": "string"
+                },
+                "userName": {
+                  "type": "string"
+                },
+                "password": {
+                  "type": "string"
+                }
+              },
+              "required": [
+                "name",
+                "baseUrl",
+                "userName",
+                "password"
+              ],
+              "additionalProperties": false
+            }
+          ]
+        },
+        "ric": {
+          "type": "array",
+          "items": [
+            {
+              "type": "object",
+              "properties": {
+                "name": {
+                  "type": "string"
+                },
+                "baseUrl": {
+                  "type": "string"
+                },
+                "controller": {
+                  "type": "string"
+                },
+                "customAdapterClass": {
+                  "type": "string"
+                },
+                "managedElementIds": {
+                  "type": "array",
+                  "items": [
+                    {
+                      "type": "string"
+                    },
+                    {
+                      "type": "string"
+                    }
+                  ]
+                }
+              },
+              "required": [
+                "name",
+                "baseUrl"
+              ],
+              "additionalProperties": false
+            }
+          ]
+        }
+      },
+      "required": [
+        "ric"
+      ],
+      "additionalProperties": true
+    }
+  },
+  "required": [
+    "config"
+  ]
+}
index 31499b8..61b74d1 100644 (file)
@@ -1212,7 +1212,7 @@ ul.nav-tabs {
               <div class="app-desc">Version: 1.0.0</div>
             <hr>
             <div id="app-description" class="app-desc">
-                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>
+                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>
 
             </div>
           </div>
index 4327613..cfc8c65 100644 (file)
@@ -1243,7 +1243,7 @@ ul.nav-tabs {
               <div class="app-desc">Version: 1.0.0</div>
             <hr>
             <div id="app-description" class="app-desc">
-                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>
+                <h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>
 
             </div>
           </div>
@@ -14308,7 +14308,7 @@ The identity of the registered service
                         <div class="pull-right"></div>
                         <div class="clearfix"></div>
                         <p></p>
-                        <p class="marked">A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)</p>
+                        <p class="marked">A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.</p>
                         <p></p>
                         <br />
                         <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/services/{serviceId}/keepalive</span></code></pre>
index 07f2ac4..7b22198 100644 (file)
@@ -5,7 +5,7 @@
       "email" : "discuss-list@onap.com",
       "url" : "https://www.onap.org/"
     },
-    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>",
+    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>",
     "license" : {
       "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.",
       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
@@ -35,7 +35,7 @@
     "description" : "API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service.\n",
     },
     "/services/{serviceId}/keepalive" : {
       "put" : {
-        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)",
+        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.",
         "operationId" : "keepAliveService",
         "parameters" : [ {
           "explode" : false,
       },
       "StatusInfo" : {
         "value" : {
-          "status" : "status"
+          "status" : "success"
         }
       },
       "RicInfo" : {
         "value" : {
           "ricId" : "ricId1",
-          "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+          "managedElementIds" : [ "Note #1", "Athlone small cells", "Some optional string" ],
           "state" : "UNAVAILABLE",
           "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
         }
         "value" : {
           "rics" : [ {
             "ricId" : "ricId1",
-            "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+            "managedElementIds" : [ "Note #1", "Athlone small cells", "Fake Cells" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
           }, {
             "ricId" : "ricId2",
-            "managedElementIds" : [ "managedElementId3", "managedElementId4" ],
+            "managedElementIds" : [ "My test element", "Another test element" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ]
           } ]
index 07f2ac4..7b22198 100644 (file)
@@ -5,7 +5,7 @@
       "email" : "discuss-list@onap.com",
       "url" : "https://www.onap.org/"
     },
-    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note  that services do not need to be registered to create A1 Policies, but unregistered services are not  supervised. This is a feature that is optional to use.</p>",
+    "description" : "<h2>General</h2><p>The ONAP CCSDK A1 Policy Management Service provides a REST API for managing A1 policies. <br/>This document describes the latest API set  to perform tasks for: </p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs</li><li>Maintaining a view of each Near-RT RIC's supported A1 Policy Types</li><li>Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2> <p>Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered '© O-RAN ALLIANCE - All rights reserved.'</p> <h3>A1 Policy Management</h3> <p>This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy Types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service Callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository  (Older version)</h3> <p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3> <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are  deleted. Note that services do not need to be registered to create A1 Policies, but unregistered    services are not supervised. This is a feature that is optional to use.</p>",
     "license" : {
       "name" : "Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.",
       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
@@ -35,7 +35,7 @@
     "description" : "API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service.\n",
     },
     "/services/{serviceId}/keepalive" : {
       "put" : {
-        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)",
+        "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed and the service is deleted. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered). Unregistered services do not need to invoke this operation, since the optional keep-alive monitoring feature can only be enabled for registered services.",
         "operationId" : "keepAliveService",
         "parameters" : [ {
           "explode" : false,
       },
       "StatusInfo" : {
         "value" : {
-          "status" : "status"
+          "status" : "success"
         }
       },
       "RicInfo" : {
         "value" : {
           "ricId" : "ricId1",
-          "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+          "managedElementIds" : [ "Note #1", "Athlone small cells", "Some optional string" ],
           "state" : "UNAVAILABLE",
           "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
         }
         "value" : {
           "rics" : [ {
             "ricId" : "ricId1",
-            "managedElementIds" : [ "managedElementId1", "managedElementId2" ],
+            "managedElementIds" : [ "Note #1", "Athlone small cells", "Fake Cells" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId1", "policyTypeId2" ]
           }, {
             "ricId" : "ricId2",
-            "managedElementIds" : [ "managedElementId3", "managedElementId4" ],
+            "managedElementIds" : [ "My test element", "Another test element" ],
             "state" : "UNAVAILABLE",
             "policyTypeIds" : [ "policyTypeId3", "policyTypeId4" ]
           } ]
index 9570cd4..0865ff2 100644 (file)
@@ -45,10 +45,10 @@ info:
     \ is targeted towards one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision\
     \ of the A1 Policy Management Service.</p><h3>Service Registry and Supervision</h3>\
     \ <p>API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner.\
-    \ If the owner service is registered, then the service can be monitored by a heart-beat supervision\
-    \ mechanism, and if the registered service becomes unavailable, then its A1 Policies are removed. Note \
-    \ that services do not need to be registered to create A1 Policies, but unregistered services are not \
-    \ supervised. This is a feature that is optional to use.</p>"
+    \ If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision\
+    \ mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are \
+    \ deleted. Note that services do not need to be registered to create A1 Policies, but unregistered \ 
+    \ services are not supervised. This is a feature that is optional to use.</p>"
   license:
     name: Copyright (C) 2024 - 2025 OpenInfra Foundation Europe. Licensed under the Apache 2 License.
     url: http://www.apache.org/licenses/LICENSE-2.0
@@ -74,7 +74,7 @@ tags:
       API used to get information about registered Near-RT RICs.
   - name: Service Registry and Supervision
     description: > 
-      API used to manage registered service, and control their keep-alive status via heart-beat messages.
+      API used to manage registered services, and control their keep-alive status via heart-beat messages.
   - name: Health Check
     description: > 
       API used to get the health status and statistics of this service.
@@ -678,8 +678,10 @@ paths:
       description: A registered service should invoke this operation regularly to
         indicate that it is still alive. If a registered service fails to invoke some operation, 
         or this operation, before the end of a timeout period the service will be deregistered
-        and all its A1 policies wil be removed. This operation is only intended for registered 
-        services. (This timeout can be set or disabled when each service is initially registered)
+        and all its A1 policies wil be removed and the service is deleted. 
+        This operation is only intended for registered services. (This timeout can be set or disabled when 
+        each service is initially registered). Unregistered services do not need to invoke this operation, 
+        since the optional keep-alive monitoring feature can only be enabled for registered services.
       summary: Heartbeat message from a service (keepAliveService)
       tags:
         - Service Registry and Supervision
@@ -864,13 +866,14 @@ components:
             timeSinceLastActivitySeconds: 401
     StatusInfo:
       value:
-        status: status
+        status: success
     RicInfo:
       value:
         ricId: ricId1
         managedElementIds:
-          - managedElementId1
-          - managedElementId2
+          - "Note #1"
+          - "Athlone small cells"
+          - "Some optional string"
         state: UNAVAILABLE
         policyTypeIds:
           - policyTypeId1
@@ -880,16 +883,17 @@ components:
         rics:
           - ricId: ricId1
             managedElementIds:
-              - managedElementId1
-              - managedElementId2
+              - "Note #1"
+              - "Athlone small cells"
+              - "Fake Cells"
             state: UNAVAILABLE
             policyTypeIds:
               - policyTypeId1
               - policyTypeId2
           - ricId: ricId2
             managedElementIds:
-              - managedElementId3
-              - managedElementId4
+              - "My test element"
+              - "Another test element"
             state: UNAVAILABLE
             policyTypeIds:
               - policyTypeId3
index 8434ba9..26fc122 100644 (file)
@@ -26,7 +26,7 @@
     "description" : "Older API used to get information about registered Near-RT RICs.\n",
     "name" : "NearRT-RIC Repository"
   }, {
-    "description" : "Older API used to manage registered service, and control their keep-alive status via heart-beat messages.\n",
+    "description" : "Older API used to manage registered services, and control their keep-alive status via heart-beat messages.\n",
     "name" : "Service Registry and Supervision"
   }, {
     "description" : "API used to get the health status and statistics of this service\n",
index c8c1b08..ea6d5d1 100644 (file)
@@ -69,7 +69,7 @@ tags:
       Older API used to get information about registered Near-RT RICs.
   - name: Service Registry and Supervision
     description: > 
-      Older API used to manage registered service, and control their keep-alive status via heart-beat messages.
+      Older API used to manage registered services, and control their keep-alive status via heart-beat messages.
   - name: Health Check
     description: > 
       API used to get the health status and statistics of this service
diff --git a/pom.xml b/pom.xml
index 367330f..96c1955 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
         <relativePath/>
     </parent>