aboutsummaryrefslogtreecommitdiffstats
path: root/docs/offeredapis
diff options
context:
space:
mode:
authorPatrikBuhr <patrik.buhr@est.tech>2020-10-22 10:51:21 +0200
committerPatrikBuhr <patrik.buhr@est.tech>2020-10-26 08:06:04 +0100
commitc655306c67fd9ed6b95d6b111f7bedab79c02f44 (patch)
tree00f52ce041d7fdb2eaf9cbd9002e2baa496af3be /docs/offeredapis
parentc5f81cf8dace9637702d6934db1a9f4ed32ff131 (diff)
Added support for policy status notifications
Revised the version 2 of the component NBI Change-Id: I06571bfaa47ea3098ef71ce271e710a45b2d96e3 Issue-ID: CCSDK-2502 Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
Diffstat (limited to 'docs/offeredapis')
-rw-r--r--docs/offeredapis/swagger/pms-api.json1160
1 files changed, 561 insertions, 599 deletions
diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json
index 5d3a7a67..1495c0f8 100644
--- a/docs/offeredapis/swagger/pms-api.json
+++ b/docs/offeredapis/swagger/pms-api.json
@@ -31,137 +31,6 @@
}],
"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,
@@ -178,84 +47,6 @@
},
"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,
@@ -283,97 +74,6 @@
}],
"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",
- "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",
- "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",
- "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",
@@ -437,163 +137,6 @@
"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 service",
- "deprecated": false,
- "produces": ["*/*"],
- "operationId": "keepAliveServiceUsingPUT_1",
- "responses": {
- "200": {
- "schema": {"type": "string"},
- "description": "Service supervision timer refreshed, OK"
- },
- "201": {"description": "Created"},
- "401": {"description": "Unauthorized"},
- "403": {"description": "Forbidden"},
- "404": {"description": "The service is not found, needs re-registration"}
- },
- "parameters": [{
- "in": "query",
- "allowEmptyValue": false,
- "name": "name",
- "description": "The name of the service",
- "type": "string",
- "required": true
- }],
- "tags": ["A1 Policy Management Version 1.0"],
- "consumes": ["application/json"]
- }},
- "/v2/services/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": "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",
@@ -722,37 +265,23 @@
"consumes": ["application/json"]
}
},
- "/status": {"get": {
- "summary": "Returns status and statistics of this service",
+ "/policies": {"get": {
+ "summary": "Query policies",
"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/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",
+ "operationId": "getPoliciesUsingGET_1",
"responses": {
"200": {
- "schema": {"$ref": "#/definitions/policy_id_list_v2"},
- "description": "Policy identities"
+ "schema": {
+ "type": "array",
+ "items": {"$ref": "#/definitions/policy_info_v1"}
+ },
+ "description": "Policies"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
- "schema": {"$ref": "#/definitions/error_information"},
+ "schema": {"type": "string"},
"description": "Near-RT RIC or type not found"
}
},
@@ -760,86 +289,178 @@
{
"in": "query",
"allowEmptyValue": false,
- "name": "policytype_id",
- "description": "The identity of the policy type to get policies for.",
+ "name": "ric",
+ "description": "The name of the Near-RT RIC 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.",
+ "name": "service",
+ "description": "The name of the service 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.",
+ "name": "type",
+ "description": "The name of the policy type to get policies for.",
"type": "string",
"required": false
}
],
- "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+ "tags": ["A1 Policy Management Version 1.0"]
}},
- "/policies": {"get": {
- "summary": "Query policies",
+ "/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": "getPoliciesUsingGET_1",
+ "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/policy_info_v1"}
+ "items": {"$ref": "#/definitions/ric_info_v1"}
},
- "description": "Policies"
+ "description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
- "description": "Near-RT RIC or type not found"
+ "description": "Policy type is 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
+ "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"
},
- {
- "in": "query",
- "allowEmptyValue": false,
- "name": "type",
- "description": "The name of the policy type to get policies for.",
- "type": "string",
- "required": false
+ "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/policy-status": {"get": {
+ "/v2/policies/{policy_id}/status": {"get": {
"summary": "Returns a policy status",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getPolicyStatusUsingGET",
"responses": {
"200": {
- "schema": {"$ref": "#/definitions/json_object"},
+ "schema": {"$ref": "#/definitions/policy_status_info_v2"},
"description": "Policy status"
},
"401": {"description": "Unauthorized"},
@@ -850,106 +471,238 @@
}
},
"parameters": [{
- "in": "query",
- "allowEmptyValue": false,
+ "in": "path",
"name": "policy_id",
- "description": "The identity of the policy.",
+ "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",
+ "/v2/rics": {"get": {
+ "summary": "Query Near-RT RIC information",
"deprecated": false,
- "produces": ["*/*"],
- "operationId": "getPolicySchemaUsingGET",
+ "produces": ["application/json"],
+ "description": "The call returns all Near-RT RICs that supports a given policy type identity",
+ "operationId": "getRicsUsingGET_1",
"responses": {
"200": {
- "schema": {"type": "object"},
- "description": "Policy schema"
+ "schema": {"$ref": "#/definitions/ric_info_list_v2"},
+ "description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
- "schema": {"type": "string"},
- "description": "The policy type is not found"
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Policy type is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
- "name": "id",
- "description": "The identity of the policy type to get the definition for.",
+ "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": true
+ "required": false
}],
+ "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"]
}},
- "/rics": {"get": {
- "summary": "Query Near-RT RIC information",
+ "/policy_schemas": {"get": {
+ "summary": "Returns policy type schema definitions",
"deprecated": false,
"produces": ["*/*"],
- "operationId": "getRicsUsingGET",
+ "operationId": "getPolicySchemasUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
- "items": {"$ref": "#/definitions/ric_info_v1"}
+ "items": {"type": "object"}
},
- "description": "OK"
+ "description": "Policy schemas"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
- "description": "Policy type is not found"
+ "description": "Near-RT RIC is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
- "name": "policyType",
- "description": "The name of the policy type",
+ "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"]
}},
- "/service": {"put": {
- "summary": "Register a service",
+ "/v2/services": {
+ "get": {
+ "summary": "Returns service information",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "description": "Either information about a registered service with given identity or all registered services are returned.",
+ "operationId": "getServicesUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/service_list_v2"},
+ "description": "OK"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Service is not found"
+ }
+ },
+ "parameters": [{
+ "in": "query",
+ "allowEmptyValue": false,
+ "name": "service_id",
+ "description": "The identity of the service",
+ "type": "string",
+ "required": false
+ }],
+ "tags": ["A1 Policy Management Version 2.0 (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",
+ "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": "putServiceUsingPUT_1",
+ "operationId": "getRicUsingGET",
"responses": {
"200": {
"schema": {"type": "string"},
- "description": "Service updated"
+ "description": "Near-RT RIC is found"
},
- "201": {
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
"schema": {"type": "string"},
- "description": "Service created"
- },
- "400": {
+ "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_1",
+ "responses": {
+ "200": {
"schema": {"type": "string"},
- "description": "The ServiceRegistrationInfo is not accepted"
+ "description": "Service supervision timer refreshed, OK"
},
+ "201": {"description": "Created"},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
- "404": {"description": "Not Found"}
+ "404": {"description": "The service is not found, needs re-registration"}
},
"parameters": [{
- "schema": {"$ref": "#/definitions/service_registration_info_v1"},
- "in": "body",
- "name": "registrationInfo",
- "description": "registrationInfo",
+ "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/policies": {"get": {
- "summary": "Query for existing A1 policies",
+ "/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.",
@@ -994,63 +747,252 @@
],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
- "/policy_status": {"get": {
- "summary": "Returns a policy status",
+ "/v2/services/{service_id}/keepalive": {"put": {
+ "summary": "Heartbeat indicates that the service is running",
"deprecated": false,
"produces": ["*/*"],
- "operationId": "getPolicyStatusUsingGET_1",
+ "operationId": "keepAliveServiceUsingPUT",
"responses": {
"200": {
"schema": {"type": "object"},
- "description": "Policy status"
+ "description": "Service supervision timer refreshed, OK"
},
+ "201": {"description": "Created"},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
- "schema": {"type": "string"},
- "description": "Policy is not found"
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "The service is not found, needs re-registration"
}
},
"parameters": [{
- "in": "query",
- "allowEmptyValue": false,
- "name": "id",
- "description": "The identity of the policy.",
+ "in": "path",
+ "name": "service_id",
+ "description": "service_id",
"type": "string",
"required": true
}],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+ "consumes": ["application/json"]
+ }},
+ "/v2/policy-types/{policyTypeId}": {"get": {
+ "summary": "Returns a policy type definition",
+ "deprecated": false,
+ "produces": ["application/json"],
+ "operationId": "getPolicyTypeUsingGET",
+ "responses": {
+ "200": {
+ "schema": {"$ref": "#/definitions/policy_type_v2"},
+ "description": "Policy type"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Near-RT RIC is not found"
+ }
+ },
+ "parameters": [{
+ "in": "path",
+ "name": "policyTypeId",
+ "description": "policyTypeId",
+ "type": "string",
+ "required": true
+ }],
+ "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+ }},
+ "/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": {"get": {
- "summary": "Query Near-RT RIC information",
+ "/v2/rics/ric": {"get": {
+ "summary": "Returns info for one Near-RT RIC",
"deprecated": false,
"produces": ["application/json"],
- "description": "The call returns all Near-RT RICs that supports a given policy type identity",
- "operationId": "getRicsUsingGET_1",
+ "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_list_v2"},
- "description": "OK"
+ "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": "Policy type is not found"
+ "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)"]
+ }},
+ "/v2/services/{serviceId}": {"delete": {
+ "summary": "Unregister a service",
+ "deprecated": false,
+ "produces": ["*/*"],
+ "operationId": "deleteServiceUsingDELETE",
+ "responses": {
+ "200": {"description": "Not used"},
+ "401": {"description": "Unauthorized"},
+ "204": {
+ "schema": {"type": "object"},
+ "description": "Service unregistered"
+ },
+ "403": {"description": "Forbidden"},
+ "404": {
+ "schema": {"$ref": "#/definitions/error_information"},
+ "description": "Service not found"
}
},
"parameters": [{
- "in": "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",
+ "in": "path",
+ "name": "serviceId",
+ "description": "serviceId",
"type": "string",
- "required": false
+ "required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
- }}
+ }},
+ "/service": {"put": {
+ "summary": "Register a service",
+ "deprecated": false,
+ "produces": ["*/*"],
+ "operationId": "putServiceUsingPUT_1",
+ "responses": {
+ "200": {
+ "schema": {"type": "string"},
+ "description": "Service updated"
+ },
+ "201": {
+ "schema": {"type": "string"},
+ "description": "Service created"
+ },
+ "400": {
+ "schema": {"type": "string"},
+ "description": "The ServiceRegistrationInfo is not accepted"
+ },
+ "401": {"description": "Unauthorized"},
+ "403": {"description": "Forbidden"},
+ "404": {"description": "Not Found"}
+ },
+ "parameters": [{
+ "schema": {"$ref": "#/definitions/service_registration_info_v1"},
+ "in": "body",
+ "name": "registrationInfo",
+ "description": "registrationInfo",
+ "required": true
+ }],
+ "tags": ["A1 Policy Management Version 1.0"],
+ "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:41437",
+ "host": "localhost:43287",
"definitions": {
"error_information": {
"description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
@@ -1113,16 +1055,6 @@
}
}
},
- "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»»"
@@ -1229,6 +1161,21 @@
}
}
},
+ "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"
+ }
+ }
+ },
"policy_type_id_list_v2": {
"description": "Information about policy types",
"type": "object",
@@ -1297,6 +1244,15 @@
"items": {"$ref": "#/definitions/ric_info_v2"}
}}
},
+ "policy_type_v2": {
+ "description": "Policy type",
+ "type": "object",
+ "title": "policy_type_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"
+ }}
+ },
"policy_id_list_v2": {
"description": "A list of policy identities",
"type": "object",
@@ -1311,6 +1267,13 @@
"description": "Information for one A1-P Policy",
"type": "object",
"title": "policy_info_v2",
+ "required": [
+ "policy_data",
+ "policy_id",
+ "policy_type_id",
+ "ric_id",
+ "service_id"
+ ],
"properties": {
"ric_id": {
"description": "identity of the target Near-RT RIC",
@@ -1320,6 +1283,10 @@
"description": "identity of the policy",
"type": "string"
},
+ "transient": {
+ "description": "the name of the service owning the policy",
+ "type": "boolean"
+ },
"service_id": {
"description": "the name of the service owning the policy",
"type": "string"
@@ -1328,21 +1295,16 @@
"description": "the configuration of the policy",
"type": "object"
},
- "last_modified": {
- "description": "timestamp, last modification time",
+ "status_notification_uri": {
+ "description": "Callback URI for policy status updates",
"type": "string"
},
"policy_type_id": {
- "description": "name of the policy type",
+ "description": "identity 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",