У кого-нибудь есть фрагмент того, как использовать Java API vSphere VI для извлечения значений в разделе «Аннотации» на вкладке «Сводка» для виртуальной машины? Я много оглядывался, а также просматривал документы API, но нигде этого не видел.
Использование vSphere VI Java API для получения аннотаций
Ответы (2)
Сначала ознакомьтесь с документацией по API VirtualMachineConfigSpec .
Затем вы можете сделать это из java
VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec();
configSpec.setAnnotation = "Your annotation string here"
reconfigVM_Task(vmMOR, configSpec);
person
Reuben
schedule
05.08.2014
Это выглядит хорошо для установки аннотаций, но я просто хочу прочитать то, что уже есть
- person SS781; 05.08.2014
Прочтите документацию pubs.vmware.com/vi3/sdk/ReferenceGuide /vim.vm.ConfigInfo.html Вы можете получить аннотацию, выполнив следующие действия
vm.getConfig().annotation
- person Reuben; 07.08.2014
Я сделал это в Perl SDK, но переделать это для использования Java API должно быть легко. Вы получаете аннотации из объекта виртуальной машины, который имеет свойство с именем summary класса VirtualMachineSummary, который имеет config класса VirtualMachineConfigSummary, который имеет >поле аннотации типа string, которое вам нужно.
my $vmname = "vmname you are looking for";
# Get all VMs
my $vms = Vim::find_entity_views(
view_type => 'VirtualMachine',
filter => {"config.name" => qr/^$vmname$/i},
);
# Iterate over the VMs, getting their annotations
foreach my $vm (@{ $vms }) {
my $notes = $vm->summary->config->annotation;
my $name = $vm->summary->config->name;
if (not defined $notes) {
print " - VM: $name has no notes\n";
}
elsif ($notes =~ m/^\$*/) {
print " - VM: $name has empty notes\n";
}
else {
print " - VM: $name notes: '$notes'\n";
}
}
Вот полный код: https://communities.vmware.com/message/2613855#2613855 а>
person
Pik Master
schedule
11.08.2016