Swagger-baser server REST API interface
[ric-plt/appmgr.git] / api / appmgr_rest_api.json
diff --git a/api/appmgr_rest_api.json b/api/appmgr_rest_api.json
deleted file mode 100644 (file)
index 2b08195..0000000
+++ /dev/null
@@ -1,840 +0,0 @@
-{
-  "swagger": "2.0",
-  "info": {
-    "description": "This is a draft API for RIC appmgr",
-    "version": "0.1.7",
-    "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/search": {
-        "get": {
-        "summary": "Returns the list of all deployable xapps",
-        "tags": [
-          "xapp"
-        ],
-        "operationId": "listAllDeployableXapps",
-        "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 config"
-          },
-          "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": {
-          "201": {
-            "description": "Subscription successfully created",
-            "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"
-        }
-      }
-    }
-  }
-}