Методы поиска в подключаемом модуле vCenter используются для запроса объектов иерархии vCenter. Для определения параметров поиска используются выражения XPath.
Подключаемый модуль vCenter содержит набор методов поиска объектов, таких как getAllDatastores(), getAllResourcePools() и findAllForType(). Эти методы можно использовать для доступа к иерархиям экземпляров vCenter, подключенных к серверу Automation Orchestrator, и поиска объектов по идентификатору, имени или другим свойствам.
В целях повышения производительности методы поиска не возвращают никаких свойств запрошенных объектов, если в поисковом запросе не указан набор свойств.
Можно обратиться к онлайн-версии API-интерфейса для создания сценариев для подключаемого модуля vCenter на главной странице документации Orchestrator.
Использование выражений XPath с примерами подключаемых модулей vCenter
При вызове метода поиска можно использовать выражения, составленные на языке запросов XPath. Поиск возвращает все объекты иерархии, которые соответствуют выражению XPath. Чтобы выполнить запрос каких-либо свойств, их можно включить в сценарий поиска в виде массива строк.
Следующий пример сценария JavaScript использует объект сценария VcPlugin и выражение XPath для возвращения имен всех объектов хранилища данных, которые являются частью управляемых объектов vCenter и содержат в своих именах строку ds.
var datastores = VcPlugin.getAllDatastores(null, "xpath:name[contains(.,'ds')]"); for each (datastore in datastores){ System.log(datastore.name); }
То же выражение XPath может быть вызвано с использованием объекта сценария Server и метода поиска findAllForType.
var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]"); for each (datastore in datastores){ System.log(datastore.name); }
Следующий пример сценария возвращает имена всех системных объектов узла с идентификатором, начинающимся цифрой 1.
var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]"); for each (host in hosts){ System.log(host.name); }
Следующий сценарий возвращает имена и идентификаторы всех объектов центра обработки данных, чьи имена содержат строку DC в верхнем или нижнем регистре. Сценарий также получает значение свойства tag.
var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]"); for each (datacenter in datacenters){ System.log(datacenter.name + " " + datacenter.id); }