+swagger: '2.0'
+info:
+ description: Api Documentation
+ version: '1.0'
+ title: Api Documentation
+ termsOfService: 'urn:tos'
+ contact: {}
+ license:
+ name: Apache 2.0
+ url: 'http://www.apache.org/licenses/LICENSE-2.0'
+host: 'localhost:8081'
+basePath: /
+tags:
+ - name: policy-controller
+ description: Policy Controller
+ - name: ric-repository-controller
+ description: Ric Repository Controller
+ - name: service-controller
+ description: Service Controller
+ - name: status-controller
+ description: Status Controller
+paths:
+ /policies:
+ get:
+ tags:
+ - policy-controller
+ summary: Returns the policies
+ operationId: getPoliciesUsingGET
+ produces:
+ - '*/*'
+ parameters:
+ - name: type
+ in: query
+ description: type
+ required: false
+ type: string
+ - name: ric
+ in: query
+ description: ric
+ required: false
+ type: string
+ - name: service
+ in: query
+ description: service
+ required: false
+ type: string
+ responses:
+ '200':
+ description: Policies
+ schema:
+ type: array
+ items:
+ $ref: '#/definitions/PolicyInfo'
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ /policy:
+ get:
+ tags:
+ - policy-controller
+ 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
+ '204':
+ description: Policy is not found
+ schema:
+ type: string
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ put:
+ tags:
+ - policy-controller
+ summary: Put a policy
+ operationId: putPolicyUsingPUT
+ consumes:
+ - application/json
+ produces:
+ - '*/*'
+ parameters:
+ - name: type
+ in: query
+ description: type
+ required: true
+ type: string
+ - name: instance
+ in: query
+ description: instance
+ required: true
+ type: string
+ - name: ric
+ in: query
+ description: ric
+ required: true
+ type: string
+ - name: service
+ in: query
+ description: service
+ required: true
+ type: string
+ - in: body
+ name: jsonBody
+ description: jsonBody
+ required: true
+ schema:
+ type: object
+ responses:
+ '200':
+ description: Policy created or updated
+ schema:
+ type: string
+ '201':
+ description: Created
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ delete:
+ tags:
+ - policy-controller
+ summary: Deletes the policy
+ operationId: deletePolicyUsingDELETE
+ produces:
+ - '*/*'
+ parameters:
+ - name: instance
+ in: query
+ description: instance
+ required: true
+ type: string
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/Mono«ResponseEntity«Void»»'
+ '204':
+ description: Policy deleted
+ schema:
+ $ref: '#/definitions/Mono«ResponseEntity«Void»»'
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ /policy_schema:
+ get:
+ tags:
+ - policy-controller
+ 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: Not Found
+ /policy_schemas:
+ get:
+ tags:
+ - policy-controller
+ 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: string
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ /policy_types:
+ get:
+ tags:
+ - policy-controller
+ summary: Returns policy types
+ 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: Not Found
+ /ric:
+ get:
+ tags:
+ - ric-repository-controller
+ 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
+ /rics:
+ get:
+ tags:
+ - ric-repository-controller
+ summary: Returns 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: Not Found
+ /service:
+ put:
+ tags:
+ - service-controller
+ 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
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ /services:
+ get:
+ tags:
+ - service-controller
+ 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: Not Found
+ delete:
+ tags:
+ - service-controller
+ 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: No Content
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ /services/keepalive:
+ post:
+ tags:
+ - service-controller
+ summary: Keep the poilicies 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'
+ /status:
+ get:
+ tags:
+ - status-controller
+ summary: Returns status and statistics of the service
+ operationId: getStatusUsingGET
+ produces:
+ - '*/*'
+ responses:
+ '200':
+ description: Service is living
+ schema:
+ type: string
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+definitions:
+ Mono«ResponseEntity«Void»»:
+ type: object
+ title: Mono«ResponseEntity«Void»»
+ Mono«ResponseEntity«string»»:
+ type: object
+ title: Mono«ResponseEntity«string»»
+ PolicyInfo:
+ type: object
+ properties:
+ id:
+ type: string
+ description: identity of the policy
+ allowEmptyValue: false
+ json:
+ type: string
+ description: the configuration of the policy
+ allowEmptyValue: false
+ lastModified:
+ type: string
+ description: 'timestamp, last modification time'
+ allowEmptyValue: false
+ ric:
+ type: string
+ description: identity the target NearRT RIC
+ allowEmptyValue: false
+ service:
+ type: string
+ description: the name of the service owning the policy
+ allowEmptyValue: false
+ type:
+ type: string
+ description: name of the policy type
+ allowEmptyValue: false
+ title: PolicyInfo
+ RicInfo:
+ type: object
+ properties:
+ managedElementIds:
+ type: array
+ description: O1 identities for managed entities
+ allowEmptyValue: false
+ items:
+ type: string
+ name:
+ type: string
+ description: identity of the ric
+ allowEmptyValue: false
+ policyTypes:
+ type: array
+ description: supported policy types
+ allowEmptyValue: false
+ items:
+ type: string
+ title: RicInfo
+ ServiceRegistrationInfo:
+ type: object
+ properties:
+ callbackUrl:
+ type: string
+ description: callback for notifying of RIC recovery
+ allowEmptyValue: false
+ 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
+ allowEmptyValue: false
+ name:
+ type: string
+ description: identity of the service
+ allowEmptyValue: false
+ title: ServiceRegistrationInfo
+ ServiceStatus:
+ type: object
+ properties:
+ keepAliveIntervalSeconds:
+ type: integer
+ format: int64
+ description: policy keep alive timeout
+ allowEmptyValue: false
+ name:
+ type: string
+ description: identity of the service
+ allowEmptyValue: false
+ timeSincePingSeconds:
+ type: integer
+ format: int64
+ description: time since last invocation by the service
+ allowEmptyValue: false
+ title: ServiceStatus
+