| 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 |
| - name: operation-handler |
| description: Operation Handler |
| - name: web-mvc-links-handler |
| description: Web Mvc Links Handler |
| paths: |
| /actuator: |
| get: |
| tags: |
| - web-mvc-links-handler |
| summary: links |
| operationId: linksUsingGET |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| additionalProperties: |
| type: object |
| additionalProperties: |
| $ref: '#/definitions/Link' |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/health: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_1 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/health/**: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/info: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_2 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/logfile: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_3 |
| produces: |
| - text/plain;charset=UTF-8 |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/loggers: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_5 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| '/actuator/loggers/{name}': |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_4 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| post: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingPOST |
| consumes: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| produces: |
| - '*/*' |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '201': |
| description: Created |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /actuator/metrics: |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_7 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| '/actuator/metrics/{requiredMetricName}': |
| get: |
| tags: |
| - operation-handler |
| summary: handle |
| operationId: handleUsingGET_6 |
| produces: |
| - application/vnd.spring-boot.actuator.v3+json |
| - application/json |
| - application/vnd.spring-boot.actuator.v2+json |
| parameters: |
| - in: body |
| name: body |
| description: body |
| required: false |
| schema: |
| type: object |
| additionalProperties: |
| type: string |
| responses: |
| '200': |
| description: OK |
| schema: |
| type: object |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: Not Found |
| deprecated: false |
| /policies: |
| get: |
| tags: |
| - A1 Policy Management |
| summary: Query policies |
| operationId: getPoliciesUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: ric |
| in: query |
| description: ric |
| required: false |
| type: string |
| - name: service |
| in: query |
| description: service |
| required: false |
| type: string |
| - name: type |
| in: query |
| description: type |
| required: false |
| type: string |
| 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: instance |
| in: query |
| description: instance |
| required: true |
| type: string |
| 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: instance |
| in: query |
| description: instance |
| required: true |
| type: string |
| - in: body |
| name: jsonBody |
| description: jsonBody |
| required: true |
| schema: |
| type: object |
| - name: ric |
| in: query |
| description: ric |
| required: true |
| type: string |
| - name: service |
| in: query |
| description: service |
| required: true |
| type: string |
| - name: type |
| in: query |
| description: type |
| required: true |
| type: string |
| 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 |
| '405': |
| description: Change is not allowed |
| schema: |
| type: string |
| '423': |
| description: RIC is locked |
| schema: |
| type: string |
| deprecated: false |
| delete: |
| tags: |
| - A1 Policy Management |
| summary: Delete a policy |
| operationId: deletePolicyUsingDELETE |
| produces: |
| - '*/*' |
| parameters: |
| - name: instance |
| in: query |
| description: instance |
| required: true |
| type: string |
| 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 locked |
| 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: id |
| required: true |
| type: string |
| 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: ric |
| required: false |
| type: string |
| 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: instance |
| in: query |
| description: instance |
| required: true |
| type: string |
| 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: ric |
| required: false |
| type: string |
| 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: managedElementId |
| required: false |
| type: string |
| responses: |
| '200': |
| description: RIC is fond |
| schema: |
| type: string |
| '401': |
| description: Unauthorized |
| '403': |
| description: Forbidden |
| '404': |
| description: RIC is not fond |
| schema: |
| type: string |
| deprecated: false |
| /rics: |
| get: |
| tags: |
| - RIC Repository |
| summary: Query NearRT RIC information |
| operationId: getRicsUsingGET |
| produces: |
| - '*/*' |
| parameters: |
| - name: policyType |
| in: query |
| description: policyType |
| required: false |
| type: string |
| 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: OK |
| schema: |
| type: string |
| '201': |
| description: Created |
| '400': |
| description: Cannot parse the ServiceRegistrationInfo |
| 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: name |
| required: false |
| type: string |
| 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: name |
| required: true |
| type: string |
| 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: |
| post: |
| tags: |
| - Service registry and supervision |
| summary: Keep the policies alive for a service |
| operationId: keepAliveServiceUsingPOST |
| consumes: |
| - application/json |
| produces: |
| - '*/*' |
| parameters: |
| - name: name |
| in: query |
| description: name |
| required: true |
| type: string |
| responses: |
| '200': |
| description: Policies timeout supervision refreshed |
| 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: |
| Link: |
| type: object |
| properties: |
| href: |
| type: string |
| templated: |
| type: boolean |
| title: Link |
| 'Map«string,Link»': |
| type: object |
| title: 'Map«string,Link»' |
| additionalProperties: |
| $ref: '#/definitions/Link' |
| 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 the target NearRT 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 |
| title: RicInfo |
| ServiceRegistrationInfo: |
| type: object |
| required: |
| - serviceName |
| properties: |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC recovery |
| keepAliveIntervalSeconds: |
| type: integer |
| format: int64 |
| description: keep alive interval for policies owned by the service. 0 means no timeout supervision. Polcies that are not refreshed within this time are removed |
| serviceName: |
| type: string |
| description: identity of the service |
| title: ServiceRegistrationInfo |
| ServiceStatus: |
| type: object |
| properties: |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC recovery |
| keepAliveIntervalSeconds: |
| type: integer |
| format: int64 |
| description: policy keep alive timeout |
| serviceName: |
| type: string |
| description: identity of the service |
| timeSincePingSeconds: |
| type: integer |
| format: int64 |
| description: time since last invocation by the service |
| title: ServiceStatus |
| |