2012-07-19 60 views
1

我使用的是VMware版本的vCloud SDK。在我的应用程序中,我想显示当前正在运行的VM的列表。为了做到这一点,我跳过一对夫妇的箍来获得一个Vapp对象,然后枚举它的子虚拟机。如何使用vCloud SDK获取虚拟机的“全名”?

不幸的是,似乎没有办法来识别每个虚拟机,除了通过它的IP地址。

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

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) 
{ 

} 

回答

2

在SDK的术语,每​​也是VcloudEntity<>,其具有ReferenceType类型的Reference属性。

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

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

+0

谢谢! :)我以为我用intellisense遍历了整个对象,但显然我通过了'Reference',之前它只是将它用作各种处理。 – Robin 2012-07-24 12:16:45

相关问题