Deploy a Project

Use this REST request to deploy an ESP project to a specific ESP Server and workspace. The workspace to which you are deploying the project must exist and the cluster to which you wish to deploy the project must be running. This REST request is a POST type request.

Header

http://serverDetails/espws/restservice/project/<projectName>?action=deploy&workspace=<workspaceName>

Body

Connection Details
Element Description
connectionDetails

(Required) Element containing cluster, port, and authentication details below.

clusterName

Type: string

(Required) The name of the cluster on which the project that you wish to update is running.

port

Type: integer

(Required) Specify the port on which the cluster is running.

authentication

(Required) Element containing authentication details.

type

Type: string

(Required) Specify the type of authentication the ESP Server is using. Valid values are user, rsa, and kerberos. The default value is user.

data

Type: string

Specify a value based on the type of authentication you specified in the type element. For example,
  • for user, specify username:password valued
  • for rsa, specify keystore:user:password values. For the keystore value, enter the full path to the keystore file. If you are using Windows, surround the file path in single quotation marks.
  • for kerberos, specify user:service:cache values. For the cache value, enter the full path to the Kerberos cache file. If you are using Windows, surround the file path in single quotation marks.
The default value is username:password.
sslEnabled

Type: boolean

(Required) Specify whether SSL is enabled on the cluster on which the project is running. The default value is false.

Content Elements
Element Description
content

(Required) Element containing content details for the REST request.

cclContent (Required) Include the CCL for your project. This is the same content specified in your project CCL file. For example, the format is
"cclContent":"CREATE INPUT WINDOW <windowname> 
SCHEMA ( <yourwindowschema>);"
.
ccrContent (Optional) Include the content of your CCR project configuration file. For example, the format is
"ccrContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Configuration xmlns=\"<autogenerateurl>
<Deployment>
    <Project ha=\"<value>">
    <Options><Option name=\"ws-enabled\" value=\"<value>\"/></Options>
    </Project>
    </Deployment>
</Configuration>"
.

Example

Header
http://<server>:<port>/espws/restservice/project/<projectName>?action=deploy&workspace=<workspaceName>
Body
{ 
	"connectionDetails": { 
		"clusterName":"<cluster name>", 
		"port":"<port>", 
		"authentication": { 
			"type":"user", 
			"data":"<username>:<password>", 
			"sslEnabled":"false"
		}
	}, 
	"content": {
		"cclContent":"CREATE INPUT WINDOW InputWindow1 SCHEMA ( C_KEY integer , C_TIMESTAMP timestamp ) PRIMARY KEY ( C_KEY );"
	}
}