Você pode usar os métodos localizadores no plug-in vCenter para consultar objetos de inventário do vCenter. Você pode usar expressões XPath para definir parâmetros de pesquisa.

O plug-in vCenter inclui um conjunto de métodos de objeto localizador como getAllDatastores(), getAllResourcePools(), findAllForType(). Você pode usar esses métodos para acessar os inventários das instâncias do vCenter que estão conectadas ao servidor Automation Orchestrator e procurar objetos por ID, nome ou outras propriedades.

Por motivos de desempenho, os métodos localizadores não retornam propriedades para os objetos consultados, a menos que você especifique um conjunto de propriedades na consulta de pesquisa.

Você pode consultar uma versão online da API de Scripts para o plug-in vCenter na página inicial da documentação do Orchestrator.

Importante: As consultas com base em expressões XPath podem prejudicar o desempenho do Automation Orchestrator porque o método localizador retorna todos os objetos de um determinado tipo no lado do vCenter e os filtros de consulta são aplicados no lado do plug-in vCenter.

Uso de expressões XPath com os exemplos de plug-in do vCenter

Quando você chama um método localizador, pode usar expressões de acordo com a linguagem de consulta XPath. A pesquisa retorna todos os objetos de inventário que correspondem às expressões XPath. Se você quiser consultar quaisquer propriedades, poderá inclui-las no script de pesquisa na forma de uma matriz de cadeia de caracteres.

O exemplo JavaScript a seguir usa o objeto de script VcPlugin e uma expressão XPath para retornar os nomes de todos os objetos de repositório de dados que fazem parte dos objetos gerenciados do vCenter e contêm a cadeia de caracteres ds em seus nomes.

var datastores = VcPlugin.getAllDatastores(null, "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
     System.log(datastore.name); 
 }

A expressão XPath mesmo pode ser chamada usando o objeto de script Server e o método localizador do findAllForType.

var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
     System.log(datastore.name); 
 }

O exemplo de script a seguir retorna os nomes de todos os objetos do sistema do host cujo ID começa com o dígito 1.

var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]");
for each (host in hosts){
     System.log(host.name); 
}

O script a seguir retorna os nomes e os IDs de todos os objetos do centro de dados que contêm a cadeia de caracteres DC, em letras maiúsculas ou minúsculas, em seus nomes. O script também obtém a propriedade tag.

var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]");
for each (datacenter in datacenters){
     System.log(datacenter.name + " "  +  datacenter.id); 
}