| swagger: '2.0' |
| info: |
| description: This page lists all the rest apis for the service. |
| version: '1.0' |
| title: A1 Policy management service |
| host: 'localhost:8081' |
| basePath: / |
| 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 |
| produces: |
| - '*/*' |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| - name: service |
| in: query |
| description: The name of the service to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| - name: type |
| in: query |
| description: The name of the policy type to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policies |
| schema: |
| type: array |
| items: |
| $ref: '#/definitions/PolicyInfo' |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC or type not found |
| schema: |
| type: string |
| deprecated: false |
| /policy: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Returns a policy configuration |
| operationId: getPolicyUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: id |
| in: query |
| description: The ID of the policy instance. |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy found |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Policy is not found |
| deprecated: false |
| put: |
| tags: |
| - A1 Policy Management |
| summary: Put a policy |
| operationId: putPolicyUsingPUT |
| consumes: |
| - application/json |
| produces: |
| - '*/*' |
| parameters: |
| - name: id |
| in: query |
| description: The ID of the policy instance. |
| required: true |
| type: string |
| allowEmptyValue: false |
| - in: body |
| name: jsonBody |
| description: jsonBody |
| required: true |
| schema: |
| type: object |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC where the policy will be created. |
| required: true |
| type: string |
| allowEmptyValue: false |
| - name: service |
| in: query |
| description: The name of the service creating the policy. |
| required: true |
| type: string |
| allowEmptyValue: false |
| - name: transient |
| in: query |
| description: If the policy is transient or not (boolean defaulted to false). A policy is transient if it will be forgotten when the service needs to reconnect to the Near-RT RIC. |
| required: false |
| type: boolean |
| default: false |
| allowEmptyValue: false |
| x-example: false |
| - name: type |
| in: query |
| description: The name of the policy type. |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy updated |
| schema: |
| type: object |
| '201': |
| description: Policy created |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC or policy type is not found |
| schema: |
| type: string |
| '423': |
| description: RIC is not operational |
| schema: |
| type: string |
| deprecated: false |
| delete: |
| tags: |
| - A1 Policy Management |
| summary: Delete a policy |
| operationId: deletePolicyUsingDELETE |
| produces: |
| - '*/*' |
| parameters: |
| - name: id |
| in: query |
| description: The ID of the policy instance. |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '204': |
| description: Policy deleted |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Policy is not found |
| schema: |
| type: string |
| '423': |
| description: RIC is not operational |
| schema: |
| type: string |
| deprecated: false |
| /policy_ids: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: 'Query policies, only IDs returned' |
| operationId: getPolicyIdsUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| - name: service |
| in: query |
| description: The name of the service to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| - name: type |
| in: query |
| description: The name of the policy type to get policies for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy ids |
| schema: |
| type: array |
| items: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC or type not found |
| schema: |
| type: string |
| deprecated: false |
| /policy_schema: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Returns one policy type schema definition |
| operationId: getPolicySchemaUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: id |
| in: query |
| description: The ID of the policy type to get the definition for. |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy schema |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC is not found |
| schema: |
| type: string |
| deprecated: false |
| /policy_schemas: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Returns policy type schema definitions |
| operationId: getPolicySchemasUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get the definitions for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy schemas |
| schema: |
| type: array |
| items: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC is not found |
| schema: |
| type: string |
| deprecated: false |
| /policy_status: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Returns a policy status |
| operationId: getPolicyStatusUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: id |
| in: query |
| description: The ID of the policy. |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy status |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Policy is not found |
| schema: |
| type: string |
| deprecated: false |
| /policy_types: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Query policy type names |
| operationId: getPolicyTypesUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get types for. |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: Policy type names |
| schema: |
| type: array |
| items: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC is not found |
| schema: |
| type: string |
| deprecated: false |
| /ric: |
| get: |
| tags: |
| - RIC Repository |
| summary: Returns the name of a RIC managing one Mananged Element |
| operationId: getRicUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: managedElementId |
| in: query |
| description: The ID of the Managed Element |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: RIC is found |
| schema: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC is not found |
| schema: |
| type: string |
| deprecated: false |
| /rics: |
| get: |
| tags: |
| - RIC Repository |
| summary: Query Near-RT RIC information |
| operationId: getRicsUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: policyType |
| in: query |
| description: The name of the policy type |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: array |
| items: |
| $ref: '#/definitions/RicInfo' |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Policy type is not found |
| schema: |
| type: string |
| deprecated: false |
| /service: |
| put: |
| tags: |
| - Service registry and supervision |
| summary: Register a service |
| operationId: putServiceUsingPUT |
| consumes: |
| - application/json |
| produces: |
| - '*/*' |
| parameters: |
| - in: body |
| name: registrationInfo |
| description: registrationInfo |
| required: true |
| schema: |
| $ref: '#/definitions/ServiceRegistrationInfo' |
| responses: |
| '200': |
| description: Service updated |
| schema: |
| type: string |
| '201': |
| description: Service created |
| schema: |
| type: string |
| '400': |
| description: The ServiceRegistrationInfo is not accepted |
| schema: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /services: |
| get: |
| tags: |
| - Service registry and supervision |
| summary: Returns service information |
| operationId: getServicesUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| required: false |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: array |
| items: |
| $ref: '#/definitions/ServiceStatus' |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Service is not found |
| schema: |
| type: string |
| deprecated: false |
| delete: |
| tags: |
| - Service registry and supervision |
| summary: Delete a service |
| operationId: deleteServiceUsingDELETE |
| produces: |
| - '*/*' |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: string |
| '204': |
| description: OK |
| schema: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Service not found |
| schema: |
| type: string |
| deprecated: false |
| /services/keepalive: |
| put: |
| tags: |
| - Service registry and supervision |
| summary: Heartbeat from a serice |
| operationId: keepAliveServiceUsingPUT |
| consumes: |
| - application/json |
| produces: |
| - '*/*' |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| required: true |
| type: string |
| allowEmptyValue: false |
| responses: |
| '200': |
| description: 'Service supervision timer refreshed, OK' |
| schema: |
| type: string |
| '201': |
| description: Created |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: 'The service is not found, needs re-registration' |
| deprecated: false |
| /status: |
| get: |
| tags: |
| - Health check |
| summary: Returns status and statistics of this service |
| operationId: getStatusUsingGET |
| produces: |
| - '*/*' |
| responses: |
| '200': |
| description: Service is living |
| schema: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| definitions: |
| Mono«ResponseEntity«object»»: |
| type: object |
| title: Mono«ResponseEntity«object»» |
| Mono«ResponseEntity«string»»: |
| type: object |
| title: Mono«ResponseEntity«string»» |
| PolicyInfo: |
| type: object |
| properties: |
| id: |
| type: string |
| description: identity of the policy |
| json: |
| type: object |
| description: the configuration of the policy |
| lastModified: |
| type: string |
| description: 'timestamp, last modification time' |
| ric: |
| type: string |
| description: identity of the target Near-RT RIC |
| service: |
| type: string |
| description: the name of the service owning the policy |
| type: |
| type: string |
| description: name of the policy type |
| title: PolicyInfo |
| 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 |
| title: RicInfo |
| ServiceRegistrationInfo: |
| type: object |
| required: |
| - serviceName |
| properties: |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC synchronization |
| keepAliveIntervalSeconds: |
| type: integer |
| format: int64 |
| description: 'keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a ''keepAlive'' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.' |
| serviceName: |
| type: string |
| description: identity of the service |
| title: ServiceRegistrationInfo |
| ServiceStatus: |
| type: object |
| properties: |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC synchronization |
| keepAliveIntervalSeconds: |
| type: integer |
| format: int64 |
| description: policy keep alive timeout |
| serviceName: |
| type: string |
| description: identity of the service |
| timeSinceLastActivitySeconds: |
| type: integer |
| format: int64 |
| description: time since last invocation by the service |
| title: ServiceStatus |