# ================================================================================== # Copyright (c) 2022 Samsung. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # This source code is part of the near-RT RIC (RAN Intelligent Controller) # platform project (RICP). # ================================================================================== swagger: '2.0' info: description: APIs for RIC-DMS title: RIC DMS version: '1.0' basePath: /api/v1 host: localhost:8000 schemes: - http paths: /custom-onboard: post: summary: onboard helm pkg (custom onboarding) consumes: - multipart/form-data parameters: - in: formData name: helmpkg type: file description: This file represents the helm chart. responses: '200': description: successfully onboarded helmchart '500': description: helmchart onboard failed schema: $ref: '#/definitions/error_message' tags: - experiment /charts: get: produces: - application/json parameters: [] responses: '200': description: Get helm chart list schema: type: object '500': description: Get helm chart list failed schema: $ref: '#/definitions/error_message' tags: - charts operationId: get_charts_list summary: Returns the list of xApp helm charts that have been onboarded '/charts/xApp/download/{xApp_name}/ver/{version}': get: produces: - application/zip parameters: - in: path name: xApp_name required: true type: string - in: path name: version required: true type: string responses: '200': description: Download helm chart OK schema: type: file '500': description: Get helm chart values.yaml failed schema: $ref: '#/definitions/error_message' tags: - charts description: Download helm chart. operationId: download_helm_chart summary: Download helm chart '/charts/xApp/{xApp_name}': get: produces: - application/json parameters: - in: path name: xApp_name required: true type: string responses: '200': description: Get helm chart schema: type: array items: type: object '500': description: Get helm chart failed schema: $ref: '#/definitions/error_message' tags: - charts operationId: get_chart summary: Returns the helm chart for the specified xApp '/charts/xApp/{xApp_name}/ver/{version}': delete: produces: - application/json - application/gzip parameters: - in: path name: xApp_name required: true type: string - in: path name: version required: true type: string responses: '200': description: Deleted specified helm chart schema: type: object '500': description: Delete helm chart failed schema: $ref: '#/definitions/error_message' tags: - charts operationId: delete_chart summary: Delete helm chart for the specified xApp and version get: produces: - application/json parameters: - in: path name: xApp_name required: true type: string - in: path name: version required: true type: string responses: '200': description: Get helm chart details OK schema: type: object '500': description: Get helm chart details failed schema: $ref: '#/definitions/error_message' tags: - charts operationId: get_charts_fetcher summary: get the helm chart for the specified xApp and version '/charts/xApp/{xApp_name}/ver/{version}/values.yaml': get: produces: - application/json - text/json parameters: - in: path name: xApp_name required: true type: string - in: path name: version required: true type: string responses: '200': description: Get helm chart values.yaml OK schema: type: object '500': description: Get helm chart values.yaml failed schema: $ref: '#/definitions/error_message' tags: - charts description: yaml file of the specified xApp and version. operationId: get_values_yaml_fetcher summary: Returns the helm values /deploy: delete: consumes: - application/json produces: - application/json parameters: - description: Input for the xApp deploy in: body name: body required: true schema: $ref: '#/definitions/deleteDeploymentDesc' responses: '201': description: successful un-deploy xApp schema: type: object '500': description: un-deployment failed schema: $ref: '#/definitions/error_message' tags: - deploy summary: Undeploy xApp post: consumes: - application/json produces: - application/json parameters: - description: Input for the xApp deployment in: body name: body required: true schema: $ref: '#/definitions/deploymentDesc' responses: '201': description: successful deployment of xApp schema: type: object '500': description: deployment failed schema: $ref: '#/definitions/error_message' tags: - deploy summary: deploy xApp put: consumes: - application/json produces: - application/json parameters: - description: Input for the xApp deploy in: body name: body required: true schema: $ref: '#/definitions/updateDeploymentDesc' responses: '201': description: successful updated xApp schema: type: object '501': description: un-deployment failed schema: $ref: '#/definitions/error_message' tags: - deploy summary: update xApp /health: get: produces: - application/json parameters: [] responses: '200': description: Health check OK schema: $ref: '#/definitions/status' '500': description: ric-dms is not ready schema: $ref: '#/definitions/error_message' tags: - health operationId: get_health_check summary: Returns the health condition of ric dms '/healthcheck/xApp/{xApp_name}/namespace/{namespace}': get: produces: - application/json parameters: - in: path name: xApp_name required: true type: string - in: path name: namespace required: true type: string responses: '200': description: Health check OK schema: $ref: '#/definitions/status' '500': description: xApp onboarder is not ready schema: $ref: '#/definitions/error_message' tags: - health summary: Return status of xApp deployment /onboarder: delete: consumes: - application/json produces: - application/json parameters: - in: body name: body schema: properties: appname: type: string version: type: string required: - appname type: object responses: '201': description: xApp onboard successfully. schema: $ref: '#/definitions/status' '400': description: xApp descriptor format error schema: $ref: '#/definitions/error_message' '500': description: xApp onboarder is not ready schema: $ref: '#/definitions/error_message' tags: - onboard operationId: delete_onboardx_apps summary: offload xApp using the xApp name and version x-codegen-request-body-name: payload post: consumes: - application/json produces: - application/json parameters: - in: body name: body required: true schema: $ref: '#/definitions/descriptor' responses: '201': description: xApp onboard successfully. schema: $ref: '#/definitions/status' '400': description: xApp descriptor format error schema: $ref: '#/definitions/error_message' '500': description: xApp onboarder is not ready schema: $ref: '#/definitions/error_message' tags: - onboard operationId: post_onboardx_apps summary: >- Onboard xApp using the xApp descriptor and schema or URL of descriptor and schema. x-codegen-request-body-name: payload definitions: deleteDeploymentDesc: properties: namespace: description: namespace to deploy xApp type: string version: type: string xAppname: type: string required: - xAppname - version type: object deploymentDesc: properties: namespace: description: namespace to deploy xApp type: string overridefile: description: override file type: string version: type: string xAppname: type: string required: - namespace type: object descriptor: properties: config: description: represents content of config file for xApp onboarding. type: object config-file_url: description: specify url of config-file. type: string schema: description: represents conent of schema file for xApp onboarding. type: object schema-file_url: description: specify url of schema-file. type: string type: object error_message: properties: error_message: description: source of the error type: string error_source: description: source of the error type: string status: description: http response message type: string required: - error_message - error_source - status type: object name: properties: property: type: integer type: object status: properties: status: description: status of the service type: string required: - status type: object updateDeploymentDesc: properties: namespace: description: namespace to deploy xApp type: string newVersion: type: string oldVersion: type: string operation: enum: - rollback - upgrade type: string xAppname: type: string required: - namespace type: object tags: - description: onboard xApps name: onboard - description: health check name: health - description: Managing helm charts name: charts - description: Managing deployment name: deploy x-components: {}