Я использую yavijava, и мне необходимо пройти через vCenter и создать на нем список всех хостов и виртуальных машин. Для каждого хоста и VM, мне нужно, чтобы получить несколько свойств, таких как имя, количество RAM/CPU и т.д. Мой текущий код выглядит следующим образом:Эффективный способ перемещения инвентаря vcenter и получения свойств
ManagedEntity[] hosts = new InventoryNavigator.searchManagedEntities("VirtualMachine");
for(int i=0;i<hosts.length;i++) {
String name = hosts[i].getName();
String xxx = hosts[i].XXXXX;
.....
и так далее для виртуальных машин тоже.
Мой вопрос: есть ли более эффективный способ сделать это, учитывая тот факт, что существует значительное количество объектов, и каждый вызов (например, getName) отправляет новый запрос в vSphere?
Спасибо, Майкл. Это именно то, что я искал. Я не смог найти документацию о свойствах, доступных для определенного объекта. Например, summary.hardware.memorySize, Как получить свойства, скажем, первой сетевой карты? – darkstar
Все свойства перечислены в документах SOAP для данного объекта. Например: http://www.yavijava.com/docs/vim.VirtualMachine.html Эти сборщики могут стать действительно продвинутыми. –
О да, я хотел бы знать, как перевести это на точечную нотацию, скажем, на несколько сетевых карт на виртуальной машине. – darkstar