NAME

App::ClusterSSH::Cluster - Object representing cluster configuration

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

AUTHOR

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

LICENSE AND COPYRIGHT

Copyright 1999-2010 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.