I need perl sdkl script to list the Lun name (naa.600xxxxxxxx) of datastore. Any reference link or script pls.
I need to get O/p like below
Datacenter A --- Datastore A -----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx |
Datacenter B --- Datastore B -----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx |
Datastore C -----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx
-----naa.600xxxxxxxxxxxxxxxxxxxxxxx |
Hello,
I wrote a simple script which may correspond at your need. However, I'm not a dev
#!/usr/bin/perl -w
use strict;
use warnings;
use VMware::VIRuntime;
use VMware::VILib;
my %opts = (
entity => {
type => "=s",
help => "ManagedEntity type: HostSystem, Datacenter, etc",
required => 1,
},
);
Opts::add_options(%opts);
Opts::parse();
Opts::validate();
Util::connect();
my $entity_type = Opts::get_option('entity');
my $global_ds_views = Vim::find_entity_views(view_type => 'Datastore', properties => [ 'summary', 'info', 'overallStatus', 'host', 'vm' , 'browser']);
use constant STORAGE_MULTIPLIER => 1073741824; # 1024*1024*1024 (to convert to GB);
foreach my $lun_view ( @{$global_ds_views || []} ) {
my $name = $lun_view->info->name;
my $capacity = (($lun_view->summary->capacity)/STORAGE_MULTIPLIER);
my $freespace = (($lun_view->summary->freeSpace)/STORAGE_MULTIPLIER);
my $test1 = $lun_view->info->vmfs->version;
my $test2 = $lun_view->info->vmfs->extent;
foreach my $lun ( @{$test2 || []} ) {
my $fin = $lun->diskName;
my $fin2 = $lun->partition;
Util::trace(0, "$name with $capacity\Go . $fin et $fin2\n");}
}
# Disconnect from the server
Util::disconnect();
Regards