Merge "Add API yaml for ricdms"
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
+