0

任何人都知道如何使用 vSphere VI Java API 提取 VM 的“摘要”选项卡的“注释”部分中的值?我环顾四周并梳理了 API 文档,但在任何地方都没有看到。

4

2 回答 2

0

先看一下VirtualMachineConfigSpec的 API 文档。

然后你可以从java中做到这一点

VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec();
configSpec.setAnnotation = "Your annotation string here" 
reconfigVM_Task(vmMOR, configSpec);
于 2014-08-05T14:54:39.870 回答
0

我在 Perl SDK 中做了这个,但是重新做它来使用 Java API 应该很容易。您从虚拟机对象中获取注释,该对象具有名为类 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

于 2016-08-11T15:02:05.840 回答