Provided by: clusterssh_4.16-4_all bug

SYNOPSIS

           use ClusterSSH::Host;

           my $host = ClusterSSH::Host->new({
               hostname => 'hostname',
           });
           my $host = ClusterSSH::Host->parse_host_string('username@hostname:1234');

DESCRIPTION

       Object representing a host.  Include details to contact the host such as
       hostname/ipaddress, username and port.

METHODS

       $host=ClusterSSH::Host->new ({ hostname => 'hostname' })
           Create a new host object.  'hostname' is a required arg, 'username' and 'port' are
           optional.  Raises exception if an error occurs.

       $host->get_hostname
       $host->get_username
       $host->get_port
       $host->get_master
       $host->get_geometry
       $host->get_type
           Return specific details about the host

       $host->set_username
       $host->set_port
       $host->set_master
       $host->set_geometry
       $host->set_type
           Set specific details about the host after its been created.

       get_realname
           If the server name provided is not an IP address (either IPv4 or IPv6) attempt to
           resolve it and return the discovered names.

       get_givenname
           Alias to get_hostname, for use when " get_realname " might return something different

       parse_host_string
           Given a host string, returns a host object.  Parses hosts such as

       check_ssh_hostname
           Check the objects hostname to see whether or not it may be configured within the users
           $HOME/.ssh/config  configuration file

       read_ssh_file
           Method to ease reading in ssh configuration files.  Used for grabbing hostnames for
           validation when used in clusters

           host
           192.168.0.1
           user@host
           user@192.168.0.1
           host:port
           [1234:1234:1234::4567]:port
           1234:1234:1234::4567

           and so on.  Cope with IPv4 and IPv6 addresses - raises a warning if the IPv6 address
           is ambiguous (i.e. in the last example, is the 4567 part of the IPv6 address or a port
           definition?) and assumes it is part of address.  Use brackets to avoid seeing warning.