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.