Update Server Web Service
This web service updates a RapidDeploy server on the framework server.
Example request
PUT http://localhost:8090/MidVision/ws/server/update HTTP/1.1
Accept-Encoding: gzip,deflate
Authorization: ********************
Content-Type: application/xml
Content-Length: 16001
Host: localhost:8090
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<Server>
<buildStore>/tmp</buildStore>
<displayname>localhost_linux</displayname>
<hostname>localhost</hostname>
<hostnames>localhost</hostnames>
<pluginDataSet>
<pluginData><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<projectPlugins>
<projectPlugins>
<active>true</active>
<data>
<name>JschTransport</name>
<displayName>Ssh - Jsch Transport</displayName>
<version>4.1.0</version>
<description />
<fields>
<headerTitle>Connection Settings</headerTitle>
<fieldKey>port</fieldKey>
<fieldValue>22</fieldValue>
<label>Ssh Port</label>
<type>TEXT</type>
<mandatory>true</mandatory>
<helpText>The Ssh port on the target server. This is typically port
22.</helpText>
<toolTipText>The Ssh port on the target server.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.Integer</classType>
</fields>
<fields>
<headerTitle>Connection Settings</headerTitle>
<fieldKey>connectionTimeout</fieldKey>
<fieldValue>2400000</fieldValue>
<label>Connection timeout (ms)</label>
<type>TEXT</type>
<mandatory>true</mandatory>
<helpText>The Ssh connection timeout in milliseconds.</helpText>
<toolTipText>The Ssh connection timeout in milliseconds.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.Integer</classType>
</fields>
<fields>
<headerTitle>Connection Settings</headerTitle>
<fieldKey>retrySshConnection</fieldKey>
<fieldValue>true</fieldValue>
<label>Retry failed connection</label>
<type>CHECKONE</type>
<mandatory>false</mandatory>
<helpText>This field defines the behavior in case of failed ssh
connection during command execution or uploading/downloading file.
If set to true, RapidDeploy will retry connection as many times as
it is specified in Number of retries field. If set to false - in
case of failed connection the process will fail immediately.</helpText>
<toolTipText>Defines the behavior in case of failed ssh connection
during command execution or uploading/downloading file.</toolTipText>
<style>text-align: left;</style>
<classType>java.lang.Boolean</classType>
</fields>
<fields>
<headerTitle>Connection Settings</headerTitle>
<fieldKey>retriesNumber</fieldKey>
<fieldValue>6</fieldValue>
<label>Number of retries</label>
<type>TEXT</type>
<mandatory>true</mandatory>
<helpText>The Number of retries to establish new ssh connection in
case of failed connection during uploading/downloading file. Note
that this parameter is used only if Retry failed connection
checkbox is selected</helpText>
<toolTipText>The Number of retries to establish new ssh connection
in case of failed connection during uploading/downloading file.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.Integer</classType>
</fields>
<fields>
<headerTitle>Connection Settings</headerTitle>
<fieldKey>timeBetweenRetries</fieldKey>
<fieldValue>5</fieldValue>
<label>Time between retries in seconds</label>
<type>TEXT</type>
<mandatory>true</mandatory>
<helpText>The time between retries of establishing ssh connection in
case of failed connection during uploading/downloading file. Note
that this parameter is used only if Retry failed connection
checkbox is selected</helpText>
<toolTipText>The time between retries of establishing ssh connection
in case of failed connection during uploading/downloading file.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.Integer</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>username</fieldKey>
<fieldValue>root</fieldValue>
<label>Username</label>
<type>TEXT</type>
<mandatory>true</mandatory>
<helpText>The username to use for authenticating against Ssh server.
This user must exist and be configured for Ssh
on the target server.</helpText>
<toolTipText>The username to use for authenticating against Ssh
server.
</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>password</fieldKey>
<fieldValue>{_MV@ENC#_}i1f/JmCZydw=</fieldValue>
<label>Password</label>
<type>SECRET</type>
<mandatory>false</mandatory>
<helpText>The password to use for authenticating against the Ssh
server (if using password authentication).</helpText>
<toolTipText>The user password.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>confirmPassword</fieldKey>
<fieldValue>{_MV@ENC#_}8S+jvTj0Yj8=</fieldValue>
<label>Confirm Password</label>
<type>SECRET</type>
<mandatory>false</mandatory>
<helpText>The password to use for authenticating against the Ssh
server (if using password authentication).</helpText>
<toolTipText>The user password.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>sshKeyFilePath</fieldKey>
<fieldValue />
<label>Ssh Key File Path</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>The path to the Ssh key file on the RapidDeploy server.
Required only if using key file authentication. Example:
~/.ssh/id_rsa_1024_b</helpText>
<toolTipText>The path to the Ssh key file.
</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>sshKeyFilePassphrase</fieldKey>
<fieldValue />
<label>Passphrase</label>
<type>SECRET</type>
<mandatory>false</mandatory>
<helpText>The passphrase for the Ssh Key File. Only required if
using key file authentication with a passphrase secured key.</helpText>
<toolTipText>The key file passphrase.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Authentication Settings</headerTitle>
<fieldKey>confirmSshKeyFilePassphrase</fieldKey>
<fieldValue />
<label>Confirm Passphrase</label>
<type>SECRET</type>
<mandatory>false</mandatory>
<helpText>The passphrase for the Ssh Key File. Only required if
using key file authentication with a passphrase secured key.</helpText>
<toolTipText>The key file passphrase.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Java Settings</headerTitle>
<fieldKey>manageJava</fieldKey>
<fieldValue>false</fieldValue>
<label>Java Managed by RapidDeploy</label>
<type>CHECKONE</type>
<mandatory>false</mandatory>
<helpText>This defines which version of Java to use on the target
machine. Java push requires SSH to connect to the target server,
therefore SSH must be enabled and configured to manage java. If it
is set to false, then the SSH environment will be used to select
the version of Java to use on deployments.</helpText>
<toolTipText>This defines which version of Java to use on the target
machine.</toolTipText>
<style>text-align: left;</style>
<classType>java.lang.Boolean</classType>
</fields>
<fields>
<headerTitle>Java Settings</headerTitle>
<fieldKey>localJavaPath</fieldKey>
<fieldValue />
<label>Local JAVA_HOME Path</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>The path to Java 1.8 home on the RapidDeploy server. This
is the version of Java that is copied over to the target server if
the 'Java Managed by RapidDeploy' is set to true.</helpText>
<toolTipText>Location of Java files on the RapidDeploy server that
will be deployed to the target server. If the path to the Java
files on the RapidDeploy server is not set, java will not be
deployed onto the target server.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Java Settings</headerTitle>
<fieldKey>remoteJavaPath</fieldKey>
<fieldValue />
<label>Remote JAVA_HOME Path</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>The path to Java 1.8 home on the target server. Location
of the Java files on the target server. If this value is not set,
Java will be sourced from the target users path variable. If this
is set and RapidDeploy is used to manage Java, RapidDeploy will
deploy the Java files to this location.</helpText>
<toolTipText>The path to Java 1.8 home on the target server.
Location of the Java files on the target server. If this value is
not set, Java will be sourced from the target users path variable.
If this is set and RapidDeploy is used to manage Java, RapidDeploy
will deploy the Java files to this location.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Download Settings</headerTitle>
<fieldKey>checkDownloadSize</fieldKey>
<fieldValue>true</fieldValue>
<label>Check download file size</label>
<type>CHECKONE</type>
<mandatory>false</mandatory>
<helpText>Check that the downloaded file is not still downloading
and, once complete, the size matches the size of the (remote)
source file.
If waitForDownload is checked, repeat this check every 5 seconds
until the file size is no longer changing. Perform a final check to
ensure the file size matches that of the source. If it doesn't,
re-download the file.
If waitForDownload is unchecked, repeat this check once, and if the
file size is changing, throw an exception and notify the user that
the file is still downloading and to come back later.</helpText>
<toolTipText>Check that the downloaded file is not still downloading
and, once complete, the size matches the size of the (remote)
source file.</toolTipText>
<style>text-align: left;</style>
<classType>java.lang.Boolean</classType>
</fields>
<fields>
<headerTitle>Download Settings</headerTitle>
<fieldKey>waitForDownload</fieldKey>
<fieldValue>true</fieldValue>
<label>Wait for download</label>
<type>CHECKONE</type>
<mandatory>false</mandatory>
<helpText>This field defines the behavior of the second and
subsequent download requests of a file for which a download is in
progress. If set to true, they will wait on completion of the
download. If set to false they will be issued with a message to
come back later. Set this value to false if files from this server
are unusually large or the network connection is unusually slow.</helpText>
<toolTipText>Defines the behavior of the second and subsequent
downloader's of a file for which a download is in progress.</toolTipText>
<style>text-align: left;</style>
<classType>java.lang.Boolean</classType>
</fields>
<fields>
<headerTitle>Download Settings</headerTitle>
<fieldKey>fileTransferMode</fieldKey>
<fieldValue>OVERRIDE</fieldValue>
<label>File transfer mode</label>
<listOfChoices>OVERRIDE,RESUME</listOfChoices>
<type>SELECTONE</type>
<mandatory>false</mandatory>
<helpText>The file transfer mode defines the behavior of RD in case
of failed connection during uploading file. If is set to OVERRIDE
RapidDeploy will always upload new file. If is set to RESUME it
will check if the specified file already exists and if yes it will
continue uploading this file</helpText>
<toolTipText>Choose an alternative execution mode for your server.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Agent Settings</headerTitle>
<fieldKey>remoteAgentPath</fieldKey>
<fieldValue />
<label>Remote Agent Path</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>The path of the remote agent directory on the target
server. If this is set, RapidDeploy will deploy the agent files to
this location.</helpText>
<toolTipText>The path of the remote agent directory on the target
server. If this is set, RapidDeploy will deploy the agent files to
this location.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Agent Settings</headerTitle>
<fieldKey>remoteTempPackage</fieldKey>
<fieldValue>false</fieldValue>
<label>Temporal Remote Package</label>
<type>CHECKONE</type>
<mandatory>false</mandatory>
<helpText>Enable or disable temporal remote package on the target
server. If this is set, RapidDeploy will deploy the deployment
package with a temporal name in the remote build store.</helpText>
<toolTipText>Enable or disable temporal remote package on the target
server. If this is set, RapidDeploy will deploy the deployment
package with a temporal name in the remote build store.</toolTipText>
<style>text-align: left;</style>
<classType>java.lang.Boolean</classType>
</fields>
<fields>
<headerTitle>File permissions</headerTitle>
<fieldKey>chmodRdFiles</fieldKey>
<fieldValue />
<label>Change permissions of RD files</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>Change the permissions of the RD files on the target. Use
the three digit (octal) permission code (e.g.: 777 means
rwxrwxrwx).</helpText>
<toolTipText>Change the permissions of the RD files on the target.
Use the three digit (octal) permission code (e.g.: 777 means
rwxrwxrwx).</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.Integer</classType>
</fields>
<fields>
<headerTitle>Alternative execution mode</headerTitle>
<fieldKey>altRunnerType</fieldKey>
<fieldValue>NONE</fieldValue>
<label>Alternative execution type</label>
<listOfChoices>NONE,SU,SUDO,PBRUN</listOfChoices>
<type>SELECTONE</type>
<mandatory>false</mandatory>
<helpText>Choose an alternative execution mode for your server.</helpText>
<toolTipText>Choose an alternative execution mode for your server.</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Alternative execution mode</headerTitle>
<fieldKey>altRunnerPreFixParameters</fieldKey>
<fieldValue />
<label>Starting execution parameters</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>Set the altRunnerPreFixParameters for the execution. The
execution type will suffixed with the parameters, which together
prefixed to the java command. The command will be built as the
following: AltrunnerType + [altRunnerPreFixParameters] + Java
command + [altRunnerSuffixParameters]</helpText>
<toolTipText>Set the altRunnerPreFixParameters for the execution.
The execution type will suffixed with the parameters, which
together prefixed to the java command. The command will be built as
the following: AltrunnerType + [altRunnerPreFixParameters] + Java
command + [altRunnerSuffixParameters]</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<fields>
<headerTitle>Alternative execution mode</headerTitle>
<fieldKey>altRunnerSuffixParameters</fieldKey>
<fieldValue />
<label>Ending execution parameters</label>
<type>TEXT</type>
<mandatory>false</mandatory>
<helpText>Set the altRunnerSuffixParameters for the execution. The
java command will suffixed with the altRunnerSuffixParameters. The
command will be built as the following: AltrunnerType +
[altRunnerPreFixParameters] + Java command +
[altRunnerSuffixParameters]</helpText>
<toolTipText>Set the altRunnerSuffixParameters for the execution.
The java command will suffixed with the altRunnerSuffixParameters.
The command will be built as the following: AltrunnerType +
[altRunnerPreFixParameters] + Java command +
[altRunnerSuffixParameters]</toolTipText>
<style>width: 50em;</style>
<classType>java.lang.String</classType>
</fields>
<panelTitle>Ssh Configuration</panelTitle>
</data>
<pluginName>Ssh - Jsch Transport (v4.2.0)</pluginName>
<pluginType>transport</pluginType>
<pluginVersion>4.2.0</pluginVersion>
</projectPlugins>
</projectPlugins>
]]>
</pluginData>
</pluginDataSet>
<product>UNIX</product>
<serverEnabled>true</serverEnabled>
<version />
</Server>Example Response
<html>
<head>
<meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/>
<title>updateServer</title>
<link type="text/css" rel="stylesheet" href="http://localhost:8090/MidVision/ui/javax.faces.resource/components.css?ln=primefaces"/>
</head>
<body>
<div>
<div style="border-bottom: 0.1em solid black; display: block; height: 30px; margin-bottom: 1em; margin-top: 0.5em; position: relative; width: 100%;">
<h2>updateServer</h2>
</div>
<div aria-live="polite" class="ui-messages ui-widget">
<div class="ui-messages-info ui-corner-all">
<ul>
<li>
<span class="ui-messages-info-summary">Update Server</span>
<br/>
<span class="ui-messages-info-detail">SUCCESS: The target server [localhost_linux] was updated.</span>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>
