use BigIP::iControl;
use Data::Dumper;
my $ic = BigIP::iControl->new(
server => '2.2.30.2',
username => 'vvv',
password => '12345678',
port => '443',
proto => 'https'
);
my @out=();
my @pool=('/Common/ESB_pool','/Common/XinDai_web_pool','/Common/XinDai_svr_pool','/Common/AAAApingtai_7002_pool');
#my @pool=('/Common/ESB_pool');
foreach $pool (@pool){
my @tmp=();
#Returns all pool member stati for the specified pool as an array of MemberObjectStatus objects.
#print $ic->get_pool_member_object_status ($pool);
#print "
";
my @a=@{$ic->get_pool_member_object_status ($pool)};
#print @a;
#print "
";
#print Dumper(@a);
foreach $a (@a){
#print $a."
";
#print Dumper($a);
#print @{$a};
#print "
";
foreach $b (@{$a}){
#print $b;
#print "
";
my %h1=%{$b};
foreach my $key1 (sort keys %h1){
print '--------------hash1BEGIN--------------'."
";
#foreach $key1 (keys %h1) {
print "$key1=>$h1{$key1}
";
my %h2=%{$h1{$key1}};
print '--------------hash2BEGIN--------------'."
";
foreach my $key2 (sort keys %h2){
print "$key2=>$h2{$key2}
";
#sleep 5;
if ($key2 eq 'address'){
$address=$h2{'address'};
};
if ($key2 eq 'port'){
$port=$h2{'port'};
};
#print '<'."$pool=>$address:$port=>$key2=>$h2{$key2}
".'>';
if ($key2 eq 'availability_status'){
if ($h2{$key2} eq 'AVAILABILITY_STATUS_RED'){
print "$pool=>$address:$port=>$key2=>$h2{$key2}=>RED
";
push @tmp,"$pool=>$address:$port=>$key2=>$h2{$key2}=>RED";
};
if ($h2{$key2} eq 'AVAILABILITY_STATUS_GREEN'){
print "$pool=>$address:$port=>$key2=>$h2{$key2}=>GREEN
";
push @tmp,"$pool=>$address:$port=>$key2=>$h2{$key2}=>GREEN";
};
};
};
print '-------------hash2END--------------'."
";
#sleep 5;
};
print '-------------hash1END--------------'."
";
};
};
$i++;
push @out,[@tmp];
};
print '---------------out----------------------'."
";
print @out;
print "
";
print $out[0][0];
print "
";
print $out[1][0];
print "
";
print $out[2][0];
print "
";
print Dumper(@out);
print "
";
foreach $a (@out){
print $a;
print "
";
foreach $b (@{$a}){
print $b;
print "
";
};
};