blob: 3f6770543bb267045b466190a2efac9ac1ec25d3 [file] [log] [blame]
# ==================================================================================
# 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