Parse message names from xApp configMap
[ric-plt/appmgr.git] / api / appmgr_rest_api.json
index 92cc418..07390b0 100644 (file)
@@ -2,7 +2,7 @@
   "swagger": "2.0",
   "info": {
     "description": "This is a draft API for RIC appmgr",
-    "version": "0.1.2",
+    "version": "0.1.3",
     "title": "RIC appmgr",
     "license": {
       "name": "Apache 2.0",
     "http"
   ],
   "paths": {
-    "/health": {
+    "/health/alive": {
       "get": {
-        "summary": "Health check of xApp Manager",
+        "summary": "Health check of xApp Manager - Liveness probe",
         "tags": [
           "health"
         ],
-        "operationId": "getHealth",
+        "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",
             "schema": {
               "type": "object",
               "required": [
-                "xAppName"
+                "name"
               ],
               "properties": {
-                "xAppName": {
-                  "type":"string",
-                  "description":"Name of the xApp",
+                "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"
                 }
               }
         ],
         "parameters": [
           {
-            "name": "xAppConfig",
+            "name": "XAppConfig",
             "in": "body",
             "description": "xApp config",
             "schema": {
-              "$ref": "#/definitions/xAppConfig"
+              "$ref": "#/definitions/XAppConfig"
             }
           }
         ],
           "201": {
             "description": "xApp config successfully created",
             "schema": {
-              "$ref": "#/definitions/xAppConfig"
+              "$ref": "#/definitions/XAppConfig"
             }
           },
           "400": {
         ],
         "parameters": [
           {
-            "name": "xAppConfig",
+            "name": "XAppConfig",
             "in": "body",
             "description": "xApp config",
             "schema": {
-              "$ref": "#/definitions/xAppConfig"
+              "$ref": "#/definitions/XAppConfig"
             }
           }
         ],
           "200": {
             "description": "xApp config successfully modified",
             "schema": {
-              "$ref": "#/definitions/xAppConfig"
+              "$ref": "#/definitions/XAppConfig"
             }
           },
           "400": {
         "operationId": "deleteXappConfig",
         "parameters": [
           {
-            "name": "xAppConfigInfo",
+            "name": "ConfigMetadata",
             "in": "body",
             "description": "xApp configuration information",
             "schema": {
-              "$ref": "#/definitions/xAppConfigInfo"
+              "$ref": "#/definitions/ConfigMetadata"
             }
           }
         ],
             "in": "path",
             "description": "ID of subscription",
             "required": true,
-            "type": "integer"
+            "type": "string"
           }
         ],
         "responses": {
             "in": "path",
             "description": "ID of subscription",
             "required": true,
-            "type": "integer"
+            "type": "string"
           },
           {
             "in": "body",
             "in": "path",
             "description": "ID of subscription",
             "required": true,
-            "type": "integer"
+            "type": "string"
           }
         ],
         "responses": {
           "type": "integer",
           "example": 32300
         },
-        "txMessages" : {
+        "txMessages": {
           "type": "array",
           "items": {
-            "type" : "string",
-            "example" : "ControlIndication"
+            "type": "string",
+            "example": "ControlIndication"
           }
         },
-        "rxMessages" : {
+        "rxMessages": {
           "type": "array",
           "items": {
-            "type" : "string",
-            "example" : "LoadIndication"
+            "type": "string",
+            "example": "LoadIndication"
           }
         }
       }
     },
-    "xAppConfigInfo": {
+    "ConfigMetadata": {
       "type": "object",
       "required": [
-        "xAppName",
-        "configMapName",
+        "name",
+        "configName",
         "namespace"
       ],
       "properties": {
-        "xAppName": {
-          "type":"string",
-          "description":"Name of the xApp",
+        "name": {
+          "type": "string",
+          "description": "Name of the xApp",
           "example": "xapp-dummy"
         },
-        "configMapName": {
-          "type":"string",
-          "description":"Name of the config map",
+        "configName": {
+          "type": "string",
+          "description": "Name of the config map",
           "example": "xapp-dummy-config-map"
         },
         "namespace": {
-          "type":"string",
-          "description":"Name of the namespace",
+          "type": "string",
+          "description": "Name of the namespace",
           "example": "ricxapp"
         }
       }
     },
-    "xAppConfig": {
+    "XAppConfig": {
       "type": "object",
       "required": [
-        "xAppConfigInfo",
-        "configSchema",
-        "configMap"
+        "metadata",
+        "descriptor",
+        "config"
       ],
       "properties": {
-        "xAppConfigInfo": {
-          "$ref": "#/definitions/xAppConfigInfo"
+        "metadata": {
+          "$ref": "#/definitions/ConfigMetadata"
         },
-        "configSchema": {
-          "type":"object",
-          "description":"Schema of configuration in JSON format"
+        "descriptor": {
+          "type": "object",
+          "description": "Schema of configuration in JSON format"
         },
-        "configMap": {
-          "type":"object",
-          "description":"Configuration in JSON format"
+        "config": {
+          "type": "object",
+          "description": "Configuration in JSON format"
         }
       }
     },
     "AllXappConfig": {
       "type": "array",
       "items": {
-        "$ref": "#/definitions/xAppConfig"
+        "$ref": "#/definitions/XAppConfig"
       }
     },
     "subscriptionRequest": {