| 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' |