ファインダ メソッドを呼び出す際は、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); }
Server スクリプト オブジェクトと findAllForType ファインダ メソッドを使用して、同じ XPath 式を呼び出すことができます。
var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]"); for each (datastore in datastores){ System.log(datastore.name); }
次のスクリプトの例は、ID が1 の数字で始まるすべてのホスト システム オブジェクトの名前を返しています。
var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]"); for each (host in hosts){ System.log(host.name); }
次のスクリプトは、名前に DC という文字列が大文字または小文字で含まれているすべてのデータセンター オブジェクトの名前と ID を返しています。スクリプトには、tag プロパティも取得します。
var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]"); for each (datacenter in datacenters){ System.log(datacenter.name + " " + datacenter.id); }