2012-07-19 62 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

相關問題