-# ==================================================================================
-# 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
-