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>