App::ClusterSSH::Cluster(3)

SYNOPSIS

DESCRIPTION
Object representing application configuration

METHODS

$cluster=ClusterSSH::Cluster->new();
    Create a new object. Object should be common across all invocations.

$cluster->get_cluster_entries($filename);
    Read in /etc/clusters, $HOME/.clusterssh/clusters and any other given file name and register the tags found.

@external_tags=list_external_clusters()
    Call an external script suing "-L" to list available tags

@resolved_tags=get_external_clusters(@tags)
    Use an external script to resolve @tags into hostnames.

$cluster->get_tag_entries($filename);
    Read in /etc/tags, $HOME/.clusterssh/tags and any other given file name and register the tags found.

$cluster->read_cluster_file($filename);
    Read in the given cluster file and register the tags found

$cluster->expand_filename($filename);
    Expand ~ or $HOME in a filename

$cluster->read_tag_file($filename);
    Read in the given tag file and register the tags found

$cluster->register_tag($tag,@hosts);
    Register the given tag name with the given host names.

$cluster->register_host($host,@tags);
    Register the given host on the provided tags.

@entries = $cluster->get_tag('tag');
$entries = $cluster->get_tag('tag');
    Retrieve all entries for the given tag. Returns an array of hosts or the number of hosts in the array depending on context.

@tags = $cluster->list_tags();
    Return an array of all available tag names

%tags = $cluster->dump_tags();
    Returns a hash of all tag data.

@tags = $cluster->expand_glob( $type, $name, @items );
    Use shell expansion against each item in @items, where $type is either 'node', or 'tag' and $name is the node or tag name. These attributes are presented to the user in the event of an issue with the expanion to track down the source.