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