2016-03-28 8 views
-1

LinuxのVMware perl sdkを使用してクラスタに関連するすべてのデータストアの名前、容量スペース、dunesIdを一覧表示できますか?VMware perl sdk経由でクラスタデータソースを取得するには?

私はVim::find_entity_viewsを使用してComputeResourceを取得しようとしています。プロパティ:datastore, hostがあることを知っています。

+0

'印刷QX(DF)'でデータストアのリストを取得することは可能? – mob

答えて

0

はいそのクラスタ

my $cluster_view = Vim::find_entity_view(view_type => 'ClusterComputeResource', 
              filter => { name => $cluster_name }); 
########## Error trap: verify if the cluster_view variable was set in the previous command 
##########    if it was not set, the Cluster Name is incorrect 
if (!$cluster_view) { 
    die "\nERROR: '" . $cluster_name . "' was not found in the VMware Infrastructure\n\n"; 
} 

########## Print the table header 
print "\n"; 
print "|--------------------------------------------------------------------------|\n"; 
print "| VMware Cluster: " . $cluster_view->name . "\n"; 
print "|--------------------------------------------------------------------------|\n"; 

########## Get a view of the ESX Hosts in the specified Cluster 
my $host_views = Vim::find_entity_views(view_type => 'HostSystem', 
             begin_entity => $cluster_view); 

foreach (@$host_views) { 
#  print "\n", $_->name; 
     print "\n|--------------------------------------------------------------------------|\n"; 
     print "| Datastore in ESXI Host(s) in " . $_->name . "\n"; 
     print "|--------------------------------------------------------------------------|\n"; 
     print "\n"; 
     my $datastores = Vim::get_views(mo_ref_array => $_->datastore); 
     foreach(@$datastores) { 
       print "\n" . $_->summary->name; 
     } 
}