使用vSphere VI Java API获取注释说明

时间:2014-08-04 12:53:06

标签: java vmware vsphere

任何人都有一个如何使用vSphere VI Java API来提取VM的“摘要”选项卡的“注释”部分中的值的片段?我经常浏览API文档,但没有在任何地方看到它。

2 个答案:

答案 0 :(得分:0)

首先查看VirtualMachineConfigSpec的API文档。

然后你可以从java

这样做
VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec();
configSpec.setAnnotation = "Your annotation string here" 
reconfigVM_Task(vmMOR, configSpec);

答案 1 :(得分: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