# File lib/knife-solo/ssh_command.rb, line 11
    def self.included(other)
      other.class_eval do
        # Lazy load our dependencies if the including class did not call
        # Knife#deps yet. Later calls to #deps override previous ones, so if
        # the outer class calls it, it should also call our #load_deps, i.e:
        #
        #   Include KnifeSolo::SshCommand
        #
        #   dep do
        #     require 'foo'
        #     require 'bar'
        #     KnifeSolo::SshCommand.load_deps
        #   end
        #
        deps { KnifeSolo::SshCommand.load_deps } unless defined?(@dependency_loader)

        option :ssh_config,
          :short       => '-F CONFIG_FILE',
          :long        => '--ssh-config-file CONFIG_FILE',
          :description => 'Alternate location for ssh config file'

        option :ssh_user,
          :short       => '-x USERNAME',
          :long        => '--ssh-user USERNAME',
          :description => 'The ssh username'

        option :ssh_password,
          :short       => '-P PASSWORD',
          :long        => '--ssh-password PASSWORD',
          :description => 'The ssh password'

        option :ssh_gateway,
          :long        => '--ssh-gateway GATEWAY',
          :description => 'The ssh gateway'

        option :ssh_control_master,
          :long => '--ssh-control-master SETTING',
          :description => 'Control master setting to use when running rsync (use "auto" to enable)',
          :default => 'no'

        option :identity_file,
          :long => "--identity-file IDENTITY_FILE",
          :description => "The SSH identity file used for authentication. [DEPRECATED] Use --ssh-identity-file instead."

        option :ssh_identity_file,
          :short => "-i IDENTITY_FILE",
          :long => "--ssh-identity-file IDENTITY_FILE",
          :description => "The SSH identity file used for authentication"

        option :forward_agent,
          :long        => '--forward-agent',
          :description => 'Forward SSH authentication. Adds -E to sudo, override with --sudo-command.',
          :boolean     => true,
          :default     => false

        option :ssh_port,
          :short       => '-p PORT',
          :long        => '--ssh-port PORT',
          :description => 'The ssh port'

        option :ssh_keepalive,
          :long        => '--[no-]ssh-keepalive',
          :description => 'Use ssh keepalive',
          :default     => true

        option :ssh_keepalive_interval,
          :long        => '--ssh-keepalive-interval SECONDS',
          :description => 'The ssh keepalive interval',
          :default     => 300,
          :proc        => Proc.new { |v| v.to_i }

        option :startup_script,
          :short       => '-s FILE',
          :long        => '--startup-script FILE',
          :description => 'The startup script on the remote server containing variable definitions'

        option :sudo_command,
          :long        => '--sudo-command SUDO_COMMAND',
          :description => 'The command to use instead of sudo for admin privileges'

        option :host_key_verify,
          :long => "--[no-]host-key-verify",
          :description => "Verify host key, enabled by default.",
          :boolean => true,
          :default => true

      end
    end