| # ================================================================================== |
| # Copyright (c) 2021 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). |
| # ================================================================================== |
| |
| openapi: 3.0.1 |
| info: |
| title: RIC DMS API |
| description: APIs for RIC-DMS |
| version: "1.0" |
| servers: |
| - url: /api/v1 |
| tags: |
| - name: onboard |
| description: onboard xApps |
| - name: health |
| description: health check |
| - name: charts |
| description: Managing helm charts |
| - name: deploy |
| description: Managing deployment |
| paths: |
| /charts: |
| get: |
| tags: |
| - charts |
| summary: Returns the list of xApp helm charts that have been onboarded |
| operationId: get_charts_list |
| responses: |
| 200: |
| description: Get helm chart list |
| content: |
| application/json: |
| schema: |
| type: object |
| 500: |
| description: Get helm chart list failed |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /charts/xApp/{xApp_name}: |
| get: |
| tags: |
| - charts |
| summary: Returns the helm chart for the specified xApp |
| operationId: get_chart |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Get helm chart |
| content: |
| application/json: |
| schema: |
| type: object |
| 500: |
| description: Get helm chart failed |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /charts/xApp/{xApp_name}/ver/{version}: |
| get: |
| tags: |
| - charts |
| summary: get the helm chart for the specified xApp and version |
| operationId: get_charts_fetcher |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| - name: version |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Get helm chart package OK |
| content: |
| application/json: |
| schema: |
| type: object |
| 500: |
| description: Get helm chart package failed |
| content: |
| application/gzip: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| delete: |
| tags: |
| - charts |
| summary: Delete helm chart for the specified xApp and version |
| operationId: delete_chart |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| - name: version |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Deleted specified helm chart |
| content: |
| application/json: |
| schema: |
| type: object |
| 500: |
| description: Delete helm chart failed |
| content: |
| application/gzip: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /charts/xApp/download/{xApp_name}/ver/{version}: |
| get: |
| tags: |
| - charts |
| summary: Download helm chart |
| description: Download helm chart. |
| operationId: download_helm_chart |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| - name: version |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Download helm chart OK |
| content: |
| application/zip: |
| schema: |
| type: string |
| format: binary |
| 500: |
| description: Get helm chart values.yaml failed |
| content: |
| text/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /charts/xApp/{xApp_name}/ver/{version}/values.yaml: |
| get: |
| tags: |
| - charts |
| summary: Returns the helm values |
| description: yaml file of the specified xApp and version. |
| operationId: get_values_yaml_fetcher |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| - name: version |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Get helm chart values.yaml OK |
| content: |
| application/json: |
| schema: |
| type: object |
| 500: |
| description: Get helm chart values.yaml failed |
| content: |
| text/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /health: |
| get: |
| tags: |
| - health |
| summary: Returns the health condition of ric dms |
| operationId: get_health_check |
| responses: |
| 200: |
| description: Health check OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/status' |
| 500: |
| description: ric-dms is not ready |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /healthcheck/xApp/{xApp_name}/namespace/{namespace}: |
| get: |
| tags: |
| - health |
| summary: Return status of xApp deployment |
| parameters: |
| - name: xApp_name |
| in: path |
| required: true |
| schema: |
| type: string |
| - name: namespace |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Health check OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/status' |
| 500: |
| description: xApp onboarder is not ready |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| /onboarder: |
| post: |
| tags: |
| - onboard |
| summary: Onboard xApp using the xApp descriptor and schema or URL of descriptor and schema. |
| operationId: post_onboardx_apps |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/descriptor' |
| required: true |
| responses: |
| 201: |
| description: xApp onboard successfully. |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/status' |
| 400: |
| description: xApp descriptor format error |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| 500: |
| description: xApp onboarder is not ready |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| x-codegen-request-body-name: payload |
| delete: |
| tags: |
| - onboard |
| summary: offload xApp using the xApp name and version |
| operationId: delete_onboardx_apps |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: object |
| required: |
| - appname |
| properties: |
| appname: |
| type: string |
| version: |
| type: string |
| responses: |
| 201: |
| description: xApp onboard successfully. |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/status' |
| 400: |
| description: xApp descriptor format error |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| 500: |
| description: xApp onboarder is not ready |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| x-codegen-request-body-name: payload |
| |
| /deploy: |
| post: |
| tags: |
| - deploy |
| summary: deploy xApp |
| requestBody: |
| description: Input for the xApp deployment |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/deploymentDesc' |
| responses: |
| 201: |
| description: successful deployment of xApp |
| content: |
| application/json: |
| schema: |
| type: object |
| 501: |
| description: deployment failed |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| put: |
| tags: |
| - deploy |
| summary: update xApp |
| requestBody: |
| description: Input for the xApp deploy |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/updateDeploymentDesc' |
| |
| responses: |
| 201: |
| description: successful updated xApp |
| content: |
| application/json: |
| schema: |
| type: object |
| 501: |
| description: un-deployment failed |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| delete: |
| tags: |
| - deploy |
| summary: Undeploy xApp |
| requestBody: |
| description: Input for the xApp deploy |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/deleteDeploymentDesc' |
| responses: |
| 201: |
| description: successful un-deploy xApp |
| content: |
| application/json: |
| schema: |
| type: object |
| 501: |
| description: un-deployment failed |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_message' |
| |
| |
| |
| components: |
| schemas: |
| name: |
| type: object |
| properties: |
| property: |
| type: integer |
| descriptor: |
| type: object |
| properties: |
| config: |
| type: string |
| description: represents content of config file for xApp onboarding. |
| schema: |
| type: string |
| description: represents conent of schema file for xApp onboarding. |
| config-file_url: |
| type: string |
| description: specify url of config-file. |
| schema-file_url: |
| type: string |
| description: specify url of schema-file. |
| |
| deploymentDesc: |
| required: |
| - namespace |
| type: object |
| properties: |
| xAppname: |
| type: string |
| version: |
| type: string |
| namespace: |
| type: string |
| description: namespace to deploy xApp |
| overridefile: |
| type: string |
| description: override file |
| |
| updateDeploymentDesc: |
| required: |
| - namespace |
| type: object |
| properties: |
| xAppname: |
| type: string |
| oldVersion: |
| type: string |
| newVersion: |
| type: string |
| namespace: |
| type: string |
| description: namespace to deploy xApp |
| operation: |
| type: string |
| enum: |
| - rollback |
| - upgrade |
| |
| deleteDeploymentDesc: |
| required: |
| - xAppname |
| - version |
| type: object |
| properties: |
| xAppname: |
| type: string |
| version: |
| type: string |
| namespace: |
| type: string |
| description: namespace to deploy xApp |
| |
| error_message: |
| required: |
| - error_message |
| - error_source |
| - status |
| type: object |
| properties: |
| error_source: |
| type: string |
| description: source of the error |
| error_message: |
| type: string |
| description: source of the error |
| status: |
| type: string |
| description: http response message |
| status: |
| required: |
| - status |
| type: object |
| properties: |
| status: |
| type: string |
| description: status of the service |
| |