From d37b30aa8fc2dbc59ed7413b801ff74543037035 Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Wed, 25 Nov 2020 09:54:53 +0100 Subject: [PATCH] Sync documentation changes Issue-ID: CCSDK-2974 Signed-off-by: elinuxhenrik Change-Id: Ida1e73aa851a58b5e6a75ba355552bafd14e0635 --- docs/media/yaml_logo.png | Bin 0 -> 3477 bytes docs/offeredapis/offeredapis.rst | 59 +- docs/offeredapis/swagger/a1-adapter-api.yaml | 306 ++++++++++ docs/offeredapis/swagger/pms-api.yaml | 852 +++++++++++++++++++++++++++ 4 files changed, 1190 insertions(+), 27 deletions(-) create mode 100644 docs/media/yaml_logo.png create mode 100644 docs/offeredapis/swagger/a1-adapter-api.yaml create mode 100644 docs/offeredapis/swagger/pms-api.yaml diff --git a/docs/media/yaml_logo.png b/docs/media/yaml_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0492eb4bac42eda52e071cd68ac9c23cb606f72c GIT binary patch literal 3477 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 literal 0 HcmV?d00001 diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst index 0efe5cea..b6b2cd66 100644 --- a/docs/offeredapis/offeredapis.rst +++ b/docs/offeredapis/offeredapis.rst @@ -25,33 +25,6 @@ integration with other ONAP components and API resource/operation provided. :width: 500pt -API Table -********* - -.. |swagger-icon| image:: ../media/swagger.png - :width: 40px - -.. csv-table:: - :header: "API name", "|swagger-icon|" - :widths: 10,5 - - "PMS API", ":download:`link <./swagger/pms-api.json>`" - "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`" - - -.. _pms_api: - -PMS API -....... -`PMS API <./pms-api.html>`_ - -.. _a1_adapter_api: - -A1 ADAPTER API -.............. -`A1 ADAPTER API (Internal) <./a1-adapter-api.html>`_ - - API Version *********** @@ -81,3 +54,35 @@ provided the following backward compatibility rules are respected: For major modifications of the API, not backward compatible and forcing client implementations to be changed, the version number must be updated. + + +API Table +********* + +.. |swagger-icon| image:: ../media/swagger.png + :width: 40px + +.. |yaml-icon| image:: ../media/yaml_logo.png + :width: 40px + + +.. csv-table:: + :header: "API name", "|swagger-icon|", "|yaml-icon|" + :widths: 10,5, 5 + + "PMS API", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`" + "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`", ":download:`link <./swagger/a1-adapter-api.yaml>`" + + +.. _pms_api: + +PMS API +....... +`PMS API <./pms-api.html>`_ + +.. _a1_adapter_api: + +A1 ADAPTER API +.............. +`A1 ADAPTER API (Internal) <./a1-adapter-api.html>`_ + diff --git a/docs/offeredapis/swagger/a1-adapter-api.yaml b/docs/offeredapis/swagger/a1-adapter-api.yaml new file mode 100644 index 00000000..1db84156 --- /dev/null +++ b/docs/offeredapis/swagger/a1-adapter-api.yaml @@ -0,0 +1,306 @@ +apiVersion: 1.0.0 +swagger: '2.0' +basePath: / +info: + x-audience: external-partner + contact: + name: Ericsson Software Technology + email: nonrtric@est.tech + description: >- + The O-RAN A1 Adapter provides an internal REST API for management of A1 + policices, useful for test and verification. Note! For production, + the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + should be used! + title: A1 Adapter + version: 1.1.0 +paths: + '/restconf/operations/A1-ADAPTER-API:putA1Policy': + post: + summary: Create or update a policy + description: >- + Note! For production, the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + PUT /policy method should be used! + nickname: putA1Policy + produces: application/json + responses: + '200': + schema: + $ref: '#/models/(putA1Policy)output' + description: Policy created/updated + examples: + application/json: + 'A1-ADAPTER-API:body': {} + 'A1-ADAPTER-API:http-status': 200 + parameters: + - schema: + $ref: '#/models/(putA1Policy)input' + in: body + name: null + description: null + required: false + '/operations/A1-ADAPTER-API:getA1Policy': + post: + summary: Get policy configuration/s + description: >- + Note! For production, the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + GET /policy method should be used! + nickname: getA1Policy + produces: application/json + responses: + '200': + schema: + $ref: '#/models/(getA1Policy)output' + description: Policy found + examples: + application/json: + 'A1-ADAPTER-API:body': + id: Policy 1 + json: + scope: + ueId: 'UE1 ' + cellId: Cell 1 + qosObjectives: + gfbr: 319.5 + mfbr: 782.75 + priorityLevel: 268.5 + pdb: 44 + qoeObjectives: + qoeScore: 329 + initialBuffering: 27.75 + reBuffFreq: 539 + stallRatio: 343 + resources: [] + ownerServiceName: Service 1 + ric: ric1 + type: STD_PolicyModelUnconstrained_0.2.0 + lastModified: 'Wed, 01 Apr 2020 07:45:45 GMT' + 'A1-ADAPTER-API:http-status': 200 + parameters: + - schema: + $ref: '#/models/(getA1Policy)input' + in: body + name: null + description: null + required: false + '/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus': + post: + summary: Get a policy status + description: >- + Note! For production, the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + GET /policy-status method should be used! + nickname: getA1PolicyStatus + produces: application/json + responses: + '200': + schema: + $ref: '#/models/(getA1PolicyStatus)output' + description: Policy status + examples: + application/json: + 'A1-ADAPTER-API:body': + enforceStatus: UNDEFINED + 'A1-ADAPTER-API:http-status': 200 + parameters: + - schema: + $ref: '#/models/(getA1PolicyStatus)input' + in: body + name: null + description: null + required: false + '/restconf/operations/A1-ADAPTER-API:getA1PolicyType': + post: + summary: Get a policy type schema definition + description: >- + Note! For production, the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + GET /policy-types method should be used! + nickname: getA1PolicyType + produces: application/json + responses: + '200': + schema: + $ref: '#/models/(getA1PolicyType)output' + description: Policy schema + examples: + application/json: + 'A1-ADAPTER-API:body': + $schema: 'http://json-schema.org/draft-07/schema#' + title: Example_QoETarget_1.0.0 + description: Example QoE Target policy type + type: object + properties: + scope: + type: object + properties: + ueId: + type: string + sliceId: + type: string + qosId: + type: string + cellId: + type: string + additionalProperties: false + required: + - ueId + - sliceId + statement: + type: object + properties: + qoeScore: + type: number + initialBuffering: + type: number + reBuffFreq: + type: number + stallRatio: + type: number + minProperties: 1 + additionalProperties: false + 'A1-ADAPTER-API:http-status': 200 + parameters: + - schema: + $ref: '#/models/(getA1PolicyType)input' + in: body + name: null + description: null + required: false + '/restconf/operations/A1-ADAPTER-API:deleteA1Policy': + post: + summary: Delete a policy + description: >- + Note! For production, the + https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html + DELETE /policy method should be used! + nickname: deleteA1Policy + produces: application/json + responses: + '200': + schema: + $ref: '#/models/(deleteA1Policy)output' + description: Policy deleted + examples: + application/json: + 'A1-ADAPTER-API:body': {} + 'A1-ADAPTER-API:http-status': 200 + parameters: + - schema: + $ref: '#/models/(deleteA1Policy)input' + in: body + name: null + description: null + required: false +models: + (putA1Policy)input: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:near-rt-ric-url': + required: false + type: Some near-rt-ric-url + example: 'http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000' + 'A1-ADAPTER-API:body': + required: false + type: Some body + example: + blocking_rate: 20 + enforce: true + trigger_threshold: 10 + window_length: 10 + id: (putA1Policy)input + (putA1Policy)output: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:body': + required: false + type: Some body + 'A1-ADAPTER-API:http-status': + required: false + type: '-2147483648' + id: (putA1Policy)output + (getA1Policy)input: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:near-rt-ric-url': + required: false + type: Some near-rt-ric-url + example: 'http://localhost:8081/policy?id=Policy 1' + id: (getA1Policy)input + (getA1Policy)output: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:body': + required: false + type: object + 'A1-ADAPTER-API:http-status': + required: false + type: '-2147483648' + id: (getA1Policy)output + (getA1PolicyStatus)input: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:near-rt-ric-url': + required: false + type: Some near-rt-ric-url + example: 'http://ricsim_g2_1:8085/A1-P/v1/policies/5000/status' + id: (getA1PolicyStatus)input + (getA1PolicyStatus)output: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:body': + required: false + type: Some body + 'A1-ADAPTER-API:http-status': + required: false + type: '-2147483648' + id: (getA1PolicyStatus)output + (getA1PolicyType)input: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:near-rt-ric-url': + required: false + type: Some near-rt-ric-url + example: 'http://nearRtRic-sim1:8085/a1-p/policytypes/11' + id: (getA1PolicyType)input + (getA1PolicyType)output: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:body': + required: false + type: Some body + 'A1-ADAPTER-API:http-status': + required: false + type: '-2147483648' + id: (getA1PolicyType)output + (deleteA1Policy)input: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:near-rt-ric-url': + required: false + type: Some near-rt-ric-url + example: >- + http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy + id: (deleteA1Policy)input + (deleteA1Policy)output: + $schema: 'http://json-schema.org/draft-04/schema' + type: object + properties: + 'A1-ADAPTER-API:body': + required: false + type: Some body + 'A1-ADAPTER-API:http-status': + required: false + type: '-2147483648' + id: (deleteA1Policy)output diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml new file mode 100644 index 00000000..3bf13a21 --- /dev/null +++ b/docs/offeredapis/swagger/pms-api.yaml @@ -0,0 +1,852 @@ +--- +openapi: 3.0.1 +info: + title: A1 Policy management service + description: 'The O-RAN Non-RT RIC PolicyAgent provides a REST API for management + of policices. It provides support for: -Supervision of clients (R-APPs) to eliminate + stray policies in case of failure -Consistency monitoring of the SMO view of policies + and the actual situation in the RICs -Consistency monitoring of RIC capabilities + (policy types) -Policy configuration. This includes: -One REST API towards all + RICs in the network -Query functions that can find all policies in a RIC, all + policies owned by a service (R-APP), all policies of a type etc. -Maps O1 resources + (ManagedElement) as defined in O1 to the controlling RIC of A1 policices.' + version: '1.0' +servers: +- url: https://localhost:8433/ +- url: http://localhost:8081/ +tags: +- name: A1 Policy Management + description: Policy Controller +- name: Health check + description: Status Controller +- name: RIC Repository + description: Ric Repository Controller +- name: Service registry and supervision + description: Service Controller +paths: + "/policies": + get: + tags: + - A1 Policy Management + summary: Query policies + operationId: getPoliciesUsingGET + parameters: + - name: ric + in: query + description: The name of the Near-RT RIC to get policies for. + allowEmptyValue: false + schema: + type: string + example: ric1 + - name: service + in: query + description: The name of the service to get policies for. + allowEmptyValue: false + schema: + type: string + example: controlpanel + - name: type + in: query + description: The name of the policy type to get policies for. + allowEmptyValue: false + schema: + type: string + example: '1' + responses: + '200': + description: Policies + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + items: + "$ref": "#/components/schemas/PolicyInfo" + examples: + OSC: + "$ref": "#/components/examples/Policies-OSC" + STD: + "$ref": "#/components/examples/Policies-STD" + '404': + description: RIC or type not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: RIC not found + deprecated: false + "/policy": + get: + tags: + - A1 Policy Management + summary: Returns a policy configuration + operationId: getPolicyUsingGET + parameters: + - name: id + in: query + description: The identity of the policy instance. + required: true + allowEmptyValue: false + schema: + type: string + example: e26d76e1-b43f-427e-a3c2-b7c4e05a6431 + responses: + '200': + description: Policy found + content: + text/plain;charset=ISO-8859-1: + schema: + type: object + examples: + OSC: + "$ref": "#/components/examples/Policy-OSC" + STD: + "$ref": "#/components/examples/Policy-STD" + '404': + description: Policy is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'Could not find policy: e26d76e1-b43f-427e-a3c2-b7c4e05a6431' + deprecated: false + put: + tags: + - A1 Policy Management + summary: Put a policy + operationId: putPolicyUsingPUT + parameters: + - name: id + in: query + description: The identity of the policy instance. + required: true + allowEmptyValue: false + schema: + type: string + example: 73428e58-1670-4972-8498-e7e8f1003631 + - name: ric + in: query + description: The name of the Near-RT RIC where the policy will be created. + required: true + allowEmptyValue: false + schema: + type: string + example: ric1 + - name: service + in: query + description: The name of the service creating the policy. + required: true + allowEmptyValue: false + schema: + type: string + example: Service1 + - name: transient + in: query + description: If the policy is transient or not (boolean defaulted to false). + A policy is transient if it will be forgotten when the service needs to + reconnect to the Near-RT RIC. + allowEmptyValue: false + schema: + type: boolean + default: false + example: false + - name: type + in: query + description: The name of the policy type. The policy type is mandatory for + OSC A1 version and should not be provided for STD A1 version. + allowEmptyValue: false + schema: + type: string + example: STD_PolicyModelUnconstrained_0.2.0 + requestBody: + description: jsonBody + content: + application/json: + schema: + type: object + example: + scope: + qosId: '3' + ueId: '1' + statement: + priorityLevel: 1 + required: true + responses: + '200': + description: Policy updated + '201': + description: Policy created + '404': + description: RIC or policy type is not found + '423': + description: RIC is not operational + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: Ric is not operational, RIC name:ric1, state:UNAVAILABLE + delete: + tags: + - A1 Policy Management + summary: Delete a policy + operationId: deletePolicyUsingDELETE + parameters: + - name: id + in: query + description: The identity of the policy instance. + required: true + allowEmptyValue: false + schema: + type: string + example: 73428e58-1670-4972-8498-e7e8f1003631 + responses: + '200': + description: OK + '204': + description: Policy deleted + '404': + description: Policy is not found + '423': + description: RIC is not operational + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: Ric is not operational, RIC name:ric1,state:UNAVAILABLE + deprecated: false + "/policy_ids": + get: + tags: + - A1 Policy Management + summary: Query policies, only IDs returned + operationId: getPolicyIdsUsingGET + parameters: + - name: ric + in: query + description: The name of the Near-RT RIC to get policies for. + allowEmptyValue: false + schema: + type: string + example: ric1 + - name: service + in: query + description: The name of the service to get policies for. + allowEmptyValue: false + schema: + type: string + example: Service1 + - name: type + in: query + description: The name of the policy type to get policies for. + allowEmptyValue: false + schema: + type: string + example: '1' + responses: + '200': + description: Policy ids + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + items: + type: string + examples: + OSC: + value: + - 73428e58-1670-4972-8498-e7e8f1003631 + - 73428e58-1670-4972-8498-e7e8f100363e + STD: + value: + - 73428e58-1670-4972-8498-e7e8f1003632 + - 73428e58-1670-4972-8498-e7e8f1003634 + '404': + description: RIC or type not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: RIC not found + deprecated: false + "/policy_schema": + get: + tags: + - A1 Policy Management + summary: Returns one policy type schema definition. Applicable only for OSC + Version. + operationId: getPolicySchemaUsingGET + parameters: + - name: id + in: query + description: The identity of the policy type to get the definition for. + required: true + allowEmptyValue: false + schema: + type: string + example: '11' + responses: + '200': + description: Policy schema + content: + text/plain;charset=ISO-8859-1: + schema: + type: object + examples: + OSC: + value: + "$schema": http://json-schema.org/draft-07/schema# + description: QoS policy type + title: '1' + type: object + properties: + scope: + additionalProperties: false + type: object + properties: + qosId: + type: string + ueId: + type: string + required: + - ueId + - qosId + statement: + additionalProperties: false + type: object + properties: + priorityLevel: + type: number + required: + - priorityLevel + '404': + description: Type not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'org.oransc.policyagent.exceptions.ServiceException: Could + not find type: 11' + deprecated: false + "/policy_schemas": + get: + tags: + - A1 Policy Management + summary: Returns policy type schema definitions + operationId: getPolicySchemasUsingGET + parameters: + - name: ric + in: query + description: The name of the Near-RT RIC to get the definitions for. + allowEmptyValue: false + schema: + type: string + example: ric1 + responses: + '200': + description: Policy schemas + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + items: + type: object + properties: {} + examples: + OSC: + value: + - "$schema": http://json-schema.org/draft-07/schema# + description: QoS policy type + title: '1' + type: object + properties: + scope: + additionalProperties: false + type: object + properties: + qosId: + type: string + ueId: + type: string + required: + - ueId + - qosId + statement: + additionalProperties: false + type: object + properties: + priorityLevel: + type: number + required: + - priorityLevel + '404': + description: RIC is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'org.oransc.policyagent.exceptions.ServiceException: Could + not find ric: ric1' + deprecated: false + "/policy_status": + get: + tags: + - A1 Policy Management + summary: Returns a policy status + operationId: getPolicyStatusUsingGET + parameters: + - name: id + in: query + description: The identity of the policy. + required: true + allowEmptyValue: false + schema: + type: string + example: 73428e58-1670-4972-8498-e7e8f100363q + responses: + '200': + description: Policy status + content: + text/plain;charset=ISO-8859-1: + schema: + type: object + examples: + OSC: + value: + instance_status: NOT IN EFFECT + has_been_deleted: 'false' + created_at: 07/20/2020, 17:15:39 + STD: + value: + enforceStatus: UNDEFINED + '404': + description: Policy is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'Could not find policy: 73428e58-1670-4972-8498-e7e8f100363q' + deprecated: false + "/policy_types": + get: + tags: + - A1 Policy Management + summary: Query policy type names + operationId: getPolicyTypesUsingGET + parameters: + - name: ric + in: query + description: The name of the Near-RT RIC to get types for. + allowEmptyValue: false + schema: + type: string + example: ric11 + responses: + '200': + description: Policy type names + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + items: + type: string + examples: + OSC: + value: + - '1' + '404': + description: RIC is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'org.oransc.policyagent.exceptions.ServiceException: Could + not find ric: ric11' + deprecated: false + "/ric": + get: + tags: + - RIC Repository + summary: Returns the name of a RIC managing one Mananged Element + operationId: getRicUsingGET + parameters: + - name: managedElementId + in: query + description: The identity of the Managed Element + required: true + allowEmptyValue: false + schema: + type: string + example: Node 1 + responses: + '200': + description: RIC is found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: ric1 + '404': + description: RIC is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: No RIC found + deprecated: false + "/rics": + get: + tags: + - RIC Repository + summary: Query Near-RT RIC information + operationId: getRicsUsingGET + parameters: + - name: policyType + in: query + description: The name of the policy type + allowEmptyValue: false + schema: + type: string + example: STD_PolicyModelUnconstrained_0.2.0 + responses: + '200': + description: OK + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + items: + "$ref": "#/components/schemas/RicInfo" + '404': + description: Policy type is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: Policy type not found + deprecated: false + "/service": + put: + tags: + - Service registry and supervision + summary: Register a service + operationId: putServiceUsingPUT + requestBody: + description: registrationInfo + content: + application/json: + schema: + "$ref": "#/components/schemas/ServiceRegistrationInfo" + required: true + responses: + '200': + description: Service updated + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: OK + '201': + description: Service created + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: OK + '400': + description: The ServiceRegistrationInfo is not accepted + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: Missing mandatory parameter 'serviceName' + '404': + description: Not Found + deprecated: false + x-codegen-request-body-name: registrationInfo + "/services": + get: + tags: + - Service registry and supervision + summary: Returns service information + operationId: getServicesUsingGET + parameters: + - name: name + in: query + description: The name of the service + allowEmptyValue: false + schema: + type: string + example: service1 + responses: + '200': + description: OK + content: + text/plain;charset=ISO-8859-1: + schema: + type: array + example: + - serviceName: service1 + keepAliveIntervalSeconds: 1000 + timeSinceLastActivitySeconds: 7 + callbackUrl: http://localhost:8080 + items: + "$ref": "#/components/schemas/ServiceStatus" + '404': + description: Service is not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: Service not found + deprecated: false + delete: + tags: + - Service registry and supervision + summary: Delete a service + operationId: deleteServiceUsingDELETE + parameters: + - name: name + in: query + description: The name of the service + required: true + allowEmptyValue: false + schema: + type: string + example: service1 + responses: + '200': + description: OK + '204': + description: OK + '404': + description: Service not found + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'Could not find service: service1' + deprecated: false + "/services/keepalive": + put: + tags: + - Service registry and supervision + summary: Heartbeat from a serice + operationId: keepAliveServiceUsingPUT + parameters: + - name: name + in: query + description: The name of the service + required: true + allowEmptyValue: false + schema: + type: string + example: service1 + responses: + '200': + description: Service supervision timer refreshed, OK + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: OK + '201': + description: Created + '404': + description: The service is not found, needs re-registration + content: + text/plain;charset=ISO-8859-1: + schema: + type: string + example: 'Could not find service: service1' + deprecated: false + "/status": + get: + tags: + - Health check + summary: Returns status and statistics of this service + operationId: getStatusUsingGET + responses: + '200': + description: Service is living + content: + "*/*": + schema: + type: string + example: alive + '404': + description: Not Found + deprecated: false +components: + schemas: + PolicyInfo: + title: PolicyInfo + type: object + properties: + id: + type: string + description: identity of the policy + json: + type: object + properties: {} + 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 + RicInfo: + title: RicInfo + 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 ric + state: + type: string + description: state info + example: + - ricName: ric1 + managedElementIds: + - ME-1 + - ME-2 + policyTypes: + - '1' + state: AVAILABLE + - ricName: ric3 + managedElementIds: + - ME-1 + - ME-2 + policyTypes: + - '' + state: AVAILABLE + - ricName: ric2 + managedElementIds: + - ME-1 + - ME-2 + policyTypes: [] + state: AVAILABLE + - ricName: ric4 + managedElementIds: + - ME-1 + - ME-2 + policyTypes: + - '' + state: AVAILABLE + ServiceRegistrationInfo: + title: ServiceRegistrationInfo + required: + - serviceName + type: object + properties: + callbackUrl: + type: string + description: callback for notifying of RIC synchronization + keepAliveIntervalSeconds: + type: integer + description: keep alive interval for the service. This is a heartbeat supervision + of the service, which in regular intevals must invoke a 'keepAlive' REST + call. When a service does not invoke this call within the given time, + it is considered unavailble. An unavailable service will be automatically + deregistered and its policies will be deleted. Value 0 means no timeout + supervision. + format: int64 + serviceName: + type: string + description: identity of the service + example: + callbackUrl: http://localhost:9080 + keepAliveIntervalSeconds: 1000 + serviceName: service1 + ServiceStatus: + title: ServiceStatus + type: object + properties: + callbackUrl: + type: string + description: callback for notifying of RIC synchronization + keepAliveIntervalSeconds: + type: integer + description: policy keep alive timeout + format: int64 + serviceName: + type: string + description: identity of the service + timeSinceLastActivitySeconds: + type: integer + description: time since last invocation by the service + format: int64 + examples: + Policies-STD: + value: + - id: a986eb38-aac3-4897-bdf5-0333ea2bf730 + type: '' + ric: ric3 + json: + scope: + ueId: ue1 + groupId: group1 + sliceId: slice1 + qosId: qos1 + cellId: cell1 + statement: + priorityLevel: 5 + service: controlpanel + lastModified: '2020-07-22T12:21:48.157854Z' + Policies-OSC: + value: + - id: 73428e58-1670-4972-8498-e7e8f1003631 + type: '1' + ric: ric1 + json: + scope: + qosId: '36' + ueId: '1' + statement: + priorityLevel: 1 + service: c + lastModified: '2020-07-20T17:16:18.244383Z' + - id: 73428e58-1670-4972-8498-e7e8f100363e + type: '1' + ric: ric1 + json: + scope: + qosId: '34' + ueId: '1' + statement: + priorityLevel: 1 + service: controlpanel + lastModified: '2020-07-20T17:15:39.320469Z' + Policy-STD: + value: + scope: + ueId: ue1 + groupId: group1 + sliceId: slice1 + qosId: qos1 + cellId: cell1 + statement: + priorityLevel: 5 + Policy-OSC: + value: + scope: + qosId: '36' + ueId: '1' + statement: + priorityLevel: 1 + -- 2.16.6