diff options
author | PatrikBuhr <patrik.buhr@est.tech> | 2021-02-02 14:06:44 +0100 |
---|---|---|
committer | KAPIL SINGAL <ks220y@att.com> | 2021-02-02 22:39:57 +0000 |
commit | fee9955e585a00155b93f6de279a36217a8857bd (patch) | |
tree | ec0b5ea7cb400b0f68d6ee4899ff31973db36ce8 /a1-policy-management/api/pms-api.yaml | |
parent | b369f78cc4c558b94d1192f8774ce5bb044f2cf0 (diff) |
Improved API documentation
Using swagger3 and improving the API documatation.
Change-Id: I31f7783e0a6e6fd7698c68e5df6f2d306bce6816
Issue-ID: CCSDK-3127
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
Diffstat (limited to 'a1-policy-management/api/pms-api.yaml')
-rw-r--r-- | a1-policy-management/api/pms-api.yaml | 1071 |
1 files changed, 442 insertions, 629 deletions
diff --git a/a1-policy-management/api/pms-api.yaml b/a1-policy-management/api/pms-api.yaml index eff705d0..d16fbe5f 100644 --- a/a1-policy-management/api/pms-api.yaml +++ b/a1-policy-management/api/pms-api.yaml @@ -1,41 +1,54 @@ openapi: 3.0.1 info: title: A1 Policy management service - description: "The O-RAN Non-RT RIC Policy Management Service provides a REST API\ - \ for management of A1 policices. \nIt provides support for:<ul><li>A1 Policy\ - \ creation and modification.</li><li>Maintaining a view of supported Near-RT RIC\ - \ policy types </li><li>Supervision of using services (R-APPs). When a service\ - \ is unavailble, its policies are removed. </li> <li>Monitoring and maintaining\ - \ consistency of the SMO view of A1 policies and the Near-RT RICs </li></ul>" - contact: - name: Ericsson Software Technology - email: nonrtric@est.tech + description: <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides + a REST API for management of A1 policices. <br/>The main tasks of the service + are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring + and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining + a view of supported Near-RT RIC policy types</li><li>Supervision of using services + (R-APPs). When a service is unavailble, its policies are removed.</li></ul><h2>APIs + provided by the service</h2><h3>A1 Policy Management</h3><p>This is an API for + management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification + and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval + of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API + for updating and retrieval of the component configuration. Note that there other + ways to maintain the configuration.</p><h3>Callbacks</h3><p>These are endpoints + that are invoked by this service. The callbacks are registerred in this service + at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that + provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one + Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service + Registry and Supervision</h3><p>API used for registerring services that uses PMS. + Each A1 policy is owned by a service. PMS can supervise each registerred service + and will automatically remove policies for unavailable services.</p> + license: + name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License. + url: http://www.apache.org/licenses/LICENSE-2.0 version: 1.1.0 - x-audience: external-partner - x-api-id: 60f9a0e7-343f-43bf-9194-d8d65688d465 servers: - url: / tags: -- name: A1 Policy Management Version 1.0 (deprecated) - description: Policy Controller -- name: A1 Policy Management Version 2.0 - description: Policy Controller -- name: Component Configuration - description: Configuration Controller -- name: R-App Callbacks - description: Rapp Simulator Controller +- name: A1 Policy Management V1.0 + description: (deprecated primitves) +- name: Management of configuration +- name: A1 Policy Management +- name: NearRT-RIC Repository +- name: Service Registry and Supervision +- name: Health Check +- name: Callbacks paths: /policy_types: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Query policy type names - operationId: getPolicyTypesUsingGET_1 + operationId: getPolicyTypes parameters: - name: ric in: query description: The name of the Near-RT RIC to get types for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -47,45 +60,44 @@ paths: type: array items: type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC is not found content: '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false /a1-policy/v2/policy-instances: get: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Query for A1 policy instances description: Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned. - operationId: getPolicyInstancesUsingGET + operationId: getPolicyInstances parameters: - name: policytype_id in: query description: The identity of the policy type to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: ric_id in: query description: The identity of the Near-RT RIC to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: service_id in: query description: The identity of the service to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -95,25 +107,18 @@ paths: application/json: schema: $ref: '#/components/schemas/policy_info_list_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC, policy type or service not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false /a1-policy/v2/status: get: tags: - - A1 Policy Management Version 2.0 + - Health Check summary: Returns status and statistics of this service - operationId: getStatusUsingGET + operationId: getStatus_1 responses: 200: description: Service is living @@ -121,27 +126,19 @@ paths: application/json: schema: $ref: '#/components/schemas/status_info_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Not Found - content: {} - deprecated: false /services: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Returns service information - operationId: getServicesUsingGET_1 + operationId: getServices parameters: - name: name in: query description: The name of the service - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -153,79 +150,64 @@ paths: type: array items: $ref: '#/components/schemas/service_status_v1' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Service is not found content: '*/*': schema: type: string - deprecated: false delete: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Delete a service - operationId: deleteServiceUsingDELETE_1 + operationId: deleteService parameters: - name: name in: query description: The name of the service required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: - 200: - description: OK - content: - '*/*': - schema: - type: string 204: description: Service deleted content: '*/*': schema: - type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + $ref: '#/components/schemas/void' 404: description: Service not found content: '*/*': schema: type: string - deprecated: false /a1-policy/v2/rics/ric: get: tags: - - A1 Policy Management Version 2.0 + - NearRT-RIC Repository summary: Returns info for one Near-RT RIC description: Either a Near-RT RIC identity or a Mananged Element identity can be specified.<br>The intention with Mananged Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU). - operationId: getRicUsingGET_1 + operationId: getRic_1 parameters: - name: managed_element_id in: query description: The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: ric_id in: query description: The identity of a Near-RT RIC to get information for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -235,30 +217,52 @@ paths: application/json: schema: $ref: '#/components/schemas/ric_info_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC is not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false + /a1-policy/v2/policy-types: + get: + tags: + - A1 Policy Management + summary: Query policy type identities + operationId: getPolicyTypes_1 + parameters: + - name: ric_id + in: query + description: The identity of the Near-RT RIC to get types for. + required: false + style: form + explode: true + schema: + type: string + responses: + 200: + description: Policy type IDs + content: + application/json: + schema: + $ref: '#/components/schemas/policytype_id_list_v2' + 404: + description: Near-RT RIC is not found + content: + application/json: + schema: + $ref: '#/components/schemas/error_information' /a1-policy/v2/policies/{policy_id}: get: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Returns a policy - operationId: getPolicyUsingGET + operationId: getPolicy_1 parameters: - name: policy_id in: path - description: policy_id required: true + style: simple + explode: false schema: type: string responses: @@ -268,97 +272,57 @@ paths: application/json: schema: $ref: '#/components/schemas/policy_info_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy is not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false delete: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Delete a policy - operationId: deletePolicyUsingDELETE + operationId: deletePolicy_1 parameters: - name: policy_id in: path - description: policy_id required: true + style: simple + explode: false schema: type: string responses: 200: description: Not used - content: {} - 204: - description: Policy deleted - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Policy is not found content: '*/*': schema: - $ref: '#/components/schemas/error_information' + $ref: '#/components/schemas/void' 423: description: Near-RT RIC is not operational content: '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false - /a1-policy/v2/policy-types: - get: - tags: - - A1 Policy Management Version 2.0 - summary: Query policy type identities - operationId: getPolicyTypesUsingGET - parameters: - - name: ric_id - in: query - description: The identity of the Near-RT RIC to get types for. - allowEmptyValue: false - schema: - type: string - responses: - 200: - description: Policy type IDs + 204: + description: Policy deleted content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/policytype_id_list_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + $ref: '#/components/schemas/void' 404: - description: Near-RT RIC is not found + description: Policy is not found content: - application/json: + '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false /a1-policy/v2/configuration: get: tags: - - Component Configuration + - Management of configuration summary: Returns the contents of the configuration file description: Note that the file contents is not relevant if the Consul is used. - operationId: getConfigurationUsingGET + operationId: getConfiguration responses: 200: description: Configuration @@ -366,27 +330,19 @@ paths: application/json: schema: type: object - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: File is not found or readable content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false put: tags: - - Component Configuration + - Management of configuration summary: Replace the current configuration file with the given configuration description: Note that the file is ignored if the Consul is used. - operationId: putConfigurationUsingPUT + operationId: putConfiguration requestBody: - description: configuration content: application/json: schema: @@ -395,25 +351,16 @@ paths: responses: 200: description: Configuration updated - content: {} - 201: - description: Created - content: {} + content: + '*/*': + schema: + $ref: '#/components/schemas/void' 400: description: Invalid configuration provided content: '*/*': schema: $ref: '#/components/schemas/error_information' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Not Found - content: {} 500: description: Something went wrong when replacing the configuration. Try again. @@ -421,19 +368,19 @@ paths: '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false /policy: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Returns a policy configuration - operationId: getPolicyUsingGET_1 + operationId: getPolicy parameters: - name: id in: query description: The identity of the policy instance. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: @@ -443,44 +390,49 @@ paths: '*/*': schema: type: object - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy is not found content: '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false put: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Put a policy - operationId: putPolicyUsingPUT_1 + operationId: putPolicy parameters: + - name: type + in: query + description: The name of the policy type. + required: false + style: form + explode: true + schema: + type: string + default: "" - name: id in: query description: The identity of the policy instance. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string - name: ric in: query description: The name of the Near-RT RIC where the policy will be created. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string - name: service in: query description: The name of the service creating the policy. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string - name: transient @@ -488,19 +440,13 @@ paths: 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. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: boolean default: false - example: false - - name: type - in: query - description: The name of the policy type. - allowEmptyValue: false - schema: - type: string requestBody: - description: jsonBody content: application/json: schema: @@ -509,91 +455,96 @@ paths: responses: 200: description: Policy updated - content: {} + content: + '*/*': + schema: + $ref: '#/components/schemas/void' 201: description: Policy created - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Near-RT RIC or policy type is not found content: '*/*': schema: - type: string + $ref: '#/components/schemas/void' 423: description: Near-RT RIC is not operational content: '*/*': schema: type: string - deprecated: false + 404: + description: Near-RT RIC or policy type is not found + content: + '*/*': + schema: + type: string delete: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Delete a policy - operationId: deletePolicyUsingDELETE_1 + operationId: deletePolicy parameters: - name: id in: query description: The identity of the policy instance. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: 200: description: Not used - content: {} - 204: - description: Policy deleted - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Policy is not found content: '*/*': schema: - type: string + $ref: '#/components/schemas/void' 423: description: Near-RT RIC is not operational content: '*/*': schema: type: string - deprecated: false + 204: + description: Policy deleted + content: + '*/*': + schema: + $ref: '#/components/schemas/void' + 404: + description: Policy is not found + content: + '*/*': + schema: + type: string /policies: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Query policies - operationId: getPoliciesUsingGET + operationId: getPolicies parameters: + - name: type + in: query + description: The name of the policy type to get policies for. + required: false + style: form + explode: true + schema: + type: string - name: ric in: query description: The name of the Near-RT RIC to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: service in: query description: The name of the service to get policies for. - allowEmptyValue: false - schema: - type: string - - name: type - in: query - description: The name of the policy type to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -605,30 +556,27 @@ paths: type: array items: $ref: '#/components/schemas/policy_info_v1' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC or type not found content: '*/*': schema: type: string - deprecated: false /a1-policy/v2/services/{service_id}/keepalive: put: tags: - - A1 Policy Management Version 2.0 + - Service Registry and Supervision summary: Heartbeat indicates that the service is running - operationId: keepAliveServiceUsingPUT + description: A registerred service must call this in regular intervals to indicate + that it is in operation. Absence of this call will lead to that teh service + will be deregisterred and all its policies are removed. + operationId: keepAliveService_1 parameters: - name: service_id in: path - description: service_id required: true + style: simple + explode: false schema: type: string responses: @@ -638,103 +586,83 @@ paths: '*/*': schema: type: object - 201: - description: Created - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: The service is not found, needs re-registration content: '*/*': schema: $ref: '#/components/schemas/error_information' - deprecated: false - /policy_schema: + /rics: get: tags: - - A1 Policy Management Version 1.0 (deprecated) - summary: Returns one policy type schema definition - operationId: getPolicySchemaUsingGET + - A1 Policy Management V1.0 + summary: Query Near-RT RIC information + operationId: getRics parameters: - - name: id + - name: policyType in: query - description: The identity of the policy type to get the definition for. - required: true - allowEmptyValue: false + description: The name of the policy type + required: false + style: form + explode: true schema: type: string responses: 200: - description: Policy schema + description: OK content: '*/*': schema: - type: object - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + type: array + items: + $ref: '#/components/schemas/ric_info_v1' 404: - description: The policy type is not found + description: Policy type is not found content: '*/*': schema: - $ref: '#/components/schemas/error_information' - deprecated: false - /rics: + type: string + /policy_schema: get: tags: - - A1 Policy Management Version 1.0 (deprecated) - summary: Query Near-RT RIC information - operationId: getRicsUsingGET + - A1 Policy Management V1.0 + summary: Returns one policy type schema definition + operationId: getPolicySchema parameters: - - name: policyType + - name: id in: query - description: The name of the policy type - allowEmptyValue: false + description: The identity of the policy type to get the definition for. + required: true + style: form + explode: true schema: type: string responses: 200: - description: OK + description: Policy schema content: '*/*': schema: - type: array - items: - $ref: '#/components/schemas/ric_info_v1' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + type: object 404: - description: Policy type is not found + description: The policy type is not found content: '*/*': schema: - type: string - deprecated: false + $ref: '#/components/schemas/error_information' /policy_status: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Returns a policy status - operationId: getPolicyStatusUsingGET_1 + operationId: getPolicyStatus parameters: - name: id in: query description: The identity of the policy. required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: @@ -744,33 +672,28 @@ paths: '*/*': schema: type: object - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy is not found content: '*/*': schema: type: string - deprecated: false /a1-policy/v2/rics: get: tags: - - A1 Policy Management Version 2.0 + - NearRT-RIC Repository summary: Query Near-RT RIC information description: The call returns all Near-RT RICs that supports a given policy type identity - operationId: getRicsUsingGET_1 + operationId: getRics_1 parameters: - name: policytype_id in: query description: The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -780,115 +703,103 @@ paths: application/json: schema: $ref: '#/components/schemas/ric_info_list_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy type is not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false - /policy_ids: + /policy_schemas: get: tags: - - A1 Policy Management Version 1.0 (deprecated) - summary: Query policies, only policy identities returned - operationId: getPolicyIdsUsingGET_1 + - A1 Policy Management V1.0 + summary: Returns policy type schema definitions + operationId: getPolicySchemas parameters: - name: ric in: query - description: The name of the Near-RT RIC to get policies for. - allowEmptyValue: false - schema: - type: string - - name: service - in: query - description: The name of the service to get policies for. - allowEmptyValue: false - schema: - type: string - - name: type - in: query - description: The name of the policy type to get policies for. - allowEmptyValue: false + description: The name of the Near-RT RIC to get the definitions for. + required: false + style: form + explode: true schema: type: string responses: 200: - description: Policy identitiess + description: Policy schemas content: '*/*': schema: type: array items: - type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + type: object 404: - description: Near-RT RIC or type not found + description: Near-RT RIC is not found content: '*/*': schema: - type: string - deprecated: false - /policy_schemas: + $ref: '#/components/schemas/error_information' + /policy_ids: get: tags: - - A1 Policy Management Version 1.0 (deprecated) - summary: Returns policy type schema definitions - operationId: getPolicySchemasUsingGET + - A1 Policy Management V1.0 + summary: Query policies, only policy identities returned + operationId: getPolicyIds parameters: + - name: type + in: query + description: The name of the policy type to get policies for. + required: false + style: form + explode: true + schema: + type: string - name: ric in: query - description: The name of the Near-RT RIC to get the definitions for. - allowEmptyValue: false + description: The name of the Near-RT RIC to get policies for. + required: false + style: form + explode: true + schema: + type: string + - name: service + in: query + description: The name of the service to get policies for. + required: false + style: form + explode: true schema: type: string responses: 200: - description: Policy schemas + description: Policy identitiess content: '*/*': schema: type: array items: - type: object - properties: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + type: string 404: - description: Near-RT RIC is not found + description: Near-RT RIC or type not found content: '*/*': schema: - $ref: '#/components/schemas/error_information' - deprecated: false + type: string /a1-policy/v2/services: get: tags: - - A1 Policy Management Version 2.0 + - Service Registry and Supervision summary: Returns service information description: Either information about a registered service with given identity or all registered services are returned. - operationId: getServicesUsingGET + operationId: getServices_1 parameters: - name: service_id in: query description: The identity of the service - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -898,29 +809,21 @@ paths: application/json: schema: $ref: '#/components/schemas/service_list_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Service is not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false put: tags: - - A1 Policy Management Version 2.0 + - Service Registry and Supervision summary: Register a service description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate supervision of the service. If a service is inactive, its policies will be deleted.</li></ul> - operationId: putServiceUsingPUT + operationId: putService_1 requestBody: - description: registrationInfo content: application/json: schema: @@ -945,28 +848,19 @@ paths: '*/*': schema: $ref: '#/components/schemas/error_information' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Not Found - content: {} - deprecated: false /ric: get: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Returns the name of a RIC managing one Mananged Element - operationId: getRicUsingGET + operationId: getRic parameters: - name: managedElementId in: query description: The identity of the Managed Element required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: @@ -976,31 +870,25 @@ paths: '*/*': schema: type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC is not found content: '*/*': schema: type: string - deprecated: false /services/keepalive: put: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Heartbeat from a service - operationId: keepAliveServiceUsingPUT_1 + operationId: keepAliveService parameters: - name: name in: query description: The name of the service required: true - allowEmptyValue: false + style: form + explode: true schema: type: string responses: @@ -1010,101 +898,84 @@ paths: '*/*': schema: type: string - 201: - description: Created - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: The service is not found, needs re-registration - content: {} - deprecated: false + content: + '*/*': + schema: + type: string + /status: + get: + tags: + - A1 Policy Management V1.0 + summary: Returns status and statistics of this service + operationId: getStatus + responses: + 200: + description: Service is living + content: + '*/*': + schema: + type: string /a1-policy/v2/policy-types/{policytype_id}: get: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Returns a policy type definition - operationId: getPolicyTypeUsingGET + operationId: getPolicyType parameters: - name: policytype_id in: path - description: policytype_id required: true + style: simple + explode: false schema: type: string responses: 200: description: Policy type content: - application/json: + '*/*': schema: $ref: '#/components/schemas/policytype_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy type is not found content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - deprecated: false - /status: - get: - tags: - - A1 Policy Management Version 1.0 (deprecated) - summary: Returns status and statistics of this service - operationId: getStatusUsingGET_1 - responses: - 200: - description: Service is living - content: '*/*': schema: - type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Not Found - content: {} - deprecated: false + $ref: '#/components/schemas/error_information' /a1-policy/v2/policies: get: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Query policy identities description: Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned. - operationId: getPolicyIdsUsingGET + operationId: getPolicyIds_1 parameters: - name: policytype_id in: query description: The identity of the policy type to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: ric_id in: query description: The identity of the Near-RT RIC to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string - name: service_id in: query description: The identity of the service to get policies for. - allowEmptyValue: false + required: false + style: form + explode: true schema: type: string responses: @@ -1114,26 +985,18 @@ paths: application/json: schema: $ref: '#/components/schemas/policy_id_list_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Near-RT RIC or type not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false put: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Create or update a policy - operationId: putPolicyUsingPUT + operationId: putPolicy_1 requestBody: - description: policyInfo content: application/json: schema: @@ -1142,38 +1005,36 @@ paths: responses: 200: description: Policy updated - content: {} + content: + application/json: + schema: + $ref: '#/components/schemas/void' 201: description: Policy created - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Near-RT RIC or policy type is not found content: application/json: schema: - $ref: '#/components/schemas/error_information' + $ref: '#/components/schemas/void' 423: description: Near-RT RIC is not operational content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false - /r-app/pms-callback: + 404: + description: Near-RT RIC or policy type is not found + content: + application/json: + schema: + $ref: '#/components/schemas/error_information' + /r-app/near-rt-ric-status: post: tags: - - R-App Callbacks + - Callbacks summary: Callback for Near-RT RIC status description: The URL to this call is registerred at Service registration. - operationId: jobStatusCallbackUsingPOST + operationId: jobStatusCallback requestBody: - description: body content: application/json: schema: @@ -1182,64 +1043,17 @@ paths: responses: 200: description: OK - content: {} - 201: - description: Created - content: {} - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Not Found - content: {} - deprecated: false - /a1-policy/v2/services/{service_id}: - delete: - tags: - - A1 Policy Management Version 2.0 - summary: Unregister a service - operationId: deleteServiceUsingDELETE - parameters: - - name: service_id - in: path - description: service_id - required: true - schema: - type: string - responses: - 200: - description: Not used - content: {} - 204: - description: Service unregistered content: - '*/*': - schema: - type: object - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} - 404: - description: Service not found - content: - '*/*': + application/json: schema: - $ref: '#/components/schemas/error_information' - deprecated: false + $ref: '#/components/schemas/void' /service: put: tags: - - A1 Policy Management Version 1.0 (deprecated) + - A1 Policy Management V1.0 summary: Register a service - operationId: putServiceUsingPUT_1 + operationId: putService requestBody: - description: registrationInfo content: application/json: schema: @@ -1264,27 +1078,51 @@ paths: '*/*': schema: type: string - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} + /a1-policy/v2/services/{service_id}: + delete: + tags: + - Service Registry and Supervision + summary: Unregister a service + operationId: deleteService_1 + parameters: + - name: service_id + in: path + required: true + style: simple + explode: false + schema: + type: string + responses: + 200: + description: Not used + content: + '*/*': + schema: + $ref: '#/components/schemas/void' + 204: + description: Service unregistered + content: + '*/*': + schema: + type: object 404: - description: Not Found - content: {} - deprecated: false + description: Service not found + content: + '*/*': + schema: + $ref: '#/components/schemas/error_information' /a1-policy/v2/policies/{policy_id}/status: get: tags: - - A1 Policy Management Version 2.0 + - A1 Policy Management summary: Returns a policy status - operationId: getPolicyStatusUsingGET + operationId: getPolicyStatus_1 parameters: - name: policy_id in: path - description: policy_id required: true + style: simple + explode: false schema: type: string responses: @@ -1294,23 +1132,15 @@ paths: application/json: schema: $ref: '#/components/schemas/policy_status_info_v2' - 401: - description: Unauthorized - content: {} - 403: - description: Forbidden - content: {} 404: description: Policy is not found content: application/json: schema: $ref: '#/components/schemas/error_information' - deprecated: false components: schemas: error_information: - title: error_information type: object properties: detail: @@ -1325,15 +1155,16 @@ components: format: int32 example: 503 description: Problem as defined in https://tools.ietf.org/html/rfc7807 + void: + type: object + description: Void/empty status_info_v2: - title: status_info_v2 type: object properties: status: type: string description: status text policy_info_v1: - title: policy_info_v1 type: object properties: service: @@ -1341,7 +1172,6 @@ components: description: the name of the service owning the policy json: type: object - properties: {} description: the configuration of the policy id: type: string @@ -1355,8 +1185,24 @@ components: ric: type: string description: identity of the target Near-RT RIC + service_registration_info_v1: + type: object + properties: + keepAliveIntervalSeconds: + type: integer + 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. + format: int64 + callbackUrl: + type: string + description: callback for notifying of RIC synchronization + serviceName: + type: string ric_info_v2: - title: ric_info_v2 type: object properties: ric_id: @@ -1367,15 +1213,10 @@ components: description: O1 identities for managed entities items: type: string + description: O1 identities for managed entities state: type: string - description: "State for the Near-RT RIC, values: \nUNAVAILABLE: The Near-RT\ - \ RIC is not avialable, information may be inconsistent \nAVAILABLE: The\ - \ normal state. Policies can be configured. +\nSYNCHRONIZING: The Policy\ - \ Management Service is synchronizing the view of the Near-RT RIC. Policies\ - \ cannot be configured. \nCONSISTENCY_CHECK: A consistency check between\ - \ the Policy Management Service and the Near-RT RIC. Policies cannot be\ - \ configured." + description: Represents the states for a Near-RT RIC enum: - UNAVAILABLE - AVAILABLE @@ -1386,37 +1227,9 @@ components: description: supported policy types items: type: string + description: supported policy types description: Information for a Near-RT RIC - service_registration_info_v1: - title: service_registration_info_v1 - type: object - properties: - keepAliveIntervalSeconds: - type: integer - 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. - format: int64 - callbackUrl: - type: string - description: callback for notifying of RIC synchronization - serviceName: - type: string - policy_info_list_v2: - title: policy_info_list_v2 - type: object - properties: - policies: - type: array - description: List of policy information - items: - $ref: '#/components/schemas/policy_info_v2' - description: List of policy information service_registration_info_v2: - title: service_registration_info_v2 required: - service_id type: object @@ -1430,15 +1243,23 @@ components: keep_alive_interval_seconds: type: integer description: keep alive interval for the service. This is a heartbeat supervision - of the service, which in regular intevals must invoke a 'keepAlive' REST + 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. format: int64 description: Information for one service + policy_info_list_v2: + type: object + properties: + policies: + type: array + description: List of policy information + items: + $ref: '#/components/schemas/policy_info_v2' + description: List of policy information ric_info_v1: - title: ric_info_v1 type: object properties: managedElementIds: @@ -1446,49 +1267,47 @@ components: description: O1 identities for managed entities items: type: string + description: O1 identities for managed entities policyTypes: type: array description: supported policy types items: type: string + description: supported policy types state: type: string description: state info ricName: type: string description: identity of the Near-RT RIC - policy_status_info_v2: - title: policy_status_info_v2 - type: object - properties: - last_modified: - type: string - description: timestamp, last modification time - status: - type: object - properties: {} - description: the Policy status - description: Status for one A1-P Policy service_status_v1: - title: service_status_v1 type: object properties: keepAliveIntervalSeconds: type: integer description: policy keep alive timeout format: int64 - callbackUrl: - type: string - description: callback for notifying of RIC synchronization timeSinceLastActivitySeconds: type: integer description: time since last invocation by the service format: int64 + callbackUrl: + type: string + description: callback for notifying of RIC synchronization serviceName: type: string description: identity of the service + policy_status_info_v2: + type: object + properties: + last_modified: + type: string + description: timestamp, last modification time + status: + type: object + description: the Policy status + description: Status for one A1-P Policy service_status_v2: - title: service_status_v2 type: object properties: callback_url: @@ -1505,18 +1324,8 @@ components: type: integer description: time since last invocation by the service format: int64 - policytype_v2: - title: policytype_v2 - type: object - properties: - policy_schema: - type: object - properties: {} - description: Policy type json scema. The schema is a json object following - http://json-schema.org/draft-07/schema - description: Policy type + description: List of service information ric_info_list_v2: - title: ric_info_list_v2 type: object properties: rics: @@ -1525,8 +1334,15 @@ components: items: $ref: '#/components/schemas/ric_info_v2' description: List of Near-RT RIC information + policytype_v2: + type: object + properties: + policy_schema: + type: object + description: Policy type json scema. The schema is a json object following + http://json-schema.org/draft-07/schema + description: Policy type policytype_id_list_v2: - title: policytype_id_list_v2 type: object properties: policytype_ids: @@ -1534,19 +1350,9 @@ components: description: Policy type identities items: type: string + description: Policy type identities description: Information about policy types - policy_id_list_v2: - title: policy_id_list_v2 - type: object - properties: - policy_ids: - type: array - description: Policy identities - items: - type: string - description: A list of policy identities policy_info_v2: - title: policy_info_v2 required: - policy_data - policy_id @@ -1571,7 +1377,6 @@ components: description: the name of the service owning the policy policy_data: type: object - properties: {} description: the configuration of the policy status_notification_uri: type: string @@ -1580,8 +1385,17 @@ components: type: string description: identity of the policy type description: Information for one A1-P Policy + policy_id_list_v2: + type: object + properties: + policy_ids: + type: array + description: Policy identities + items: + type: string + description: Policy identities + description: A list of policy identities service_list_v2: - title: service_list_v2 type: object properties: service_list: @@ -1591,7 +1405,6 @@ components: $ref: '#/components/schemas/service_status_v2' description: List of service information service_callback_info_v2: - title: service_callback_info_v2 required: - event_type - ric_id |