私は、VMwareのvCloud SDKの.NETバージョンを使用しています。私は2つのストレージ、タイプ "x"とタイプ "y"のVMを持っています。しかし複数のStorageProfilesを持つVM
、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
}
「x」および「y」の両方を取得する他の方法があります倉庫?
こんにちは、お返事ありがとうございます。私はあなたの提案を両方とも試みました。最初のものは私に「この操作は拒否されました」と述べています。 2つめは「ACCESS_TO_RESOURCE_IS_FORBIDDEN - DISALLOWED_OPERATIONS」です。私はこれが許可と関係があると仮定しますが、私が使用しているログイン情報は正しいものでなければなりません。 – Maerth
私はこのクエリを使用してstorageprofilesを見つけることができました: "https:// vcloud-example/api/query?type = orgVdcStorageProfile"。どうもありがとうございました!私はこれにあなたの答えを編集し、それが問題なければ答えとしてマークします。 – Maerth
LOL確かに.. admin権限を持っていないみたいです...とにかく、ストレージプロファイルが30以上であれば、それらのリストはすべてリストされません。クエリのpagesizeを変更する必要があるかもしれません – AdilZ