我正在使用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)
{
}
答案 0 :(得分:2)
在SDK的术语中,每个VM
也是VcloudEntity<>
,其Reference
属性类型为ReferenceType
。
因此,要获得VM
的名称(或任何vCD对象的名称),您可以使用vm.Reference.name
。
我认为它不是那么直观......我花了很长时间才找到它。