aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorelinuxhenrik <henrik.b.andersson@est.tech>2020-11-25 09:54:53 +0100
committerelinuxhenrik <henrik.b.andersson@est.tech>2020-11-25 09:54:58 +0100
commitd37b30aa8fc2dbc59ed7413b801ff74543037035 (patch)
treecef082071798d3aedbf5a4307bc096423be5eb5e
parent7b81653450775cc0256f4357345c4138404b18e7 (diff)
Sync documentation changes
Issue-ID: CCSDK-2974 Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech> Change-Id: Ida1e73aa851a58b5e6a75ba355552bafd14e0635
-rw-r--r--docs/media/yaml_logo.pngbin0 -> 3477 bytes
-rw-r--r--docs/offeredapis/offeredapis.rst59
-rw-r--r--docs/offeredapis/swagger/a1-adapter-api.yaml306
-rw-r--r--docs/offeredapis/swagger/pms-api.yaml852
4 files changed, 1190 insertions, 27 deletions
diff --git a/docs/media/yaml_logo.png b/docs/media/yaml_logo.png
new file mode 100644
index 00000000..0492eb4b
--- /dev/null
+++ b/docs/media/yaml_logo.png
Binary files differ
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. <b>Note!</b> 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: >-
+ <b>Note!</b> 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: >-
+ <b>Note!</b> 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: >-
+ <b>Note!</b> 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: >-
+ <b>Note!</b> 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: >-
+ <b>Note!</b> 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
+