2016-03-28 6 views
-1

Ist es möglich, alle Namen von Datenspeichern, Capacity space, dunesId, die sich auf einen Cluster beziehen, mit VMware perl sdk unter Linux aufzulisten?Wie bekomme ich Cluster-Daten über VMware Perl SDK?

Ich versuche, Vim::find_entity_views zu verwenden, um ComputeResource zu erhalten und zu wissen, dass es Eigenschaften hat: datastore, host.

+0

'Druck qx (df)' zu bekommen? – mob

Antwort

0

Ja seine mögliche Datenspeicher-Liste in einem Cluster

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; 
     } 
}