From 05a09ad6c1d600bad7fe02715ee9cb7cc1ca3526 Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Fri, 29 Oct 2021 03:25:02 +0530 Subject: [PATCH] Add API yaml for ricdms Add API yaml for ricdms. Issue-ID: RIC-714 Signed-off-by: subhash kumar singh Change-Id: Ie0dd330a147c0b06d71ae0d6c1a292093d8cc640 --- api/ric-dms-api.yaml | 503 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100644 api/ric-dms-api.yaml diff --git a/api/ric-dms-api.yaml b/api/ric-dms-api.yaml new file mode 100644 index 0000000..3f67705 --- /dev/null +++ b/api/ric-dms-api.yaml @@ -0,0 +1,503 @@ +# ================================================================================== +# 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 + -- 2.16.6