如何使用vCloud SDK获取VM的“全名”?

时间:2012-07-19 09:48:41

标签: .net vcloud-director-rest-api

我正在使用VMWare的vCloud SDK的.NET版本。在我的应用程序中,我想显示当前正在运行的VM的列表。为此,我跳过几个环节来获取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)
{

}

1 个答案:

答案 0 :(得分:2)

在SDK的术语中,每个VM也是VcloudEntity<>,其Reference属性类型为ReferenceType

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

我认为它不是那么直观......我花了很长时间才找到它。