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->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.
AUTHOR¶
Duncan Ferguson, "<duncan_j_ferguson at yahoo.co.uk>"
LICENSE AND COPYRIGHT¶
Copyright 1999-2015 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.