Два или более экземпляра vimclient

Я пишу приложение C#, которому требуется доступ к двум или более хостам vSphere, а не к vCenter. Я могу подключиться ко всем и перечислить виртуальные машины, но когда я запрашиваю виртуальную машину, она берет информацию vimClient с последнего подключенного хоста vShere. Есть ли способ сохранить информацию о хосте ВМ для каждой ВМ?

Я использую следующее для подключения к хосту 1:

Client_1.Connect(logon.esxiLogonURL(IP_1.Text));
Client_1.Login(logon.esxiLogonUser(username_1.Text), logon.esxiPassword(password_1.Text));

и следующее для подключения к хосту 2

Client_2.Connect(logon.esxiLogonURL(IP_2.Text));
Client_2.Login(logon.esxiLogonUser(userName_2.Text), logon.esxiPassword(password_2.Text));

Любая идея о том, как я могу это сделать?

Спасибо


person Reaz    schedule 27.07.2017    source источник


Ответы (1)


Сохраните объекты подключения в список и обратитесь к ним позже.

List<VimClient> ConnectionList = new List<VimClient>();

Client_1.Connect(logon.esxiLogonURL(IP_1.Text)); Client_1.Login(logon.esxiLogonUser(username_1.Text); logon.esxiPassword(password_1.Text));

ConnectionList.Add(Client_1);

Client_2.Connect(logon.esxiLogonURL(IP_2.Text)); Client_2.Login(logon.esxiLogonUser(userName_2.Text); logon.esxiPassword(password_2.Text));

ConnectionList.Add(Client_2);

foreach (VimClient Connection in ConnectionList){ get vmhost information }

person Caleb Chandler    schedule 14.03.2018