PMS API Documentation updates 95/116995/2
authorPatrikBuhr <patrik.buhr@est.tech>
Wed, 20 Jan 2021 11:21:52 +0000 (12:21 +0100)
committerPatrikBuhr <patrik.buhr@est.tech>
Thu, 21 Jan 2021 09:44:37 +0000 (10:44 +0100)
Change-Id: I2a02145c48fd4b022b2e17b157760bd7ddb8128f
Issue-ID: CCSDK-3077
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
a1-policy-management/api/pms-api.json
a1-policy-management/api/pms-api.yaml
a1-policy-management/pom.xml
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v1/Consts.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/v2/ApplicationTest.java
docs/offeredapis/swagger/pms-api.json [changed from symlink to file mode: 0644]
docs/offeredapis/swagger/pms-api.yaml [changed from symlink to file mode: 0644]

index d182389..fe4554b 100644 (file)
@@ -5,7 +5,7 @@
             "summary": "Query policy type names",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyTypesUsingGET",
+            "operationId": "getPolicyTypesUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {
@@ -29,7 +29,7 @@
                 "type": "string",
                 "required": false
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/a1-policy/v2/policy-instances": {"get": {
             "summary": "Query for A1 policy instances",
@@ -75,7 +75,7 @@
                     "required": false
                 }
             ],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/a1-policy/v2/status": {"get": {
             "summary": "Returns status and statistics of this service",
                 "403": {"description": "Forbidden"},
                 "404": {"description": "Not Found"}
             },
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/services": {
             "get": {
                 "summary": "Returns service information",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "getServicesUsingGET",
+                "operationId": "getServicesUsingGET_1",
                 "responses": {
                     "200": {
                         "schema": {
                     "type": "string",
                     "required": false
                 }],
-                "tags": ["A1 Policy Management Version 1.0"]
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
             },
             "delete": {
                 "summary": "Delete a service",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "deleteServiceUsingDELETE",
+                "operationId": "deleteServiceUsingDELETE_1",
                 "responses": {
                     "200": {
                         "schema": {"type": "string"},
                     "type": "string",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 1.0"]
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
             }
         },
         "/a1-policy/v2/rics/ric": {"get": {
             "deprecated": false,
             "produces": ["application/json"],
             "description": "Either a Near-RT RIC identity or a Mananged Element identity can be specified.<br>The intention with Mananged Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
-            "operationId": "getRicUsingGET",
+            "operationId": "getRicUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/ric_info_v2"},
                     "required": false
                 }
             ],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/a1-policy/v2/policies/{policy_id}": {
             "get": {
                 "summary": "Returns a policy",
                 "deprecated": false,
                 "produces": ["application/json"],
-                "operationId": "getPolicyUsingGET_1",
+                "operationId": "getPolicyUsingGET",
                 "responses": {
                     "200": {
                         "schema": {"$ref": "#/definitions/policy_info_v2"},
                     "type": "string",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+                "tags": ["A1 Policy Management Version 2.0"]
             },
             "delete": {
                 "summary": "Delete a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "deletePolicyUsingDELETE_1",
+                "operationId": "deletePolicyUsingDELETE",
                 "responses": {
                     "200": {"description": "Not used"},
                     "401": {"description": "Unauthorized"},
                     "type": "string",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+                "tags": ["A1 Policy Management Version 2.0"]
             }
         },
         "/a1-policy/v2/policy-types": {"get": {
             "summary": "Query policy type identities",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getPolicyTypesUsingGET_1",
+            "operationId": "getPolicyTypesUsingGET",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policytype_id_list_v2"},
                 "type": "string",
                 "required": false
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/a1-policy/v2/configuration": {
             "get": {
                 "summary": "Returns a policy configuration",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "getPolicyUsingGET",
+                "operationId": "getPolicyUsingGET_1",
                 "responses": {
                     "200": {
                         "schema": {"type": "object"},
                     "type": "string",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 1.0"]
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
             },
             "delete": {
                 "summary": "Delete a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "deletePolicyUsingDELETE",
+                "operationId": "deletePolicyUsingDELETE_1",
                 "responses": {
                     "200": {"description": "Not used"},
                     "401": {"description": "Unauthorized"},
                     "type": "string",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 1.0"]
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
             },
             "put": {
                 "summary": "Put a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "putPolicyUsingPUT",
+                "operationId": "putPolicyUsingPUT_1",
                 "responses": {
                     "200": {"description": "Policy updated"},
                     "201": {"description": "Policy created"},
                         "required": false
                     }
                 ],
-                "tags": ["A1 Policy Management Version 1.0"],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
                 "consumes": ["application/json"]
             }
         },
                     "required": false
                 }
             ],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/a1-policy/v2/services/{service_id}/keepalive": {"put": {
             "summary": "Heartbeat indicates that the service is running",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "keepAliveServiceUsingPUT_1",
+            "operationId": "keepAliveServiceUsingPUT",
             "responses": {
                 "200": {
                     "schema": {"type": "object"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+            "tags": ["A1 Policy Management Version 2.0"],
             "consumes": ["application/json"]
         }},
         "/policy_schema": {"get": {
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/rics": {"get": {
             "summary": "Query Near-RT RIC information",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getRicsUsingGET_1",
+            "operationId": "getRicsUsingGET",
             "responses": {
                 "200": {
                     "schema": {
                 "type": "string",
                 "required": false
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/policy_status": {"get": {
             "summary": "Returns a policy status",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyStatusUsingGET",
+            "operationId": "getPolicyStatusUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"type": "object"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/a1-policy/v2/rics": {"get": {
             "summary": "Query Near-RT RIC information",
             "deprecated": false,
             "produces": ["application/json"],
             "description": "The call returns all Near-RT RICs that supports a given policy type identity",
-            "operationId": "getRicsUsingGET",
+            "operationId": "getRicsUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/ric_info_list_v2"},
                 "type": "string",
                 "required": false
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/policy_ids": {"get": {
             "summary": "Query policies, only policy identities returned",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyIdsUsingGET",
+            "operationId": "getPolicyIdsUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {
                     "required": false
                 }
             ],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/policy_schemas": {"get": {
             "summary": "Returns policy type schema definitions",
                 "type": "string",
                 "required": false
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/a1-policy/v2/services": {
             "get": {
                 "deprecated": false,
                 "produces": ["application/json"],
                 "description": "Either information about a registered service with given identity or all registered services are returned.",
-                "operationId": "getServicesUsingGET_1",
+                "operationId": "getServicesUsingGET",
                 "responses": {
                     "200": {
                         "schema": {"$ref": "#/definitions/service_list_v2"},
                     "type": "string",
                     "required": false
                 }],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+                "tags": ["A1 Policy Management Version 2.0"]
             },
             "put": {
                 "summary": "Register a service",
                 "deprecated": false,
                 "produces": ["*/*"],
                 "description": "Registering a service is needed to:<ul><li>Get callbacks.<\/li><li>Activate supervision of the service. If a service is inactive, its policies will be deleted.<\/li><\/ul>",
-                "operationId": "putServiceUsingPUT_1",
+                "operationId": "putServiceUsingPUT",
                 "responses": {
                     "200": {
                         "schema": {"type": "object"},
                     "description": "registrationInfo",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+                "tags": ["A1 Policy Management Version 2.0"],
                 "consumes": ["application/json"]
             }
         },
             "summary": "Returns the name of a RIC managing one Mananged Element",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getRicUsingGET_1",
+            "operationId": "getRicUsingGET",
             "responses": {
                 "200": {
                     "schema": {"type": "string"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/services/keepalive": {"put": {
             "summary": "Heartbeat from a service",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "keepAliveServiceUsingPUT",
+            "operationId": "keepAliveServiceUsingPUT_1",
             "responses": {
                 "200": {
                     "schema": {"type": "string"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 1.0"],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
             "consumes": ["application/json"]
         }},
         "/a1-policy/v2/policy-types/{policytype_id}": {"get": {
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/status": {"get": {
             "summary": "Returns status and statistics of this service",
                 "403": {"description": "Forbidden"},
                 "404": {"description": "Not Found"}
             },
-            "tags": ["A1 Policy Management Version 1.0"]
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
         }},
         "/a1-policy/v2/policies": {
             "get": {
                 "deprecated": false,
                 "produces": ["application/json"],
                 "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
-                "operationId": "getPolicyIdsUsingGET_1",
+                "operationId": "getPolicyIdsUsingGET",
                 "responses": {
                     "200": {
                         "schema": {"$ref": "#/definitions/policy_id_list_v2"},
                         "required": false
                     }
                 ],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+                "tags": ["A1 Policy Management Version 2.0"]
             },
             "put": {
                 "summary": "Create or update a policy",
                 "deprecated": false,
                 "produces": ["application/json"],
-                "operationId": "putPolicyUsingPUT_1",
+                "operationId": "putPolicyUsingPUT",
                 "responses": {
                     "200": {"description": "Policy updated"},
                     "201": {"description": "Policy created"},
                     "description": "policyInfo",
                     "required": true
                 }],
-                "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+                "tags": ["A1 Policy Management Version 2.0"],
                 "consumes": ["application/json"]
             }
         },
             "summary": "Unregister a service",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "deleteServiceUsingDELETE_1",
+            "operationId": "deleteServiceUsingDELETE",
             "responses": {
                 "200": {"description": "Not used"},
                 "401": {"description": "Unauthorized"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }},
         "/service": {"put": {
             "summary": "Register a service",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "putServiceUsingPUT",
+            "operationId": "putServiceUsingPUT_1",
             "responses": {
                 "200": {
                     "schema": {"type": "string"},
                 "description": "registrationInfo",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 1.0"],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
             "consumes": ["application/json"]
         }},
         "/a1-policy/v2/policies/{policy_id}/status": {"get": {
             "summary": "Returns a policy status",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getPolicyStatusUsingGET_1",
+            "operationId": "getPolicyStatusUsingGET",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policy_status_info_v2"},
                 "type": "string",
                 "required": true
             }],
-            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            "tags": ["A1 Policy Management Version 2.0"]
         }}
     },
     "definitions": {
                 }
             }
         },
-        "void": {
-            "description": "Void/empty",
-            "type": "object",
-            "title": "void"
-        },
         "status_info_v2": {
             "type": "object",
             "title": "status_info_v2",
                 }
             }
         },
-        "Mono«ResponseEntity«object»»": {
-            "type": "object",
-            "title": "Mono«ResponseEntity«object»»"
-        },
         "ric_info_v2": {
             "description": "Information for a Near-RT RIC",
             "type": "object",
                     "enum": ["AVAILABLE"]
                 }
             }
-        },
-        "Mono«ResponseEntity«string»»": {
-            "type": "object",
-            "title": "Mono«ResponseEntity«string»»"
         }
     },
     "swagger": "2.0",
     },
     "tags": [
         {
-            "name": "A1 Policy Management Version 1.0",
+            "name": "A1 Policy Management Version 1.0 (deprecated)",
             "description": "Policy Controller"
         },
         {
-            "name": "A1 Policy Management Version 2.0 (in progress)",
+            "name": "A1 Policy Management Version 2.0",
             "description": "Policy Controller"
         },
         {
index 11aad23..eff705d 100644 (file)
@@ -16,9 +16,9 @@ info:
 servers:
 - url: /
 tags:
-- name: A1 Policy Management Version 1.0
+- name: A1 Policy Management Version 1.0 (deprecated)
   description: Policy Controller
-- name: A1 Policy Management Version 2.0 (in progress)
+- name: A1 Policy Management Version 2.0
   description: Policy Controller
 - name: Component Configuration
   description: Configuration Controller
@@ -28,9 +28,9 @@ paths:
   /policy_types:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Query policy type names
-      operationId: getPolicyTypesUsingGET
+      operationId: getPolicyTypesUsingGET_1
       parameters:
       - name: ric
         in: query
@@ -63,7 +63,7 @@ paths:
   /a1-policy/v2/policy-instances:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Query for A1 policy instances
       description: Returns a list of A1 policies matching given search criteria. <br>If
         several query parameters are defined, the policies matching all conditions
@@ -111,7 +111,7 @@ paths:
   /a1-policy/v2/status:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns status and statistics of this service
       operationId: getStatusUsingGET
       responses:
@@ -134,9 +134,9 @@ paths:
   /services:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns service information
-      operationId: getServicesUsingGET
+      operationId: getServicesUsingGET_1
       parameters:
       - name: name
         in: query
@@ -168,9 +168,9 @@ paths:
       deprecated: false
     delete:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Delete a service
-      operationId: deleteServiceUsingDELETE
+      operationId: deleteServiceUsingDELETE_1
       parameters:
       - name: name
         in: query
@@ -208,12 +208,12 @@ paths:
   /a1-policy/v2/rics/ric:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns info for one Near-RT RIC
       description: Either a Near-RT RIC identity or a Mananged Element identity can
         be specified.<br>The intention with Mananged Element identity is the ID used
         in O1 for accessing the traffical element (such as the ID of CU).
-      operationId: getRicUsingGET
+      operationId: getRicUsingGET_1
       parameters:
       - name: managed_element_id
         in: query
@@ -251,9 +251,9 @@ paths:
   /a1-policy/v2/policies/{policy_id}:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns a policy
-      operationId: getPolicyUsingGET_1
+      operationId: getPolicyUsingGET
       parameters:
       - name: policy_id
         in: path
@@ -283,9 +283,9 @@ paths:
       deprecated: false
     delete:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Delete a policy
-      operationId: deletePolicyUsingDELETE_1
+      operationId: deletePolicyUsingDELETE
       parameters:
       - name: policy_id
         in: path
@@ -322,9 +322,9 @@ paths:
   /a1-policy/v2/policy-types:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Query policy type identities
-      operationId: getPolicyTypesUsingGET_1
+      operationId: getPolicyTypesUsingGET
       parameters:
       - name: ric_id
         in: query
@@ -425,9 +425,9 @@ paths:
   /policy:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns a policy configuration
-      operationId: getPolicyUsingGET
+      operationId: getPolicyUsingGET_1
       parameters:
       - name: id
         in: query
@@ -458,9 +458,9 @@ paths:
       deprecated: false
     put:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Put a policy
-      operationId: putPolicyUsingPUT
+      operationId: putPolicyUsingPUT_1
       parameters:
       - name: id
         in: query
@@ -534,9 +534,9 @@ paths:
       deprecated: false
     delete:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Delete a policy
-      operationId: deletePolicyUsingDELETE
+      operationId: deletePolicyUsingDELETE_1
       parameters:
       - name: id
         in: query
@@ -574,7 +574,7 @@ paths:
   /policies:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Query policies
       operationId: getPoliciesUsingGET
       parameters:
@@ -621,9 +621,9 @@ paths:
   /a1-policy/v2/services/{service_id}/keepalive:
     put:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Heartbeat indicates that the service is running
-      operationId: keepAliveServiceUsingPUT_1
+      operationId: keepAliveServiceUsingPUT
       parameters:
       - name: service_id
         in: path
@@ -657,7 +657,7 @@ paths:
   /policy_schema:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns one policy type schema definition
       operationId: getPolicySchemaUsingGET
       parameters:
@@ -691,9 +691,9 @@ paths:
   /rics:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Query Near-RT RIC information
-      operationId: getRicsUsingGET_1
+      operationId: getRicsUsingGET
       parameters:
       - name: policyType
         in: query
@@ -726,9 +726,9 @@ paths:
   /policy_status:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns a policy status
-      operationId: getPolicyStatusUsingGET
+      operationId: getPolicyStatusUsingGET_1
       parameters:
       - name: id
         in: query
@@ -760,11 +760,11 @@ paths:
   /a1-policy/v2/rics:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Query Near-RT RIC information
       description: The call returns all Near-RT RICs that supports a given policy
         type identity
-      operationId: getRicsUsingGET
+      operationId: getRicsUsingGET_1
       parameters:
       - name: policytype_id
         in: query
@@ -796,9 +796,9 @@ paths:
   /policy_ids:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Query policies, only policy identities returned
-      operationId: getPolicyIdsUsingGET
+      operationId: getPolicyIdsUsingGET_1
       parameters:
       - name: ric
         in: query
@@ -843,7 +843,7 @@ paths:
   /policy_schemas:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns policy type schema definitions
       operationId: getPolicySchemasUsingGET
       parameters:
@@ -879,11 +879,11 @@ paths:
   /a1-policy/v2/services:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns service information
       description: Either information about a registered service with given identity
         or all registered services are returned.
-      operationId: getServicesUsingGET_1
+      operationId: getServicesUsingGET
       parameters:
       - name: service_id
         in: query
@@ -913,12 +913,12 @@ paths:
       deprecated: false
     put:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Register a service
       description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
         supervision of the service. If a service is inactive, its policies will be
         deleted.</li></ul>
-      operationId: putServiceUsingPUT_1
+      operationId: putServiceUsingPUT
       requestBody:
         description: registrationInfo
         content:
@@ -958,9 +958,9 @@ paths:
   /ric:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns the name of a RIC managing one Mananged Element
-      operationId: getRicUsingGET_1
+      operationId: getRicUsingGET
       parameters:
       - name: managedElementId
         in: query
@@ -992,9 +992,9 @@ paths:
   /services/keepalive:
     put:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Heartbeat from a service
-      operationId: keepAliveServiceUsingPUT
+      operationId: keepAliveServiceUsingPUT_1
       parameters:
       - name: name
         in: query
@@ -1026,7 +1026,7 @@ paths:
   /a1-policy/v2/policy-types/{policytype_id}:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns a policy type definition
       operationId: getPolicyTypeUsingGET
       parameters:
@@ -1059,7 +1059,7 @@ paths:
   /status:
     get:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Returns status and statistics of this service
       operationId: getStatusUsingGET_1
       responses:
@@ -1082,12 +1082,12 @@ paths:
   /a1-policy/v2/policies:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Query policy identities
       description: Returns a list of A1 policies matching given search criteria. <br>If
         several query parameters are defined, the policies matching all conditions
         are returned.
-      operationId: getPolicyIdsUsingGET_1
+      operationId: getPolicyIdsUsingGET
       parameters:
       - name: policytype_id
         in: query
@@ -1129,9 +1129,9 @@ paths:
       deprecated: false
     put:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Create or update a policy
-      operationId: putPolicyUsingPUT_1
+      operationId: putPolicyUsingPUT
       requestBody:
         description: policyInfo
         content:
@@ -1199,9 +1199,9 @@ paths:
   /a1-policy/v2/services/{service_id}:
     delete:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Unregister a service
-      operationId: deleteServiceUsingDELETE_1
+      operationId: deleteServiceUsingDELETE
       parameters:
       - name: service_id
         in: path
@@ -1235,9 +1235,9 @@ paths:
   /service:
     put:
       tags:
-      - A1 Policy Management Version 1.0
+      - A1 Policy Management Version 1.0 (deprecated)
       summary: Register a service
-      operationId: putServiceUsingPUT
+      operationId: putServiceUsingPUT_1
       requestBody:
         description: registrationInfo
         content:
@@ -1277,9 +1277,9 @@ paths:
   /a1-policy/v2/policies/{policy_id}/status:
     get:
       tags:
-      - A1 Policy Management Version 2.0 (in progress)
+      - A1 Policy Management Version 2.0
       summary: Returns a policy status
-      operationId: getPolicyStatusUsingGET_1
+      operationId: getPolicyStatusUsingGET
       parameters:
       - name: policy_id
         in: path
@@ -1325,10 +1325,6 @@ components:
           format: int32
           example: 503
       description: Problem as defined in https://tools.ietf.org/html/rfc7807
-    void:
-      title: void
-      type: object
-      description: Void/empty
     status_info_v2:
       title: status_info_v2
       type: object
@@ -1359,9 +1355,6 @@ components:
         ric:
           type: string
           description: identity of the target Near-RT RIC
-    Mono«ResponseEntity«object»»:
-      title: Mono«ResponseEntity«object»»
-      type: object
     ric_info_v2:
       title: ric_info_v2
       type: object
@@ -1615,6 +1608,3 @@ components:
           enum:
           - AVAILABLE
       description: Information transferred as in Service callbacks (callback_url)
-    Mono«ResponseEntity«string»»:
-      title: Mono«ResponseEntity«string»»
-      type: object
index f218b52..40f28be 100644 (file)
   ~ ============LICENSE_END=======================================================
   ~
 -->
-
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
-
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.1.0</version>
         <relativePath/>
     </parent>
-
     <groupId>org.onap.ccsdk.oran</groupId>
     <artifactId>a1-policy-management-service</artifactId>
     <version>1.1.1-SNAPSHOT</version>
-
     <name>ccsdk-oran :: ${project.artifactId}</name>
-
     <properties>
         <java.version.source>11</java.version.source>
         <java.version.target>11</java.version.target>
-        <springfox.version>2.9.2</springfox.version><!-- Do not change to version 3.0.0! Will break the generated json. -->
+        <springfox.version>2.9.2</springfox.version>
+        <!-- Do not change to version 3.0.0! Will break the generated json. -->
         <immutable.version>2.8.8</immutable.version>
         <sdk.version>1.1.6</sdk.version>
         <json.version>20200518</json.version>
         <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version>
         <commons-io.version>2.5</commons-io.version>
         <docker-maven-plugin>0.30.0</docker-maven-plugin>
-        <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version><!-- Version must be higher than version 2.19.1 that is defined in the parent pom for JUnit 5 tests to be run. Do not remove! -->
+        <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version>
+        <!-- Version must be higher than version 2.19.1 that is defined in the parent pom for JUnit 5 tests to be run. Do not remove! -->
         <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
         <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>
         <exec.skip>true</exec.skip>
         <ccsdk.project.version>${project.version}</ccsdk.project.version>
     </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <scope>test</scope>
         </dependency>
     </dependencies>
-
     <build>
         <plugins>
             <plugin>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-resource-one</id>
+                        <phase>install</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.basedir}/../docs/offeredapis/swagger</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>${project.basedir}/api</directory>
+                                    <includes>
+                                        <include>pms-api.*</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>io.fabric8</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
-</project>
+</project>
\ No newline at end of file
index c54394e..69868d2 100644 (file)
@@ -22,7 +22,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v1;
 
 public class Consts {
 
-    public static final String V1_API_NAME = "A1 Policy Management Version 1.0";
+    public static final String V1_API_NAME = "A1 Policy Management Version 1.0 (deprecated)";
 
     private Consts() {}
 }
index d791ff2..d365ad9 100644 (file)
@@ -29,7 +29,7 @@ public class Consts {
     public static final String MANAGED_ELEMENT_ID_PARAM = "managed_element_id";
 
     public static final String V2_API_ROOT = "a1-policy/v2";
-    public static final String V2_API_NAME = "A1 Policy Management Version 2.0 (in progress)";
+    public static final String V2_API_NAME = "A1 Policy Management Version 2.0";
     public static final String V2_CONFIG_API_NAME = "Component Configuration";
 
     private Consts() {}
index 5edee15..14843eb 100644 (file)
@@ -98,7 +98,7 @@ import reactor.util.annotation.Nullable;
 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
 @TestPropertySource(properties = { //
         "server.ssl.key-store=./config/keystore.jks", //
-        "app.webclient.trust-store=./config/truststore.jks"})
+        "app.webclient.trust-store=./config/truststore.jks" })
 class ApplicationTest {
     private static final Logger logger = LoggerFactory.getLogger(ApplicationTest.class);
 
@@ -219,6 +219,10 @@ class ApplicationTest {
         assertThat(resp.getStatusCode()).isEqualTo(HttpStatus.OK);
         JSONObject jsonObj = new JSONObject(resp.getBody());
         jsonObj.remove("host");
+        assertThat(jsonObj.getJSONObject("definitions").remove("Mono«ResponseEntity«object»»")).isNotNull();
+        assertThat(jsonObj.getJSONObject("definitions").remove("void")).isNotNull();
+        assertThat(jsonObj.getJSONObject("definitions").remove("Mono«ResponseEntity«string»»")).isNotNull();
+
         String indented = (jsonObj).toString(4);
         String docDir = "api/";
         Files.createDirectories(Paths.get(docDir));
@@ -769,8 +773,8 @@ class ApplicationTest {
 
         for (int i = 0; i < 10; ++i) {
             AsyncRestClient restClient = restClient();
-            ConcurrencyTestRunnable test =
-                    new ConcurrencyTestRunnable(restClient, supervision, a1ClientFactory, rics, policyTypes);
+            ConcurrencyTestRunnable test = new ConcurrencyTestRunnable(restClient, supervision, a1ClientFactory, rics,
+                    policyTypes);
             Thread thread = new Thread(test, "TestThread_" + i);
             thread.start();
             threads.add(thread);
deleted file mode 120000 (symlink)
index 5812031cf86b207f48656ba6e9de12dba0e983ac..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../a1-policy-management/api/pms-api.json
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..fe4554bf32118d37971d14ee81fca47805bad352
--- /dev/null
+{
+    "basePath": "/",
+    "paths": {
+        "/policy_types": {"get": {
+            "summary": "Query policy type names",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyTypesUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "Policy type names"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric",
+                "description": "The name of the Near-RT RIC to get types for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/a1-policy/v2/policy-instances": {"get": {
+            "summary": "Query for A1 policy instances",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+            "operationId": "getPolicyInstancesUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_info_list_v2"},
+                    "description": "Policies"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC, policy type or service not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "policytype_id",
+                    "description": "The identity of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric_id",
+                    "description": "The identity of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service_id",
+                    "description": "The identity of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/a1-policy/v2/status": {"get": {
+            "summary": "Returns status and statistics of this service",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/status_info_v2"},
+                    "description": "Service is living"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/services": {
+            "get": {
+                "summary": "Returns service information",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getServicesUsingGET_1",
+                "responses": {
+                    "200": {
+                        "schema": {
+                            "type": "array",
+                            "items": {"$ref": "#/definitions/service_status_v1"}
+                        },
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Service is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "name",
+                    "description": "The name of the service",
+                    "type": "string",
+                    "required": false
+                }],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+            },
+            "delete": {
+                "summary": "Delete a service",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deleteServiceUsingDELETE_1",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "string"},
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "204": {
+                        "schema": {"type": "string"},
+                        "description": "Service deleted"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Service not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "name",
+                    "description": "The name of the service",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+            }
+        },
+        "/a1-policy/v2/rics/ric": {"get": {
+            "summary": "Returns info for one Near-RT RIC",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "Either a Near-RT RIC identity or a Mananged Element identity can be specified.<br>The intention with Mananged Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
+            "operationId": "getRicUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/ric_info_v2"},
+                    "description": "Near-RT RIC is found"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "managed_element_id",
+                    "description": "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric_id",
+                    "description": "The identity of a Near-RT RIC to get information for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/a1-policy/v2/policies/{policy_id}": {
+            "get": {
+                "summary": "Returns a policy",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "getPolicyUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/policy_info_v2"},
+                        "description": "Policy found"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "policy_id",
+                    "description": "policy_id",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0"]
+            },
+            "delete": {
+                "summary": "Delete a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deletePolicyUsingDELETE",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "204": {"description": "Policy deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "policy_id",
+                    "description": "policy_id",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0"]
+            }
+        },
+        "/a1-policy/v2/policy-types": {"get": {
+            "summary": "Query policy type identities",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyTypesUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policytype_id_list_v2"},
+                    "description": "Policy type IDs"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric_id",
+                "description": "The identity of the Near-RT RIC to get types for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/a1-policy/v2/configuration": {
+            "get": {
+                "summary": "Returns the contents of the configuration file",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "description": "Note that the file contents is not relevant if the Consul is used.",
+                "operationId": "getConfigurationUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Configuration"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "File is not found or readable"
+                    }
+                },
+                "tags": ["Component Configuration"]
+            },
+            "put": {
+                "summary": "Replace the current configuration file with the given configuration",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "description": "Note that the file is ignored if the Consul is used.",
+                "operationId": "putConfigurationUsingPUT",
+                "responses": {
+                    "200": {"description": "Configuration updated"},
+                    "201": {"description": "Created"},
+                    "400": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Invalid configuration provided"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "500": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Something went wrong when replacing the configuration. Try again."
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Not Found"}
+                },
+                "parameters": [{
+                    "schema": {"type": "object"},
+                    "in": "body",
+                    "name": "configuration",
+                    "description": "configuration",
+                    "required": true
+                }],
+                "tags": ["Component Configuration"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/policy": {
+            "get": {
+                "summary": "Returns a policy configuration",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getPolicyUsingGET_1",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Policy found"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+            },
+            "delete": {
+                "summary": "Delete a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deletePolicyUsingDELETE_1",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "204": {"description": "Policy deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+            },
+            "put": {
+                "summary": "Put a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "putPolicyUsingPUT_1",
+                "responses": {
+                    "200": {"description": "Policy updated"},
+                    "201": {"description": "Policy created"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC or policy type is not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "id",
+                        "description": "The identity of the policy instance.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "schema": {"type": "object"},
+                        "in": "body",
+                        "name": "jsonBody",
+                        "description": "jsonBody",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "ric",
+                        "description": "The name of the Near-RT RIC where the policy will be created.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "service",
+                        "description": "The name of the service creating the policy.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "default": false,
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "transient",
+                        "x-example": false,
+                        "description": "If the policy is transient or not (boolean defaulted to false). A policy is transient if it will be forgotten when the service needs to reconnect to the Near-RT RIC.",
+                        "type": "boolean",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "type",
+                        "description": "The name of the policy type.",
+                        "type": "string",
+                        "required": false
+                    }
+                ],
+                "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/policies": {"get": {
+            "summary": "Query policies",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPoliciesUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"$ref": "#/definitions/policy_info_v1"}
+                    },
+                    "description": "Policies"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC or type not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric",
+                    "description": "The name of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service",
+                    "description": "The name of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "type",
+                    "description": "The name of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/a1-policy/v2/services/{service_id}/keepalive": {"put": {
+            "summary": "Heartbeat indicates that the service is running",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Service supervision timer refreshed, OK"
+                },
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "The service is not found, needs re-registration"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "service_id",
+                "description": "service_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0"],
+            "consumes": ["application/json"]
+        }},
+        "/policy_schema": {"get": {
+            "summary": "Returns one policy type schema definition",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicySchemaUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Policy schema"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "The policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "id",
+                "description": "The identity of the policy type to get the definition for.",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/rics": {"get": {
+            "summary": "Query Near-RT RIC information",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getRicsUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"$ref": "#/definitions/ric_info_v1"}
+                    },
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "policyType",
+                "description": "The name of the policy type",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/policy_status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyStatusUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Policy status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Policy is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "id",
+                "description": "The identity of the policy.",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/a1-policy/v2/rics": {"get": {
+            "summary": "Query Near-RT RIC information",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "The call returns all Near-RT RICs that supports a given policy type identity",
+            "operationId": "getRicsUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/ric_info_list_v2"},
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "policytype_id",
+                "description": "The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/policy_ids": {"get": {
+            "summary": "Query policies, only policy identities returned",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyIdsUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "Policy identitiess"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC or type not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric",
+                    "description": "The name of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service",
+                    "description": "The name of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "type",
+                    "description": "The name of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/policy_schemas": {"get": {
+            "summary": "Returns policy type schema definitions",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicySchemasUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "object"}
+                    },
+                    "description": "Policy schemas"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric",
+                "description": "The name of the Near-RT RIC to get the definitions for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/a1-policy/v2/services": {
+            "get": {
+                "summary": "Returns service information",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "description": "Either information about a registered service with given identity or all registered services are returned.",
+                "operationId": "getServicesUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/service_list_v2"},
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Service is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service_id",
+                    "description": "The identity of the service",
+                    "type": "string",
+                    "required": false
+                }],
+                "tags": ["A1 Policy Management Version 2.0"]
+            },
+            "put": {
+                "summary": "Register a service",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "description": "Registering a service is needed to:<ul><li>Get callbacks.<\/li><li>Activate supervision of the service. If a service is inactive, its policies will be deleted.<\/li><\/ul>",
+                "operationId": "putServiceUsingPUT",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Service updated"
+                    },
+                    "201": {
+                        "schema": {"type": "object"},
+                        "description": "Service created"
+                    },
+                    "400": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "The ServiceRegistrationInfo is not accepted"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Not Found"}
+                },
+                "parameters": [{
+                    "schema": {"$ref": "#/definitions/service_registration_info_v2"},
+                    "in": "body",
+                    "name": "registrationInfo",
+                    "description": "registrationInfo",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/ric": {"get": {
+            "summary": "Returns the name of a RIC managing one Mananged Element",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getRicUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is found"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "managedElementId",
+                "description": "The identity of the Managed Element",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/services/keepalive": {"put": {
+            "summary": "Heartbeat from a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service supervision timer refreshed, OK"
+                },
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "The service is not found, needs re-registration"}
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "name",
+                "description": "The name of the service",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
+            "consumes": ["application/json"]
+        }},
+        "/a1-policy/v2/policy-types/{policytype_id}": {"get": {
+            "summary": "Returns a policy type definition",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyTypeUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policytype_v2"},
+                    "description": "Policy type"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "policytype_id",
+                "description": "policytype_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/status": {"get": {
+            "summary": "Returns status and statistics of this service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getStatusUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service is living"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"]
+        }},
+        "/a1-policy/v2/policies": {
+            "get": {
+                "summary": "Query policy identities",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+                "operationId": "getPolicyIdsUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/policy_id_list_v2"},
+                        "description": "Policy identities"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC or type not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "policytype_id",
+                        "description": "The identity of the policy type to get policies for.",
+                        "type": "string",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "ric_id",
+                        "description": "The identity of the Near-RT RIC to get policies for.",
+                        "type": "string",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "service_id",
+                        "description": "The identity of the service to get policies for.",
+                        "type": "string",
+                        "required": false
+                    }
+                ],
+                "tags": ["A1 Policy Management Version 2.0"]
+            },
+            "put": {
+                "summary": "Create or update a policy",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "putPolicyUsingPUT",
+                "responses": {
+                    "200": {"description": "Policy updated"},
+                    "201": {"description": "Policy created"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC or policy type is not found"
+                    }
+                },
+                "parameters": [{
+                    "schema": {"$ref": "#/definitions/policy_info_v2"},
+                    "in": "body",
+                    "name": "policyInfo",
+                    "description": "policyInfo",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/r-app/pms-callback": {"post": {
+            "summary": "Callback for Near-RT RIC status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "The URL to this call is registerred at Service registration.",
+            "operationId": "jobStatusCallbackUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/service_callback_info_v2"},
+                "in": "body",
+                "name": "body",
+                "description": "body",
+                "required": true
+            }],
+            "tags": ["R-App Callbacks"],
+            "consumes": ["application/json"]
+        }},
+        "/a1-policy/v2/services/{service_id}": {"delete": {
+            "summary": "Unregister a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "deleteServiceUsingDELETE",
+            "responses": {
+                "200": {"description": "Not used"},
+                "401": {"description": "Unauthorized"},
+                "204": {
+                    "schema": {"type": "object"},
+                    "description": "Service unregistered"
+                },
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Service not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "service_id",
+                "description": "service_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }},
+        "/service": {"put": {
+            "summary": "Register a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "putServiceUsingPUT_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service updated"
+                },
+                "201": {
+                    "schema": {"type": "string"},
+                    "description": "Service created"
+                },
+                "400": {
+                    "schema": {"type": "string"},
+                    "description": "The ServiceRegistrationInfo is not accepted"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/service_registration_info_v1"},
+                "in": "body",
+                "name": "registrationInfo",
+                "description": "registrationInfo",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0 (deprecated)"],
+            "consumes": ["application/json"]
+        }},
+        "/a1-policy/v2/policies/{policy_id}/status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_status_info_v2"},
+                    "description": "Policy status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "policy_id",
+                "description": "policy_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0"]
+        }}
+    },
+    "definitions": {
+        "error_information": {
+            "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
+            "type": "object",
+            "title": "error_information",
+            "properties": {
+                "detail": {
+                    "description": " A human-readable explanation specific to this occurrence of the problem.",
+                    "type": "string",
+                    "example": "Policy type not found"
+                },
+                "status": {
+                    "format": "int32",
+                    "description": "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+                    "type": "integer",
+                    "example": 503
+                }
+            }
+        },
+        "status_info_v2": {
+            "type": "object",
+            "title": "status_info_v2",
+            "properties": {"status": {
+                "description": "status text",
+                "type": "string"
+            }}
+        },
+        "policy_info_v1": {
+            "type": "object",
+            "title": "policy_info_v1",
+            "properties": {
+                "service": {
+                    "description": "the name of the service owning the policy",
+                    "type": "string"
+                },
+                "json": {
+                    "description": "the configuration of the policy",
+                    "type": "object"
+                },
+                "id": {
+                    "description": "identity of the policy",
+                    "type": "string"
+                },
+                "lastModified": {
+                    "description": "timestamp, last modification time",
+                    "type": "string"
+                },
+                "type": {
+                    "description": "name of the policy type",
+                    "type": "string"
+                },
+                "ric": {
+                    "description": "identity of the target Near-RT RIC",
+                    "type": "string"
+                }
+            }
+        },
+        "ric_info_v2": {
+            "description": "Information for a Near-RT RIC",
+            "type": "object",
+            "title": "ric_info_v2",
+            "properties": {
+                "ric_id": {
+                    "description": "identity of the Near-RT RIC",
+                    "type": "string"
+                },
+                "managed_element_ids": {
+                    "description": "O1 identities for managed entities",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "state": {
+                    "description": "State for the Near-RT RIC, values: \nUNAVAILABLE: The Near-RT RIC is not avialable, information may be inconsistent \nAVAILABLE: The normal state. Policies can be configured. +\nSYNCHRONIZING: The Policy Management Service is synchronizing the view of the Near-RT RIC. Policies cannot be configured. \nCONSISTENCY_CHECK: A consistency check between the Policy Management Service and the Near-RT RIC. Policies cannot be configured.",
+                    "type": "string",
+                    "enum": [
+                        "UNAVAILABLE",
+                        "AVAILABLE",
+                        "SYNCHRONIZING",
+                        "CONSISTENCY_CHECK"
+                    ]
+                },
+                "policytype_ids": {
+                    "description": "supported policy types",
+                    "type": "array",
+                    "items": {"type": "string"}
+                }
+            }
+        },
+        "service_registration_info_v1": {
+            "type": "object",
+            "title": "service_registration_info_v1",
+            "properties": {
+                "keepAliveIntervalSeconds": {
+                    "format": "int64",
+                    "description": "keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.",
+                    "type": "integer"
+                },
+                "callbackUrl": {
+                    "description": "callback for notifying of RIC synchronization",
+                    "type": "string"
+                },
+                "serviceName": {"type": "string"}
+            }
+        },
+        "policy_info_list_v2": {
+            "description": "List of policy information",
+            "type": "object",
+            "title": "policy_info_list_v2",
+            "properties": {"policies": {
+                "description": "List of policy information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/policy_info_v2"}
+            }}
+        },
+        "service_registration_info_v2": {
+            "description": "Information for one service",
+            "type": "object",
+            "title": "service_registration_info_v2",
+            "required": ["service_id"],
+            "properties": {
+                "callback_url": {
+                    "description": "callback for notifying of Near-RT RIC state changes",
+                    "type": "string"
+                },
+                "service_id": {
+                    "description": "identity of the service",
+                    "type": "string"
+                },
+                "keep_alive_interval_seconds": {
+                    "format": "int64",
+                    "description": "keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.",
+                    "type": "integer"
+                }
+            }
+        },
+        "ric_info_v1": {
+            "type": "object",
+            "title": "ric_info_v1",
+            "properties": {
+                "managedElementIds": {
+                    "description": "O1 identities for managed entities",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "policyTypes": {
+                    "description": "supported policy types",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "state": {
+                    "description": "state info",
+                    "type": "string"
+                },
+                "ricName": {
+                    "description": "identity of the Near-RT RIC",
+                    "type": "string"
+                }
+            }
+        },
+        "policy_status_info_v2": {
+            "description": "Status for one A1-P Policy",
+            "type": "object",
+            "title": "policy_status_info_v2",
+            "properties": {
+                "last_modified": {
+                    "description": "timestamp, last modification time",
+                    "type": "string"
+                },
+                "status": {
+                    "description": "the Policy status",
+                    "type": "object"
+                }
+            }
+        },
+        "service_status_v1": {
+            "type": "object",
+            "title": "service_status_v1",
+            "properties": {
+                "keepAliveIntervalSeconds": {
+                    "format": "int64",
+                    "description": "policy keep alive timeout",
+                    "type": "integer"
+                },
+                "callbackUrl": {
+                    "description": "callback for notifying of RIC synchronization",
+                    "type": "string"
+                },
+                "timeSinceLastActivitySeconds": {
+                    "format": "int64",
+                    "description": "time since last invocation by the service",
+                    "type": "integer"
+                },
+                "serviceName": {
+                    "description": "identity of the service",
+                    "type": "string"
+                }
+            }
+        },
+        "service_status_v2": {
+            "type": "object",
+            "title": "service_status_v2",
+            "properties": {
+                "callback_url": {
+                    "description": "callback for notifying of RIC synchronization",
+                    "type": "string"
+                },
+                "service_id": {
+                    "description": "identity of the service",
+                    "type": "string"
+                },
+                "keep_alive_interval_seconds": {
+                    "format": "int64",
+                    "description": "policy keep alive timeout",
+                    "type": "integer"
+                },
+                "time_since_last_activity_seconds": {
+                    "format": "int64",
+                    "description": "time since last invocation by the service",
+                    "type": "integer"
+                }
+            }
+        },
+        "policytype_v2": {
+            "description": "Policy type",
+            "type": "object",
+            "title": "policytype_v2",
+            "properties": {"policy_schema": {
+                "description": "Policy type json scema. The schema is a json object following http://json-schema.org/draft-07/schema",
+                "type": "object"
+            }}
+        },
+        "ric_info_list_v2": {
+            "description": "List of Near-RT RIC information",
+            "type": "object",
+            "title": "ric_info_list_v2",
+            "properties": {"rics": {
+                "description": "List of Near-RT RIC information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/ric_info_v2"}
+            }}
+        },
+        "policytype_id_list_v2": {
+            "description": "Information about policy types",
+            "type": "object",
+            "title": "policytype_id_list_v2",
+            "properties": {"policytype_ids": {
+                "description": "Policy type identities",
+                "type": "array",
+                "items": {"type": "string"}
+            }}
+        },
+        "policy_id_list_v2": {
+            "description": "A list of policy identities",
+            "type": "object",
+            "title": "policy_id_list_v2",
+            "properties": {"policy_ids": {
+                "description": "Policy identities",
+                "type": "array",
+                "items": {"type": "string"}
+            }}
+        },
+        "policy_info_v2": {
+            "description": "Information for one A1-P Policy",
+            "type": "object",
+            "title": "policy_info_v2",
+            "required": [
+                "policy_data",
+                "policy_id",
+                "policytype_id",
+                "ric_id",
+                "service_id"
+            ],
+            "properties": {
+                "ric_id": {
+                    "description": "identity of the target Near-RT RIC",
+                    "type": "string"
+                },
+                "policy_id": {
+                    "description": "identity of the policy",
+                    "type": "string"
+                },
+                "transient": {
+                    "description": "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+                    "type": "boolean"
+                },
+                "service_id": {
+                    "description": "the name of the service owning the policy",
+                    "type": "string"
+                },
+                "policy_data": {
+                    "description": "the configuration of the policy",
+                    "type": "object"
+                },
+                "status_notification_uri": {
+                    "description": "Callback URI for policy status updates",
+                    "type": "string"
+                },
+                "policytype_id": {
+                    "description": "identity of the policy type",
+                    "type": "string"
+                }
+            }
+        },
+        "service_list_v2": {
+            "description": "List of service information",
+            "type": "object",
+            "title": "service_list_v2",
+            "properties": {"service_list": {
+                "description": "List of service information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/service_status_v2"}
+            }}
+        },
+        "service_callback_info_v2": {
+            "description": "Information transferred as in Service callbacks (callback_url)",
+            "type": "object",
+            "title": "service_callback_info_v2",
+            "required": [
+                "event_type",
+                "ric_id"
+            ],
+            "properties": {
+                "ric_id": {
+                    "description": "identity of a Near-RT RIC",
+                    "type": "string"
+                },
+                "event_type": {
+                    "description": "values:\nAVAILABLE: the  Near-RT RIC has become available for A1 Policy management",
+                    "type": "string",
+                    "enum": ["AVAILABLE"]
+                }
+            }
+        }
+    },
+    "swagger": "2.0",
+    "info": {
+        "x-audience": "external-partner",
+        "x-api-id": "60f9a0e7-343f-43bf-9194-d8d65688d465",
+        "contact": {
+            "name": "Ericsson Software Technology",
+            "email": "nonrtric@est.tech"
+        },
+        "description": "The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policices. \nIt provides support for:<ul><li>A1 Policy creation and modification.<\/li><li>Maintaining a view of supported Near-RT RIC policy types <\/li><li>Supervision of using services (R-APPs). When a service is unavailble, its policies are removed. <\/li> <li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs <\/li><\/ul>",
+        "title": "A1 Policy management service",
+        "version": "1.1.0"
+    },
+    "tags": [
+        {
+            "name": "A1 Policy Management Version 1.0 (deprecated)",
+            "description": "Policy Controller"
+        },
+        {
+            "name": "A1 Policy Management Version 2.0",
+            "description": "Policy Controller"
+        },
+        {
+            "name": "Component Configuration",
+            "description": "Configuration Controller"
+        },
+        {
+            "name": "R-App Callbacks",
+            "description": "Rapp Simulator Controller"
+        }
+    ]
+}
\ No newline at end of file
deleted file mode 120000 (symlink)
index 29be6bdfe1c2730fbf8788bfc03f37b4964a585e..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../a1-policy-management/api/pms-api.yaml
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..eff705d0f58bd26cf7685a9a96981c20fa75b094
--- /dev/null
+openapi: 3.0.1
+info:
+  title: A1 Policy management service
+  description: "The O-RAN Non-RT RIC Policy Management Service provides a REST API\
+    \ for management of A1 policices. \nIt provides support for:<ul><li>A1 Policy\
+    \ creation and modification.</li><li>Maintaining a view of supported Near-RT RIC\
+    \ policy types </li><li>Supervision of using services (R-APPs). When a service\
+    \ is unavailble, its policies are removed. </li> <li>Monitoring and maintaining\
+    \ consistency of the SMO view of A1 policies and the Near-RT RICs </li></ul>"
+  contact:
+    name: Ericsson Software Technology
+    email: nonrtric@est.tech
+  version: 1.1.0
+  x-audience: external-partner
+  x-api-id: 60f9a0e7-343f-43bf-9194-d8d65688d465
+servers:
+- url: /
+tags:
+- name: A1 Policy Management Version 1.0 (deprecated)
+  description: Policy Controller
+- name: A1 Policy Management Version 2.0
+  description: Policy Controller
+- name: Component Configuration
+  description: Configuration Controller
+- name: R-App Callbacks
+  description: Rapp Simulator Controller
+paths:
+  /policy_types:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Query policy type names
+      operationId: getPolicyTypesUsingGET_1
+      parameters:
+      - name: ric
+        in: query
+        description: The name of the Near-RT RIC to get types for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy type names
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC is not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/policy-instances:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Query for A1 policy instances
+      description: Returns a list of A1 policies matching given search criteria. <br>If
+        several query parameters are defined, the policies matching all conditions
+        are returned.
+      operationId: getPolicyInstancesUsingGET
+      parameters:
+      - name: policytype_id
+        in: query
+        description: The identity of the policy type to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: ric_id
+        in: query
+        description: The identity of the Near-RT RIC to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: service_id
+        in: query
+        description: The identity of the service to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policies
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_info_list_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC, policy type or service not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/status:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns status and statistics of this service
+      operationId: getStatusUsingGET
+      responses:
+        200:
+          description: Service is living
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/status_info_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+      deprecated: false
+  /services:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns service information
+      operationId: getServicesUsingGET_1
+      parameters:
+      - name: name
+        in: query
+        description: The name of the service
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: OK
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/service_status_v1'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Service is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+    delete:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Delete a service
+      operationId: deleteServiceUsingDELETE_1
+      parameters:
+      - name: name
+        in: query
+        description: The name of the service
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: OK
+          content:
+            '*/*':
+              schema:
+                type: string
+        204:
+          description: Service deleted
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Service not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /a1-policy/v2/rics/ric:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns info for one Near-RT RIC
+      description: Either a Near-RT RIC identity or a Mananged Element identity can
+        be specified.<br>The intention with Mananged Element identity is the ID used
+        in O1 for accessing the traffical element (such as the ID of CU).
+      operationId: getRicUsingGET_1
+      parameters:
+      - name: managed_element_id
+        in: query
+        description: The identity of a Managed Element. If given, the Near-RT RIC
+          managing the ME is returned.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: ric_id
+        in: query
+        description: The identity of a Near-RT RIC to get information for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Near-RT RIC is found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ric_info_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/policies/{policy_id}:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns a policy
+      operationId: getPolicyUsingGET
+      parameters:
+      - name: policy_id
+        in: path
+        description: policy_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_info_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+    delete:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Delete a policy
+      operationId: deletePolicyUsingDELETE
+      parameters:
+      - name: policy_id
+        in: path
+        description: policy_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Not used
+          content: {}
+        204:
+          description: Policy deleted
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+        423:
+          description: Near-RT RIC is not operational
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/policy-types:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Query policy type identities
+      operationId: getPolicyTypesUsingGET
+      parameters:
+      - name: ric_id
+        in: query
+        description: The identity of the Near-RT RIC to get types for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy type IDs
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policytype_id_list_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/configuration:
+    get:
+      tags:
+      - Component Configuration
+      summary: Returns the contents of the configuration file
+      description: Note that the file contents is not relevant if the Consul is used.
+      operationId: getConfigurationUsingGET
+      responses:
+        200:
+          description: Configuration
+          content:
+            application/json:
+              schema:
+                type: object
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: File is not found or readable
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+    put:
+      tags:
+      - Component Configuration
+      summary: Replace the current configuration file with the given configuration
+      description: Note that the file is ignored if the Consul is used.
+      operationId: putConfigurationUsingPUT
+      requestBody:
+        description: configuration
+        content:
+          application/json:
+            schema:
+              type: object
+        required: true
+      responses:
+        200:
+          description: Configuration updated
+          content: {}
+        201:
+          description: Created
+          content: {}
+        400:
+          description: Invalid configuration provided
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+        500:
+          description: Something went wrong when replacing the configuration. Try
+            again.
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /policy:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns a policy configuration
+      operationId: getPolicyUsingGET_1
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy instance.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy found
+          content:
+            '*/*':
+              schema:
+                type: object
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+    put:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Put a policy
+      operationId: putPolicyUsingPUT_1
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy instance.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: ric
+        in: query
+        description: The name of the Near-RT RIC where the policy will be created.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: service
+        in: query
+        description: The name of the service creating the policy.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: transient
+        in: query
+        description: If the policy is transient or not (boolean defaulted to false).
+          A policy is transient if it will be forgotten when the service needs to
+          reconnect to the Near-RT RIC.
+        allowEmptyValue: false
+        schema:
+          type: boolean
+          default: false
+        example: false
+      - name: type
+        in: query
+        description: The name of the policy type.
+        allowEmptyValue: false
+        schema:
+          type: string
+      requestBody:
+        description: jsonBody
+        content:
+          application/json:
+            schema:
+              type: object
+        required: true
+      responses:
+        200:
+          description: Policy updated
+          content: {}
+        201:
+          description: Policy created
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC or policy type is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+        423:
+          description: Near-RT RIC is not operational
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+    delete:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Delete a policy
+      operationId: deletePolicyUsingDELETE_1
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy instance.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Not used
+          content: {}
+        204:
+          description: Policy deleted
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+        423:
+          description: Near-RT RIC is not operational
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /policies:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Query policies
+      operationId: getPoliciesUsingGET
+      parameters:
+      - name: ric
+        in: query
+        description: The name of the Near-RT RIC to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: service
+        in: query
+        description: The name of the service to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: type
+        in: query
+        description: The name of the policy type to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policies
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/policy_info_v1'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC or type not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /a1-policy/v2/services/{service_id}/keepalive:
+    put:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Heartbeat indicates that the service is running
+      operationId: keepAliveServiceUsingPUT
+      parameters:
+      - name: service_id
+        in: path
+        description: service_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Service supervision timer refreshed, OK
+          content:
+            '*/*':
+              schema:
+                type: object
+        201:
+          description: Created
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: The service is not found, needs re-registration
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /policy_schema:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns one policy type schema definition
+      operationId: getPolicySchemaUsingGET
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy type to get the definition for.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy schema
+          content:
+            '*/*':
+              schema:
+                type: object
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: The policy type is not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /rics:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Query Near-RT RIC information
+      operationId: getRicsUsingGET
+      parameters:
+      - name: policyType
+        in: query
+        description: The name of the policy type
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: OK
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/ric_info_v1'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy type is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /policy_status:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns a policy status
+      operationId: getPolicyStatusUsingGET_1
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy status
+          content:
+            '*/*':
+              schema:
+                type: object
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /a1-policy/v2/rics:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Query Near-RT RIC information
+      description: The call returns all Near-RT RICs that supports a given policy
+        type identity
+      operationId: getRicsUsingGET_1
+      parameters:
+      - name: policytype_id
+        in: query
+        description: The identity of a policy type. If given, all Near-RT RICs supporteing
+          the policy type are returned
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ric_info_list_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy type is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /policy_ids:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Query policies, only policy identities returned
+      operationId: getPolicyIdsUsingGET_1
+      parameters:
+      - name: ric
+        in: query
+        description: The name of the Near-RT RIC to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: service
+        in: query
+        description: The name of the service to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: type
+        in: query
+        description: The name of the policy type to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy identitiess
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC or type not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /policy_schemas:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns policy type schema definitions
+      operationId: getPolicySchemasUsingGET
+      parameters:
+      - name: ric
+        in: query
+        description: The name of the Near-RT RIC to get the definitions for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy schemas
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  type: object
+                  properties: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC is not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /a1-policy/v2/services:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns service information
+      description: Either information about a registered service with given identity
+        or all registered services are returned.
+      operationId: getServicesUsingGET
+      parameters:
+      - name: service_id
+        in: query
+        description: The identity of the service
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/service_list_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Service is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+    put:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Register a service
+      description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
+        supervision of the service. If a service is inactive, its policies will be
+        deleted.</li></ul>
+      operationId: putServiceUsingPUT
+      requestBody:
+        description: registrationInfo
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/service_registration_info_v2'
+        required: true
+      responses:
+        200:
+          description: Service updated
+          content:
+            '*/*':
+              schema:
+                type: object
+        201:
+          description: Service created
+          content:
+            '*/*':
+              schema:
+                type: object
+        400:
+          description: The ServiceRegistrationInfo is not accepted
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+      deprecated: false
+  /ric:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns the name of a RIC managing one Mananged Element
+      operationId: getRicUsingGET
+      parameters:
+      - name: managedElementId
+        in: query
+        description: The identity of the Managed Element
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Near-RT RIC is found
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC is not found
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /services/keepalive:
+    put:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Heartbeat from a service
+      operationId: keepAliveServiceUsingPUT_1
+      parameters:
+      - name: name
+        in: query
+        description: The name of the service
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Service supervision timer refreshed, OK
+          content:
+            '*/*':
+              schema:
+                type: string
+        201:
+          description: Created
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: The service is not found, needs re-registration
+          content: {}
+      deprecated: false
+  /a1-policy/v2/policy-types/{policytype_id}:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns a policy type definition
+      operationId: getPolicyTypeUsingGET
+      parameters:
+      - name: policytype_id
+        in: path
+        description: policytype_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy type
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policytype_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy type is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /status:
+    get:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Returns status and statistics of this service
+      operationId: getStatusUsingGET_1
+      responses:
+        200:
+          description: Service is living
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+      deprecated: false
+  /a1-policy/v2/policies:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Query policy identities
+      description: Returns a list of A1 policies matching given search criteria. <br>If
+        several query parameters are defined, the policies matching all conditions
+        are returned.
+      operationId: getPolicyIdsUsingGET
+      parameters:
+      - name: policytype_id
+        in: query
+        description: The identity of the policy type to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: ric_id
+        in: query
+        description: The identity of the Near-RT RIC to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      - name: service_id
+        in: query
+        description: The identity of the service to get policies for.
+        allowEmptyValue: false
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy identities
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_id_list_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC or type not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+    put:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Create or update a policy
+      operationId: putPolicyUsingPUT
+      requestBody:
+        description: policyInfo
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/policy_info_v2'
+        required: true
+      responses:
+        200:
+          description: Policy updated
+          content: {}
+        201:
+          description: Policy created
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Near-RT RIC or policy type is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+        423:
+          description: Near-RT RIC is not operational
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /r-app/pms-callback:
+    post:
+      tags:
+      - R-App Callbacks
+      summary: Callback for Near-RT RIC status
+      description: The URL to this call is registerred at Service registration.
+      operationId: jobStatusCallbackUsingPOST
+      requestBody:
+        description: body
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/service_callback_info_v2'
+        required: true
+      responses:
+        200:
+          description: OK
+          content: {}
+        201:
+          description: Created
+          content: {}
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+      deprecated: false
+  /a1-policy/v2/services/{service_id}:
+    delete:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Unregister a service
+      operationId: deleteServiceUsingDELETE
+      parameters:
+      - name: service_id
+        in: path
+        description: service_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Not used
+          content: {}
+        204:
+          description: Service unregistered
+          content:
+            '*/*':
+              schema:
+                type: object
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Service not found
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+  /service:
+    put:
+      tags:
+      - A1 Policy Management Version 1.0 (deprecated)
+      summary: Register a service
+      operationId: putServiceUsingPUT_1
+      requestBody:
+        description: registrationInfo
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/service_registration_info_v1'
+        required: true
+      responses:
+        200:
+          description: Service updated
+          content:
+            '*/*':
+              schema:
+                type: string
+        201:
+          description: Service created
+          content:
+            '*/*':
+              schema:
+                type: string
+        400:
+          description: The ServiceRegistrationInfo is not accepted
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Not Found
+          content: {}
+      deprecated: false
+  /a1-policy/v2/policies/{policy_id}/status:
+    get:
+      tags:
+      - A1 Policy Management Version 2.0
+      summary: Returns a policy status
+      operationId: getPolicyStatusUsingGET
+      parameters:
+      - name: policy_id
+        in: path
+        description: policy_id
+        required: true
+        schema:
+          type: string
+      responses:
+        200:
+          description: Policy status
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_status_info_v2'
+        401:
+          description: Unauthorized
+          content: {}
+        403:
+          description: Forbidden
+          content: {}
+        404:
+          description: Policy is not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
+components:
+  schemas:
+    error_information:
+      title: error_information
+      type: object
+      properties:
+        detail:
+          type: string
+          description: ' A human-readable explanation specific to this occurrence
+            of the problem.'
+          example: Policy type not found
+        status:
+          type: integer
+          description: 'The HTTP status code generated by the origin server for this
+            occurrence of the problem. '
+          format: int32
+          example: 503
+      description: Problem as defined in https://tools.ietf.org/html/rfc7807
+    status_info_v2:
+      title: status_info_v2
+      type: object
+      properties:
+        status:
+          type: string
+          description: status text
+    policy_info_v1:
+      title: policy_info_v1
+      type: object
+      properties:
+        service:
+          type: string
+          description: the name of the service owning the policy
+        json:
+          type: object
+          properties: {}
+          description: the configuration of the policy
+        id:
+          type: string
+          description: identity of the policy
+        lastModified:
+          type: string
+          description: timestamp, last modification time
+        type:
+          type: string
+          description: name of the policy type
+        ric:
+          type: string
+          description: identity of the target Near-RT RIC
+    ric_info_v2:
+      title: ric_info_v2
+      type: object
+      properties:
+        ric_id:
+          type: string
+          description: identity of the Near-RT RIC
+        managed_element_ids:
+          type: array
+          description: O1 identities for managed entities
+          items:
+            type: string
+        state:
+          type: string
+          description: "State for the Near-RT RIC, values: \nUNAVAILABLE: The Near-RT\
+            \ RIC is not avialable, information may be inconsistent \nAVAILABLE: The\
+            \ normal state. Policies can be configured. +\nSYNCHRONIZING: The Policy\
+            \ Management Service is synchronizing the view of the Near-RT RIC. Policies\
+            \ cannot be configured. \nCONSISTENCY_CHECK: A consistency check between\
+            \ the Policy Management Service and the Near-RT RIC. Policies cannot be\
+            \ configured."
+          enum:
+          - UNAVAILABLE
+          - AVAILABLE
+          - SYNCHRONIZING
+          - CONSISTENCY_CHECK
+        policytype_ids:
+          type: array
+          description: supported policy types
+          items:
+            type: string
+      description: Information for a Near-RT RIC
+    service_registration_info_v1:
+      title: service_registration_info_v1
+      type: object
+      properties:
+        keepAliveIntervalSeconds:
+          type: integer
+          description: keep alive interval for the service. This is a heartbeat supervision
+            of the service, which in regular intevals must invoke a 'keepAlive' REST
+            call. When a service does not invoke this call within the given time,
+            it is considered unavailble. An unavailable service will be automatically
+            deregistered and its policies will be deleted. Value 0 means no timeout
+            supervision.
+          format: int64
+        callbackUrl:
+          type: string
+          description: callback for notifying of RIC synchronization
+        serviceName:
+          type: string
+    policy_info_list_v2:
+      title: policy_info_list_v2
+      type: object
+      properties:
+        policies:
+          type: array
+          description: List of policy information
+          items:
+            $ref: '#/components/schemas/policy_info_v2'
+      description: List of policy information
+    service_registration_info_v2:
+      title: service_registration_info_v2
+      required:
+      - service_id
+      type: object
+      properties:
+        callback_url:
+          type: string
+          description: callback for notifying of Near-RT RIC state changes
+        service_id:
+          type: string
+          description: identity of the service
+        keep_alive_interval_seconds:
+          type: integer
+          description: keep alive interval for the service. This is a heartbeat supervision
+            of the service, which in regular intevals must invoke a 'keepAlive' REST
+            call. When a service does not invoke this call within the given time,
+            it is considered unavailble. An unavailable service will be automatically
+            deregistered and its policies will be deleted. Value 0 means no timeout
+            supervision.
+          format: int64
+      description: Information for one service
+    ric_info_v1:
+      title: ric_info_v1
+      type: object
+      properties:
+        managedElementIds:
+          type: array
+          description: O1 identities for managed entities
+          items:
+            type: string
+        policyTypes:
+          type: array
+          description: supported policy types
+          items:
+            type: string
+        state:
+          type: string
+          description: state info
+        ricName:
+          type: string
+          description: identity of the Near-RT RIC
+    policy_status_info_v2:
+      title: policy_status_info_v2
+      type: object
+      properties:
+        last_modified:
+          type: string
+          description: timestamp, last modification time
+        status:
+          type: object
+          properties: {}
+          description: the Policy status
+      description: Status for one A1-P Policy
+    service_status_v1:
+      title: service_status_v1
+      type: object
+      properties:
+        keepAliveIntervalSeconds:
+          type: integer
+          description: policy keep alive timeout
+          format: int64
+        callbackUrl:
+          type: string
+          description: callback for notifying of RIC synchronization
+        timeSinceLastActivitySeconds:
+          type: integer
+          description: time since last invocation by the service
+          format: int64
+        serviceName:
+          type: string
+          description: identity of the service
+    service_status_v2:
+      title: service_status_v2
+      type: object
+      properties:
+        callback_url:
+          type: string
+          description: callback for notifying of RIC synchronization
+        service_id:
+          type: string
+          description: identity of the service
+        keep_alive_interval_seconds:
+          type: integer
+          description: policy keep alive timeout
+          format: int64
+        time_since_last_activity_seconds:
+          type: integer
+          description: time since last invocation by the service
+          format: int64
+    policytype_v2:
+      title: policytype_v2
+      type: object
+      properties:
+        policy_schema:
+          type: object
+          properties: {}
+          description: Policy type json scema. The schema is a json object following
+            http://json-schema.org/draft-07/schema
+      description: Policy type
+    ric_info_list_v2:
+      title: ric_info_list_v2
+      type: object
+      properties:
+        rics:
+          type: array
+          description: List of Near-RT RIC information
+          items:
+            $ref: '#/components/schemas/ric_info_v2'
+      description: List of Near-RT RIC information
+    policytype_id_list_v2:
+      title: policytype_id_list_v2
+      type: object
+      properties:
+        policytype_ids:
+          type: array
+          description: Policy type identities
+          items:
+            type: string
+      description: Information about policy types
+    policy_id_list_v2:
+      title: policy_id_list_v2
+      type: object
+      properties:
+        policy_ids:
+          type: array
+          description: Policy identities
+          items:
+            type: string
+      description: A list of policy identities
+    policy_info_v2:
+      title: policy_info_v2
+      required:
+      - policy_data
+      - policy_id
+      - policytype_id
+      - ric_id
+      - service_id
+      type: object
+      properties:
+        ric_id:
+          type: string
+          description: identity of the target Near-RT RIC
+        policy_id:
+          type: string
+          description: identity of the policy
+        transient:
+          type: boolean
+          description: if true, the policy is deleted at RIC restart. If false, its
+            value is maintained by this service until explicitly deleted. Default
+            false.
+        service_id:
+          type: string
+          description: the name of the service owning the policy
+        policy_data:
+          type: object
+          properties: {}
+          description: the configuration of the policy
+        status_notification_uri:
+          type: string
+          description: Callback URI for policy status updates
+        policytype_id:
+          type: string
+          description: identity of the policy type
+      description: Information for one A1-P Policy
+    service_list_v2:
+      title: service_list_v2
+      type: object
+      properties:
+        service_list:
+          type: array
+          description: List of service information
+          items:
+            $ref: '#/components/schemas/service_status_v2'
+      description: List of service information
+    service_callback_info_v2:
+      title: service_callback_info_v2
+      required:
+      - event_type
+      - ric_id
+      type: object
+      properties:
+        ric_id:
+          type: string
+          description: identity of a Near-RT RIC
+        event_type:
+          type: string
+          description: |-
+            values:
+            AVAILABLE: the  Near-RT RIC has become available for A1 Policy management
+          enum:
+          - AVAILABLE
+      description: Information transferred as in Service callbacks (callback_url)