<?xml version="1.0" encoding="UTF-8"?><!--
	Restricted Materials - Property of IBM
	(C) Copyright IBM Corp. 2018 All Rights Reserved.
		--><plugin xmlns="http://www.urbancode.com/PluginXMLSchema_v1" xmlns:server="http://www.urbancode.com/PluginServerXMLSchema_v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <header>
    <identifier id="com.ibm.ucd.plugin.cics" name="CICS TS" version="40"/>
    <description> Plugin for installing and updating resources in CICS Transaction Server. </description>
    <tag>Application Server/CICS TS</tag>
  </header>
  <step-type name="New copy resources">
    <description>New copy installed program or doctemplate resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="PROGRAM" description="The type of resource to new copy." label="Resource Type" type="selectBox"/>
        <value label="Program">PROGRAM</value>
        <value label="Document Template">DOCTEMP</value>
      </property>
      <property name="maxRetryTimes">
        <property-ui description="The maximum number of times to retry a new copy of the resource. A retry occurs when the new copy fails." label="Max Retry Times" type="textBox"/>
      </property>
      <property name="retryInterval">
        <property-ui description="The number of seconds to wait before retrying a new copy of the resource." label="Retry Interval (s)" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="newcopyResourcesList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Phase in resources">
    <description>Phase in installed program or bundle resources. Phase in for a bundle resource type requires CICS TS V5.3 or later.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="PROGRAM" description="The type of resource to phase in." label="Resource Type" type="selectBox"/>
        <value label="Program">PROGRAM</value>
        <value label="Bundle">BUNDLE</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="phaseinResourcesList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Install CSD resources">
    <description>Install resources from the CSD.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to install." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMDEF</value>
        <value label="Bundle">BUNDDEF</value>
        <value label="CorbaServer">EJCODEF</value>
        <value label="DB2 Connection">DB2CDEF</value>
        <value label="DB2 Entry">DB2EDEF</value>
        <value label="DB2 Transaction">DB2TDEF</value>
        <value label="Deployed JAR File">EJDJDEF</value>
        <value label="Document Template">DOCDEF</value>
        <value label="Enqueue Model">ENQMDEF</value>
        <value label="File">FILEDEF</value>
        <value label="IPIC Connection">IPCONDEF</value>
        <value label="Journal Model">JRNMDEF</value>
        <value label="JVM Server">JVMSVDEF</value>
        <value label="LIBRARY">LIBDEF</value>
        <value label="LSR Pool">LSRDEF</value>
        <value label="Map Set">MAPDEF</value>
        <value label="Partition Set">PRTNDEF</value>
        <value label="Partner">PARTDEF</value>
        <value label="Pipeline">PIPEDEF</value>
        <value label="Process Type">PROCDEF</value>
        <value label="Profile">PROFDEF</value>
        <value label="Program">PROGDEF</value>
        <value label="Request Model">RQMDEF</value>
        <value label="TCP/IP Service">TCPDEF</value>
        <value label="TD Queue">TDQDEF</value>
        <value label="Terminal">TERMDEF</value>
        <value label="Transaction">TRANDEF</value>
        <value label="Transaction Class">TRNCLDEF</value>
        <value label="TS Model">TSMDEF</value>
        <value label="Typeterm">TYPTMDEF</value>
        <value label="URI Map">URIMPDEF</value>
        <value label="Web Service">WEBSVDEF</value>
        <value label="Websphere MQ Connection">MQCONDEF</value>
      </property>
      <property name="groupName" required="true">
        <property-ui description="The name of the group that the resource or resources belong to." label="Group Name" type="textBox"/>
      </property>

      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of an existing CICS system into which the resource will be installed." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="installResourceFromCSD"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Install CSD groups or lists">
    <description>Install resources contained in groups or lists from the CSD.</description>
    <properties>

      <property name="groupOrList" required="true">
        <property-ui description="Specify whether to install from a CSD group or list." label="Group or List" type="selectBox"/>
        <value label="Group">CSDGROUP</value>
        <value label="List">CSDLIST</value>
      </property>
      <property name="groupOrListNameList" required="true">
        <property-ui description="A comma-separated list of CSD groups or lists." label="Group or List Name" type="textAreaBox"/>
      </property>

      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of an existing CICS system into which the resource will be installed." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="installGroupOrListFromCSD"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>


  <step-type name="Install BAS resources">
    <description>Install resource definitions from the CICSPlex SM data repository using BAS.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to install." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMDEF</value>
        <value label="Bundle">BUNDDEF</value>
        <value label="CorbaServer">EJCODEF</value>
        <value label="DB2 Connection">DB2CDEF</value>
        <value label="DB2 Entry">DB2EDEF</value>
        <value label="DB2 Transaction">DB2TDEF</value>
        <value label="Deployed JAR File">EJDJDEF</value>
        <value label="Document Template">DOCDEF</value>
        <value label="Enqueue Model">ENQMDEF</value>
        <value label="File">FILEDEF</value>
        <value label="IPIC Connection">IPCONDEF</value>
        <value label="Journal Model">JRNMDEF</value>
        <value label="JVM Server">JVMSVDEF</value>
        <value label="LIBRARY">LIBDEF</value>
        <value label="LSR Pool">LSRDEF</value>
        <value label="Map Set">MAPDEF</value>
        <value label="Partition Set">PRTNDEF</value>
        <value label="Partner">PARTDEF</value>
        <value label="Pipeline">PIPEDEF</value>
        <value label="Process Type">PROCDEF</value>
        <value label="Profile">PROFDEF</value>
        <value label="Program">PROGDEF</value>
        <value label="Request Model">RQMDEF</value>
        <value label="TCP/IP Service">TCPDEF</value>
        <value label="TD Queue">TDQDEF</value>
        <value label="Terminal">TERMDEF</value>
        <value label="Transaction">TRANDEF</value>
        <value label="Transaction Class">TRNCLDEF</value>
        <value label="TS Model">TSMDEF</value>
        <value label="Typeterm">TYPTMDEF</value>
        <value label="URI Map">URIMPDEF</value>
        <value label="Web Service">WEBSVDEF</value>
        <value label="WebSphere MQ Connection">MQCONDEF</value>
      </property>
      <property name="resourceDefinitionVersion" required="true">
        <property-ui default-value="1" description="The version of the resource to install. The default value is 1." label="Version" type="textBox"/>
      </property>

      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope" required="true">
        <property-ui default-value="${p:cics.scope}" description="The name of an existing CICS system or system group into which the resource will be installed." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="installResourceFromDREP"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Install BAS resource groups">
    <description>Install resource groups from the CICSPlex SM data repository using BAS.</description>
    <properties>
      <property name="resourceGroupNameList" required="true">
        <property-ui description="A comma-separated list of resource group names." label="Resource Group List" type="textAreaBox"/>
      </property>

      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope" required="true">
        <property-ui default-value="${p:cics.scope}" description="The name of an existing CICS system or system group into which the resource will be installed." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="installResourceGroupFromDREP"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>


  <step-type name="Install BAS resource descriptions">
    <description>Install resource descriptions from the CICSPlex SM data repository using BAS.</description>
    <properties>
      <property name="resourceDescriptionNameList" required="true">
        <property-ui description="A comma-separated list of resource description names." label="Resource Description List" type="textAreaBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="installResourceDescFromDREP"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Discard resources">
    <description>Discard installed resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to discard." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMSERV</value>
        <value label="Bundle">BUNDLE</value>
        <value label="Connection">CONNECT</value>
        <value label="Data Table">CMDT</value>
        <value label="DB2 Connection">DB2CONN</value>
        <value label="DB2 Entry">DB2ENTRY</value>
        <value label="DB2 Transaction">DB2TRN</value>
        <value label="Document Template">DOCTEMP</value>
        <value label="Local File">LOCFILE</value>
        <value label="IPIC Connection">IPCONN</value>
        <value label="Journal Model">JRNLMODL</value>
        <value label="Journal Name">JRNLNAME</value>
        <value label="JVM Server">JVMSERV</value>
        <value label="LIBRARY">LIBRARY</value>
        <value label="Pipeline">PIPELINE</value>
        <value label="Process Type">PROCTYP</value>
        <value label="Program">PROGRAM</value>
        <value label="Remote File">REMFILE</value>
        <value label="TCP/IP Service">TCPIPS</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
        <value label="TD Queue (Indirect)">INDTDQ</value>
        <value label="TD Queue (Intra)">INTRATDQ</value>
        <value label="TD Queue (Remote)">REMTDQ</value>
        <value label="Terminal">TERMNL</value>
        <value label="Transaction">LOCTRAN</value>
        <value label="Transaction Classes">TRANCLAS</value>
        <value label="TS Model">TSMODEL</value>
        <value label="URI Map">URIMAP</value>
        <value label="Web Service">WEBSERV</value>
        <value label="Websphere MQ Connection">MQCON</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="discardResourceList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Enable resources">
    <description>Enable installed resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to enable." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMSERV</value>
        <value label="Bundle">BUNDLE</value>
        <value label="Data Table">CMDT</value>
        <value label="DB2 Entry">DB2ENTRY</value>
        <value label="EP Adapter">EPADAPT</value>
        <value label="EP Adapter Set">EPADSET</value>
        <value label="Event Binding">EVNTBIND</value>
        <value label="Local File">LOCFILE</value>
        <value label="JVM Server">JVMSERV</value>
        <value label="LIBRARY">LIBRARY</value>
        <value label="Pipeline">PIPELINE</value>
        <value label="Process Type">PROCTYP</value>
        <value label="Program">PROGRAM</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
        <value label="TD Queue (Intra)">INTRATDQ</value>
        <value label="Transaction">LOCTRAN</value>
        <value label="URI Map">URIMAP</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="enableResourceList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Disable resources">
    <description>Disable installed resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to disable." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMSERV</value>
        <value label="Bundle">BUNDLE</value>
        <value label="Data Table">CMDT</value>
        <value label="DB2 Entry">DB2ENTRY</value>
        <value label="EP Adapter">EPADAPT</value>
        <value label="EP Adapter Set">EPADSET</value>
        <value label="Event Binding">EVNTBIND</value>
        <value label="Local File">LOCFILE</value>
        <value label="JVM Server">JVMSERV</value>
        <value label="LIBRARY">LIBRARY</value>
        <value label="Pipeline">PIPELINE</value>
        <value label="Process Type">PROCTYP</value>
        <value label="Program">PROGRAM</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
        <value label="TD Queue (Intra)">INTRATDQ</value>
        <value label="Transaction">LOCTRAN</value>
        <value label="URI Map">URIMAP</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="disableResourceList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Scan pipelines">
    <description>Scan installed pipeline resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of pipelines." label="Pipeline List" type="textAreaBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="performPipelineScan"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Open resources">
    <description>Open installed resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to open." label="Resource Type" type="selectBox"/>
        <value label="Data Table">CMDT</value>
        <value label="Local File">LOCFILE</value>
        <value label="TCP/IP Service">TCPIPS</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="openResourceList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Close resources">
    <description>Close installed resources.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui description="The type of resource to close." label="Resource Type" type="selectBox"/>
        <value label="Data Table">CMDT</value>
        <value label="Local File">LOCFILE</value>
        <value label="TCP/IP Service">TCPIPS</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="closeResourceList"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Check enable status of resources">
    <description>Check if installed resources are enabled or disabled.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="PROGRAM" description="The type of resource to check." label="Resource Type" type="selectBox"/>
        <value label="Atom Service">ATOMSERV</value>
        <value label="Bundle">BUNDLE</value>
        <value label="Data Table">CMDT</value>
        <value label="DB2 Entry">DB2ENTRY</value>
        <value label="EP Adapter">EPADAPT</value>
        <value label="EP Adapter Set">EPADSET</value>
        <value label="Event Binding">EVNTBIND</value>
        <value label="Local File">LOCFILE</value>
        <value label="JVM Server">JVMSERV</value>
        <value label="LIBRARY">LIBRARY</value>
        <value label="Pipeline">PIPELINE</value>
        <value label="Process Type">PROCTYP</value>
        <value label="Program">PROGRAM</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
        <value label="TD Queue (Intra)">INTRATDQ</value>
        <value label="Transaction">LOCTRAN</value>
        <value label="URI Map">URIMAP</value>
      </property>
      <property name="expectedStatus" required="true">
        <property-ui default-value="ENABLED" description="The expected status." label="Expected Status" type="selectBox"/>
        <value label="Enabled">ENABLED</value>
        <value label="Disabled">DISABLED</value>
      </property>
      <property name="timeout">
        <property-ui description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 0-1800, where 0 means no retry attempts are made. The default is 15 seconds" default-value="15" label="Timeout (s)" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="checkEnableStatus"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Check open status of resources">
    <description>Check if installed resources are open or closed.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="PROGRAM" description="The type of resource to check." label="Resource Type" type="selectBox"/>
        <value label="Data Table">CMDT</value>
        <value label="Local File">LOCFILE</value>
        <value label="TCP/IP Service">TCPIPS</value>
        <value label="TD Queue (Extra)">EXTRATDQ</value>
      </property>
      <property name="expectedStatus" required="true">
        <property-ui default-value="OPEN" description="The expected status." label="Expected Status" type="selectBox"/>
        <value label="Open">OPEN</value>
        <value label="Closed">CLOSED</value>
      </property>
      <property name="timeout">
        <property-ui description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 0-1800, where 0 means no retry attempts are made. The default is 15 seconds" default-value="15" label="Timeout (s)" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="checkOpenStatus"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Enable application">
    <description>Enable an installed cloud enabled CICS application. Requires CICS TS V5.1 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="enableApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Disable application">
    <description>Disable an installed cloud enabled CICS application. Requires CICS TS V5.1 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="disableApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>


  <step-type name="Deploy bundle">
    <description>Deploy a CICS bundle. Requires CICS TS V5.1 or V5.2 with APAR PI56706, or V5.3 or later.</description>
    <properties>
      <property name="bundleName" required="true">
        <property-ui description="The name of the CICS bundle." label="Bundle Name" type="textBox"/>
      </property>
      <property name="bundleDirectory" required="true">
        <property-ui description="The location of the CICS bundle on zFS." label="Bundle Directory" type="textBox"/>
      </property>
      <property name="resourceDefinition" required="true">
        <property-ui default-value="CSD" description="The location in which to create the resource definition. You can also choose not to define the resource." label="Resource Definition" type="selectBox"/>
        <value label="Define the resource in CSD">CSD</value>
        <value label="Define the resource in BAS">BAS</value>
        <value label="Do not define the resource">NONE</value>
      </property>
      <property name="groupName">
        <property-ui description="The name of the resource definition group." label="Group Name" type="textBox"/>
      </property>
      <property name="description">
        <property-ui description="A description of the resource definition." label="Description" type="textBox"/>
      </property>
      <property name="targetstatus" required="true">
        <property-ui default-value="ENABLED" description="The target state of the bundle." label="State" type="selectBox"/>
        <value label="Enabled">ENABLED</value>
        <value label="Available">AVAILABLE</value>
        <value label="Disabled">DISABLED</value>
      </property>
      <property name="timeout">
        <property-ui default-value="300" description="The number of seconds to wait for the bundle to deploy before a timeout occurs. Further processing of the bundle by CICS might occur after the timeout. The valid range is 1-1800. The default value is 300." label="Timeout (s)" type="textBox"/>
      </property>
      <property name="JCLjobstatement">
        <property-ui default-value="${p?:deploy.env.jobstatement}" description="The JCL job statement. The token @JOBNAME@ is replaced with UCDnnnnn, where nnnnn is a random number in the range 1 - 99999. The default value is:  //@JOBNAME@ JOB (&amp;SYSUID), //         CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)" hidden="true" label="JCL Job Statement" type="textAreaBox"/>
      </property>
      <property name="trace">
        <property-ui default-value="false" description="Whether to turn on trace. When checked, DFHDPLOY returns detailed trace to help you troubleshoot issues. By default, trace is disabled." hidden="true" label="Enable Trace" type="checkBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cmas">
        <property-ui default-value="${p?:cics.cicsplex.cmas}" description="The name of the CMAS to connect to. The default value is ${p?:cics.cicsplex.cmas}." hidden="true" label="CMAS" type="textBox"/>
      </property>
      <property name="cicsscope" required="true">
        <property-ui default-value="${p:cics.scope}" description="The name of the CICS System, or CICS System Group, where the CICS bundle will be installed. The default value is ${p?:cics.scope}." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="cicshlq" required="true">
        <property-ui default-value="${p:cics.cicshlq}" description="The high-level qualifier of CICS (for example, CICSTS53.CICS). The default value is ${p?:cics.cicshlq}." hidden="true" label="CICS HLQ" type="textBox"/>
      </property>
      <property name="cpsmhlq" required="true">
        <property-ui default-value="${p:cics.cpsmhlq}" description="The high-level qualifier of CPSM (for example, CICSTS53.CPSM). The default value is ${p?:cics.cpsmhlq}." hidden="true" label="CPSM HLQ" type="textBox"/>
      </property>
      <property name="jesHost" required="true">
        <property-ui default-value="${p:jes.host}" description="The JES host name to connect to. The default value is $(p:jes.host)." hidden="true" label="JES Host Name" type="textBox"/>
      </property>
      <property name="jmonPort" required="true">
        <property-ui default-value="${p:jes.monitor.port}" description="The JES Job Monitor (JMON) port to connect to. The default value is ${p:jes.monitor.port}." hidden="true" label="JES Job Monitor Port" type="textBox"/>
      </property>
      <property name="jesUsername" required="true">
        <property-ui default-value="${p:jes.user}" description="The username to use when connecting to JES. The default value is ${p?:jes.user}." hidden="true" label="JES User Name" type="textBox"/>
      </property>
      <property name="jesPassword">
        <property-ui default-value="${p?:jes.password}" description="The password to use when connecting to JES. The default value is ${p?:jes.password}." hidden="true" label="JES Password" type="textBox"/>
      </property>
      <property name="usePassticket">
        <property-ui default-value="true" description="Use PassTicket authentication if a password is not provided. See the z/OS Utility plug-in documentation 'Usage' section, 'Deploying by using the Job Monitor' page for the required configuration to allow PassTickets." hidden="true" label="Use PassTicket" type="checkBox"/>
      </property>
      <property name="irrracfJarFile" required="true">
        <property-ui default-value="/usr/include/java_classes/IRRRacf.jar" description="Specifies the path to the System Access Facility (SAF) JAR file, IRRRacf.jar. The default value is /usr/include/java_classes/IRRRacf.jar." hidden="true" label="IRRRacf.jar File" type="textBox"/>
      </property>
      <property name="irrracfLib" required="true">
        <property-ui default-value="/usr/lib" description="Specify the path to the System Access Facility (SAF) native library, libIRRRacf.so. There is one library for 31-bit Java and one for 64-bit Java. You must point to the path of the appropriate library based on the version of Java you are running. The default value is /usr/lib." hidden="true" label="IRRRacf Native Library Path" type="textBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*:${irrracfJarFile}"/>
      <arg value="deployBundle"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Undeploy bundles">
    <description>Undeploy CICS bundles. Requires CICS TS V5.1 or V5.2 with APAR PI56706, or V5.3 or later.</description>
    <properties>
      <property name="bundleNameList" required="true">
        <property-ui description="A comma-separated list of bundle names." label="Bundle Name List" type="textBox"/>
      </property>
      <property name="resourceDefinition" required="true">
        <property-ui default-value="CSD" description="When target state is Discarded, choose the location of the resource definition to delete. You can also choose to NOT delete the resource definition. The default action is to delete the resource in CSD." label="Resource Definition" type="selectBox"/>
        <value label="Do not delete the resource">NOT</value>
        <value label="Delete the resource in BAS">BAS</value>
        <value label="Delete the resource in CSD">CSD</value>
      </property>
      <property name="groupName">
        <property-ui description="When the target state is Discarded, enter the name of the resource definition group in which the bundle is defined." label="Group Name" type="textBox"/>
      </property>
      <property name="targetstatus" required="true">
        <property-ui default-value="DISCARDED" description="The target state of the bundle." label="State" type="selectBox"/>
        <value label="Discarded">DISCARDED</value>
        <value label="Disabled">DISABLED</value>
        <value label="Unavailable">UNAVAILABLE</value>
      </property>
      <property name="timeout">
        <property-ui default-value="300" description="The number of seconds to wait for each bundle to undeploy before a timeout occurs. Further processing of a bundle by CICS might occur after the timeout. The valid range is 1-1800. The default value is 300." label="Timeout (s)" type="textBox"/>
      </property>
      <property name="JCLjobstatement">
        <property-ui default-value="${p?:deploy.env.jobstatement}" description="The JCL job statement. The token @JOBNAME@ is replaced with UCDnnnnn, where nnnnn is a random number in the range 1 - 99999. The default value is:  //@JOBNAME@ JOB (&amp;SYSUID), //         CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)" hidden="true" label="JCL Job Statement" type="textAreaBox"/>
      </property>
      <property name="trace">
        <property-ui default-value="false" description="Whether to turn on trace. When checked, DFHDPLOY returns detailed trace to help you troubleshoot issues. By default, trace is disabled." hidden="true" label="Enable Trace" type="checkBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cmas">
        <property-ui default-value="${p?:cics.cicsplex.cmas}" description="The name of the CMAS to connect to. The default value is ${p?:cics.cicsplex.cmas}." hidden="true" label="CMAS" type="textBox"/>
      </property>
      <property name="cicsscope" required="true">
        <property-ui default-value="${p:cics.scope}" description="The name of the CICS System, or CICS System Group, that the CICS bundle will be removed from. The default value is ${p?:cics.scope}." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="cicshlq" required="true">
        <property-ui default-value="${p:cics.cicshlq}" description="The high-level qualifier of CICS (for example, CICSTS53.CICS). The default value is ${p?:cics.cicshlq}." hidden="true" label="CICS HLQ" type="textBox"/>
      </property>
      <property name="cpsmhlq" required="true">
        <property-ui default-value="${p:cics.cpsmhlq}" description="The high-level qualifier of CPSM (for example, CICSTS53.CPSM). The default value is ${p?:cics.cpsmhlq}." hidden="true" label="CPSM HLQ" type="textBox"/>
      </property>
      <property name="jesHost" required="true">
        <property-ui default-value="${p:jes.host}" description="The JES host name to connect to. The default value is $(p:jes.host)." hidden="true" label="JES Host Name" type="textBox"/>
      </property>
      <property name="jmonPort" required="true">
        <property-ui default-value="${p:jes.monitor.port}" description="The JES Job Monitor (JMON) port to connect to. The default value is ${p:jes.monitor.port}." hidden="true" label="JES Job Monitor Port" type="textBox"/>
      </property>
      <property name="jesUsername" required="true">
        <property-ui default-value="${p:jes.user}" description="The username to use when connecting to JES. The default value is ${p?:jes.user}." hidden="true" label="JES User Name" type="textBox"/>
      </property>
      <property name="jesPassword">
        <property-ui default-value="${p?:jes.password}" description="The password to use when connecting to JES. The default value is ${p?:jes.password}." hidden="true" label="JES Password" type="textBox"/>
      </property>
      <property name="usePassticket">
        <property-ui default-value="true" description="Use PassTicket authentication if a password is not provided. See the z/OS Utility plug-in documentation 'Usage' section, 'Deploying by using the Job Monitor' page for the required configuration to allow PassTickets." hidden="true" label="Use PassTicket" type="checkBox"/>
      </property>
      <property name="irrracfJarFile" required="true">
        <property-ui default-value="/usr/include/java_classes/IRRRacf.jar" description="Specifies the path to the System Access Facility (SAF) JAR file, IRRRacf.jar. The default value is /usr/include/java_classes/IRRRacf.jar." hidden="true" label="IRRRacf.jar File" type="textBox"/>
      </property>
      <property name="irrracfLib" required="true">
        <property-ui default-value="/usr/lib" description="Specify the path to the System Access Facility (SAF) native library, libIRRRacf.so. There is one library for 31-bit Java and one for 64-bit Java. You must point to the path of the appropriate library based on the version of Java you are running. The default value is /usr/lib." hidden="true" label="IRRRacf Native Library Path" type="textBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*:${irrracfJarFile}"/>
      <arg value="undeployBundles"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
    <step-type name="Deploy application">
      <description>Deploy a cloud enabled CICS application. Requires CICS TS V5.1 or V5.2 with APAR PI56706, or V5.3 or later.</description>
    <properties>
      <property name="applicationDefinitionName" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applicationDirectory" required="true">
        <property-ui default-value="${p:cics.platform.home}/applications/${p:component.name}_${p:cics.application.version}" description="The location of the CICS application project on zFS. The default value is ${p:cics.platform.home}/applications/${p:component.name}_${p:cics.application.version}." label="Application Directory" type="textBox"/>
      </property>
      <property name="applicationBindingDirectory" required="true">
        <property-ui default-value="${p:cics.platform.home}/bindings/${p:cics.application.binding.directory}" description="The location of the CICS application binding project on zFS. The default value is ${p:cics.platform.home}/bindings/${p:cics.application.binding.directory}." label="Application Binding Directory" type="textBox"/>
      </property>
      <property name="description">
        <property-ui description="A description of the application definition. The default value is ${p:component.name}." default-value="${p:component.name}" label="Description" type="textBox"/>
      </property>
      <property name="targetstatus" required="true">
        <property-ui default-value="AVAILABLE" description="The target state of the application." label="State" type="selectBox"/>
        <value label="Available">AVAILABLE</value>
        <value label="Enabled">ENABLED</value>
        <value label="Disabled">DISABLED</value>
      </property>
      <property name="timeout">
        <property-ui default-value="300" description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 1-1800. The default value is 300." label="Timeout (s)" type="textBox"/>
      </property>
      <property name="JCLjobstatement">
        <property-ui default-value="${p?:deploy.env.jobstatement}" description="The JCL job statement. The token @JOBNAME@ is replaced with UCDnnnnn, where nnnnn is a random number in the range 1 - 99999. The default value is:  //@JOBNAME@ JOB (&amp;SYSUID), //         CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)" hidden="true" label="JCL Job Statement" type="textAreaBox"/>
      </property>
      <property name="trace">
        <property-ui default-value="false" description="Whether to turn on trace. When checked, DFHDPLOY returns detailed trace to help you troubleshoot issues. By default, trace is disabled." hidden="true" label="Enable Trace" type="checkBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cmas">
        <property-ui default-value="${p?:cics.cicsplex.cmas}" description="The name of the CMAS to connect to. The default value is ${p?:cics.cicsplex.cmas}." hidden="true" label="CMAS" type="textBox"/>
      </property>
      <property name="cicshlq" required="true">
        <property-ui default-value="${p:cics.cicshlq}" description="The high-level qualifier of CICS (for example, CICSTS53.CICS). The default value is ${p?:cics.cicshlq}." hidden="true" label="CICS HLQ" type="textBox"/>
      </property>
      <property name="cpsmhlq" required="true">
        <property-ui default-value="${p:cics.cpsmhlq}" description="The high-level qualifier of CPSM (for example, CICSTS53.CPSM). The default value is ${p?:cics.cpsmhlq}." hidden="true" label="CPSM HLQ" type="textBox"/>
      </property>
      <property name="jesHost" required="true">
        <property-ui default-value="${p:jes.host}" description="The JES host name to connect to. The default value is $(p:jes.host)." hidden="true" label="JES Host Name" type="textBox"/>
      </property>
      <property name="jmonPort" required="true">
        <property-ui default-value="${p:jes.monitor.port}" description="The JES Job Monitor (JMON) port to connect to. The default value is ${p:jes.monitor.port}." hidden="true" label="JES Job Monitor Port" type="textBox"/>
      </property>
      <property name="jesUsername" required="true">
        <property-ui default-value="${p:jes.user}" description="The username to use when connecting to JES. The default value is ${p?:jes.user}." hidden="true" label="JES User Name" type="textBox"/>
      </property>
      <property name="jesPassword">
        <property-ui default-value="${p?:jes.password}" description="The password to use when connecting to JES. The default value is ${p?:jes.password}." hidden="true" label="JES Password" type="textBox"/>
      </property>
      <property name="usePassticket">
        <property-ui default-value="true" description="Use PassTicket authentication if a password is not provided. See the z/OS Utility plug-in documentation 'Usage' section, 'Deploying by using the Job Monitor' page for the required configuration to allow PassTickets." hidden="true" label="Use PassTicket" type="checkBox"/>
      </property>
      <property name="irrracfJarFile" required="true">
        <property-ui default-value="/usr/include/java_classes/IRRRacf.jar" description="Specifies the path to the System Access Facility (SAF) JAR file, IRRRacf.jar. The default value is /usr/include/java_classes/IRRRacf.jar." hidden="true" label="IRRRacf.jar File" type="textBox"/>
      </property>
      <property name="irrracfLib" required="true">
        <property-ui default-value="/usr/lib" description="Specify the path to the System Access Facility (SAF) native library, libIRRRacf.so. There is one library for 31-bit Java and one for 64-bit Java. You must point to the path of the appropriate library based on the version of Java you are running. The default value is /usr/lib." hidden="true" label="IRRRacf Native Library Path" type="textBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*:${irrracfJarFile}"/>
      <arg value="deployApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
  <step-type name="Undeploy application">
    <description>Undeploy a cloud enabled CICS application. Requires CICS TS V5.1 or V5.2 with APAR PI56706, or V5.3 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="targetstatus" required="true">
        <property-ui default-value="DISCARDED" description="The target state of the application." label="State" type="selectBox"/>
        <value label="Discarded">DISCARDED</value>
        <value label="Disabled">DISABLED</value>
        <value label="Unavailable">UNAVAILABLE</value>
      </property>
      <property name="timeout">
        <property-ui default-value="300" description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 1-1800. The default value is 300." label="Timeout (s)" type="textBox"/>
      </property>
      <property name="JCLjobstatement">
        <property-ui default-value="${p?:deploy.env.jobstatement}" description="The JCL job statement. The token @JOBNAME@ is replaced with UCDnnnnn, where nnnnn is a random number in the range 1 - 99999. The default value is:  //@JOBNAME@ JOB (&amp;SYSUID), //         CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)" hidden="true" label="JCL Job Statement" type="textAreaBox"/>
      </property>
      <property name="trace">
        <property-ui default-value="false" description="Whether to turn on trace. When checked, DFHDPLOY returns detailed trace to help you troubleshoot issues. By default, trace is disabled." hidden="true" label="Enable Trace" type="checkBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cmas">
        <property-ui default-value="${p?:cics.cicsplex.cmas}" description="The name of the CMAS to connect to. The default value is ${p?:cics.cicsplex.cmas}." hidden="true" label="CMAS" type="textBox"/>
      </property>
      <property name="cicshlq" required="true">
        <property-ui default-value="${p:cics.cicshlq}" description="The high-level qualifier of CICS (for example, CICSTS53.CICS). The default value is ${p?:cics.cicshlq}." hidden="true" label="CICS HLQ" type="textBox"/>
      </property>
      <property name="cpsmhlq" required="true">
        <property-ui default-value="${p:cics.cpsmhlq}" description="The high-level qualifier of CPSM (for example, CICSTS53.CPSM). The default value is ${p?:cics.cpsmhlq}." hidden="true" label="CPSM HLQ" type="textBox"/>
      </property>
      <property name="jesHost" required="true">
        <property-ui default-value="${p:jes.host}" description="The JES host name to connect to. The default value is $(p:jes.host)." hidden="true" label="JES Host Name" type="textBox"/>
      </property>
      <property name="jmonPort" required="true">
        <property-ui default-value="${p:jes.monitor.port}" description="The JES Job Monitor (JMON) port to connect to. The default value is ${p:jes.monitor.port}." hidden="true" label="JES Job Monitor Port" type="textBox"/>
      </property>
      <property name="jesUsername" required="true">
        <property-ui default-value="${p:jes.user}" description="The username to use when connecting to JES. The default value is ${p?:jes.user}." hidden="true" label="JES User Name" type="textBox"/>
      </property>
      <property name="jesPassword">
        <property-ui default-value="${p?:jes.password}" description="The password to use when connecting to JES. The default value is ${p?:jes.password}." hidden="true" label="JES Password" type="textBox"/>
      </property>
      <property name="usePassticket">
        <property-ui default-value="true" description="Use PassTicket authentication if a password is not provided. See the z/OS Utility plug-in documentation 'Usage' section, 'Deploying by using the Job Monitor' page for the required configuration to allow PassTickets." hidden="true" label="Use PassTicket" type="checkBox"/>
      </property>
      <property name="irrracfJarFile" required="true">
        <property-ui default-value="/usr/include/java_classes/IRRRacf.jar" description="Specifies the path to the System Access Facility (SAF) JAR file, IRRRacf.jar. The default value is /usr/include/java_classes/IRRRacf.jar." hidden="true" label="IRRRacf.jar File" type="textBox"/>
      </property>
      <property name="irrracfLib" required="true">
        <property-ui default-value="/usr/lib" description="Specify the path to the System Access Facility (SAF) native library, libIRRRacf.so. There is one library for 31-bit Java and one for 64-bit Java. You must point to the path of the appropriate library based on the version of Java you are running. The default value is /usr/lib." hidden="true" label="IRRRacf Native Library Path" type="textBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*:${irrracfJarFile}"/>
      <arg value="undeployApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
    <step-type name="Make application available">
    <description>Make an installed cloud enabled CICS application available. Requires CICS TS V5.2 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="availableApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Make application unavailable">
    <description>Make an installed cloud enabled CICS application unavailable. Requires CICS TS V5.2 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="unavailableApplication"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
  <step-type name="Check status of an application">
    <description>Check if an installed cloud enabled CICS application is available, unavailable, enabled, or disabled. Requires CICS TS V5.1 or later.</description>
    <properties>
      <property name="appldef" required="true">
        <property-ui default-value="${p:cics.application.definition.name}" description="The name of the CICS application definition. The default value is ${p:cics.application.definition.name}." label="Application Definition" type="textBox"/>
      </property>
      <property name="applversion" required="true">
        <property-ui default-value="${p:cics.application.version}" description="The application version in major.minor.micro format (for example, 1.2.345). The default value is ${p:cics.application.version}." label="Application Version" type="textBox"/>
      </property>
      <property name="expectedStatus" required="true">
        <property-ui default-value="AVAILABLE" description="The expected status." label="Expected Status" type="selectBox"/>
        <value label="Available">AVAILABLE</value>
        <value label="Unavailable">UNAVAILABLE</value>
        <value label="Enabled">ENABLED</value>
        <value label="Disabled">DISABLED</value>
      </property>
      <property name="timeout">
        <property-ui description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 0-1800. Leave this field blank to not retry." label="Timeout (s)" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="platdef" required="true">
        <property-ui default-value="${p:cics.platform.definition.name}" description="The name of the platform definition. The default value is ${p:cics.platform.definition.name}." hidden="true" label="Platform Definition" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="checkApplicationStatus"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
  <step-type name="Make resources available">
    <description>Make installed bundle resources available. Requires CICS TS V5.2 or later.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="BUNDLE" description="The type of resource to make available." label="Resource Type" type="selectBox"/>
        <value label="Bundle">BUNDLE</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="availableResources"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
  <step-type name="Make resources unavailable">
    <description>Make installed bundle resources unavailable. Requires CICS TS V5.2 or later.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="BUNDLE" description="The type of resource to make unavailable." label="Resource Type" type="selectBox"/>
        <value label="Bundle">BUNDLE</value>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex" required="true">
        <property-ui default-value="${p:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="unavailableResources"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
  <step-type name="Check available status of resources">
    <description>Check if installed resources are available or unavailable. Requires CICS TS V5.2 or later.</description>
    <properties>
      <property name="resourceNameList" required="true">
        <property-ui description="A comma-separated list of resource names." label="Resource Name List" type="textAreaBox"/>
      </property>
      <property name="resourceType" required="true">
        <property-ui default-value="BUNDLE" description="The type of resource to check." label="Resource Type" type="selectBox"/>
        <value label="Bundle">BUNDLE</value>
      </property>
      <property name="expectedStatus" required="true">
        <property-ui default-value="AVAILABLE" description="The expected status." label="Expected Status" type="selectBox"/>
        <value label="Available">AVAILABLE</value>
        <value label="Unavailable">UNAVAILABLE</value>
      </property>
      <property name="timeout">
        <property-ui description="The number of seconds to make retry attempts before a timeout occurs. The valid range is 0-1800, where 0 means no retry attempts are made. The default is 15 seconds" default-value="15" label="Timeout (s)" type="textBox"/>
      </property>
      <property name="hostname" required="true">
        <property-ui default-value="${p:cics.host}" description="The host name of the CICS region to connect to. The default value is $(p:cics.host)." hidden="true" label="Host" type="textBox"/>
      </property>
      <property name="port" required="true">
        <property-ui default-value="${p:cics.cmciport}" description="The CMCI port to connect to. The default value is ${p:cics.cmciport}." hidden="true" label="Port" type="textBox"/>
      </property>
      <property name="cicsplex">
        <property-ui default-value="${p?:cics.cicsplex}" description="The name of the CICSplex to connect to. The default value is ${p?:cics.cicsplex}." hidden="true" label="CICSplex" type="textBox"/>
      </property>
      <property name="cicsscope">
        <property-ui default-value="${p?:cics.scope}" description="The name of the scope to connect to. The default value is ${p?:cics.scope}. The scope can be a CICSplex, a CICS system, a CICS system group, or any set of CICS resources that are defined as a logical scope." hidden="true" label="Scope" type="textBox"/>
      </property>
      <property name="username">
        <property-ui default-value="${p?:cics.username}" description="The username to use when connecting to CICS. The default value is ${p?:cics.username}." hidden="true" label="Username" type="textBox"/>
      </property>
      <property name="password">
        <property-ui default-value="${p?:cics.password}" description="The password to use when connecting to CICS. The default value is ${p?:cics.password}." hidden="true" label="Password" type="secureBox"/>
      </property>
      <property name="ssl">
        <property-ui default-value="${p?:cics.ssl}" description="Whether to enable SSL connection to CICS. When set to 'true', this enables SSL connection to CICS. By default, SSL is disabled. The default value is ${p?:cics.ssl}." hidden="true" label="Enable SSL" type="textBox"/>
      </property>
      <property name="ks_location">
        <property-ui default-value="${p?:cics.kslocation}" description="The location of the keystore that is used to provide credentials for client-certificate authentication, if SSL is enabled. Use a hierarchical file path such as /u/myuser/keystore.jks, or a URL. For keys contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the keys are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kslocation}." hidden="true" label="Keystore Location" type="textBox"/>
      </property>
      <property name="ks_type">
        <property-ui default-value="${p?:cics.kstype}" description="The type of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For keys contained in RACF keyrings, use JCERACFKS when the keys are stored in software, or JCECCARACFKS when the keys are stored in hardware with ICSF. The default value is ${p?:cics.kstype}." hidden="true" label="Keystore Type" type="textBox"/>
      </property>
      <property name="ks_password">
        <property-ui default-value="${p?:cics.kspassword}" description="The password of the keystore that provides credentials for client-certificate authentication, if SSL is enabled. For keys contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.kspassword}." hidden="true" label="Keystore Password" type="secureBox"/>
      </property>
      <property name="ts_location">
        <property-ui default-value="${p?:cics.tslocation}" description="The location of the truststore that verifies credentials, if SSL is enabled. Use a hierarchical file path such as /u/myuser/truststore.jks, or a URL. For certificates contained in RACF keyrings, use safkeyring:///&lt;keyring name&gt; when the certificates are stored in software, or safkeyringhw:///&lt;keyring name&gt; when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tslocation}." hidden="true" label="Truststore Location" type="textBox"/>
      </property>
      <property name="ts_type">
        <property-ui default-value="${p?:cics.tstype}" description="The type of the truststore that verifies credentials, if SSL is enabled. If unspecified, uses the agent's default Java keystore type. For certificates contained in RACF keyrings, use JCERACFKS when the certificates are stored in software, or JCECCARACFKS when the certificates are stored in hardware with ICSF. The default value is ${p?:cics.tstype}." hidden="true" label="Truststore Type" type="textBox"/>
      </property>
      <property name="ts_password">
        <property-ui default-value="${p?:cics.tspassword}" description="The password of the truststore that verifies credentials, if SSL is enabled. For certificates contained in RACF keyrings, leave this value empty. The default value is ${p?:cics.tspassword}." hidden="true" label="Truststore Password" type="secureBox"/>
      </property>
    </properties>
    
    <post-processing>
        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="${JAVA_HOME}/bin/java">
      <arg value="-cp"/>
      <arg path="classes:lib/com.ibm.cics.common_3.0.0.201811061841.jar:lib/com.ibm.cics.core.comm_3.1.114.201811061841.jar:lib/com.ibm.cics.core.connections_3.1.20.201811061841.jar:lib/com.ibm.cics.core.model_5.4.12.201809132210.jar:lib/com.ibm.cics.core.ui_5.4.12.201809132210.jar:lib/com.ibm.cics.model_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.cpsm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm.sm_5.4.12.201809132210.jar:lib/com.ibm.cics.sm.comm_5.4.12.201809132210.jar:lib/gson-2.2.4.jar:lib/log4j.jar:lib/org.apache.commons.codec_1.6.0.v201305230611.jar:lib/org.apache.commons.io_2.2.0.v201405211200.jar:lib/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar:lib/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar:lib/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar:lib/org.eclipse.osgi_3.11.3.v20170209-1843.jar:lib/plugins-util.jar:lib/zos-deploy-common.jar:${GROOVY_HOME}/embeddable/*"/>
      <arg value="checkAvailableStatus"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  
</plugin>