App::ClusterSSH::Host(3)

NAME
ClusterSSH::Host - Object representing a host.

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 retun 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.

AUTHOR
Duncan Ferguson, "<duncan_j_ferguson at yahoo.co.uk>"

LICENSE AND COPYRIGHT
Copyright 1999-2016 Duncan Ferguson.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.