Changeset 24610
- Timestamp:
- Jun 26, 2009, 3:28:02 PM (17 years ago)
- Location:
- trunk/console
- Files:
-
- 2 edited
-
lib/Console.pm (modified) (3 diffs)
-
scripts/console-config (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/console/lib/Console.pm
r24600 r24610 8 8 9 9 use Config::YAML; 10 use Params::Validate qw(:all); 11 10 12 11 13 sub find_rcfile 12 14 { 15 validate_pos(@_); 16 13 17 my $rcname = "." . __PACKAGE__ . "rc"; 14 18 my $rcfile; … … 25 29 sub read_rcfile 26 30 { 31 validate_pos(@_, 1); 32 27 33 my $rcfile = shift; 28 34 … … 40 46 } 41 47 48 sub add_host 49 { 50 my %p = validate(@_, 51 { 52 config => { isa => 'Config::YAML', }, 53 hostname => { type => SCALAR, }, 54 console => { type => SCALAR, }, 55 }, 56 ); 57 58 my $c = $p{config}; 59 60 my $hosts = $c->get_hosts; 61 $hosts->{$p{hostname}} = { console => $p{console} }; 62 $c->set_hosts($hosts); 63 $c->write; 64 65 return 1; 66 } 67 68 sub delete_host 69 { 70 my %p = validate(@_, 71 { 72 config => { isa => 'Config::YAML', }, 73 hostname => { type => SCALAR, }, 74 }, 75 ); 76 77 my $c = $p{config}; 78 79 my $hosts = $c->get_hosts; 80 delete $hosts->{$p{hostname}}; 81 $c->set_hosts($hosts); 82 $c->write; 83 84 return 1; 85 } 86 42 87 43 88 1; -
trunk/console/scripts/console-config
r24600 r24610 17 17 $add, 18 18 $console, 19 $delete, 19 20 $verbose, 20 21 ); … … 23 24 'add|a' => \$add, 24 25 'console|c=s' => \$console, 26 'delete|d' => \$delete, 25 27 'verbose|v' => \$verbose, 26 28 ) || pod2usage( 2 ); 27 29 28 30 my $hostname = shift @ARGV; 31 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV; 29 32 30 33 my $rcfile = Console::find_rcfile(); … … 32 35 my $hosts = $c->get_hosts; 33 36 34 unless (defined $add) { 37 if (defined $add) { 38 go_add(); 39 exit(); 40 } 41 42 if (defined $delete) { 43 go_delete(); 44 exit(); 45 } 46 47 # default 48 go_list(); 49 exit(); 50 51 52 sub go_list 53 { 54 pod2usage( 55 -msg => "--console is meaningless in this context", 56 -exitval => 2, 57 ) if defined $console; 58 35 59 if (defined $hostname) { 36 60 die "unknown hostname: $hostname" unless exists $hosts->{$hostname}->{console}; … … 43 67 } 44 68 } 45 } else { 46 die "--console option is required under --add" unless defined $console; 47 $hosts->{$hostname} = { console => $console }; 48 $c->set_hosts($hosts); 49 $c->write; 69 } 70 71 sub go_add 72 { 73 pod2usage( 74 -msg =>"--console option is required under --add", 75 -exitval => 2, 76 ) unless defined $console; 77 pod2usage( 78 -msg => "<hostname> option is required under --add", 79 -exitval => 2, 80 ) unless defined $hostname; 81 pod2usage( 82 -msg => "--add and --delete are incompatible options", 83 -exitval => 2, 84 ) if defined $delete; 85 86 Console::add_host(config => $c, hostname => $hostname, console => $console); 87 } 88 89 sub go_delete 90 { 91 pod2uage( 92 -msg => "--console and --delete are incompatible options", 93 -exitval => 2, 94 ) if defined $console; 95 pod2uage( 96 -msg => "<hostname> option is required under --delete", 97 -exitval => 2, 98 ) unless defined $hostname; 99 pod2uage( 100 -msg => "--add and --delete are incompatible options", 101 -exitval => 2, 102 ) if defined $add; 103 104 Console::delete_host(config => $c, hostname => $hostname); 50 105 } 51 106 … … 60 115 =head1 SYNOPSIS 61 116 62 console [--console <console hostname>] [--verbose] <hostname> 117 console [--verbose] [<hostname>] 118 119 or 120 121 console [--verbose] --add --console <console hostname> <hostname> 122 123 or 124 125 console [--verbose] --delete <hostname> 63 126 64 127 =head1 DESCRIPTION
Note:
See TracChangeset
for help on using the changeset viewer.
