zoukankan      html  css  js  c++  java
  • 获取 指定pool的成员状态,返回2维数组

    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 "
    ";
      };
    };
    
    
  • 相关阅读:
    C++ 动态多维数组的申请与释放
    OpenCV视频的读写
    Python 函数的参数传递
    Python 赋值、浅拷贝和深拷贝
    操作系统学习笔记(七) 死锁
    操作系统学习笔记(六) 文件系统
    浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景
    heap与stack的区别
    深入学习golang中new与make区别
    Linux CentOS 7 安装confluence 5.8.10
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348978.html
Copyright © 2011-2022 走看看