aboutsummaryrefslogtreecommitdiffstats
path: root/a1-policy-management
diff options
context:
space:
mode:
authorPatrikBuhr <patrik.buhr@est.tech>2020-10-05 13:30:22 +0200
committerPatrikBuhr <patrik.buhr@est.tech>2020-10-05 13:31:34 +0200
commitf8e927828c4cc948091557671de2d4e52de32bc7 (patch)
treea349a9672e3b0965a63ba9067d82a9e333cbdc7e /a1-policy-management
parentda01a12526a65a32e66ad3787d2dfd93f0c8caf9 (diff)
Generated api/api_generated.json
Change-Id: I22142f7752dd3876a689742af17caaf74c13f349 Issue-ID: CCSDK-2502 Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
Diffstat (limited to 'a1-policy-management')
-rw-r--r--a1-policy-management/api/api_generated.json1383
-rw-r--r--a1-policy-management/api/api_generated.yaml1341
-rw-r--r--a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java29
3 files changed, 1406 insertions, 1347 deletions
diff --git a/a1-policy-management/api/api_generated.json b/a1-policy-management/api/api_generated.json
new file mode 100644
index 00000000..61f38ec5
--- /dev/null
+++ b/a1-policy-management/api/api_generated.json
@@ -0,0 +1,1383 @@
+{
+ "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/policy": {
+ "get": {
+ "summary": "Returns a policy configuration",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getPolicyUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/json_object"},
+ "description": "Policy found"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Policy is not found"
+ }
+ },
+ "parameters": [{
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policy_id",
+ "description": "The identity of the policy instance.",
+ "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": "query",
+ "allowEmptyValue": false,
+ "name": "policy_id",
+ "description": "The identity of the policy instance.",
+ "type": "string",
+ "required": true
+ }],
+ "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": {"type": "object"},
+ "in": "body",
+ "name": "jsonBody",
+ "description": "jsonBody",
+ "required": true
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policy_id",
+ "description": "The identity of the policy instance.",
+ "type": "string",
+ "required": true
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policytype_id",
+ "description": "The identity of the policy type.",
+ "type": "string",
+ "required": false
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "ric_id",
+ "description": "The identity of the Near-RT RIC where the policy will be created.",
+ "type": "string",
+ "required": true
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "service_id",
+ "description": "The identity 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 not be recreated in the Near-RT RIC when it has been lost (for instance due to a restart)",
+ "type": "boolean",
+ "required": false
+ }
+ ],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+ "consumes": ["application/json"]
+ }
+ },
+ "/v2/status": {"get": {
+ "summary": "Returns status and statistics of this service",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getStatusUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/status_info_v2"},
+ "description": "Service is living"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {"description": "Not Found"}
+ },
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+ }},
+ "/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_1",
+ "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-types": {"get": {
+ "summary": "Query policy type identities",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getPolicyTypesUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/policy_type_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)"]
+ }},
+ "/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)"]
+ },
+ "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": "query",
+ "allowEmptyValue": false,
+ "name": "service_id",
+ "description": "The idenitity of the service",
+ "type": "string",
+ "required": true
+ }],
+ "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"]
+ }
+ },
+ "/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"]
+ }
+ },
+ "/ric": {"get": {
+ "summary": "Returns the name of a RIC managing one Mananged Element",
+ "deprecated": false,
+ "produces": ["*/*"],
+ "operationId": "getRicUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"type": "string"},
+ "description": "Near-RT RIC is found"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"type": "string"},
+ "description": "Near-RT RIC is not found"
+ }
+ },
+ "parameters": [{
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "managedElementId",
+ "description": "The identity of the Managed Element",
+ "type": "string",
+ "required": true
+ }],
+ "tags": ["A1 Policy Management Version 1.0"]
+ }},
+ "/services/keepalive": {"put": {
+ "summary": "Heartbeat from a serice",
+ "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/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": "query",
+ "allowEmptyValue": false,
+ "name": "service_id",
+ "description": "The identity of the service",
+ "type": "string",
+ "required": true
+ }],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+ "consumes": ["application/json"]
+ }},
+ "/v2/policy-schemas": {"get": {
+ "summary": "Returns policy type schema definitions",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getPolicySchemasUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/policy_schema_list_v2"},
+ "description": "Policy schemas"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Near-RT RIC is not found"
+ }
+ },
+ "parameters": [
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policytype_id",
+ "description": "The identity of the policy type to get the definition for. When this parameter is given, max one schema will be returned",
+ "type": "string",
+ "required": true
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "ric_id",
+ "description": "The identity of the Near-RT RIC to get the definitions for.",
+ "type": "string",
+ "required": false
+ }
+ ],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+ }},
+ "/v2/ric": {"get": {
+ "summary": "Returns info for a Near-RT RIC",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "description": "Either a Near-RT RIC identity or a Mananged Element identity can be specified.<br>The intention with Mananged Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
+ "operationId": "getRicUsingGET_1",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/ric_info_v2"},
+ "description": "Near-RT RIC is found"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Near-RT RIC is not found"
+ }
+ },
+ "parameters": [
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "managed_element_id",
+ "description": "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
+ "type": "string",
+ "required": false
+ },
+ {
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "ric_id",
+ "description": "The identity of a Near-RT RIC to get information for.",
+ "type": "string",
+ "required": false
+ }
+ ],
+ "tags": ["A1 Policy Management Version 2.0 (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"]
+ }
+ },
+ "/status": {"get": {
+ "summary": "Returns status and statistics of this service",
+ "deprecated": false,
+ "produces": ["*/*"],
+ "operationId": "getStatusUsingGET_1",
+ "responses": {
+ "200": {
+ "schema": {"type": "string"},
+ "description": "Service is living"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {"description": "Not Found"}
+ },
+ "tags": ["A1 Policy Management Version 1.0"]
+ }},
+ "/v2/policy-ids": {"get": {
+ "summary": "Query policies, only policy identities are returned",
+ "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)"]
+ }},
+ "/policies": {"get": {
+ "summary": "Query policies",
+ "deprecated": false,
+ "produces": ["*/*"],
+ "operationId": "getPoliciesUsingGET_1",
+ "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/policy-status": {"get": {
+ "summary": "Returns a policy status",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getPolicyStatusUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/json_object"},
+ "description": "Policy status"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Policy is not found"
+ }
+ },
+ "parameters": [{
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policy_id",
+ "description": "The identity of the policy.",
+ "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",
+ "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"]
+ }},
+ "/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 for existing A1 policies",
+ "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": "getPoliciesUsingGET",
+ "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)"]
+ }},
+ "/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/rics": {"get": {
+ "summary": "Query Near-RT RIC information",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "description": "The call returns all Near-RT RICs that supports a given policy type identity",
+ "operationId": "getRicsUsingGET_1",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/ric_info_list_v2"},
+ "description": "OK"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Policy type is not found"
+ }
+ },
+ "parameters": [{
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "policytype_id",
+ "description": "The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned",
+ "type": "string",
+ "required": false
+ }],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+ }}
+ },
+ "host": "localhost:41617",
+ "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"
+ }
+ }
+ },
+ "policy_schema_list_v2": {
+ "description": "Policy type json schemas",
+ "type": "object",
+ "title": "policy_schema_list_v2",
+ "properties": {"policy_schemas": {
+ "description": "Policy type json schemas. The schema is a json object following http://json-schema.org/draft-07/schema",
+ "type": "array",
+ "items": {"type": "object"}
+ }}
+ },
+ "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"
+ ]
+ },
+ "policy_type_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 RIC synchronization",
+ "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_type_id_list_v2": {
+ "description": "Information about policy types",
+ "type": "object",
+ "title": "policy_type_id_list_v2",
+ "properties": {"policy_type_ids": {
+ "description": "Policy type identities",
+ "type": "array",
+ "items": {"type": "string"}
+ }}
+ },
+ "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"
+ }
+ }
+ },
+ "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"}
+ }}
+ },
+ "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",
+ "properties": {
+ "ric_id": {
+ "description": "identity of the target Near-RT RIC",
+ "type": "string"
+ },
+ "policy_id": {
+ "description": "identity of the policy",
+ "type": "string"
+ },
+ "service_id": {
+ "description": "the name of the service owning the policy",
+ "type": "string"
+ },
+ "policy_data": {
+ "description": "the configuration of the policy",
+ "type": "object"
+ },
+ "last_modified": {
+ "description": "timestamp, last modification time",
+ "type": "string"
+ },
+ "policy_type_id": {
+ "description": "name of the policy type",
+ "type": "string"
+ }
+ }
+ },
+ "json_object": {
+ "description": "A JSON object defining the configuration of the policy. The schema is defined by the Policy Type.",
+ "type": "object",
+ "title": "json_object"
+ },
+ "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"}
+ }}
+ },
+ "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"
+ }
+ ]
+} \ No newline at end of file
diff --git a/a1-policy-management/api/api_generated.yaml b/a1-policy-management/api/api_generated.yaml
deleted file mode 100644
index fd7b3129..00000000
--- a/a1-policy-management/api/api_generated.yaml
+++ /dev/null
@@ -1,1341 +0,0 @@
-swagger: '2.0'
-info:
- description: |-
- The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policices.
- It 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>
- version: 1.1.0
- title: A1 Policy management service
- contact:
- name: Ericsson Software Technology
- email: nonrtric@est.tech
- x-api-id: 60f9a0e7-343f-43bf-9194-d8d65688d465
- x-audience: external-partner
-host: 'localhost:8081'
-basePath: /
-tags:
- - name: A1 Policy Management Version 1.0
- description: Policy Controller
- - name: A1 Policy Management Version 2.0 (in progress)
- description: Policy management
-paths:
- /policies:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Query policies
- operationId: getPoliciesUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: ric
- in: query
- description: The name of the Near-RT RIC to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: service
- in: query
- description: The name of the service to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: type
- in: query
- description: The name of the policy type to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policies
- schema:
- type: array
- items:
- $ref: '#/definitions/policy_info_v1'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC or type not found
- schema:
- type: string
- deprecated: false
- /policy:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns a policy configuration
- operationId: getPolicyUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy found
- schema:
- type: object
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- deprecated: false
- put:
- tags:
- - A1 Policy Management Version 1.0
- summary: Put a policy
- operationId: putPolicyUsingPUT_1
- consumes:
- - application/json
- produces:
- - '*/*'
- parameters:
- - name: id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- - in: body
- name: jsonBody
- description: jsonBody
- required: true
- schema:
- type: object
- - name: ric
- in: query
- description: The name of the Near-RT RIC where the policy will be created.
- required: true
- type: string
- allowEmptyValue: false
- - name: service
- in: query
- description: The name of the service creating the policy.
- required: true
- type: string
- allowEmptyValue: false
- - 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.
- required: false
- type: boolean
- default: false
- allowEmptyValue: false
- x-example: false
- - name: type
- in: query
- description: The name of the policy type.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy updated
- '201':
- description: Policy created
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC or policy type is not found
- schema:
- type: string
- '423':
- description: Near-RT RIC is not operational
- schema:
- type: string
- deprecated: false
- delete:
- tags:
- - A1 Policy Management Version 1.0
- summary: Delete a policy
- operationId: deletePolicyUsingDELETE_1
- produces:
- - '*/*'
- parameters:
- - name: id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Not used
- '204':
- description: Policy deleted
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- schema:
- type: string
- '423':
- description: Near-RT RIC is not operational
- schema:
- type: string
- deprecated: false
- /policy_ids:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: 'Query policies, only policy identities returned'
- operationId: getPolicyIdsUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: ric
- in: query
- description: The name of the Near-RT RIC to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: service
- in: query
- description: The name of the service to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: type
- in: query
- description: The name of the policy type to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy identitiess
- schema:
- type: array
- items:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC or type not found
- schema:
- type: string
- deprecated: false
- /policy_schema:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns one policy type schema definition
- operationId: getPolicySchemaUsingGET
- produces:
- - '*/*'
- parameters:
- - name: id
- in: query
- description: The identity of the policy type to get the definition for.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy schema
- schema:
- type: object
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: The policy type is not found
- schema:
- type: string
- deprecated: false
- /policy_schemas:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns policy type schema definitions
- operationId: getPolicySchemasUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: ric
- in: query
- description: The name of the Near-RT RIC to get the definitions for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy schemas
- schema:
- type: array
- items:
- type: object
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- type: string
- deprecated: false
- /policy_status:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns a policy status
- operationId: getPolicyStatusUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: id
- in: query
- description: The identity of the policy.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy status
- schema:
- type: object
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- schema:
- type: string
- deprecated: false
- /policy_types:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Query policy type names
- operationId: getPolicyTypesUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: ric
- in: query
- description: The name of the Near-RT RIC to get types for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy type names
- schema:
- type: array
- items:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- type: string
- deprecated: false
- /ric:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns the name of a RIC managing one Mananged Element
- operationId: getRicUsingGET
- produces:
- - '*/*'
- parameters:
- - name: managedElementId
- in: query
- description: The identity of the Managed Element
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Near-RT RIC is found
- schema:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- type: string
- deprecated: false
- /rics:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Query Near-RT RIC information
- operationId: getRicsUsingGET
- produces:
- - '*/*'
- parameters:
- - name: policyType
- in: query
- description: The name of the policy type
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: OK
- schema:
- type: array
- items:
- $ref: '#/definitions/ric_info_v1'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy type is not found
- schema:
- type: string
- deprecated: false
- /service:
- put:
- tags:
- - A1 Policy Management Version 1.0
- summary: Register a service
- operationId: putServiceUsingPUT_1
- consumes:
- - application/json
- produces:
- - '*/*'
- parameters:
- - in: body
- name: registrationInfo
- description: registrationInfo
- required: true
- schema:
- $ref: '#/definitions/service_registration_info_v1'
- responses:
- '200':
- description: Service updated
- schema:
- type: string
- '201':
- description: Service created
- schema:
- type: string
- '400':
- description: The ServiceRegistrationInfo is not accepted
- schema:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Not Found
- deprecated: false
- /services:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns service information
- operationId: getServicesUsingGET_1
- produces:
- - '*/*'
- parameters:
- - name: name
- in: query
- description: The name of the service
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: OK
- schema:
- type: array
- items:
- $ref: '#/definitions/service_status_v1'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Service is not found
- schema:
- type: string
- deprecated: false
- delete:
- tags:
- - A1 Policy Management Version 1.0
- summary: Delete a service
- operationId: deleteServiceUsingDELETE_1
- produces:
- - '*/*'
- parameters:
- - name: name
- in: query
- description: The name of the service
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: OK
- schema:
- type: string
- '204':
- description: Service deleted
- schema:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Service not found
- schema:
- type: string
- deprecated: false
- /services/keepalive:
- put:
- tags:
- - A1 Policy Management Version 1.0
- summary: Heartbeat from a serice
- operationId: keepAliveServiceUsingPUT_1
- consumes:
- - application/json
- produces:
- - '*/*'
- parameters:
- - name: name
- in: query
- description: The name of the service
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: 'Service supervision timer refreshed, OK'
- schema:
- type: string
- '201':
- description: Created
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: 'The service is not found, needs re-registration'
- deprecated: false
- /status:
- get:
- tags:
- - A1 Policy Management Version 1.0
- summary: Returns status and statistics of this service
- operationId: getStatusUsingGET_1
- produces:
- - '*/*'
- responses:
- '200':
- description: Service is living
- schema:
- type: string
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Not Found
- deprecated: false
- /v2/policies:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Query for existing A1 policies
- 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: getPoliciesUsingGET
- produces:
- - application/json
- parameters:
- - name: policytype_id
- in: query
- description: The identity of the policy type to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: ric_id
- in: query
- description: The identity of the Near-RT RIC to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: service_id
- in: query
- description: The identity of the service to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policies
- schema:
- $ref: '#/definitions/policy_info_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: 'Near-RT RIC, policy type or service not found'
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/policy:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Returns a policy configuration
- operationId: getPolicyUsingGET
- produces:
- - application/json
- parameters:
- - name: policy_id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy found
- schema:
- $ref: '#/definitions/json_object'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- put:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Create or update a policy
- operationId: putPolicyUsingPUT
- consumes:
- - application/json
- produces:
- - application/json
- parameters:
- - in: body
- name: jsonBody
- description: jsonBody
- required: true
- schema:
- type: object
- - name: policy_id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- - name: policytype_id
- in: query
- description: The identity of the policy type.
- required: false
- type: string
- allowEmptyValue: false
- - name: ric_id
- in: query
- description: The identity of the Near-RT RIC where the policy will be created.
- required: true
- type: string
- allowEmptyValue: false
- - name: service_id
- in: query
- description: The identity of the service creating the policy.
- required: true
- type: string
- allowEmptyValue: false
- - name: transient
- in: query
- description: If the policy is transient or not (boolean defaulted to false). A policy is transient if it will not be recreated in the Near-RT RIC when it has been lost (for instance due to a restart)
- required: false
- type: boolean
- default: false
- allowEmptyValue: false
- x-example: false
- responses:
- '200':
- description: Policy updated
- '201':
- description: Policy created
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC or policy type is not found
- schema:
- $ref: '#/definitions/error_information'
- '423':
- description: Near-RT RIC is not operational
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- delete:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Delete a policy
- operationId: deletePolicyUsingDELETE
- produces:
- - '*/*'
- parameters:
- - name: policy_id
- in: query
- description: The identity of the policy instance.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Not used
- '204':
- description: Policy deleted
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- schema:
- $ref: '#/definitions/error_information'
- '423':
- description: Near-RT RIC is not operational
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/policy-ids:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: 'Query policies, only policy identities are returned'
- 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
- produces:
- - application/json
- parameters:
- - name: policytype_id
- in: query
- description: The identity of the policy type to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: ric_id
- in: query
- description: The identity of the Near-RT RIC to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- - name: service_id
- in: query
- description: The identity of the service to get policies for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy identities
- schema:
- $ref: '#/definitions/policy_id_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC or type not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/policy-schemas:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Returns policy type schema definitions
- operationId: getPolicySchemasUsingGET
- produces:
- - application/json
- parameters:
- - name: policytype_id
- in: query
- description: 'The identity of the policy type to get the definition for. When this parameter is given, max one schema will be returned'
- required: true
- type: string
- allowEmptyValue: false
- - name: ric_id
- in: query
- description: The identity of the Near-RT RIC to get the definitions for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy schemas
- schema:
- $ref: '#/definitions/policy_schema_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/policy-status:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Returns a policy status
- operationId: getPolicyStatusUsingGET
- produces:
- - application/json
- parameters:
- - name: policy_id
- in: query
- description: The identity of the policy.
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy status
- schema:
- $ref: '#/definitions/json_object'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy is not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/policy-types:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Query policy type identities
- operationId: getPolicyTypesUsingGET
- produces:
- - application/json
- parameters:
- - name: ric_id
- in: query
- description: The identity of the Near-RT RIC to get types for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Policy type IDs
- schema:
- $ref: '#/definitions/policy_type_id_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/ric:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Returns info for a 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
- produces:
- - application/json
- 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.'
- required: false
- type: string
- allowEmptyValue: false
- - name: ric_id
- in: query
- description: The identity of a Near-RT RIC to get information for.
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Near-RT RIC is found
- schema:
- $ref: '#/definitions/ric_info_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Near-RT RIC is not found
- schema:
- $ref: '#/definitions/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_1
- produces:
- - application/json
- 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'
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: OK
- schema:
- $ref: '#/definitions/ric_info_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Policy type is not found
- schema:
- $ref: '#/definitions/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
- produces:
- - application/json
- parameters:
- - name: service_id
- in: query
- description: The identity of the service
- required: false
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: OK
- schema:
- $ref: '#/definitions/service_list_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Service is not found
- schema:
- $ref: '#/definitions/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
- consumes:
- - application/json
- produces:
- - '*/*'
- parameters:
- - in: body
- name: registrationInfo
- description: registrationInfo
- required: true
- schema:
- $ref: '#/definitions/service_registration_info_v2'
- responses:
- '200':
- description: Service updated
- schema:
- type: object
- '201':
- description: Service created
- schema:
- type: object
- '400':
- description: The ServiceRegistrationInfo is not accepted
- schema:
- $ref: '#/definitions/error_information'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Not Found
- deprecated: false
- delete:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Unregister a service
- operationId: deleteServiceUsingDELETE
- produces:
- - '*/*'
- parameters:
- - name: service_id
- in: query
- description: The idenitity of the service
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: Not used
- '204':
- description: Service unregistered
- schema:
- type: object
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Service not found
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/services/keepalive:
- put:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Heartbeat indicates that the service is running
- operationId: keepAliveServiceUsingPUT
- consumes:
- - application/json
- produces:
- - '*/*'
- parameters:
- - name: service_id
- in: query
- description: The identity of the service
- required: true
- type: string
- allowEmptyValue: false
- responses:
- '200':
- description: 'Service supervision timer refreshed, OK'
- schema:
- type: object
- '201':
- description: Created
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: 'The service is not found, needs re-registration'
- schema:
- $ref: '#/definitions/error_information'
- deprecated: false
- /v2/status:
- get:
- tags:
- - A1 Policy Management Version 2.0 (in progress)
- summary: Returns status and statistics of this service
- operationId: getStatusUsingGET
- produces:
- - application/json
- responses:
- '200':
- description: Service is living
- schema:
- $ref: '#/definitions/status_info_v2'
- '401':
- description: Unauthorized
- '403':
- description: Forbidden
- '404':
- description: Not Found
- deprecated: false
-definitions:
- Mono«ResponseEntity«object»»:
- type: object
- title: Mono«ResponseEntity«object»»
- Mono«ResponseEntity«string»»:
- type: object
- title: Mono«ResponseEntity«string»»
- error_information:
- type: object
- properties:
- detail:
- type: string
- example: Policy type not found
- description: ' A human-readable explanation specific to this occurrence of the problem.'
- status:
- type: integer
- format: int32
- example: 503
- description: 'The HTTP status code generated by the origin server for this occurrence of the problem. '
- title: error_information
- description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
- json_object:
- type: object
- title: json_object
- description: A JSON object defining the configuration of the policy. The schema is defined by the Policy Type.
- policy_id_list_v2:
- type: object
- properties:
- policy_ids:
- type: array
- description: Policy identities
- items:
- type: string
- title: policy_id_list_v2
- description: A list of policy identities
- policy_info_list_v2:
- type: object
- properties:
- policies:
- type: array
- description: List of policy information
- items:
- $ref: '#/definitions/policy_info_v2'
- title: policy_info_list_v2
- description: List of policy information
- policy_info_v1:
- type: object
- properties:
- id:
- type: string
- description: identity of the policy
- json:
- type: object
- description: the configuration of the policy
- lastModified:
- type: string
- description: 'timestamp, last modification time'
- ric:
- type: string
- description: identity of the target Near-RT RIC
- service:
- type: string
- description: the name of the service owning the policy
- type:
- type: string
- description: name of the policy type
- title: policy_info_v1
- policy_info_v2:
- type: object
- properties:
- last_modified:
- type: string
- description: 'timestamp, last modification time'
- policy_data:
- type: object
- description: the configuration of the policy
- policy_id:
- type: string
- description: identity of the policy
- policy_type_id:
- type: string
- description: name of the policy type
- ric_id:
- type: string
- description: identity of the target Near-RT RIC
- service_id:
- type: string
- description: the name of the service owning the policy
- title: policy_info_v2
- description: Information for one A1-P Policy
- policy_schema_list_v2:
- type: object
- properties:
- policy_schemas:
- type: array
- description: 'Policy type json schemas. The schema is a json object following http://json-schema.org/draft-07/schema'
- items:
- type: object
- title: policy_schema_list_v2
- description: Policy type json schemas
- policy_type_id_list_v2:
- type: object
- properties:
- policy_type_ids:
- type: array
- description: Policy type identities
- items:
- type: string
- title: policy_type_id_list_v2
- description: Information about policy types
- ric_info_list_v2:
- type: object
- properties:
- rics:
- type: array
- description: List of Near-RT RIC information
- items:
- $ref: '#/definitions/ric_info_v2'
- title: ric_info_list_v2
- description: List of Near-RT RIC information
- 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
- ricName:
- type: string
- description: identity of the Near-RT RIC
- state:
- type: string
- description: state info
- title: ric_info_v1
- ric_info_v2:
- type: object
- properties:
- managed_element_ids:
- type: array
- description: O1 identities for managed entities
- items:
- type: string
- policy_type_ids:
- type: array
- description: supported policy types
- items:
- type: string
- ric_id:
- type: string
- description: identity of the Near-RT RIC
- state:
- type: string
- description: |-
- State for the Near-RT RIC, values:
- UNAVAILABLE: The Near-RT RIC is not avialable, information may be inconsistent
- AVAILABLE: The normal state. Policies can be configured. +
- SYNCHRONIZING: The Policy Management Service is synchronizing the view of the Near-RT RIC. Policies cannot be configured.
- CONSISTENCY_CHECK: A consistency check between the Policy Management Service and the Near-RT RIC. Policies cannot be configured.
- enum:
- - UNAVAILABLE
- - AVAILABLE
- - SYNCHRONIZING
- - CONSISTENCY_CHECK
- title: ric_info_v2
- description: Information for a Near-RT RIC
- service_list_v2:
- type: object
- properties:
- service_list:
- type: array
- description: List of service information
- items:
- $ref: '#/definitions/service_status_v2'
- title: service_list_v2
- description: List of service information
- service_registration_info_v1:
- type: object
- properties:
- callbackUrl:
- type: string
- description: callback for notifying of RIC synchronization
- keepAliveIntervalSeconds:
- type: integer
- 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.'
- serviceName:
- type: string
- title: service_registration_info_v1
- service_registration_info_v2:
- type: object
- required:
- - service_id
- properties:
- callback_url:
- type: string
- description: callback for notifying of RIC synchronization
- keep_alive_interval_seconds:
- type: integer
- 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.'
- service_id:
- type: string
- description: identity of the service
- title: service_registration_info_v2
- description: Information for one service
- service_status_v1:
- type: object
- properties:
- callbackUrl:
- type: string
- description: callback for notifying of RIC synchronization
- keepAliveIntervalSeconds:
- type: integer
- format: int64
- description: policy keep alive timeout
- serviceName:
- type: string
- description: identity of the service
- timeSinceLastActivitySeconds:
- type: integer
- format: int64
- description: time since last invocation by the service
- title: service_status_v1
- service_status_v2:
- type: object
- properties:
- callback_url:
- type: string
- description: callback for notifying of RIC synchronization
- keep_alive_interval_seconds:
- type: integer
- format: int64
- description: policy keep alive timeout
- service_id:
- type: string
- description: identity of the service
- time_since_last_activity_seconds:
- type: integer
- format: int64
- description: time since last invocation by the service
- title: service_status_v2
- status_info_v2:
- type: object
- properties:
- status:
- type: string
- description: status text
- title: status_info_v2
- void:
- type: object
- title: void
- description: Void/empty
-
diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
index 87589f22..100e841c 100644
--- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
+++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
@@ -30,6 +30,9 @@ import static org.mockito.Mockito.doReturn;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.time.Instant;
@@ -37,6 +40,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import org.json.JSONObject;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -202,6 +206,18 @@ class ApplicationTest {
}
@Test
+
+ void createApiDoc() throws FileNotFoundException {
+ String url = "https://localhost:" + this.port + "/v2/api-docs";
+ ResponseEntity<String> resp = restClient("", false).getForEntity(url).block();
+ assertThat(resp.getStatusCode()).isEqualTo(HttpStatus.OK);
+ String indented = (new JSONObject(resp.getBody())).toString(4);
+ try (PrintStream out = new PrintStream(new FileOutputStream("api/api_generated.json"))) {
+ out.print(indented);
+ }
+ }
+
+ @Test
void testGetRics() throws Exception {
addRic("ric1");
this.addPolicyType("type1", "ric1");
@@ -729,10 +745,6 @@ class ApplicationTest {
}
}
- private String baseUrl() {
- return "https://localhost:" + port + Consts.V2_API_ROOT;
- }
-
private String jsonString() {
return "{\"servingCellNrcgi\":\"1\"}";
}
@@ -766,7 +778,7 @@ class ApplicationTest {
logger.info("Concurrency test took " + Duration.between(startTime, Instant.now()));
}
- private AsyncRestClient restClient(boolean useTrustValidation) {
+ private AsyncRestClient restClient(String baseUrl, boolean useTrustValidation) {
WebClientConfig config = this.applicationConfig.getWebClientConfig();
config = ImmutableWebClientConfig.builder() //
.keyStoreType(config.keyStoreType()) //
@@ -778,7 +790,12 @@ class ApplicationTest {
.trustStorePassword(config.trustStorePassword()) //
.build();
- return new AsyncRestClient(baseUrl(), config);
+ return new AsyncRestClient(baseUrl, config);
+ }
+
+ private AsyncRestClient restClient(boolean useTrustValidation) {
+ String baseUrl = "https://localhost:" + port + Consts.V2_API_ROOT;
+ return restClient(baseUrl, useTrustValidation);
}
private AsyncRestClient restClient() {