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

Подключаемый модуль vCenter содержит набор методов поиска объектов, таких как getAllDatastores(), getAllResourcePools() и findAllForType(). Эти методы можно использовать для доступа к иерархиям экземпляров vCenter, подключенных к серверу Automation Orchestrator, и поиска объектов по идентификатору, имени или другим свойствам.

В целях повышения производительности методы поиска не возвращают никаких свойств запрошенных объектов, если в поисковом запросе не указан набор свойств.

Можно обратиться к онлайн-версии API-интерфейса для создания сценариев для подключаемого модуля vCenter на главной странице документации Orchestrator.

Важно!: Запросы на основании выражений XPath могут повлиять на производительность Automation Orchestrator, так как метод поиска возвращает все объекты заданного типа на стороне vCenter, а фильтры запроса применяются на стороне подключаемого модуля vCenter.

Использование выражений 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); 
}