diff options
-rw-r--r-- | a1-policy-management/api/pms-api.json | 718 | ||||
-rw-r--r-- | a1-policy-management/api/pms-api.yaml | 693 | ||||
-rw-r--r-- | a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java | 2 | ||||
-rw-r--r-- | a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java | 6 | ||||
l---------[-rw-r--r--] | docs/offeredapis/swagger/pms-api.json | 1450 | ||||
l---------[-rw-r--r--] | docs/offeredapis/swagger/pms-api.yaml | 1618 | ||||
-rw-r--r-- | pom.xml | 26 |
7 files changed, 714 insertions, 3799 deletions
diff --git a/a1-policy-management/api/pms-api.json b/a1-policy-management/api/pms-api.json index 126eab56..d1823894 100644 --- a/a1-policy-management/api/pms-api.json +++ b/a1-policy-management/api/pms-api.json @@ -5,7 +5,7 @@ "summary": "Query policy type names", "deprecated": false, "produces": ["*/*"], - "operationId": "getPolicyTypesUsingGET_1", + "operationId": "getPolicyTypesUsingGET", "responses": { "200": { "schema": { @@ -31,47 +31,66 @@ }], "tags": ["A1 Policy Management Version 1.0"] }}, - "/v2/status": {"get": { - "summary": "Returns status and statistics of this service", + "/a1-policy/v2/policy-instances": {"get": { + "summary": "Query for A1 policy instances", "deprecated": false, "produces": ["application/json"], - "operationId": "getStatusUsingGET_1", + "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/status_info_v2"}, - "description": "Service is living" + "schema": {"$ref": "#/definitions/policy_info_list_v2"}, + "description": "Policies" }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, - "404": {"description": "Not Found"} + "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 (in progress)"] }}, - "/v2/policy-types": {"get": { - "summary": "Query policy type identities", + "/a1-policy/v2/status": {"get": { + "summary": "Returns status and statistics of this service", "deprecated": false, "produces": ["application/json"], - "operationId": "getPolicyTypesUsingGET", + "operationId": "getStatusUsingGET", "responses": { "200": { - "schema": {"$ref": "#/definitions/policytype_id_list_v2"}, - "description": "Policy type IDs" + "schema": {"$ref": "#/definitions/status_info_v2"}, + "description": "Service is living" }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, - "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Near-RT RIC is not found" - } + "404": {"description": "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 (in progress)"] }}, "/services": { @@ -79,7 +98,7 @@ "summary": "Returns service information", "deprecated": false, "produces": ["*/*"], - "operationId": "getServicesUsingGET_1", + "operationId": "getServicesUsingGET", "responses": { "200": { "schema": { @@ -109,7 +128,7 @@ "summary": "Delete a service", "deprecated": false, "produces": ["*/*"], - "operationId": "deleteServiceUsingDELETE_1", + "operationId": "deleteServiceUsingDELETE", "responses": { "200": { "schema": {"type": "string"}, @@ -137,39 +156,186 @@ "tags": ["A1 Policy Management Version 1.0"] } }, - "/v2/services/{service_id}": {"delete": { - "summary": "Unregister a service", + "/a1-policy/v2/rics/ric": {"get": { + "summary": "Returns info for one Near-RT RIC", "deprecated": false, - "produces": ["*/*"], - "operationId": "deleteServiceUsingDELETE", + "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", "responses": { - "200": {"description": "Not used"}, + "200": { + "schema": {"$ref": "#/definitions/ric_info_v2"}, + "description": "Near-RT RIC is found" + }, "401": {"description": "Unauthorized"}, - "204": { - "schema": {"type": "object"}, - "description": "Service unregistered" + "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 (in progress)"] + }}, + "/a1-policy/v2/policies/{policy_id}": { + "get": { + "summary": "Returns a policy", + "deprecated": false, + "produces": ["application/json"], + "operationId": "getPolicyUsingGET_1", + "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 (in progress)"] + }, + "delete": { + "summary": "Delete a policy", + "deprecated": false, + "produces": ["*/*"], + "operationId": "deletePolicyUsingDELETE_1", + "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 (in progress)"] + } + }, + "/a1-policy/v2/policy-types": {"get": { + "summary": "Query policy type identities", + "deprecated": false, + "produces": ["application/json"], + "operationId": "getPolicyTypesUsingGET_1", + "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": "Service not found" + "description": "Near-RT RIC is not found" } }, "parameters": [{ - "in": "path", - "name": "service_id", - "description": "service_id", + "in": "query", + "allowEmptyValue": false, + "name": "ric_id", + "description": "The identity of the Near-RT RIC to get types for.", "type": "string", - "required": true + "required": false }], "tags": ["A1 Policy Management Version 2.0 (in progress)"] }}, + "/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", + "operationId": "getPolicyUsingGET", "responses": { "200": { "schema": {"type": "object"}, @@ -196,7 +362,7 @@ "summary": "Delete a policy", "deprecated": false, "produces": ["*/*"], - "operationId": "deletePolicyUsingDELETE_1", + "operationId": "deletePolicyUsingDELETE", "responses": { "200": {"description": "Not used"}, "401": {"description": "Unauthorized"}, @@ -225,7 +391,7 @@ "summary": "Put a policy", "deprecated": false, "produces": ["*/*"], - "operationId": "putPolicyUsingPUT_1", + "operationId": "putPolicyUsingPUT", "responses": { "200": {"description": "Policy updated"}, "201": {"description": "Policy created"}, @@ -343,62 +509,34 @@ ], "tags": ["A1 Policy Management Version 1.0"] }}, - "/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" - } + "/a1-policy/v2/services/{service_id}/keepalive": {"put": { + "summary": "Heartbeat indicates that the service is running", + "deprecated": false, + "produces": ["*/*"], + "operationId": "keepAliveServiceUsingPUT_1", + "responses": { + "200": { + "schema": {"type": "object"}, + "description": "Service supervision timer refreshed, OK" }, - "parameters": [{ - "in": "path", - "name": "policy_id", - "description": "policy_id", - "type": "string", - "required": true - }], - "tags": ["A1 Policy Management Version 2.0 (in progress)"] + "201": {"description": "Created"}, + "401": {"description": "Unauthorized"}, + "403": {"description": "Forbidden"}, + "404": { + "schema": {"$ref": "#/definitions/error_information"}, + "description": "The service is not found, needs re-registration" + } }, - "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 (in progress)"] - } - }, + "parameters": [{ + "in": "path", + "name": "service_id", + "description": "service_id", + "type": "string", + "required": true + }], + "tags": ["A1 Policy Management Version 2.0 (in progress)"], + "consumes": ["application/json"] + }}, "/policy_schema": {"get": { "summary": "Returns one policy type schema definition", "deprecated": false, @@ -460,7 +598,7 @@ "summary": "Returns a policy status", "deprecated": false, "produces": ["*/*"], - "operationId": "getPolicyStatusUsingGET_1", + "operationId": "getPolicyStatusUsingGET", "responses": { "200": { "schema": {"type": "object"}, @@ -483,33 +621,7 @@ }], "tags": ["A1 Policy Management Version 1.0"] }}, - "/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 (in progress)"] - }}, - "/v2/rics": {"get": { + "/a1-policy/v2/rics": {"get": { "summary": "Query Near-RT RIC information", "deprecated": false, "produces": ["application/json"], @@ -537,64 +649,11 @@ }], "tags": ["A1 Policy Management Version 2.0 (in progress)"] }}, - "/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_ids": {"get": { "summary": "Query policies, only policy identities returned", "deprecated": false, "produces": ["*/*"], - "operationId": "getPolicyIdsUsingGET_1", + "operationId": "getPolicyIdsUsingGET", "responses": { "200": { "schema": { @@ -668,59 +727,13 @@ }], "tags": ["A1 Policy Management Version 1.0"] }}, - "/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 (in progress)"] - }}, - "/v2/services": { + "/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", + "operationId": "getServicesUsingGET_1", "responses": { "200": { "schema": {"$ref": "#/definitions/service_list_v2"}, @@ -748,7 +761,7 @@ "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", + "operationId": "putServiceUsingPUT_1", "responses": { "200": { "schema": {"type": "object"}, @@ -808,7 +821,7 @@ "summary": "Heartbeat from a service", "deprecated": false, "produces": ["*/*"], - "operationId": "keepAliveServiceUsingPUT_1", + "operationId": "keepAliveServiceUsingPUT", "responses": { "200": { "schema": {"type": "string"}, @@ -830,112 +843,7 @@ "tags": ["A1 Policy Management Version 1.0"], "consumes": ["application/json"] }}, - "/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 (in progress)"], - "consumes": ["application/json"] - }}, - "/status": {"get": { - "summary": "Returns status and statistics of this service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "getStatusUsingGET", - "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"] - }}, - "/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", - "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 (in progress)"] - }}, - "/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"] - }}, - "/v2/policy-types/{policytype_id}": {"get": { + "/a1-policy/v2/policy-types/{policytype_id}": {"get": { "summary": "Returns a policy type definition", "deprecated": false, "produces": ["application/json"], @@ -961,45 +869,29 @@ }], "tags": ["A1 Policy Management Version 2.0 (in progress)"] }}, - "/service": {"put": { - "summary": "Register a service", + "/status": {"get": { + "summary": "Returns status and statistics of this service", "deprecated": false, "produces": ["*/*"], - "operationId": "putServiceUsingPUT_1", + "operationId": "getStatusUsingGET_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" + "description": "Service is living" }, "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"], - "consumes": ["application/json"] + "tags": ["A1 Policy Management Version 1.0"] }}, - "/v2/policies": { + "/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", + "operationId": "getPolicyIdsUsingGET_1", "responses": { "200": { "schema": {"$ref": "#/definitions/policy_id_list_v2"}, @@ -1044,7 +936,7 @@ "summary": "Create or update a policy", "deprecated": false, "produces": ["application/json"], - "operationId": "putPolicyUsingPUT", + "operationId": "putPolicyUsingPUT_1", "responses": { "200": {"description": "Policy updated"}, "201": {"description": "Policy created"}, @@ -1069,7 +961,115 @@ "tags": ["A1 Policy Management Version 2.0 (in progress)"], "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_1", + "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 (in progress)"] + }}, + "/service": {"put": { + "summary": "Register a service", + "deprecated": false, + "produces": ["*/*"], + "operationId": "putServiceUsingPUT", + "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"], + "consumes": ["application/json"] + }}, + "/a1-policy/v2/policies/{policy_id}/status": {"get": { + "summary": "Returns a policy status", + "deprecated": false, + "produces": ["application/json"], + "operationId": "getPolicyStatusUsingGET_1", + "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 (in progress)"] + }} }, "definitions": { "error_information": { diff --git a/a1-policy-management/api/pms-api.yaml b/a1-policy-management/api/pms-api.yaml index 8f2a040d..11aad23d 100644 --- a/a1-policy-management/api/pms-api.yaml +++ b/a1-policy-management/api/pms-api.yaml @@ -30,7 +30,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Query policy type names - operationId: getPolicyTypesUsingGET_1 + operationId: getPolicyTypesUsingGET parameters: - name: ric in: query @@ -58,21 +58,43 @@ paths: content: '*/*': schema: - type: string + $ref: '#/components/schemas/error_information' deprecated: false - /v2/status: + /a1-policy/v2/policy-instances: get: tags: - A1 Policy Management Version 2.0 (in progress) - summary: Returns status and statistics of this service - operationId: getStatusUsingGET_1 + 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: Service is living + description: Policies content: application/json: schema: - $ref: '#/components/schemas/status_info_v2' + $ref: '#/components/schemas/policy_info_list_v2' 401: description: Unauthorized content: {} @@ -80,29 +102,25 @@ paths: description: Forbidden content: {} 404: - description: Not Found - content: {} + description: Near-RT RIC, policy type or service not found + content: + application/json: + schema: + $ref: '#/components/schemas/error_information' deprecated: false - /v2/policy-types: + /a1-policy/v2/status: get: tags: - A1 Policy Management Version 2.0 (in progress) - 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 + summary: Returns status and statistics of this service + operationId: getStatusUsingGET responses: 200: - description: Policy type IDs + description: Service is living content: application/json: schema: - $ref: '#/components/schemas/policytype_id_list_v2' + $ref: '#/components/schemas/status_info_v2' 401: description: Unauthorized content: {} @@ -110,11 +128,8 @@ paths: description: Forbidden content: {} 404: - description: Near-RT RIC is not found - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' + description: Not Found + content: {} deprecated: false /services: get: @@ -190,16 +205,91 @@ paths: schema: type: string deprecated: false - /v2/services/{service_id}: + /a1-policy/v2/rics/ric: + get: + tags: + - A1 Policy Management Version 2.0 (in progress) + 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 + 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 (in progress) + summary: Returns a policy + operationId: getPolicyUsingGET_1 + 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 (in progress) - summary: Unregister a service - operationId: deleteServiceUsingDELETE_1 + summary: Delete a policy + operationId: deletePolicyUsingDELETE_1 parameters: - - name: service_id + - name: policy_id in: path - description: service_id + description: policy_id required: true schema: type: string @@ -208,10 +298,73 @@ paths: description: Not used content: {} 204: - description: Service unregistered + 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 (in progress) + summary: Query policy type identities + operationId: getPolicyTypesUsingGET_1 + 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 @@ -220,7 +373,50 @@ paths: description: Forbidden content: {} 404: - description: Service not found + 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: @@ -231,7 +427,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Returns a policy configuration - operationId: getPolicyUsingGET_1 + operationId: getPolicyUsingGET parameters: - name: id in: query @@ -255,13 +451,16 @@ paths: content: {} 404: description: Policy is not found - content: {} + content: + '*/*': + schema: + $ref: '#/components/schemas/error_information' deprecated: false put: tags: - A1 Policy Management Version 1.0 summary: Put a policy - operationId: putPolicyUsingPUT_1 + operationId: putPolicyUsingPUT parameters: - name: id in: query @@ -337,7 +536,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Delete a policy - operationId: deletePolicyUsingDELETE_1 + operationId: deletePolicyUsingDELETE parameters: - name: id in: query @@ -419,57 +618,28 @@ paths: schema: type: string deprecated: false - /v2/policies/{policy_id}: - get: + /a1-policy/v2/services/{service_id}/keepalive: + put: tags: - A1 Policy Management Version 2.0 (in progress) - summary: Returns a policy - operationId: getPolicyUsingGET + summary: Heartbeat indicates that the service is running + operationId: keepAliveServiceUsingPUT_1 parameters: - - name: policy_id + - name: service_id in: path - description: policy_id + description: service_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 + description: Service supervision timer refreshed, OK content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/error_information' - deprecated: false - delete: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 + type: object + 201: + description: Created content: {} 401: description: Unauthorized @@ -478,13 +648,7 @@ paths: description: Forbidden content: {} 404: - description: Policy is not found - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - 423: - description: Near-RT RIC is not operational + description: The service is not found, needs re-registration content: '*/*': schema: @@ -522,14 +686,14 @@ paths: content: '*/*': schema: - type: string + $ref: '#/components/schemas/error_information' deprecated: false /rics: get: tags: - A1 Policy Management Version 1.0 summary: Query Near-RT RIC information - operationId: getRicsUsingGET + operationId: getRicsUsingGET_1 parameters: - name: policyType in: query @@ -564,7 +728,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Returns a policy status - operationId: getPolicyStatusUsingGET_1 + operationId: getPolicyStatusUsingGET parameters: - name: id in: query @@ -593,47 +757,14 @@ paths: schema: type: string deprecated: false - /v2/policies/{policy_id}/status: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /v2/rics: + /a1-policy/v2/rics: get: tags: - A1 Policy Management Version 2.0 (in progress) summary: Query Near-RT RIC information description: The call returns all Near-RT RICs that supports a given policy type identity - operationId: getRicsUsingGET_1 + operationId: getRicsUsingGET parameters: - name: policytype_id in: query @@ -662,82 +793,12 @@ paths: schema: $ref: '#/components/schemas/error_information' deprecated: false - /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_ids: get: tags: - A1 Policy Management Version 1.0 summary: Query policies, only policy identities returned - operationId: getPolicyIdsUsingGET_1 + operationId: getPolicyIdsUsingGET parameters: - name: ric in: query @@ -813,57 +874,9 @@ paths: content: '*/*': schema: - type: string - deprecated: false - /v2/policy-instances: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /v2/services: + /a1-policy/v2/services: get: tags: - A1 Policy Management Version 2.0 (in progress) @@ -947,7 +960,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Returns the name of a RIC managing one Mananged Element - operationId: getRicUsingGET + operationId: getRicUsingGET_1 parameters: - name: managedElementId in: query @@ -1010,29 +1023,26 @@ paths: description: The service is not found, needs re-registration content: {} deprecated: false - /v2/services/{service_id}/keepalive: - put: + /a1-policy/v2/policy-types/{policytype_id}: + get: tags: - A1 Policy Management Version 2.0 (in progress) - summary: Heartbeat indicates that the service is running - operationId: keepAliveServiceUsingPUT_1 + summary: Returns a policy type definition + operationId: getPolicyTypeUsingGET parameters: - - name: service_id + - name: policytype_id in: path - description: service_id + description: policytype_id required: true schema: type: string responses: 200: - description: Service supervision timer refreshed, OK + description: Policy type content: - '*/*': + application/json: schema: - type: object - 201: - description: Created - content: {} + $ref: '#/components/schemas/policytype_v2' 401: description: Unauthorized content: {} @@ -1040,9 +1050,9 @@ paths: description: Forbidden content: {} 404: - description: The service is not found, needs re-registration + description: Policy type is not found content: - '*/*': + application/json: schema: $ref: '#/components/schemas/error_information' deprecated: false @@ -1051,7 +1061,7 @@ paths: tags: - A1 Policy Management Version 1.0 summary: Returns status and statistics of this service - operationId: getStatusUsingGET + operationId: getStatusUsingGET_1 responses: 200: description: Service is living @@ -1069,36 +1079,41 @@ paths: description: Not Found content: {} deprecated: false - /v2/rics/ric: + /a1-policy/v2/policies: get: tags: - A1 Policy Management Version 2.0 (in progress) - 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 + 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 parameters: - - name: managed_element_id + - name: policytype_id in: query - description: The identity of a Managed Element. If given, the Near-RT RIC - managing the ME is returned. + 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 a Near-RT RIC to get information for. + 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: Near-RT RIC is found + description: Policy identities content: application/json: schema: - $ref: '#/components/schemas/ric_info_v2' + $ref: '#/components/schemas/policy_id_list_v2' 401: description: Unauthorized content: {} @@ -1106,7 +1121,45 @@ paths: description: Forbidden content: {} 404: - description: Near-RT RIC is not found + 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 (in progress) + summary: Create or update a policy + operationId: putPolicyUsingPUT_1 + 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: @@ -1143,26 +1196,29 @@ paths: description: Not Found content: {} deprecated: false - /v2/policy-types/{policytype_id}: - get: + /a1-policy/v2/services/{service_id}: + delete: tags: - A1 Policy Management Version 2.0 (in progress) - summary: Returns a policy type definition - operationId: getPolicyTypeUsingGET + summary: Unregister a service + operationId: deleteServiceUsingDELETE_1 parameters: - - name: policytype_id + - name: service_id in: path - description: policytype_id + description: service_id required: true schema: type: string responses: 200: - description: Policy type + description: Not used + content: {} + 204: + description: Service unregistered content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/policytype_v2' + type: object 401: description: Unauthorized content: {} @@ -1170,9 +1226,9 @@ paths: description: Forbidden content: {} 404: - description: Policy type is not found + description: Service not found content: - application/json: + '*/*': schema: $ref: '#/components/schemas/error_information' deprecated: false @@ -1218,73 +1274,26 @@ paths: description: Not Found content: {} deprecated: false - /v2/policies: + /a1-policy/v2/policies/{policy_id}/status: get: tags: - A1 Policy Management Version 2.0 (in progress) - 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 + summary: Returns a policy status + operationId: getPolicyStatusUsingGET_1 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 + - name: policy_id + in: path + description: policy_id + required: true 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 + description: Policy status content: application/json: schema: - $ref: '#/components/schemas/error_information' - deprecated: false - put: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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: {} + $ref: '#/components/schemas/policy_status_info_v2' 401: description: Unauthorized content: {} @@ -1292,13 +1301,7 @@ paths: 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 + description: Policy is not found content: application/json: schema: diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java index 81021b15..d791ff26 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/Consts.java @@ -28,7 +28,7 @@ public class Consts { public static final String TRANSIENT_PARAM = "transient"; public static final String MANAGED_ELEMENT_ID_PARAM = "managed_element_id"; - public static final String V2_API_ROOT = "/v2"; + 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_CONFIG_API_NAME = "Component Configuration"; diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java index 376ce76e..482c94fb 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java @@ -105,7 +105,7 @@ class ConfigurationControllerTest { @Test void putValidConfigurationWithNewRic_shouldUpdateRepository() throws Exception { - String url = "/v2/configuration"; + String url = "a1-policy/v2/configuration"; String resp = restClient().put(url, configAsString()).block(); @@ -119,7 +119,7 @@ class ConfigurationControllerTest { @Test void getNoFileExists() { - String url = "/v2/configuration"; + String url = "a1-policy/v2/configuration"; testErrorCode(restClient().get(url), HttpStatus.NOT_FOUND, "File does not exist"); } @@ -131,7 +131,7 @@ class ConfigurationControllerTest { @Test void putInvalidConfiguration_shouldReturnError400() throws Exception { - String url = "/v2/configuration"; + String url = "a1-policy/v2/configuration"; // Valid JSON but invalid configuration. testErrorCode(restClient().put(url, "{\"error\":\"error\"}"), HttpStatus.BAD_REQUEST, "Faulty configuration"); diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json index b1bea446..5812031c 100644..120000 --- a/docs/offeredapis/swagger/pms-api.json +++ b/docs/offeredapis/swagger/pms-api.json @@ -1,1449 +1 @@ -{ - "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": {"type": "string"}, - "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"] - }}, - "/v2/status": {"get": { - "summary": "Returns status and statistics of this service", - "deprecated": false, - "produces": ["application/json"], - "operationId": "getStatusUsingGET_1", - "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 (in progress)"] - }}, - "/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 (in progress)"] - }}, - "/services": { - "get": { - "summary": "Returns service information", - "deprecated": false, - "produces": ["*/*"], - "operationId": "getServicesUsingGET", - "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"] - }, - "delete": { - "summary": "Delete a service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "deleteServiceUsingDELETE", - "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"] - } - }, - "/v2/services/{service_id}": {"delete": { - "summary": "Unregister a service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "deleteServiceUsingDELETE_1", - "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 (in progress)"] - }}, - "/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": {"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"] - }, - "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"] - }, - "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"], - "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"] - }}, - "/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 (in progress)"] - }, - "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 (in progress)"] - } - }, - "/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": {"type": "string"}, - "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"] - }}, - "/rics": {"get": { - "summary": "Query Near-RT RIC information", - "deprecated": false, - "produces": ["*/*"], - "operationId": "getRicsUsingGET_1", - "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"] - }}, - "/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"] - }}, - "/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 (in progress)"] - }}, - "/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", - "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 (in progress)"] - }}, - "/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_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"] - }}, - "/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": {"type": "string"}, - "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"] - }}, - "/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 (in progress)"] - }}, - "/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_1", - "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 (in progress)"] - }, - "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", - "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 (in progress)"], - "consumes": ["application/json"] - } - }, - "/ric": {"get": { - "summary": "Returns the name of a RIC managing one Mananged Element", - "deprecated": false, - "produces": ["*/*"], - "operationId": "getRicUsingGET_1", - "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"] - }}, - "/services/keepalive": {"put": { - "summary": "Heartbeat from a service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "keepAliveServiceUsingPUT", - "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"], - "consumes": ["application/json"] - }}, - "/v2/services/{service_id}/keepalive": {"put": { - "summary": "Heartbeat indicates that the service is running", - "deprecated": false, - "produces": ["*/*"], - "operationId": "keepAliveServiceUsingPUT_1", - "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 (in progress)"], - "consumes": ["application/json"] - }}, - "/status": {"get": { - "summary": "Returns status and statistics of this service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "getStatusUsingGET", - "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"] - }}, - "/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", - "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 (in progress)"] - }}, - "/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"] - }}, - "/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 (in progress)"] - }}, - "/service": {"put": { - "summary": "Register a service", - "deprecated": false, - "produces": ["*/*"], - "operationId": "putServiceUsingPUT", - "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"], - "consumes": ["application/json"] - }}, - "/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 (in progress)"] - }, - "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 (in progress)"], - "consumes": ["application/json"] - } - } - }, - "host": "localhost:46233", - "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 - } - } - }, - "void": { - "description": "Void/empty", - "type": "object", - "title": "void" - }, - "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" - } - } - }, - "Mono«ResponseEntity«object»»": { - "type": "object", - "title": "Mono«ResponseEntity«object»»" - }, - "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"] - } - } - }, - "Mono«ResponseEntity«string»»": { - "type": "object", - "title": "Mono«ResponseEntity«string»»" - } - }, - "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", - "description": "Policy Controller" - }, - { - "name": "A1 Policy Management Version 2.0 (in progress)", - "description": "Policy Controller" - }, - { - "name": "Component Configuration", - "description": "Configuration Controller" - }, - { - "name": "R-App Callbacks", - "description": "Rapp Simulator Controller" - } - ] -}
\ No newline at end of file +../../../a1-policy-management/api/pms-api.json
\ No newline at end of file diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml index 665c9b65..29be6bdf 100644..120000 --- a/docs/offeredapis/swagger/pms-api.yaml +++ b/docs/offeredapis/swagger/pms-api.yaml @@ -1,1617 +1 @@ -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: //localhost:46233/ -tags: -- name: A1 Policy Management Version 1.0 - description: Policy Controller -- name: A1 Policy Management Version 2.0 (in progress) - 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 - 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: - type: string - deprecated: false - /v2/status: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - summary: Returns status and statistics of this service - operationId: getStatusUsingGET_1 - 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 - /v2/policy-types: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /services: - get: - tags: - - A1 Policy Management Version 1.0 - summary: Returns service information - operationId: getServicesUsingGET - 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 - summary: Delete a service - operationId: deleteServiceUsingDELETE - 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 - /v2/services/{service_id}: - delete: - tags: - - A1 Policy Management Version 2.0 (in progress) - summary: Unregister a service - operationId: deleteServiceUsingDELETE_1 - 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 - /policy: - get: - tags: - - A1 Policy Management Version 1.0 - 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: {} - deprecated: false - put: - tags: - - A1 Policy Management Version 1.0 - 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 - 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 - 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 - /v2/policies/{policy_id}: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 (in progress) - 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 - /policy_schema: - get: - tags: - - A1 Policy Management Version 1.0 - 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: - type: string - deprecated: false - /rics: - get: - tags: - - A1 Policy Management Version 1.0 - summary: Query Near-RT RIC information - operationId: getRicsUsingGET_1 - 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 - 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 - /v2/policies/{policy_id}/status: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /v2/rics: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - summary: Query Near-RT RIC information - description: The call returns all Near-RT RICs that supports a given policy - type identity - operationId: getRicsUsingGET - 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 - /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_ids: - get: - tags: - - A1 Policy Management Version 1.0 - 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 - 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: - type: string - deprecated: false - /v2/policy-instances: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /v2/services: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - summary: Returns service information - description: Either information about a registered service with given identity - or all registered services are returned. - operationId: getServicesUsingGET_1 - 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 (in progress) - 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 - 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 - summary: Returns the name of a RIC managing one Mananged Element - operationId: getRicUsingGET_1 - 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 - summary: Heartbeat from a service - operationId: keepAliveServiceUsingPUT - 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 - /v2/services/{service_id}/keepalive: - put: - tags: - - A1 Policy Management Version 2.0 (in progress) - summary: Heartbeat indicates that the service is running - operationId: keepAliveServiceUsingPUT_1 - 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 - /status: - get: - tags: - - A1 Policy Management Version 1.0 - summary: Returns status and statistics of this service - operationId: getStatusUsingGET - 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 - /v2/rics/ric: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - 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 - /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 - /v2/policy-types/{policytype_id}: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 - /service: - put: - tags: - - A1 Policy Management Version 1.0 - summary: Register a service - operationId: putServiceUsingPUT - 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 - /v2/policies: - get: - tags: - - A1 Policy Management Version 2.0 (in progress) - 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 (in progress) - 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 -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 - void: - title: void - type: object - description: Void/empty - 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 - Mono«ResponseEntity«object»»: - title: Mono«ResponseEntity«object»» - type: object - 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) - Mono«ResponseEntity«string»»: - title: Mono«ResponseEntity«string»» - type: object +../../../a1-policy-management/api/pms-api.yaml
\ No newline at end of file @@ -52,31 +52,7 @@ <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar-maven-plugin.version}</version> - </plugin> - <plugin> - <artifactId>maven-resources-plugin</artifactId> - <version>${maven-resources-plugin.version}</version> - <executions> - <execution> - <id>copy-resource-one</id> - <phase>install</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${basedir}/docs/offeredapis/swagger</outputDirectory> - <resources> - <resource> - <directory>${basedir}/a1-policy-management/api</directory> - <includes> - <include>pms-api.*</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> + </plugin> </plugins> </build> </project> |