blob: ec9bbce4541db6792c3ad677e80cbb69a8bf720d [file] [log] [blame]
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