X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=app-mgr-client%2Fsrc%2Fmain%2Fresources%2Fxapp_manager_rest_api_v0_1_5.yaml;fp=app-mgr-client%2Fsrc%2Fmain%2Fresources%2Fxapp_manager_rest_api_v0_1_5.yaml;h=eb89359466c7bb02ea306665bff10117ccc80ace;hb=80f26bbeef6caea8f9946e8a0e1a5e0319dacc38;hp=0000000000000000000000000000000000000000;hpb=1fde0c3b93c9cf75b9e48382f298f644b03fa249;p=portal%2Fric-dashboard.git diff --git a/app-mgr-client/src/main/resources/xapp_manager_rest_api_v0_1_5.yaml b/app-mgr-client/src/main/resources/xapp_manager_rest_api_v0_1_5.yaml new file mode 100644 index 00000000..eb893594 --- /dev/null +++ b/app-mgr-client/src/main/resources/xapp_manager_rest_api_v0_1_5.yaml @@ -0,0 +1,596 @@ +# ========================LICENSE_START================================= +# O-RAN-SC +# +# Copyright (C) 2019 AT&T Intellectual Property and Nokia +# +# 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. +# ========================LICENSE_END=================================== +swagger: '2.0' +info: + description: This is a draft API for RIC appmgr + version: 0.1.5 + title: RIC appmgr + license: + name: Apache 2.0 + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' +host: hostname +basePath: /ric/v1 +schemes: + - http +paths: + /health/alive : + get : + summary : Health check of xApp Manager - Liveness probe + tags : + - health + operationId : getHealthAlive + responses : + '200' : + description : Status of xApp Manager is ok + /health/ready : + get : + summary : Readiness check of xApp Manager - Readiness probe + tags : + - health + operationId : getHealthReady + responses : + '200': + description : xApp Manager is ready for service + '503': + description: xApp Manager is not ready for service + /xapps: + post: + summary: Deploy a xapp + tags: + - xapp + operationId: deployXapp + consumes: + - application/json + produces: + - application/json + parameters: + - name: xAppInfo + in: body + description: xApp information + schema: + type: object + required: + - name + properties: + name: + type: string + description: Name of the xApp. + example: xapp-dummy + configName: + type: string + description: Name of the xApp configmap. Overrides the value given in Helm chart value file. + example: xapp-dummy-configmap + namespace: + type: string + description: Name of the namespace to which xApp is deployed. Overrides the value given in Helm chart value file. + example: ricxapps + serviceName: + type: string + description: Name of the service xApp is providing. Overrides the value given in Helm chart value file. + example: xapp-dummy-service + imageRepo: + type: string + description: Name of the docker repository xApp is located. Overrides the value given in Helm chart value file. + example: xapprepo + hostname: + type: string + description: Hostname for the pod. Used by messaging library. Overrides the value given in Helm chart value file. + example: xapp-dummy + responses: + '201': + description: xApp successfully created + schema: + $ref: '#/definitions/Xapp' + '400': + description: Invalid input + '500': + description: Internal error + get: + summary: Returns the status of all xapps + tags: + - xapp + operationId: getAllXapps + produces: + - application/json + responses: + '200': + description: successful query of xApps + schema: + $ref: '#/definitions/AllDeployedXapps' + '500': + description: Internal error + '/xapps/list': + get: + summary: Returns the list of all deployable xapps + tags: + - xapp + operationId: listAllXapps + produces: + - application/json + responses: + '200': + description: successful list of deployable xApps + schema: + $ref: '#/definitions/AllDeployableXapps' + '500': + description: Internal error + '/xapps/{xAppName}': + get: + summary: Returns the status of a given xapp + tags: + - xapp + operationId: getXappByName + produces: + - application/json + parameters: + - name: xAppName + in: path + description: Name of xApp + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/Xapp' + '400': + description: Invalid ID supplied + '404': + description: Xapp not found + '500': + description: Internal error + delete: + summary: Undeploy an existing xapp + tags: + - xapp + operationId: undeployXapp + parameters: + - name: xAppName + in: path + description: Xapp to be undeployed + required: true + type: string + responses: + '204': + description: Successful deletion of xApp + '400': + description: Invalid xApp name supplied + '500': + description: Internal error + '/xapps/{xAppName}/instances/{xAppInstanceName}': + get: + summary: Returns the status of a given xapp + tags: + - xapp + operationId: getXappInstanceByName + produces: + - application/json + parameters: + - name: xAppName + in: path + description: Name of xApp + required: true + type: string + - name: xAppInstanceName + in: path + description: Name of xApp instance to get information + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/XappInstance' + '400': + description: Invalid name supplied + '404': + description: Xapp not found + '500': + description: Internal error + /config: + post: + summary: Create xApp config + tags: + - xapp + operationId: createXappConfig + consumes: + - application/json + produces: + - application/json + parameters: + - name: XAppConfig + in: body + description: xApp config + schema: + $ref: '#/definitions/XAppConfig' + responses: + '201': + description: xApp config successfully created + schema: + $ref: '#/definitions/XAppConfig' + '400': + description: Invalid input + '422': + description: Validation of configuration failed + '500': + description: Internal error + put: + summary: Modify xApp config + tags: + - xapp + operationId: ModifyXappConfig + consumes: + - application/json + produces: + - application/json + parameters: + - name: XAppConfig + in: body + description: xApp config + schema: + $ref: '#/definitions/XAppConfig' + responses: + '200': + description: xApp config successfully modified + schema: + $ref: '#/definitions/XAppConfig' + '400': + description: Invalid input + '422': + description: Validation of configuration failed + '500': + description: Internal error + get: + summary: Returns the configuration of all xapps + tags: + - xapp + operationId: getAllXappConfig + produces: + - application/json + responses: + '200': + description: successful query of xApp config + schema: + $ref: '#/definitions/AllXappConfig' + '500': + description: Internal error + delete: + summary: Delete xApp configuration + tags: + - xapp + operationId: deleteXappConfig + parameters: + - name: ConfigMetadata + in: body + description: xApp configuration information + schema: + $ref: '#/definitions/ConfigMetadata' + responses: + '204': + description: Successful deletion of xApp + '400': + description: Invalid parameters supplied + '500': + description: Internal error + /subscriptions: + post: + summary: Subscribe event + tags: + - xapp + - subscriptions + operationId: addSubscription + consumes: + - application/json + produces: + - application/json + parameters: + - name: subscriptionRequest + in: body + description: New subscription + required: true + schema: + $ref: '#/definitions/subscriptionRequest' + responses: + '200': + description: Subscription successful + schema: + $ref: '#/definitions/subscriptionResponse' + '400': + description: Invalid input + get: + summary: Returns all subscriptions + tags: + - xapp + - subscriptions + operationId: getSubscriptions + produces: + - application/json + responses: + '200': + description: successful query of subscriptions + schema: + $ref: '#/definitions/allSubscriptions' + '/subscriptions/{subscriptionId}': + get: + summary: Returns the information of subscription + tags: + - xapp + - subscriptions + operationId: getSubscriptionById + produces: + - application/json + parameters: + - name: subscriptionId + in: path + description: ID of subscription + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/subscription' + '400': + description: Invalid ID supplied + '404': + description: Subscription not found + put: + summary: Modify event subscription + tags: + - xapp + - subscriptions + operationId: modifySubscription + consumes: + - application/json + produces: + - application/json + parameters: + - name: subscriptionId + in: path + description: ID of subscription + required: true + type: string + - in: body + name: subscriptionRequest + description: Modified subscription + required: true + schema: + $ref: '#/definitions/subscriptionRequest' + responses: + '200': + description: Subscription modification successful + schema: + $ref: '#/definitions/subscriptionResponse' + '400': + description: Invalid input + delete: + summary: Unsubscribe event + tags: + - xapp + - subscriptions + description: '' + operationId: deleteSubscription + parameters: + - name: subscriptionId + in: path + description: ID of subscription + required: true + type: string + responses: + '204': + description: Successful deletion of subscription + '400': + description: Invalid subscription supplied +definitions: + AllDeployableXapps: + type: array + items: + type: string + example: "xapp-dummy" + AllDeployedXapps: + type: array + items: + $ref: '#/definitions/Xapp' + Xapp: + type: object + required: + - name + properties: + name: + type: string + example: xapp-dummy + status: + type: string + description: xapp status in the RIC + enum: + - unknown + - deployed + - deleted + - superseded + - failed + - deleting + version: + type: string + example: 1.2.3 + instances: + type: array + items: + $ref: '#/definitions/XappInstance' + XappInstance: + type: object + required: + - name + properties: + name: + type: string + example: xapp-dummy-6cd577d9-4v255 + status: + type: string + description: xapp instance status + enum: + - pending + - running + - succeeded + - failed + - unknown + - completed + - crashLoopBackOff + ip: + type: string + example: 192.168.0.1 + port: + type: integer + example: 32300 + txMessages: + type: array + items: + type: string + example: ControlIndication + rxMessages: + type: array + items: + type: string + example: LoadIndication + ConfigMetadata: + type: object + required: + - name + - configName + - namespace + properties: + name: + type: string + description: Name of the xApp + example: xapp-dummy + configName: + type: string + description: Name of the config map + example: xapp-dummy-config-map + namespace: + type: string + description: Name of the namespace + example: ricxapp + XAppConfig: + type: object + required: + - metadata + - descriptor + - config + properties: + metadata: + $ref: '#/definitions/ConfigMetadata' + descriptor: + type: object + description: Schema of configuration in JSON format + config: + type: object + description: Configuration in JSON format + AllXappConfig: + type: array + items: + $ref: '#/definitions/XAppConfig' + subscriptionRequest: + type: object + required: + - targetUrl + - eventType + - maxRetries + - retryTimer + properties: + targetUrl: + type: string + example: 'http://localhost:11111/apps/webhook/' + eventType: + type: string + description: Event which is subscribed + enum: + - created + - deleted + - all + maxRetries: + type: integer + description: Maximum number of retries + example: 11 + retryTimer: + type: integer + description: Time in seconds to wait before next retry + example: 22 + subscriptionResponse: + type: object + properties: + id: + type: string + example: 1ILBltYYzEGzWRrVPZKmuUmhwcc + version: + type: integer + example: 2 + eventType: + type: string + description: Event which is subscribed + enum: + - created + - deleted + - updated + - all + allSubscriptions: + type: array + items: + $ref: '#/definitions/subscription' + subscription: + type: object + properties: + id: + type: string + example: 1ILBltYYzEGzWRrVPZKmuUmhwcc + targetUrl: + type: string + example: 'http://localhost:11111/apps/webhook/' + eventType: + type: string + description: Event which is subscribed + enum: + - created + - deleted + - updated + - all + maxRetries: + type: integer + description: Maximum number of retries + example: 11 + retryTimer: + type: integer + description: Time in seconds to wait before next retry + example: 22 + subscriptionNotification: + type: object + properties: + id: + type: string + example: 1ILBltYYzEGzWRrVPZKmuUmhwcc + version: + type: integer + example: 2 + eventType: + type: string + description: Event to be notified + enum: + - created + - deleted + - updated + xApps: + $ref: '#/definitions/AllDeployedXapps'