具有多个StorageProfiles的VM

时间:2017-02-14 14:36:36

标签: c# sdk vmware vcloud-director-rest-api

我使用的是VMware版本的vCloud SDK。我有一个带有两个存储的虚拟机,其中一个是" x"和另一个类型" y"。

但是,当调用vm.Resource.StorageProfile.name时,我只得到第一个磁盘的名称(x)

vCloudClient client = new vCloudClient(url,   com.vmware.vcloud.sdk.constants.Version.V1_5);
client.Login(userName,pass);
Organization organisation = Organization.GetOrganizationByReference(client, client.GetOrgRefsByName()[orgName]);
Vdc vdc = Vdc.GetVdcByReference(client,organisation.GetVdcRefByName(vdcName));
ReferenceType vappref = vdc.GetVappRefByName("myVappName");
Vapp vapp = Vapp.GetVappByReference(client,vappref);
List<VM> vms = vapp.GetChildrenVms();
foreach(VM vm in vms)
{
   //VM I'm having trouble with
   string storageprofile = vm.Resource.StorageProfile.name //returns value: x
}

还有其他方法可以同时获得&#34; x&#34;和&#34; y&#34;存储器?

2 个答案:

答案 0 :(得分:1)

嘿尝试通过vdc存储配置文件解析

下面是它的链接类型:

&#34; https://vcloud-example/api/query?type=orgVdcStorageProfile&#34;

如果这不是您所需要的,您需要搜索存储配置文件列表本身,它为每个存储策略提供href或链接类型及其特定存储策略的名称和href类型链接

最有可能vm.GetDisks为您提供存储策略&#34; link&#34; (我不确定,但我认为它应该,我不使用C#,但python和powershell)

答案 1 :(得分:0)

vm.GetDisks应该返回所有磁盘。