<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * Copyright 2014, 2017 IBM Corp.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/
 -->
<plugin xmlns="http://www.urbancode.com/PluginXMLSchema_v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <header>
    <identifier version="13" id="com.ibm.datapower" name="DataPower"/>
    <description>The IBM WebSphere DataPower plugin deploys DataPower services.</description>
    <tag>Infrastructure/WebSphere DataPower</tag>
  </header>



  <step-type name="Backup Device">
    <description>Backup all domains on a device (minus key/certificate files)</description>
    <properties>
      <property name="backupFile">
        <property-ui type="textBox" default-value="" label="Backup file" description="DataPower export file to create/overwrite"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddevice.backup.file=@backupFile@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="backup-device"/>
    </command>
  </step-type>



  <step-type name="Backup Domains">
    <description>Backup one or more domains on a device (minus key/certificate files)</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the first domain to backup"/>
      </property>
      <property name="domainNames">
        <property-ui type="textBox" default-value="" label="Additional comma separated domain names (no blanks)" description="Names of additional domains to backup"/>
      </property>
      <property name="backupFile">
        <property-ui type="textBox" default-value="" label="Backup file" description="DataPower export file to create/overwrite"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Ddomains=@domainNames@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dbackup.file=@backupFile@"/>
      <arg value="backup-domains"/>
    </command>
  </step-type>



  <step-type name="Checkpoint Delete">
    <description>Delete a checkpoint in a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of a domain containing the checkpoint"/>
      </property>
      <property name="checkpoint">
        <property-ui type="textBox" default-value="" label="Checkpoint name" description="Name of checkpoint"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dcheckpoint.name=@checkpoint@"/>
      <arg value="checkpoint-delete"/>
    </command>
  </step-type>



  <step-type name="Checkpoint Restore">
    <description>Restore a domain from a checkpoint</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of a domain to restore from a checkpoint"/>
      </property>
      <property name="checkpoint">
        <property-ui type="textBox" default-value="" label="Checkpoint name" description="Name of checkpoint"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dcheckpoint.name=@checkpoint@"/>
      <arg value="checkpoint-restore"/>
    </command>
  </step-type>



  <step-type name="Checkpoint Save">
    <description>Checkpoint the current state of a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of a domain to checkpoint"/>
      </property>
      <property name="checkpoint">
        <property-ui type="textBox" default-value="" label="Checkpoint name" description="Name of checkpoint"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dcheckpoint.name=@checkpoint@"/>
      <arg value="checkpoint-save"/>
    </command>
  </step-type>



  <step-type name="Create Domain">
    <description>Create a new domain</description>
    <properties>
      <property name="newDomainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="New domain name" description="Name of the domain to create (letters, numbers, hyphen, underscore, no blanks)"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@newDomainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="domain-create"/>
    </command>
  </step-type>



  <step-type name="Crypto Identity Credential from Definition">
    <description>Create/overwrite a crypto identity credential based on a definition file</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="definitionFile">
        <property-ui type="textBox" default-value="" label="Definition file" description="Definition file for crypto identity credential"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Didcred.file=@definitionFile@"/>
      <arg value="idcred-from-def"/>
    </command>
  </step-type>



  <step-type name="Crypto Validation Credential from Definition">
    <description>Create/overwrite a crypto validation credential based on a definition file</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="definitionFile">
        <property-ui type="textBox" default-value="" label="Definition file" description="Definition file for crypto validation credential"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dvalcred.file=@definitionFile@"/>
      <arg value="valcred-from-def"/>
    </command>
  </step-type>



  <step-type name="Delete Domain">
    <description>Delete a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain to delete"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="domain-delete"/>
    </command>
  </step-type>



  <step-type name="Download Files">
    <description>Download target files or all files from a filestore</description>
    <properties>
      <property name="domainName" required="true">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="filestore" required="true">
        <property-ui type="textBox" default-value="local:" label="Filestore name" description="Name of filestore (e.g. local:, store:)"/>
      </property>
      <property name="files">
        <property-ui type="textBox" default-value="" label="Target files (blank means all)" description="All files if empty or target files e.g. &lt;downloadFiles&gt;&lt;file&gt;/folderA/fileA.xml&lt;/file&gt;&lt;/downloadFiles&gt;"/>
      </property>
      <property name="toDir" required="true">
        <property-ui type="textBox" default-value="" label="To directory" description="This local directory will contain the downloaded files"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Dfilestore=@filestore@"/>
      <arg value="-Dfiles=@files@"/>
      <arg value="-Ddownload-dir.to=@toDir@"/>
      <arg value="download-files"/>
    </command>
  </step-type>



  <step-type name="Export Object">
    <description>Export an object from a domain on a device</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the first domain to backup"/>
      </property>
      <property name="objectClass">
        <property-ui type="textBox" default-value="" label="Object Class" description="Object class e.g. MultiProtocolGateway or WSGateway"/>
      </property>
      <property name="objectName">
        <property-ui type="textBox" default-value="" label="Object Name" description="Object name e.g. name of service"/>
      </property>
      <property name="refObjects">
        <property-ui type="checkBox" default-value="true" label="Include reference objects?" description="Include referenced objects when exporting?"/>
      </property>
      <property name="refFiles">
        <property-ui type="checkBox" default-value="true" label="Include reference files?" description="Include referenced files when exporting?"/>
      </property>
      <property name="exportFile">
        <property-ui type="textBox" default-value="" label="Export file" description="DataPower export file to create/overwrite"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Dobject.class=@objectClass@"/>
      <arg value="-Dobject.name=@objectName@"/>
      <arg value="-Dref.objects=@refObjects@"/>
      <arg value="-Dref.files=@refFiles@"/>
      <arg value="-Dexport.file=@exportFile@"/>
      <arg value="export-object"/>
    </command>
  </step-type>



  <step-type name="Host Alias Remove">
    <description>Remove a host alias</description>
    <properties>
      <property name="aliasName">
        <property-ui type="textBox" default-value="" label="Host alias name" description="Host alias (e.g. www.ibm.com)"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dhost-alias.name=@aliasName@"/>
      <arg value="host-alias-remove"/>
    </command>
  </step-type>



  <step-type name="Host Alias Set">
    <description>Set a host alias</description>
    <properties>
      <property name="aliasName">
        <property-ui type="textBox" default-value="" label="Host alias name" description="Host alias (e.g. www.ibm.com)"/>
      </property>
      <property name="aliasIP">
        <property-ui type="textBox" default-value="" label="Host alias IP" description="IP address assigned to an ethernet adapter on the appliance as a primary or secondary IP address"/>
      </property>
      <property name="comment">
        <property-ui type="textBox" default-value="" label="Comment" description="e.g. the equivalent DNS name for this IP address"/>
      </property>
      <property name="mAdminState">
        <property-ui type="selectBox" default-value="enabled" label="State" description="Whether enabled or disabled"/>
        <value label="Enabled">enabled</value>
        <value label="Disabled">disabled</value>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dhost-alias.name=@aliasName@"/>
      <arg value="-Dhost-alias.ip=@aliasIP@"/>
      <arg value="-Dhost-alias.comment=@comment@"/>
      <arg value="-Dhost-alias.mAdminState=@mAdminState@"/>
      <arg value="host-alias-set"/>
    </command>
  </step-type>



  <step-type name="Import (Basic)">
    <description>Import a DataPower export file (e.g. .zip) into a domain</description>
    <properties>
      <property name="fileImport">
        <property-ui type="textBox" default-value="" label="Import File" description="DataPower export file to import"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
      <property name="ignoreError">
        <property-ui type="textBox" default-value="" label="Import Error Regex" description="Specify regex that defines import error(s) to ignore on completion." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dimport.file=@fileImport@"/>
      <arg value="import-from-def"/>
    </command>
  </step-type>



  <step-type name="Import (Definition)">
    <description>Import a DataPower export file (e.g. .zip) into a domain</description>
    <properties>
      <property name="fileImport">
        <property-ui type="textBox" default-value="" label="Import File" description="DataPower export file to import"/>
      </property>
      <property name="fileDefinition">
        <property-ui type="textBox" default-value="" label="Definition File" description="DCM definitions file"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
      <property name="ignoreError">
        <property-ui type="textBox" default-value="" label="Import Error Regex" description="Specify regex that defines import error(s) to ignore on completion." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dimport.file=@fileImport@"/>
      <arg value="-Dimport.changes.file=@fileDefinition@"/>
      <arg value="import-from-def"/>
    </command>
  </step-type>



  <step-type name="Import (Deployment Policy Object)">
    <description>Import a DataPower export file (e.g. .zip) into a domain using a deployment policy object</description>
    <properties>
      <property name="fileImport">
        <property-ui type="textBox" default-value="" label="Import File" description="DataPower export file to import"/>
      </property>
      <property name="deploymentPolicyObject">
        <property-ui type="textBox" default-value="" label="Deployment policy object name" description="Deployment policy object (already present in the domain) to be applied during import"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
      <property name="ignoreError">
        <property-ui type="textBox" default-value="" label="Import Error Regex" description="Specify regex that defines import error(s) to ignore on completion." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dimport.file=@fileImport@"/>
      <arg value="-Ddeployment.policy.object=@deploymentPolicyObject@"/>
      <arg value="import-dpo"/>
    </command>
  </step-type>



  <step-type name="Invoke any deploy.ant.xml target">
    <description>Invoke any deploy.ant.xml target - prefer predefined steps to this one</description>
    <properties>
      <property name="targetName">
        <property-ui type="textBox" default-value="" label="Target name" description="Name of the target (e.g. domain-restart)"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)"/>
      </property>
      <property name="addlPropertiesFile">
        <property-ui type="textBox" default-value="" label="Additional Properties File" description="File Containing Additional Properties"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="@targetName@"/>
    </command>
  </step-type>



  <step-type name="Load Balancer Group from Definition">
    <description>Create/overwrite a load balancer group based on a definition file</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="definitionFile">
        <property-ui type="textBox" default-value="" label="Definition file" description="Definition file for load balancer group"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dlbg.file=@definitionFile@"/>
      <arg value="load-balancer-group-from-def"/>
    </command>
  </step-type>



  <step-type name="Quiesce Domain">
    <description>Quiesce a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain to quiesce"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="domain-quiesce"/>
    </command>
  </step-type>



  <step-type name="Restart Domain">
    <description>Restart a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain to restart"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="domain-restart"/>
    </command>
  </step-type>



  <step-type name="Restore Backup">
    <description>Restore one or more domains from backup file (see Backup Device or Backup Domains)</description>
    <properties>
      <property name="backupFile">
        <property-ui type="textBox" default-value="" label="Backup file" description="DataPower export file"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the first domain to restore"/>
      </property>
      <property name="domainNames">
        <property-ui type="textBox" default-value="" label="Additional blank separated domain names" description="Names of additional domains to restore"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Ddomains=@domainNames@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dbackup.file=@backupFile@"/>
      <arg value="restore-backup"/>
    </command>
  </step-type>



  <step-type name="Save Configuration">
    <description>Save the in-memory configuration in a domain to permanent storage</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="save"/>
    </command>
  </step-type>



  <step-type name="Set Log Level">
    <description>Set the log level for the default log in a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain"/>
      </property>
      <property name="loglevel">
        <property-ui type="selectBox" default-value="error" label="Log level" description="Default log level in domain"/>
        <value label="Debug">debug</value>
        <value label="Information">info</value>
        <value label="Notice">notice</value>
        <value label="Warn">warn</value>
        <value label="Error">error</value>
        <value label="Critical">critic</value>
        <value label="Alert">alert</value>
        <value label="Emergency">emerg</value>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dlog.level=@loglevel@"/>
      <arg value="set-log-level"/>
    </command>
  </step-type>



  <step-type name="Unquiesce Domain">
    <description>Unquiesce a domain</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the domain to unquiesce"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="domain-unquiesce"/>
    </command>
  </step-type>



  <step-type name="Upload Directory">
    <description>Upload a directory</description>
    <properties>
      <property name="fromDir">
        <property-ui type="textBox" default-value="" label="From directory" description="Source directory"/>
      </property>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="toDir">
        <property-ui type="textBox" default-value="local:///" label="To directory" description="Target directory"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dupload-dir.from=@fromDir@"/>
      <arg value="-Dupload-dir.to=@toDir@"/>
      <arg value="upload-dir"/>
    </command>
  </step-type>



  <step-type name="Upload from Definition">
    <description>Create/overwrite files/directories based on a definition file</description>
    <properties>
      <property name="domainName">
        <property-ui type="textBox" default-value="${p:dpDomainName}" label="Domain name" description="Name of the target domain"/>
      </property>
      <property name="definitionFile">
        <property-ui type="textBox" default-value="" label="Definition file" description="Definition file for files and directories to upload"/>
      </property>
      <property name="hostname">
        <property-ui type="textBox" default-value="${p:dpHostname}" label="DataPower hostname/IP" description="Hostname or IP address of DataPower appliance" hidden="true"/>
      </property>
      <property name="uid">
        <property-ui type="textBox" default-value="${p:dpUserid}" label="DataPower userid" description="Userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="pwd">
        <property-ui type="secureBox" default-value="${p:dpPassword}" label="DataPower password" description="Password for userid on DataPower appliance" hidden="true"/>
      </property>
      <property name="portXMI">
        <property-ui type="textBox" default-value="${p:dpXMIPort}" label="DataPower XMI port" description="XML Management Interface port on DataPower appliance (usually 5550)" hidden="true"/>
      </property>
      <property name="environment">
        <property-ui type="textBox" default-value="${p:environment.name}" label="Target Environment" description="Target environment (e.g. dev, sit, uat, prod)" hidden="true"/>
      </property>
      <property name="addlProperties">
        <property-ui type="textBox" default-value="" label="Additional Properties" description="Additional property mappings - antpropname=...[ '~' more definitions ]" hidden="true"/>
      </property>
      <property name="memorySize">
        <property-ui type="selectBox" default-value="default" label="Java Max Memory Size" description="Set the max Java Heap Memory size for the DCM's Ant call. " hidden="true"/>
          <value label="Default">default</value>
          <value label="-Xmx256m">-Xmx256m</value>
          <value label="-Xmx512m">-Xmx512m</value>
          <value label="-Xmx1024m">-Xmx1024m</value>
          <value label="-Xmx2048m">-Xmx2048m</value>
          <value label="-Xmx4096m">-Xmx4096m</value>
          <value label="${p?:environment/memorySize}">${p?:environment/memorySize}</value>
          <value label="${p?:resource/memorySize}">${p?:resource/memorySize}</value>
      </property>
    </properties>
    <post-processing><![CDATA[
    if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg file="classes"/>
      <arg file="RunDeployDotAnt.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      <arg value="-Ddomain=@domainName@"/>
      <arg value="-Denvironment=@environment@"/>
      <arg value="-Dupload.file=@definitionFile@"/>
      <arg value="upload-from-def"/>
    </command>
  </step-type>
</plugin>
