{
  "swagger" : "2.0",
  "info" : {
    "version" : "4.1.2-SNAPSHOT",
    "title" : "Clamp Rest API"
  },
  "host" : "localhost:38405",
  "basePath" : "/restservices/clds/",
  "schemes" : [ "http" ],
  "paths" : {
    "/v2/loop/{loopName}" : {
      "get" : {
        "operationId" : "route3",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route3"
      }
    },
    "/v2/loop/delete/{loopName}" : {
      "put" : {
        "operationId" : "route13",
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : { }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route13"
      }
    },
    "/v2/loop/deploy/{loopName}" : {
      "put" : {
        "operationId" : "route8",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route8"
      }
    },
    "/v2/loop/getAllNames" : {
      "get" : {
        "operationId" : "route2",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route2"
      }
    },
    "/v2/loop/getstatus/{loopName}" : {
      "get" : {
        "operationId" : "route14",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route14"
      }
    },
    "/v2/loop/restart/{loopName}" : {
      "put" : {
        "operationId" : "route11",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route11"
      }
    },
    "/v2/loop/stop/{loopName}" : {
      "put" : {
        "operationId" : "route10",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route10"
      }
    },
    "/v2/loop/submit/{loopName}" : {
      "put" : {
        "operationId" : "route12",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route12"
      }
    },
    "/v2/loop/svgRepresentation/{loopName}" : {
      "get" : {
        "operationId" : "route4",
        "produces" : [ "application/xml" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "type" : "string"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route4"
      }
    },
    "/v2/loop/undeploy/{loopName}" : {
      "put" : {
        "operationId" : "route9",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route9"
      }
    },
    "/v2/loop/updateGlobalProperties/{loopName}" : {
      "post" : {
        "operationId" : "route5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/JsonObject"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route5"
      }
    },
    "/v2/loop/updateMicroservicePolicy/{loopName}" : {
      "post" : {
        "operationId" : "route7",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/MicroServicePolicy"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/MicroServicePolicy"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route7"
      }
    },
    "/v2/loop/updateOperationalPolicies/{loopName}" : {
      "post" : {
        "operationId" : "route6",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "loopName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/JsonArray"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/Loop"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route6"
      }
    },
    "/v1/clds/cldsInfo" : {
      "get" : {
        "operationId" : "route15",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/CldsInfo"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route15"
      }
    },
    "/v1/healthcheck" : {
      "get" : {
        "operationId" : "route16",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Output type",
            "schema" : {
              "$ref" : "#/definitions/CldsHealthCheck"
            }
          }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route16"
      }
    },
    "/v1/user/getUser" : {
      "get" : {
        "operationId" : "route17",
        "produces" : [ "text/plain" ],
        "responses" : {
          "200" : { }
        },
        "x-camelContextId" : "camel-1",
        "x-routeId" : "route17"
      }
    }
  },
  "definitions" : {
    "Loop" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "dcaeDeploymentId" : {
          "type" : "string"
        },
        "dcaeDeploymentStatusUrl" : {
          "type" : "string"
        },
        "dcaeBlueprintId" : {
          "type" : "string"
        },
        "svgRepresentation" : {
          "type" : "string"
        },
        "globalPropertiesJson" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "modelPropertiesJson" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "blueprint" : {
          "type" : "string"
        },
        "lastComputedState" : {
          "type" : "string",
          "enum" : [ "DESIGN", "SUBMITTED", "DEPLOYED", "RUNNING", "STOPPED", "IN_ERROR", "WAITING" ]
        },
        "components" : {
          "type" : "object",
          "additionalProperties" : {
            "$ref" : "#/definitions/ExternalComponent"
          }
        },
        "operationalPolicies" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/OperationalPolicy"
          }
        },
        "microServicePolicies" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/MicroServicePolicy"
          }
        },
        "loopLogs" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/LoopLog"
          }
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "org.onap.clamp.loop.Loop"
      }
    },
    "JsonArray" : {
      "type" : "object",
      "properties" : {
        "asString" : {
          "type" : "string"
        },
        "asNumber" : {
          "$ref" : "#/definitions/Number"
        },
        "asBoolean" : {
          "type" : "boolean"
        },
        "asDouble" : {
          "type" : "number",
          "format" : "double"
        },
        "asFloat" : {
          "type" : "number",
          "format" : "float"
        },
        "asLong" : {
          "type" : "integer",
          "format" : "int64"
        },
        "asInt" : {
          "type" : "integer",
          "format" : "int32"
        },
        "asByte" : {
          "type" : "string",
          "format" : "byte"
        },
        "asCharacter" : {
          "type" : "string"
        },
        "asBigDecimal" : {
          "type" : "number"
        },
        "asBigInteger" : {
          "type" : "integer"
        },
        "asShort" : {
          "type" : "integer",
          "format" : "int32"
        },
        "asJsonPrimitive" : {
          "$ref" : "#/definitions/JsonPrimitive"
        },
        "asJsonObject" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "jsonPrimitive" : {
          "type" : "boolean"
        },
        "asJsonArray" : {
          "$ref" : "#/definitions/JsonArray"
        },
        "jsonObject" : {
          "type" : "boolean"
        },
        "jsonNull" : {
          "type" : "boolean"
        },
        "asJsonNull" : {
          "$ref" : "#/definitions/JsonNull"
        },
        "jsonArray" : {
          "type" : "boolean"
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "com.google.gson.JsonArray"
      }
    },
    "LoopLog" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "integer",
          "format" : "int64"
        },
        "logType" : {
          "type" : "string",
          "enum" : [ "INFO", "WARNING", "ERROR" ]
        },
        "logComponent" : {
          "type" : "string"
        },
        "message" : {
          "type" : "string"
        },
        "loop" : {
          "$ref" : "#/definitions/Loop"
        },
        "logInstant" : {
          "type" : "integer",
          "format" : "int64"
        }
      }
    },
    "Number" : {
      "type" : "object"
    },
    "JsonPrimitive" : {
      "type" : "object",
      "properties" : {
        "boolean" : {
          "type" : "boolean"
        },
        "number" : {
          "type" : "boolean"
        },
        "asString" : {
          "type" : "string"
        },
        "asNumber" : {
          "$ref" : "#/definitions/Number"
        },
        "asBoolean" : {
          "type" : "boolean"
        },
        "asDouble" : {
          "type" : "number",
          "format" : "double"
        },
        "asFloat" : {
          "type" : "number",
          "format" : "float"
        },
        "asLong" : {
          "type" : "integer",
          "format" : "int64"
        },
        "asInt" : {
          "type" : "integer",
          "format" : "int32"
        },
        "asByte" : {
          "type" : "string",
          "format" : "byte"
        },
        "asCharacter" : {
          "type" : "string"
        },
        "asBigDecimal" : {
          "type" : "number"
        },
        "asBigInteger" : {
          "type" : "integer"
        },
        "asShort" : {
          "type" : "integer",
          "format" : "int32"
        },
        "string" : {
          "type" : "boolean"
        },
        "asJsonPrimitive" : {
          "$ref" : "#/definitions/JsonPrimitive"
        },
        "asJsonObject" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "jsonPrimitive" : {
          "type" : "boolean"
        },
        "asJsonArray" : {
          "$ref" : "#/definitions/JsonArray"
        },
        "jsonObject" : {
          "type" : "boolean"
        },
        "jsonNull" : {
          "type" : "boolean"
        },
        "asJsonNull" : {
          "$ref" : "#/definitions/JsonNull"
        },
        "jsonArray" : {
          "type" : "boolean"
        }
      }
    },
    "MicroServicePolicy" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "modelType" : {
          "type" : "string"
        },
        "properties" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "shared" : {
          "type" : "boolean"
        },
        "policyTosca" : {
          "type" : "string"
        },
        "jsonRepresentation" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "usedByLoops" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/Loop"
          }
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "org.onap.clamp.policy.microservice.MicroServicePolicy"
      }
    },
    "JsonObject" : {
      "type" : "object",
      "properties" : {
        "asJsonPrimitive" : {
          "$ref" : "#/definitions/JsonPrimitive"
        },
        "asString" : {
          "type" : "string"
        },
        "asJsonObject" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "jsonPrimitive" : {
          "type" : "boolean"
        },
        "asJsonArray" : {
          "$ref" : "#/definitions/JsonArray"
        },
        "jsonObject" : {
          "type" : "boolean"
        },
        "asNumber" : {
          "$ref" : "#/definitions/Number"
        },
        "jsonNull" : {
          "type" : "boolean"
        },
        "asJsonNull" : {
          "$ref" : "#/definitions/JsonNull"
        },
        "jsonArray" : {
          "type" : "boolean"
        },
        "asBoolean" : {
          "type" : "boolean"
        },
        "asDouble" : {
          "type" : "number",
          "format" : "double"
        },
        "asFloat" : {
          "type" : "number",
          "format" : "float"
        },
        "asLong" : {
          "type" : "integer",
          "format" : "int64"
        },
        "asInt" : {
          "type" : "integer",
          "format" : "int32"
        },
        "asByte" : {
          "type" : "string",
          "format" : "byte"
        },
        "asCharacter" : {
          "type" : "string"
        },
        "asBigDecimal" : {
          "type" : "number"
        },
        "asBigInteger" : {
          "type" : "integer"
        },
        "asShort" : {
          "type" : "integer",
          "format" : "int32"
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "com.google.gson.JsonObject"
      }
    },
    "ExternalComponent" : {
      "type" : "object",
      "properties" : {
        "state" : {
          "$ref" : "#/definitions/ExternalComponentState"
        },
        "componentName" : {
          "type" : "string"
        }
      }
    },
    "OperationalPolicy" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "configurationsJson" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "loop" : {
          "$ref" : "#/definitions/Loop"
        },
        "jsonRepresentation" : {
          "$ref" : "#/definitions/JsonObject"
        }
      }
    },
    "ExternalComponentState" : {
      "type" : "object",
      "properties" : {
        "stateName" : {
          "type" : "string"
        },
        "description" : {
          "type" : "string"
        },
        "level" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "JsonNull" : {
      "type" : "object",
      "properties" : {
        "asJsonPrimitive" : {
          "$ref" : "#/definitions/JsonPrimitive"
        },
        "asString" : {
          "type" : "string"
        },
        "asJsonObject" : {
          "$ref" : "#/definitions/JsonObject"
        },
        "jsonPrimitive" : {
          "type" : "boolean"
        },
        "asJsonArray" : {
          "$ref" : "#/definitions/JsonArray"
        },
        "jsonObject" : {
          "type" : "boolean"
        },
        "asNumber" : {
          "$ref" : "#/definitions/Number"
        },
        "jsonNull" : {
          "type" : "boolean"
        },
        "asJsonNull" : {
          "$ref" : "#/definitions/JsonNull"
        },
        "jsonArray" : {
          "type" : "boolean"
        },
        "asBoolean" : {
          "type" : "boolean"
        },
        "asDouble" : {
          "type" : "number",
          "format" : "double"
        },
        "asFloat" : {
          "type" : "number",
          "format" : "float"
        },
        "asLong" : {
          "type" : "integer",
          "format" : "int64"
        },
        "asInt" : {
          "type" : "integer",
          "format" : "int32"
        },
        "asByte" : {
          "type" : "string",
          "format" : "byte"
        },
        "asCharacter" : {
          "type" : "string"
        },
        "asBigDecimal" : {
          "type" : "number"
        },
        "asBigInteger" : {
          "type" : "integer"
        },
        "asShort" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "CldsInfo" : {
      "type" : "object",
      "properties" : {
        "userName" : {
          "type" : "string"
        },
        "cldsVersion" : {
          "type" : "string"
        },
        "permissionReadCl" : {
          "type" : "boolean"
        },
        "permissionUpdateCl" : {
          "type" : "boolean"
        },
        "permissionReadTemplate" : {
          "type" : "boolean"
        },
        "permissionUpdateTemplate" : {
          "type" : "boolean"
        },
        "permissionReadTosca" : {
          "type" : "boolean"
        },
        "permissionUpdateTosca" : {
          "type" : "boolean"
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "org.onap.clamp.clds.model.CldsInfo"
      }
    },
    "CldsHealthCheck" : {
      "type" : "object",
      "properties" : {
        "healthCheckComponent" : {
          "type" : "string"
        },
        "healthCheckStatus" : {
          "type" : "string"
        },
        "description" : {
          "type" : "string"
        }
      },
      "x-className" : {
        "type" : "string",
        "format" : "org.onap.clamp.clds.model.CldsHealthCheck"
      }
    }
  }
}