2014-08-04 4 views
0

У кого-нибудь есть фрагмент того, как использовать Java API Java vSphere для извлечения значений в разделе «Аннотации» на вкладке «Сводка» для виртуальной машины? Я много оглядывался, а также прочесывался через документы API, но нигде не видел.Использование Java API Java для получения примечаний по примечаниям

ответ

0

Посмотрите на документацию по API VirtualMachineConfigSpec.

Тогда вы можете сделать это из Java

VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec(); 
configSpec.setAnnotation = "Your annotation string here" 
reconfigVM_Task(vmMOR, configSpec); 
+0

Это выглядит хорошо для настройки аннотаций, но я просто хочу, чтобы прочитать то, что там уже – SS781

+0

Читайте документацию http://pubs.vmware.com/vi3/ sdk/ReferenceGuide/vim.vm.ConfigInfo.html Вы можете получить аннотацию, выполнив это 'vm.getConfig(). annotation' – Reuben

0

Я сделал это в Perl SDK, но вновь делает это, чтобы использовать Java API должен быть легким. Вы получаете аннотации из Virtual Machine object, который имеет свойство с именем резюме классного VirtualMachineSummary который имеет конфигурации класса VirtualMachineConfigSummary который имеет аннотаций поля типа строки которая является то, что вам нужно.

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