如何通过VMware perl sdk获取集群数据流?

时间:2016-03-28 14:52:51

标签: perl sdk vmware

是否可以在Linux中使用VMware perl sdk列出与群集相关的所有数据存储的名称,容量空间,dunesId?

我尝试使用Vim::find_entity_views获取ComputeResource并知道它有属性:datastore, host

1 个答案:

答案 0 :(得分: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;
       }
}