È possibile utilizzare i metodi finder nel plug-in vCenter per eseguire una query per gli oggetti di inventario di vCenter. È possibile utilizzare espressioni XPath per definire i parametri di ricerca.

Il plug-in vCenter include un set di metodi finder di oggetti come getAllDatastores(), getAllResourcePools() e findAllForType(). È possibile utilizzare questi metodi per accedere agli inventari delle istanze di vCenter connesse al server Automation Orchestrator e cercare oggetti in base a ID, nome o altre proprietà.

Per motivi relativi alle prestazioni, i metodi finder non restituiscono alcuna proprietà per gli oggetti in cui viene eseguita la query, a meno che non si specifichi un set di proprietà nella query di ricerca.

È possibile consultare una versione online dell'API di esecuzione di script per il plug-in vCenter nella pagina iniziale della documentazione di Orchestrator.

Importante: Le query basate su espressioni XPath possono influire negativamente sulle prestazioni di Automation Orchestrator perché il metodo finder restituisce tutti gli oggetti di un determinato tipo dal lato di vCenter e i filtri delle query vengono applicati sul lato del plug-in vCenter.

Utilizzo delle espressioni XPath con gli esempi del plug-in vCenter

Quando si richiama un metodo finder, è possibile utilizzare espressioni basate sul linguaggio di query XPath. La ricerca restituisce tutti gli oggetti dell'inventario che soddisfano le espressioni XPath. Se si desidera eseguire la query per tutte le proprietà, è possibile includerle nello script di ricerca in forma di array di stringhe.

Il seguente esempio di codice JavaScript utilizza l'oggetto di scripting VcPlugin e un'espressione XPath per restituire i nomi di tutti gli oggetti del datastore che fanno parte degli oggetti gestiti di vCenter e contengono la stringa ds nei loro nomi.

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

La stessa espressione XPath può essere richiamata utilizzando l'oggetto di scripting Server e il metodo finder findAllForType.

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

Lo script di esempio seguente restituisce i nomi di tutti gli oggetti del sistema host il cui ID inizia con il numero 1.

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

Lo script seguente restituisce i nomi e gli ID di tutti gli oggetti del data center che contengono la stringa DC, in lettere maiuscole o minuscole, nei propri nomi. Lo script recupera anche la proprietà tag.

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