+++ /dev/null
-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