1

我正在使用来自 VMWare 的 vCloud SDK 的 .NET 版本。在我的应用程序中,我想显示当前正在运行的虚拟机列表。为此,我跳过了几个环节来获取 Vapp 对象,然后枚举其子 VM。

然而遗憾的是,除了通过 IP 地址之外,似乎没有其他方法可以识别每个 VM。

有没有办法提取“全名”和描述?

vCloudClient cli = new vCloudClient(url, com.vmware.vcloud.sdk.constants.Version.V1_5);
cli.Login(userName,pass);
Organization organisation = Organization.GetOrganizationByReference(cli, cli.GetOrgRefsByName()[orgName]);
Vdc vdc = Vdc.GetVdcByReference(cli,organisation.GetVdcRefByName(vdcName));
ReferenceType vappref = vdc.GetVappRefByName("myVappName");
Vapp vapp = Vapp.GetVappByReference(cli,vappref);
List<VM> vms = vapp.GetChildrenVms();
foreach(VM vm in vms)
{

}
4

1 回答 1

2

在 SDK 的术语中,everyVM也是 a VcloudEntity<>,它具有Referencetype 的属性ReferenceType

因此,要获取VM的名称(或任何 vCD 对象的名称),您可以使用vm.Reference.name.

我想它没有想象的那么直观……当时我花了很长时间才找到它。

于 2012-07-20T18:35:27.093 回答