{
    "swagger":"2.0",
    "info":{
        "version":"3.0.0-SNAPSHOT",
        "title":"clamp"
    },
    "host":"",
    "basePath":"/clamp/restservices/clds/v1",
    "schemes":[
        "http"
    ],
    "paths":{
        "/clds/action/{action}/{modelName}":{
            "put":{
                "description":"REST service that saves and processes an action for a CLDS model by name.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"action",
                        "in":"path",
                        "required":true
                    },
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    },
                    {
                        "type":"string",
                        "name":"test",
                        "in":"query",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                }
            }
        },
        "/clds/cldsDetails":{
            "get":{
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/CldsMonitoringDetails"
                            }
                        }
                    }
                }
            }
        },
        "/clds/cldsInfo":{
            "get":{
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsInfo"
                        }
                    }
                }
            }
        },
        "/clds/dcae/event":{
            "post":{
                "description":"REST service that accepts events for a model.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"test",
                        "in":"query",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/DcaeEvent"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/deploy/{modelName}":{
            "put":{
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                }
            }
        },
        "/clds/healthcheck":{
            "get":{
                "description":"REST service that retrieves clds healthcheck information.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsHealthCheck"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsHealthCheck"
                        }
                    }
                }
            }
        },
        "/clds/model-names":{
            "get":{
                "description":"REST service that retrieves a list of CLDS model names.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ValueItem"
                            }
                        }
                    }
                }
            }
        },
        "/clds/model/bpmn/{modelName}":{
            "get":{
                "description":"REST service that retrieves BPMN for a CLDS model name from the database.\n This is subset of the json getModel. This is only expected to be used for\n testing purposes, not by the UI.",
                "consumes":[
                ],
                "produces":[
                    "text/xml"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/model/image/{modelName}":{
            "get":{
                "description":"REST service that retrieves image for a CLDS model name from the\n database. This is subset of the json getModel. This is only expected to\n be used for testing purposes, not by the UI.",
                "consumes":[
                ],
                "produces":[
                    "text/xml"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/model/{modelName}":{
            "get":{
                "description":"REST service that retrieves a CLDS model by name from the database.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                }
            },
            "put":{
                "description":"REST service that saves a CLDS model by name in the database.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                }
            }
        },
        "/clds/properties":{
            "get":{
                "description":"REST service that retrieves total properties required by UI",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/properties/{serviceInvariantUUID}":{
            "get":{
                "description":"REST service that retrieves total properties by using invariantUUID based\n on refresh and non refresh",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"serviceInvariantUUID",
                        "in":"path",
                        "required":true
                    },
                    {
                        "type":"boolean",
                        "name":"refresh",
                        "in":"query",
                        "required":false,
                        "default":"false"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/sdc/services":{
            "get":{
                "description":"REST service that retrieves sdc services",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/clds/undeploy/{modelName}":{
            "put":{
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"modelName",
                        "in":"path",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsModel"
                        }
                    }
                }
            }
        },
        "/cldsTempate/template-names":{
            "get":{
                "description":"REST service that retrieves a list of CLDS template names.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/ValueItem"
                            }
                        }
                    }
                }
            }
        },
        "/cldsTempate/template/bpmn/{templateName}":{
            "get":{
                "description":"REST service that retrieves BPMN for a CLDS template name from the\n database. This is subset of the json getModel. This is only expected to\n be used for testing purposes, not by the UI.",
                "consumes":[
                ],
                "produces":[
                    "text/xml"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"templateName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/cldsTempate/template/image/{templateName}":{
            "get":{
                "description":"REST service that retrieves image for a CLDS template name from the\n database. This is subset of the json getModel. This is only expected to\n be used for testing purposes, not by the UI.",
                "consumes":[
                ],
                "produces":[
                    "text/xml"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"templateName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        },
        "/cldsTempate/template/{templateName}":{
            "get":{
                "description":"REST service that retrieves a CLDS template by name from the database.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"templateName",
                        "in":"path",
                        "required":true
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsTemplate"
                        }
                    }
                }
            },
            "put":{
                "description":"REST service that saves a CLDS template by name in the database.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "type":"string",
                        "name":"templateName",
                        "in":"path",
                        "required":true
                    },
                    {
                        "name":"body",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/CldsTemplate"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsTemplate"
                        }
                    }
                }
            }
        },
        "/healthcheck":{
            "get":{
                "description":"REST service that retrieves clds healthcheck information.",
                "consumes":[
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsHealthCheck"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "headers":{
                        },
                        "schema":{
                            "$ref":"#/definitions/CldsHealthCheck"
                        }
                    }
                }
            }
        },
        "/user/getUser":{
            "get":{
                "description":"REST service that returns the username.",
                "consumes":[
                ],
                "produces":[
                    "text/plain"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                        },
                        "schema":{
                            "type":"string"
                        }
                    }
                }
            }
        }
    },
    "definitions":{
        "CldsEvent":{
            "properties":{
                "actionAndStateCd":{
                    "type":"boolean"
                },
                "actionCd":{
                    "type":"boolean"
                },
                "actionStateCd":{
                    "type":"boolean"
                },
                "id":{
                    "type":"string"
                },
                "processInstanceId":{
                    "type":"string"
                },
                "userid":{
                    "type":"string"
                }
            }
        },
        "CldsHealthCheck":{
            "properties":{
                "description":{
                    "type":"string"
                },
                "healthCheckComponent":{
                    "type":"string"
                },
                "healthCheckStatus":{
                    "type":"string"
                }
            }
        },
        "CldsInfo":{
            "properties":{
                "cldsVersion":{
                    "type":"string"
                },
                "permissionReadCl":{
                    "type":"boolean"
                },
                "permissionReadTemplate":{
                    "type":"boolean"
                },
                "permissionUpdateCl":{
                    "type":"boolean"
                },
                "permissionUpdateTemplate":{
                    "type":"boolean"
                },
                "userName":{
                    "type":"string"
                }
            }
        },
        "CldsModel":{
            "properties":{
                "blueprintText":{
                    "type":"string"
                },
                "bpmnText":{
                    "type":"string"
                },
                "cldsModelInstanceList":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/CldsModelInstance"
                    }
                },
                "controlName":{
                    "type":"string"
                },
                "controlNamePrefix":{
                    "type":"string"
                },
                "controlNameUuid":{
                    "type":"string"
                },
                "deploymentId":{
                    "type":"string"
                },
                "docText":{
                    "type":"string"
                },
                "event":{
                    "$ref":"#/definitions/CldsEvent"
                },
                "id":{
                    "type":"string"
                },
                "imageText":{
                    "type":"string"
                },
                "name":{
                    "type":"string"
                },
                "permittedActionCd":{
                    "type":"array",
                    "items":{
                        "type":"string"
                    }
                },
                "propText":{
                    "type":"string"
                },
                "status":{
                    "type":"string"
                },
                "templateId":{
                    "type":"string"
                },
                "templateName":{
                    "type":"string"
                },
                "typeId":{
                    "type":"string"
                },
                "typeName":{
                    "type":"string"
                }
            }
        },
        "CldsModelInstance":{
            "properties":{
                "location":{
                    "type":"string"
                },
                "modelInstanceId":{
                    "type":"string"
                },
                "vmName":{
                    "type":"string"
                }
            }
        },
        "CldsMonitoringDetails":{
            "properties":{
                "action":{
                    "type":"string"
                },
                "closeloopName":{
                    "type":"string"
                },
                "deploymentId":{
                    "type":"string"
                },
                "modelName":{
                    "type":"string"
                },
                "serviceTypeId":{
                    "type":"string"
                },
                "templateName":{
                    "type":"string"
                },
                "timestamp":{
                    "type":"string"
                },
                "userid":{
                    "type":"string"
                }
            }
        },
        "CldsTemplate":{
            "properties":{
                "bpmnId":{
                    "type":"string"
                },
                "bpmnText":{
                    "type":"string"
                },
                "bpmnUserid":{
                    "type":"string"
                },
                "controlNamePrefix":{
                    "type":"string"
                },
                "controlNameUuid":{
                    "type":"string"
                },
                "id":{
                    "type":"string"
                },
                "imageId":{
                    "type":"string"
                },
                "imageText":{
                    "type":"string"
                },
                "imageUserid":{
                    "type":"string"
                },
                "name":{
                    "type":"string"
                },
                "propId":{
                    "type":"string"
                },
                "propText":{
                    "type":"string"
                },
                "propUserid":{
                    "type":"string"
                },
                "userAuthorizedToUpdate":{
                    "type":"boolean"
                }
            }
        },
        "DcaeEvent":{
            "properties":{
                "artifactName":{
                    "type":"string"
                },
                "cldsActionCd":{
                    "type":"string"
                },
                "controlName":{
                    "type":"string"
                },
                "event":{
                    "type":"string"
                },
                "instances":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/CldsModelInstance"
                    }
                },
                "resourceUUID":{
                    "type":"string"
                },
                "serviceUUID":{
                    "type":"string"
                }
            }
        },
        "ValueItem":{
            "properties":{
                "value":{
                    "type":"string"
                }
            }
        }
    }
}