Generic Model Plugin Manual

    Preface

    This document describes the functionality provided by the Generic Model plugin.

    See the XL Deploy Reference Manual for background information on XL Deploy and deployment concepts.

    Overview

    XL Deploy supports a number of middleware platforms. Sometimes, though, it is necessary to extend XL Deploy with new middleware support. The Generic Model plugin provides a way to do this, without having to write Java code. Instead, using XL Deploy's flexible type system and the base CIs from the Generic Model plugin, new CIs can be defined by writing XML and providing scripts for functionality.

    Several of XL Deploy's standard plugins are also built on top of the Generic Model plugin.

    Features

    • Define custom containers
      • Stop, start, restart capabilities
    • Define and copy custom artifacts to a custom container
    • Define, copy and execute custom scripts and folders on a custom container
    • Define resources to be processed by a template and copied to a custom container
    • Define and execute control tasks on containers and deployeds
    • Flexible templating engine

    Requirements

    The plugin requires:

    • XL Deploy: version 4.0+

    Plugin Concepts

    The Generic Model plugin provides several CIs that can be used as base classes for creating XL Deploy extensions. There are base CIs for each of XL Deploy's CI types (deployables, deployeds and containers). A typical usage scenario is to create custom, synthetic CIs (based on one of the provided CIs) and using it to invoke the required behavior (scripts) in a deployment plan.

    Note: since Deployit version 3.6, the deployeds in the Generic Model Plugin can target containers that implement the HostContainer interface. In addition to the Container and derived CIs, this means they can also be targeted to CIs derived from Host.

    Container

    A Container is a topology CI and models middleware in your infrastructure. This would typically be used to model middleware within XL Deploy that does not have out of the box support or is custom to your environment. The other CIs in the plugin can be deployed to (subclasses of) the container. The behavior of the container in a deployment is configured by specifying scripts to be executed when it is started, stopped or restarted. XL Deploy will invoke these scripts as needed.

    NestedContainer

    A Nested Container is a topology CI and models middleware in your infrastructure. The nested container allows for the modelling of abstract middleware concepts as containers to which items can be deployed.

    Copied Artifact

    A CopiedArtifact is an artifact as copied over to a Container. It manages the copying of any generic artifact (File, Folder, Archive, Resource) in the deployment package to the container. It is possible to indicate that this copied artifact requires a container restart.

    Executed Script

    An ExecutedScript encapsulates a script that is executed on a Container. The script is processed by the templating engine (see below) before being copied to the target container. The behavior of the script is configured by specifying scripts to be executed when it is deployed, upgraded or undeployed.

    Manual Process

    A ManualProcess entails a script containing manual instructions for the operator to perform before the deployment can continue. The script is processed by the templating engine (see below) and is displayed to the operator in the step logs. Once the instructions have been carried out, the operator can continue the deployment. The instructions can also be automatically emailed.

    Executed Folder

    An ExecutedFolder encapsulates a folder containing installation and rollback scripts that are executed on a Container. Installation scripts are executed when the folder is deployed or updated, rollback scripts are executed when it is undeployed. Execution of the scripts happens in order. Scripts are processed by the templating engine (see below) before being copied to the target container.

    Processed Template

    A ProcessedTemplate is a Freemarker template that is processed by the templating engine (see below), then copied to a Container.

    Templating

    When defining and using CIs with the Generic Model plugin, the need arises to use variables in certain CI properties and scripts. The most obvious use is to include properties from the deployment itself, such as the names or locations of files in the deployment package. XL Deploy uses the Freemarker templating engine for this.

    When performing a deployment using the Generic Model plugin, all CIs and scripts are processed in Freemarker. This means that placeholders can be used in CI properties and scripts to make them more flexible. Freemarker resolves placeholders using a context, a set of objects defining the template's environment. This context depends on the type of CI being deployed.

    For all CIs, the context variable step refers to the current step object and the context variable statics can be used to access static methods on any class. See the section accessing static methods in the FreeMarker manual

    For deployed CIs, the context variable deployed refers to the current CI instance. For example:

    <type type="tc.DeployedDataSource" extends="generic.ProcessedTemplate" deployable-type="tc.DataSource"
          container-type="tc.Server">
        ...
        <property name="targetFile" default="${deployed.name}-ds.xml" hidden="true"/>
        ...
    </type>
    

    Additionally, when performing a MODIFY operation the context variable previousDeployed refers to the previous version of the current CI instance. For example:

    #!/bin/sh
    echo "Uninstalling ${previousDeployed.name}"
    rm ${deployed.container.home}/${previousDeployed.name}
    
    echo "Installing ${deployed.name}"
    cp ${deployed.file} ${deployed.container.home}
    

    For container CIs, the context variable container refers to the current container instance. For example:

    <type type="tc.Server" extends="generic.Container">
        <property name="home" default="/tmp/tomcat"/>
        <property name="targetDirectory" default="${container.home}/webapps" hidden="true"/>
    </type>
    

    A special case is when referring to an artifact in the placeholder. For example, when deploying a CI representing a WAR file, the following placeholder can be used to refer to that file (assuming there is a file property on the deployable):

    ${deployed.file}
    

    In this case, XL Deploy will copy the referred artifact to the target container so that the file is available to the executing script. A script containing a command like the following would therefore copy the file represented by the deployable to it's installation path on the remote machine:

    cp ${deployed.file} /install/path
    

    Description of file related placeholders:

    Placeholder Description
    ${deployed.file} Complete path of the uploaded file, e.g. /tmp/ot-12345/generic_plugin.tmp/PetClinic-1.0.ear
    ${deployed.deployable.file} Complete path of the uploaded deployable file (no placeholder replacement), e.g. /tmp/ot-12345/generic_plugin.tmp/PetClinic-1.0.ear

    Accessing the ExecutionContext

    In XL Deploy 4.5.3 and later, the Generic plugin can access the ExecutionContext and use it in a FreeMarker template. For example:

    <type type="demo.DeployedStuff" extends="generic.ExecutedScript" deployable-type="demo.Stuff" container-type="overthere.SshHost">
      <generate-deployable type="demo.Stuff" extends="generic.Resource"/>
      <property name="P1" default="X"/>
      <property name="P2" default="Y"/>
      <property name="P3" default="Z"/>
      <property name="createScript" default="stuff/create" hidden="true"/>
    </type>
    

    Sample FreeMarker template:

    echo "${deployed.P1}"
    echo "${deployed.P2}"
    echo "${deployed.P3}"
    echo "${context}"
    echo "${context.getClass()}"
    echo "${context.getTask().getId()}"
    echo "${context.getTask().getUsername()}"
    
    echo "display metadata"
    <#list context.getTask().getMetadata()?keys as k>
    echo "${k} = ${context.getTask().getMetadata()[k]}"
    </#list>
    echo "/display metadata"
    

    Control Task Delegates

    The Generic Model Plugin has pre defined control task delegates that have the ability to execute scripts on a target host. The delegates can be used to define control tasks on any configuration item defined in XL Deploy's type system.

    shellScript Delegate

    The shellScript delegate has the capability of executing a single script on a target host.

    Arguments
     
    script: STRING
    The classpath to the Freemarker template that will generate the script
     
    host: STRING
    The target host on which to execute the script. This argument takes an expression in the form ${..} which indicates the property to use as the host. Example : ${thisCi.parent.host}, ${thisCi.delegateToHost}. In the absence of this argument, the delegate will try to resolve the host as follows:
    • For udm.Deployed derived configuration items, the container property is used as the target host if it is an overthere.HostContainer
    • For udm.Container derived configuration items, the configuration item itself is used as the target host if it is an overthere.HostContainer
    • In all other cases, this argument is required.
     
    classpathResources: LIST_OF_STRING
    Comma separated string of additional classpath resources that should be uploaded to the working directory before executing the script.
     
    templateClasspathResources : LIST_OF_STRING
    Comma separated string of additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    Example:

    <type type="tc.DeployedDataSource" extends="generic.ProcessedTemplate" deployable-type="tc.DataSource"
          container-type="tc.Server">
        <generate-deployable type="tc.DataSource" extends="generic.Resource"/>
        ...
        <method name="ping" delegate="shellScript"
            script="tc/ping.sh"
            classpathResources="tc/ping.py"/>
    </type>
    

    localShellScript Delegate

    The localShellScript delegate has the capability of executing a single script on a the XL Deploy host.

    Arguments
     
    script: STRING
    The classpath to the Freemarker template that will generate the script
     
    classpathResources: LIST_OF_STRING
    Comma separated string of additional classpath resources that should be uploaded to the working directory before executing the script.
     
    templateClasspathResources : LIST_OF_STRING
    Comma separated string of additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    Example :

    <type-modification type="udm.DeployedApplication" >
        <method name="updateVersionDatabase" delegate="localShellScript"
            script="cmdb/updateVersionDatabase.sh.ftl"/>
    </type>
    

    shellScripts Delegate

    The shellScripts delegate has the capability of executing multiple scripts on a target host.

    Arguments
     
    scripts: LIST_OF_STRING
    Comma separated string of the classpath to the Freemarker templates that will generate the scripts. In addition, each template can be prefixed with an alias. The format of the alias is alias:path. The alias can be used to define classpathResources and templateClasspathResources attributes that should be uploaded for the specific script. Example : aliasClasspathResources and aliasTemplateClasspathResources
     
    host: STRING
    The target host on which to execute the script. This argument takes an expression in the form ${..} which indicates the property to use as the host. Example : ${thisCi.parent.host}, ${thisCi.delegateToHost}. In the absence of this argument, the delegate will try to resolve the host as follows:
    • For udm.Deployed derived configuration items, the container property is used as the target host if it is an overthere.HostContainer
    • For udm.Container derived configuration items, the configuration item itself is used as the target host if it is an overthere.HostContainer
    • In all other cases, this argument is required.
     
    classpathResources: LIST_OF_STRING
    Comma separated string of additional classpath resources that should be uploaded to the working directory before executing the script. These resources are uploaded for all scripts.
     
    templateClasspathResources : LIST_OF_STRING
    Comma separated string of additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory. These resources are uploaded for all scripts.

    Example :

    <type type="tc.Server" extends="generic.Container">
        ...
        <method name="startAndWait" delegate="shellScripts"
            scripts="start:tc/start.sh,tc/tailLog.sh"
            startClasspathResources="tc/start.jar"
            startTemplateClasspathResources="tc/password.xml"
            classpathResources="common.jar"/>
    </type>
    

    localShellScripts Delegate

    The localShellScripts delegate has the capability of executing multiple scripts on the XL Deploy host.

    Arguments
     
    scripts: LIST_OF_STRING
    Comma separated string of the classpath to the Freemarker templates that will generate the scripts. In addition, each template can be prefixed with an alias. The format of the alias is alias:path. The alias can be used to define classpathResources and templateClasspathResources attributes that should be uploaded for the specific script. Example : aliasClasspathResources and aliasTemplateClasspathResources
     
    classpathResources: LIST_OF_STRING
    Comma separated string of additional classpath resources that should be uploaded to the working directory before executing the script. These resources are uploaded for all scripts.
     
    templateClasspathResources : LIST_OF_STRING
    Comma separated string of additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory. These resources are uploaded for all scripts.

    Example:

    <type-modification type="udm.Version">
        <method name="udpateSCMandCMDB" delegate="localShellScripts"
            scripts="updateSCM:scm/update,updateCMDB:cmdb/update"
            updateSCMClasspathResources="scm/scm-connector.jar"
            updateCMDBTemplateClasspathResources="cmdb/request.xml.ftl"
            classpathResources="common.jar"/>
    </type>
    

    Using the deployables and deployeds

    Deployable vs. Container Table

    The following table describes which deployable / container combinations are possible.

    Deployable Containers Generated deployed
    generic.File
    generic.Archive
    overthere.HostContainer generic.CopiedArtifact
    any deployable overthere.HostContainer generic.ExecutedScript
    any deployable overthere.HostContainer generic.ManualProcess
    any folder deployable overthere.HostContainer generic.ExecutedFolder
    any deployable overthere.HostContainer generic.ProcessedTemplate

    Deployed Actions Table

    The following table describes the effect a deployed has on its container.

    Deployed Create Destroy Modify
    generic.CopiedArtifact
    • Create target path on host, if needed
    • Copy file to target path on host
    • Delete file from host (if the preserveExistingFiles property if set to false)
    • Delete old file from host (if the preserveExistingFiles property if set to false)
    • Copy modified file to target path on host
    generic.ExecutedScript
    • Run script through template engine
    • Copy create script to container
    • Execute script
    • Run script through template engine
    • Copy destroy script to container
    • Execute script
    • Run script through template engine
    • Copy modify script to container
    • Execute script
    generic.ManualProcess
    • Run instructions script through template engine
    • Mail instructions if mail properties set and target container has a mail.SMTPServer
    • Display in step logs
    • Pause step
    • When operator retries step, step continues as successful
    • Same as Create
    • Same as Create
    generic.ExecutedFolder For each installation script in the folder (ordered alphabetically by name, ascending):
    • Run script through template engine
    • Copy create script to container
    • Execute script
    For each rollback script in the folder (ordered alphabetically by name, descending):
    • Run script through template engine
    • Copy destroy script to container
    • Execute script
    For each installation script in the folder that was not part of the deployment being upgraded (ordered alphabetically by name, ascending):
    • Run script through template engine
    • Copy modify script to container
    • Execute script
    generic.ProcessedTemplate
    • Run script through template engine
    • Copy template to container
    • Run script through template engine
    • Delete template from container
    • Run script through template engine
    • Delete template from container
    • Copy new template to container

    Sample Usage Scenario - Deploying a new middleware platform

    This section describes an example of using the Generic Model plugin to implement support for a simple middleware platform. Deployment to this platform is done by simply copying a WAR archive to the right directory on the container. Resources are created by copying configuration files into the container's configuration directory. The Tomcat application server works in a very similar manner.

    By defining a container and several other CIs based on CIs from the Generic Model plugin, it is possible to add support for deploying to this platform to XL Deploy.

    Defining the Container

    To use any of the CIs in the Generic Model plugin, they need to be targeted to a Container. This snippet shows how to define a generic container as a synthetic type:

    <type type="tc.Server" extends="generic.Container">
        <property name="home" default="/tmp/tomcat"/>
    </type>
    
    <type type="tc.UnmanagedServer" extends="tc.Server">
        <property name="startScript" default="tc/start.sh" hidden="true"/>
        <property name="stopScript" default="tc/stop.sh" hidden="true"/>
        <property name="restartScript" default="tc/restart.sh" hidden="true"/>
    </type>
    

    Note that the tc.UnmanagedServer CI defines a start, stop and restart script. The XL Deploy Server reads these scripts from the classpath. When targeting a deployment to the tc.UnmanagedServer, XL Deploy will include steps executing the start, stop and restart scripts in appropriate places in the deployment plan.

    Defining a Configuration File

    The following snippet defines a CI based on the CopiedArtifact. The tc.DeployedFile CI can be targeted to the tc.Server. The target directory is specified as a hidden property. Note the placeholder syntax used here.

    <type type="tc.DeployedFile" extends="generic.CopiedArtifact" deployable-type="tc.File"
          container-type="tc.Server">
        <generate-deployable type="tc.File" extends="generic.File"/>
        <property name="targetDirectory" default="${deployed.container.home}/conf" hidden="true"/>
    </type>
    

    Using the above snippet, it is possible to create a package with a tc.File deployable and deploy it to an environment containing a tc.UnmanagedServer. This will result in a tc.DeployedFile deployed.

    Defining a WAR

    To deploy a WAR file to the tc.Server, one possibility is to define a tc.DeployedWar CI that extends the ExecutedScript. The tc.DeployedWar CI is generated when deploying a jee.War to the tc.Server CI. This is what the XML looks like:

    <type type="tc.DeployedWar" extends="generic.ExecutedScript" deployable-type="jee.War"
          container-type="tc.Server">
        <generate-deployable type="tc.War" extends="jee.War"/>
        <property name="createScript" default="tc/install-war" hidden="true"/>
        <property name="modifyScript" default="tc/reinstall-war" hidden="true" required="false"/>
        <property name="destroyScript" default="tc/uninstall-war" hidden="true"/>
    </type>
    

    When performing an initial deployment, the create script, tc/install-war is executed on the target container. Inside the script, a reference to the file property is replaced by the actual archive. Note that the script files do not have an extension. Depending on the target platform, the extension sh (Unix) or bat (Windows) is used.

    The WAR file is referenced from the script as follows:

    echo Installing WAR ${deployed.deployable.file} in ${deployed.container.home}
    

    Defining a Datasource

    Configuration files can be deployed by creating a CI based on the ProcessedTemplate. By including a Resource in the package that is a Freemarker template, a configuration file can be generated during the deployment and copied to the container. This snippet defines such a CI, tc.DeployedDataSource:

    <type type="tc.DeployedDataSource" extends="generic.ProcessedTemplate" deployable-type="tc.DataSource"
          container-type="tc.Server">
        <generate-deployable type="tc.DataSource" extends="generic.Resource"/>
    
        <property name="jdbcUrl"/>
        <property name="port" kind="integer"/>
        <property name="targetDirectory" default="${deployed.container.home}/webapps" hidden="true"/>
        <property name="targetFile" default="${deployed.name}-ds.xml" hidden="true"/>
        <property name="template" default="tc/datasource.ftl" hidden="true"/>
    </type>
    

    The template property specifies the Freemarker template file that the XL Deploy Server reads from the classpath. The targetDirectory controls where the template is copied to. Inside the template, properties like jdbcUrl on the datasource can be used to produce a proper configuration file.

    Discovery

    The Generic Model plugin supports discovery in any subtype of Container, Nested Container and Deployed. Extenders of the plugin provide shell scripts that interact with the discovery mechanism, via the standard out, with specially formatted output representing the inspected property or discovered configuration item.

    <!-- Sample of extending Generic Mode plugin -->
    <type type="sample.TomcatServer" extends="generic.Container">
        ...
        <property name="inspectScript" default="inspect/inspect-server" hidden="true"/>
    </type>
    
    <type type="sample.VirtualHost" extends="sample.NestedContainer">
        <property name="server" kind="ci" as-containment="true" referenced-type="sample.TomcatServer"/>
        ...
        <property name="inspectScript" default="inspect/inspect-virtualhost" hidden="true"/>
    </type>
    
    <type type="sample.DataSource" extends="generic.ProcessedTemplate" deployable-type="sample.DataSourceSpec"
          container-type="sample.Server">
        <generate-deployable type="sample.DataSourceSpec" extends="generic.Resource"/>
        <property name="inspectScript" default="inspect/inspect-ds" hidden="true"/>
        ...
    </type>
    

    Encoding

    The discovery mechanism uses URL encoding as described in RFC3986 to interpret the value of an inspected property. It is the responsibility of the plugin extender to perform said encoding in the inspect shell scripts.

    Sample of encoding in a BASH shell script

    function encode()
    {
        local  myresult=$(printf "%b" "$1" | perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg')
        echo "$myresult"
    }
    myString='This is a string spanning many lines and with funky characters like !@#$%^&*() and \|'"'"'";:<>,.[]{}'
    myEncodedString = $(encode "$myString")
    echo $myEncodedString
    

    Property Inspection

    The discovery mechanism identifies an inspected property when output with the following format is sent to the standard out.

    INSPECTED:propertyName=value
    

    The output must be prefixed with INSPECTED: followed by the name of the inspected property, an = sign and then the encoded value of the property.

    Sample :

    echo INSPECTED:stringField=A,value,with,commas
    echo INSPECTED:intField=1999
    echo INSPECTED:boolField=true
    

    Inspecting Set properties

    When an inspected property is a set of strings, the value must be comma separated

    INSPECTED:propertyName=value1,value2,value3
    

    Sample :

    echo INSPECTED:stringSetField=$(encode 'Jac,q,ues'),de,Molay
    # will result in the following output
    # INSPECTED:stringSetField=Jac%2Cq%2Cues,de,Molay
    

    Inspecting Map properties

    When an inspected property is a map of strings, entries must be comma separated and key values must be colon separated

    INSPECTED:propertyName=key1:value1,key2:value2,key3:value3
    

    Sample :

    echo INSPECTED:mapField=first:$(encode 'Jac,q,ues:'),second:2
    # will result in the following output
    # INSPECTED:mapField=first:Jac%2Cq%2Cues,second:2
    

    Configuration Item Discovery

    The discovery mechanism identifies a discovered configuration item when output with the following format is sent to the standard out.

    DISCOVERED:configurationItemId=type
    

    The output must be prefixed with DISCOVERED: followed by the id of the configuration item as stored in the XL Deploy repository, an = sign and the type of the configuration item

    Sample :

    echo DISCOVERED:Infrastructure/tomcat/defaultContext=sample.VirtualHost
    

    Mail server setup

    The generic plugin also adds support for mail servers to XL Deploy. A Mail server is a configuration item mail.SmtpServer defined under the /Configuration root node. A udm.Environment environment configuration item can have a reference to a mail server. If it does not have a reference, a default mail server named 'defaultSmtpServer' will be used to send configured mails. Using the mail server, configuration items such as the generic.ManualProcess can send mails notifying you of manual actions that need to be taken.

    Here's a CLI snippet showing you how to create a mail server CI:

    mailServer = factory.configurationItem("Configuration/MailServer","mail.SmtpServer")
    mailServer.host = "smtp.mycompany.com"
    mailServer.username = "mymailuser"
    mailServer.password = "secret"
    mailServer.fromAddress = "noreply@mycompany.com"
    repository.create(mailServer)
    

    The mail.SmtpServer uses Java Mail to send emails. You can specify additional Java Mail properties in the smtpProperties attribute. Refer to the Javadoc for JavaMail for a list of all properties.

    Configuring TLS

    To configure the mail server to send emails using TLS, set the following property in the SMTP properties:

    mailServer.smtpProperties = {}
    mailServer.smtpProperties["mail.smtp.starttls.enable"] = "true"
    repository.update(mailServer)
    

    CI Reference

    Configuration Item Overview

    Deployables

    CI Description
    generic.Archive A generic, compressed binary artifact
    generic.File A generic binary artifact
    generic.Folder A generic folder artifact
    generic.Resource A generic resource specification

    Deployeds

    CI Description
    generic.AbstractDeployed Abstract deployed that can target any deployable to a generic container
    generic.AbstractDeployedArtifact Abstract deployed that can target any artifact to a generic container
    generic.CopiedArtifact An artifact deployed on a generic container
    generic.ExecutedFolder Scripts in the folder are executed against a Container based on a naming convention
    generic.ExecutedScript A script executed on a generic container
    generic.ExecutedScriptWithDerivedArtifact A script executed on a generic container whose deployable artifact supports placeholder replacement
    generic.ManualProcess A manual process that needs to be performed on a generic container
    generic.ProcessedTemplate A template deployed to a generic container

    Containers

    CI Description
    generic.BaseGenericContainer The supertype of all Containers
    generic.Container A container to which generic CIs can be deployed
    generic.NestedContainer A container that is nested with another container

    Other Configuration Items

    CI Description
    generic.AbstractDeployed Abstract deployed that can target any deployable to a generic container
    generic.AbstractDeployedArtifact Abstract deployed that can target any artifact to a generic container
    generic.Archive A generic, compressed binary artifact
    generic.BaseGenericContainer The supertype of all Containers
    generic.Container A container to which generic CIs can be deployed
    generic.CopiedArtifact An artifact deployed on a generic container
    generic.ExecutedFolder Scripts in the folder are executed against a Container based on a naming convention
    generic.ExecutedScript A script executed on a generic container
    generic.ExecutedScriptWithDerivedArtifact A script executed on a generic container whose deployable artifact supports placeholder replacement
    generic.File A generic binary artifact
    generic.Folder A generic folder artifact
    generic.ManualProcess A manual process that needs to be performed on a generic container
    generic.NestedContainer A container that is nested with another container
    generic.ProcessedTemplate A template deployed to a generic container
    generic.Resource A generic resource specification
    mail.SmtpServer SMTP Mail Server Configuration

    Configuration Item Details

    generic.AbstractDeployed

    Virtual Type
    Type Hierarchy udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

    Abstract deployed that can target any deployable to a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.

    generic.AbstractDeployedArtifact

    Virtual Type
    Type Hierarchy generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

    Abstract deployed that can target any artifact to a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    targetFile : STRING
    Name of the artifact on the generic server.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    targetDirectory : STRING
    Path to which artifact must be copied to on the generic server.
     
     
    createTargetDirectory : BOOLEAN  = false
    Create the target directory on the generic server if it does not exist.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    targetDirectoryShared : BOOLEAN  = true
    Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.

    generic.Archive

    Virtual Type
    Type Hierarchy udm.BaseDeployableArchiveArtifact >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.ArchiveArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact

    A generic, compressed binary artifact

    Public Properties
     
     
    checksum : STRING
    The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
     
     
    excludeFileNamesRegex : STRING
    Regular expression that matches file names that must be excluded from scanning
     
     
    placeholders : SET_OF_STRING
    Placeholders detected in this artifact
     
     
    scanPlaceholders : BOOLEAN  = false
    Whether to scan this artifact for placeholders when it is imported
     
     
    tags : SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
    Hidden Properties
     
     
    textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
    Regular expression that matches file names of text files
     
     
    delimiters : STRING  = {{ }}
    The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
     
     
    fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
    A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

    generic.BaseGenericContainer

    Virtual Type
    Type Hierarchy udm.BaseContainer >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.ConfigurationItem, udm.Container, generic.GenericContainer, overthere.HostContainer

    The supertype of all Containers.

    Public Properties
     
     
    envVars : MAP_STRING_STRING
    Environment variables for container
     
     
    stopStartRestartConnection : CI<overthere.Host>
    If set, the connection settings to use to connect to the target system to execute start, stop, restart etc. operations for the container.
     
     
    tags : SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container.
    Hidden Properties
     
     
    restartOrder : INTEGER  = 90
    The order of the restart container step in the step list.
     
     
    startOrder : INTEGER  = 90
    The order of the start container step in the step list.
     
     
    startWaitTime : INTEGER  = 0
    The time to wait in seconds for a container start action.
     
     
    stopOrder : INTEGER  = 10
    The order of the stop container step in the step list.
     
     
    stopWaitTime : INTEGER  = 0
    The time to wait in seconds for a container stop action.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the restart script.
     
     
    restartScript : STRING
    Classpath to the script used to restart the generic container.
     
     
    restartTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the restart script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartWaitTime : INTEGER  = 0
    The time to wait in seconds for a container restart action.
     
     
    startClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the start script.
     
     
    startScript : STRING
    Classpath to the script used to start the generic container.
     
     
    startTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the start script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    stopClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the stop script.
     
     
    stopScript : STRING
    Classpath to the script used to stop the generic container.
     
     
    stopTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the stop script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.Container

    Virtual Type
    Type Hierarchy generic.BaseGenericContainer >> udm.BaseContainer >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.ConfigurationItem, udm.Container, generic.GenericContainer, overthere.HostContainer

    A container to which generic CIs can be deployed. Start, stop and restart behavior of this container can be controlled using the corresponding script properties.

    Parent
     
     
    host : CI<overthere.Host>
    Host upon which the container resides
    Public Properties
     
     
    envVars : MAP_STRING_STRING
    Environment variables for container
     
     
    stopStartRestartConnection : CI<overthere.Host>
    If set, the connection settings to use to connect to the target system to execute start, stop, restart etc. operations for the container.
     
     
    tags : SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container.
    Hidden Properties
     
     
    restartOrder : INTEGER  = 90
    The order of the restart container step in the step list.
     
     
    startOrder : INTEGER  = 90
    The order of the start container step in the step list.
     
     
    startWaitTime : INTEGER  = 0
    The time to wait in seconds for a container start action.
     
     
    stopOrder : INTEGER  = 10
    The order of the stop container step in the step list.
     
     
    stopWaitTime : INTEGER  = 0
    The time to wait in seconds for a container stop action.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the restart script.
     
     
    restartScript : STRING
    Classpath to the script used to restart the generic container.
     
     
    restartTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the restart script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartWaitTime : INTEGER  = 0
    The time to wait in seconds for a container restart action.
     
     
    startClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the start script.
     
     
    startScript : STRING
    Classpath to the script used to start the generic container.
     
     
    startTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the start script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    stopClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the stop script.
     
     
    stopScript : STRING
    Classpath to the script used to stop the generic container.
     
     
    stopTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the stop script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.CopiedArtifact

    Virtual Type
    Type Hierarchy generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

    An artifact deployed on a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    placeholders : MAP_STRING_STRING
    A Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>
     
     
    targetFile : STRING
    Name of the artifact on the generic server.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    targetDirectory : STRING
    Path to which artifact must be copied to on the generic server.
     
     
    copyDirectlyToTargetPath : BOOLEAN  = false
    If set to true, files are directly copied to the target directory without first being uploaded to the staging or temporary directory (like versions of XL Deploy prior to 4.0.0)
     
     
    createTargetDirectory : BOOLEAN  = false
    Create the target directory on the generic server if it does not exist.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    preserveExistingFiles : BOOLEAN  = false
    If set to true, preserve the existing files on the remote host (do not delete the copied files during the destroy operation).
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    targetDirectoryShared : BOOLEAN  = true
    Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.
     
     
    targetPathSharedSubDirectories : BOOLEAN  = false
    If set to true, the sub directories on the target machine are not deleted if files other than that copied by XL Deploy are present. Please note that setting this option to true will cause the removal process to be a slower.

    generic.ExecutedFolder

    Virtual Type
    Type Hierarchy generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

    Scripts in the folder are executed against a Container based on a naming convention

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    executorScript : STRING
    Name of the executor script that will be executed for each script found in the folder.
     
     
    rollbackScriptPostfix : STRING
    A script's associated rollback script is derived by using the 1st group identified by the scriptRecognitionRegex and then appending this postfix to it. e.g give name '01-myscript.sql', regex '([0-9]*-.*)\.sql' and rollback script postfix '-rollback.sql', we can derive the name of the associated rollback script to be '01-myscript-rollback.sql'
     
     
    rollbackScriptRecognitionRegex : STRING
    Regular expression used to identify a rollback script in the folder. A successful match should returns a single group, ie the logical script name. e.g. [0-9]*-.*-rollback\.sql
     
     
    scriptRecognitionRegex : STRING
    Regular expression used to identify a script in the folder. A successful match should returns a single group to which the rollbackScriptPostfix can be appended in order to find the associated rollback script or the script's dependent subfolder. e.g.([0-9]*-.*)\.sql
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    placeholders : MAP_STRING_STRING
    A key/value pair mapping of placeholders in the deployed artifact to their values. Special values are and
    Hidden Properties
     
     
    checkpointAfterFirstScript : BOOLEAN  = true
    If set to true, the checkpoint is set after the first script in a folder has been executed. Otherwise the checkpoint is set after the last script in a folder has been executed.
     
     
    commonScriptFolderName : STRING  = common
    Common folder that should be uploaded to the working directory.
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    executeModifiedScripts : BOOLEAN  = true
    If set to true, modified scripts are also executed on a MODIFY or a NOOP.
     
     
    executeRollbackForModifiedScripts : BOOLEAN  = true
    If set to true, rollback scripts for modified scripts are also executed on a MODIFY or a NOOP.
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    classpathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the script.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    templateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.ExecutedScript

    Virtual Type
    Type Hierarchy generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

    A script executed on a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    classpathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the script.
     
     
    destroyScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the destroy operation.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    modifyScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the modify operation.
     
     
    noopScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the noop operation.
     
     
    remoteWorkingDirectoryPath : STRING
    Name of working directory on target host. Default is to create a temporary directory which is deleted when connection is closed.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    retainRemoteWorkingDirectory : BOOLEAN  = false
    Retain the specified working directory on target host after completion.
     
     
    templateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.ExecutedScriptWithDerivedArtifact

    Virtual Type
    Type Hierarchy generic.ExecutedScript >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

    A script executed on a generic container whose deployable artifact supports placeholder replacement

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    placeholders : MAP_STRING_STRING
    A key/value pair mapping of placeholders in the deployed artifact to their values. Special values are and
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    classpathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the script.
     
     
    destroyScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the destroy operation.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    modifyScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the modify operation.
     
     
    noopScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the noop operation.
     
     
    remoteWorkingDirectoryPath : STRING
    Name of working directory on target host. Default is to create a temporary directory which is deleted when connection is closed.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    retainRemoteWorkingDirectory : BOOLEAN  = false
    Retain the specified working directory on target host after completion.
     
     
    templateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.File

    Virtual Type
    Type Hierarchy udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact

    A generic binary artifact

    Public Properties
     
     
    checksum : STRING
    The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
     
     
    excludeFileNamesRegex : STRING
    Regular expression that matches file names that must be excluded from scanning
     
     
    placeholders : SET_OF_STRING
    Placeholders detected in this artifact
     
     
    scanPlaceholders : BOOLEAN  = true
    Whether to scan this artifact for placeholders when it is imported
     
     
    tags : SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
    Hidden Properties
     
     
    textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
    Regular expression that matches file names of text files
     
     
    delimiters : STRING  = {{ }}
    The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
     
     
    fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
    A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

    generic.Folder

    Virtual Type
    Type Hierarchy udm.BaseDeployableFolderArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FolderArtifact

    A generic folder artifact

    Public Properties
     
     
    checksum : STRING
    The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
     
     
    excludeFileNamesRegex : STRING
    Regular expression that matches file names that must be excluded from scanning
     
     
    placeholders : SET_OF_STRING
    Placeholders detected in this artifact
     
     
    scanPlaceholders : BOOLEAN  = true
    Whether to scan this artifact for placeholders when it is imported
     
     
    tags : SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
    Hidden Properties
     
     
    textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
    Regular expression that matches file names of text files
     
     
    delimiters : STRING  = {{ }}
    The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
     
     
    fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
    A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

    generic.ManualProcess

    Virtual Type
    Type Hierarchy generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

    A manual process that needs to be performed on a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    fromAddress : STRING
    From mail address. Defaults to SMTPServer fromAddress.
     
     
    subject : STRING
    Mail subject
     
     
    toAddresses : LIST_OF_STRING
    Mail addresses of recepients.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createScript : STRING
    Classpath to the script that generates the instructions for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    destroyScript : STRING
    Classpath to the script that generates the instructions for the destroy operation.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    modifyScript : STRING
    Classpath to the script that generates the instructions for the modify operation.
     
     
    noopScript : STRING
    Classpath to the script that generates the instructions for the noop operation.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.

    generic.NestedContainer

    Virtual Type
    Type Hierarchy generic.BaseGenericContainer >> udm.BaseContainer >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.ConfigurationItem, udm.Container, generic.GenericContainer, overthere.HostContainer

    A container that is nested with another container

    Public Properties
     
     
    envVars : MAP_STRING_STRING
    Environment variables for container
     
     
    stopStartRestartConnection : CI<overthere.Host>
    If set, the connection settings to use to connect to the target system to execute start, stop, restart etc. operations for the container.
     
     
    tags : SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container.
    Hidden Properties
     
     
    restartOrder : INTEGER  = 90
    The order of the restart container step in the step list.
     
     
    startOrder : INTEGER  = 90
    The order of the start container step in the step list.
     
     
    startWaitTime : INTEGER  = 0
    The time to wait in seconds for a container start action.
     
     
    stopOrder : INTEGER  = 10
    The order of the stop container step in the step list.
     
     
    stopWaitTime : INTEGER  = 0
    The time to wait in seconds for a container stop action.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the restart script.
     
     
    restartScript : STRING
    Classpath to the script used to restart the generic container.
     
     
    restartTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the restart script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartWaitTime : INTEGER  = 0
    The time to wait in seconds for a container restart action.
     
     
    startClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the start script.
     
     
    startScript : STRING
    Classpath to the script used to start the generic container.
     
     
    startTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the start script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    stopClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the stop script.
     
     
    stopScript : STRING
    Classpath to the script used to stop the generic container.
     
     
    stopTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the stop script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    generic.ProcessedTemplate

    Virtual Type
    Type Hierarchy generic.AbstractDeployedArtifact >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

    A template deployed to a generic container

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    targetFile : STRING
    Name of the artifact on the generic server.
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createVerb : STRING  = Create
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyVerb : STRING  = Destroy
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyVerb : STRING  = Modify
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    targetDirectory : STRING
    Path to which artifact must be copied to on the generic server.
     
     
    template : STRING
    Classpath to the freemarker template used to generate the content of the final text base artifact.
     
     
    createTargetDirectory : BOOLEAN  = false
    Create the target directory on the generic server if it does not exist.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    targetDirectoryShared : BOOLEAN  = true
    Is the target directory shared by others on the generic server. When true, the target directory is not deleted during a destroy operation; only the artifacts copied to it.

    generic.Resource

    Virtual Type
    Type Hierarchy udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Taggable, udm.Deployable, udm.ConfigurationItem

    A generic resource specification

    Public Properties
     
     
    tags : SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.

    mail.SmtpServer

    Interfaces udm.ConfigurationItem

    SMTP Mail Server Configuration

    Public Properties
     
     
    fromAddress : STRING
    Default from address to use for messages sent with this server.
     
     
    host : STRING
    SMTP host
     
     
    port : INTEGER  = 25
    SMTP port
     
     
    password : STRING
    Password to authenticate with host
     
     
    smtpProperties : MAP_STRING_STRING
    Refer to http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html for all properties that can be used.
     
     
    testAddress : STRING
    The address to which a test mail is sent when using the 'Send Test Mail' control task.
     
     
    username : STRING
    Username to authenticate with host
    Control task Parameter CI Attributes Description
    sendTestMail

    no description