<resource-agent name="fence_ilo" shortdesc="Fence agent for HP iLO">
  <symlink name="fence_ilo2" shortdesc="Fence agent for HP iLO2"/>
  <longdesc>
    fence_ilo is an I/O Fencing agent used for HP servers with the Integrated Light Out (iLO) PCI card.The agent opens an SSL connection to the iLO card. Once the SSL connection is established, the agent is able to communicate with the iLO card through an XML stream.
  </longdesc>
  <vendor-url>
    http://www.hp.com
  </vendor-url>
  <parameters>
    <parameter name="action" unique="0" required="1">
      <getopt mixed="-o, --action=[action]"/>
      <content type="string" default="reboot"/>
      <shortdesc lang="en">
        Fencing action
      </shortdesc>
    </parameter>
    <parameter name="inet4_only" unique="0" required="0">
      <getopt mixed="-4, --inet4-only"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Forces agent to use IPv4 addresses only
      </shortdesc>
    </parameter>
    <parameter name="inet6_only" unique="0" required="0">
      <getopt mixed="-6, --inet6-only"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Forces agent to use IPv6 addresses only
      </shortdesc>
    </parameter>
    <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
      <getopt mixed="-a, --ip=[ip]"/>
      <content type="string"/>
      <shortdesc lang="en">
        IP address or hostname of fencing device
      </shortdesc>
    </parameter>
    <parameter name="ipaddr" unique="0" required="0" deprecated="1">
      <getopt mixed="-a, --ip=[ip]"/>
      <content type="string"/>
      <shortdesc lang="en">
        IP address or hostname of fencing device
      </shortdesc>
    </parameter>
    <parameter name="ipport" unique="0" required="0">
      <getopt mixed="-u, --ipport=[port]"/>
      <content type="integer" default="443"/>
      <shortdesc lang="en">
        TCP/UDP port to use for connection with device
      </shortdesc>
    </parameter>
    <parameter name="login" unique="0" required="1" deprecated="1">
      <getopt mixed="-l, --username=[name]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Login name
      </shortdesc>
    </parameter>
    <parameter name="notls" unique="0" required="0">
      <getopt mixed="-t, --notls"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Disable TLS negotiation and force SSL3.0. This should only be used for devices that do not support TLS1.0 and up.
      </shortdesc>
    </parameter>
    <parameter name="passwd" unique="0" required="0" deprecated="1">
      <getopt mixed="-p, --password=[password]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Login password or passphrase
      </shortdesc>
    </parameter>
    <parameter name="passwd_script" unique="0" required="0" deprecated="1">
      <getopt mixed="-S, --password-script=[script]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Script to run to retrieve password
      </shortdesc>
    </parameter>
    <parameter name="password" unique="0" required="0" obsoletes="passwd">
      <getopt mixed="-p, --password=[password]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Login password or passphrase
      </shortdesc>
    </parameter>
    <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
      <getopt mixed="-S, --password-script=[script]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Script to run to retrieve password
      </shortdesc>
    </parameter>
    <parameter name="plug" unique="0" required="0" obsoletes="port">
      <getopt mixed="-n, --plug=[ip]"/>
      <content type="string"/>
      <shortdesc lang="en">
        IP address or hostname of fencing device (together with --port-as-ip)
      </shortdesc>
    </parameter>
    <parameter name="port" unique="0" required="0" deprecated="1">
      <getopt mixed="-n, --plug=[ip]"/>
      <content type="string"/>
      <shortdesc lang="en">
        IP address or hostname of fencing device (together with --port-as-ip)
      </shortdesc>
    </parameter>
    <parameter name="ribcl" unique="0" required="0" deprecated="1">
      <getopt mixed="-r, --ribcl-version=[version]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Force ribcl version to use
      </shortdesc>
    </parameter>
    <parameter name="ribcl_version" unique="0" required="0" obsoletes="ribcl">
      <getopt mixed="-r, --ribcl-version=[version]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Force ribcl version to use
      </shortdesc>
    </parameter>
    <parameter name="ssl" unique="0" required="0">
      <getopt mixed="-z, --ssl"/>
      <content type="boolean" default="1"/>
      <shortdesc lang="en">
        Use SSL connection with verifying certificate
      </shortdesc>
    </parameter>
    <parameter name="ssl_insecure" unique="0" required="0">
      <getopt mixed="--ssl-insecure"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Use SSL connection without verifying certificate
      </shortdesc>
    </parameter>
    <parameter name="ssl_secure" unique="0" required="0">
      <getopt mixed="--ssl-secure"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Use SSL connection with verifying certificate
      </shortdesc>
    </parameter>
    <parameter name="tls1.0" unique="0" required="0">
      <getopt mixed="--tls1.0"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Disable TLS negotiation and force TLS1.0. This should only be used for devices that do not support TLS1.1 and up.
      </shortdesc>
    </parameter>
    <parameter name="username" unique="0" required="1" obsoletes="login">
      <getopt mixed="-l, --username=[name]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Login name
      </shortdesc>
    </parameter>
    <parameter name="quiet" unique="0" required="0">
      <getopt mixed="-q, --quiet"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Disable logging to stderr. Does not affect --verbose or --debug-file or logging to syslog.
      </shortdesc>
    </parameter>
    <parameter name="verbose" unique="0" required="0">
      <getopt mixed="-v, --verbose"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Verbose mode
      </shortdesc>
    </parameter>
    <parameter name="debug" unique="0" required="0" deprecated="1">
      <getopt mixed="-D, --debug-file=[debugfile]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Write debug information to given file
      </shortdesc>
    </parameter>
    <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
      <getopt mixed="-D, --debug-file=[debugfile]"/>
      <content type="string"/>
      <shortdesc lang="en">
        Write debug information to given file
      </shortdesc>
    </parameter>
    <parameter name="version" unique="0" required="0">
      <getopt mixed="-V, --version"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Display version information and exit
      </shortdesc>
    </parameter>
    <parameter name="help" unique="0" required="0">
      <getopt mixed="-h, --help"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Display help and exit
      </shortdesc>
    </parameter>
    <parameter name="delay" unique="0" required="0">
      <getopt mixed="--delay=[seconds]"/>
      <content type="second" default="0"/>
      <shortdesc lang="en">
        Wait X seconds before fencing is started
      </shortdesc>
    </parameter>
    <parameter name="login_timeout" unique="0" required="0">
      <getopt mixed="--login-timeout=[seconds]"/>
      <content type="second" default="10"/>
      <shortdesc lang="en">
        Wait X seconds for cmd prompt after login
      </shortdesc>
    </parameter>
    <parameter name="port_as_ip" unique="0" required="0">
      <getopt mixed="--port-as-ip"/>
      <content type="boolean"/>
      <shortdesc lang="en">
        Make "port/plug" to be an alias to IP address
      </shortdesc>
    </parameter>
    <parameter name="power_timeout" unique="0" required="0">
      <getopt mixed="--power-timeout=[seconds]"/>
      <content type="second" default="20"/>
      <shortdesc lang="en">
        Test X seconds for status change after ON/OFF
      </shortdesc>
    </parameter>
    <parameter name="power_wait" unique="0" required="0">
      <getopt mixed="--power-wait=[seconds]"/>
      <content type="second" default="0"/>
      <shortdesc lang="en">
        Wait X seconds after issuing ON/OFF
      </shortdesc>
    </parameter>
    <parameter name="shell_timeout" unique="0" required="0">
      <getopt mixed="--shell-timeout=[seconds]"/>
      <content type="second" default="3"/>
      <shortdesc lang="en">
        Wait X seconds for cmd prompt after issuing command
      </shortdesc>
    </parameter>
    <parameter name="retry_on" unique="0" required="0">
      <getopt mixed="--retry-on=[attempts]"/>
      <content type="integer" default="3"/>
      <shortdesc lang="en">
        Count of attempts to retry power on
      </shortdesc>
    </parameter>
    <parameter name="gnutlscli_path" unique="0" required="0">
      <getopt mixed="--gnutlscli-path=[path]"/>
      <content type="string" default="/usr/bin/gnutls-cli"/>
      <shortdesc lang="en">
        Path to gnutls-cli binary
      </shortdesc>
    </parameter>
  </parameters>
  <actions>
    <action name="on" automatic="0"/>
    <action name="off"/>
    <action name="reboot"/>
    <action name="status"/>
    <action name="monitor"/>
    <action name="metadata"/>
    <action name="manpage"/>
    <action name="validate-all"/>
    <action name="stop" timeout="20s"/>
    <action name="start" timeout="20s"/>
  </actions>
</resource-agent>

