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: 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: false 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 '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_ids: get: tags: - A1 Policy Management summary: 'Query policies, only IDs returned' operationId: getPolicyIdsUsingGET 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: 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: 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: Service updated schema: type: string '201': description: Service created schema: type: string '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: Heartbeat from a serice operationId: keepAliveServiceUsingPOST consumes: - application/json produces: - '*/*' parameters: - name: name in: query description: name required: true type: string 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 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 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