vCenter プラグインのファインダ メソッドを使用して vCenter インベントリ オブジェクトのクエリを実行できます。XPath 式を使用して検索パラメータを定義できます。
vCenter プラグインには getAllDatastores()、getAllResourcePools()、findAllForType() など、オブジェクトのファインダ メソッド セットが含まれています。これらのメソッドを使用して Automation Orchestrator サーバに接続している vCenter インスタンスのインベントリにアクセスし、ID や名前などのプロパティを指定して、オブジェクトを検索できます。
パフォーマンス上の理由により、検索クエリで一連のプロパティを指定しない限り、ファインダ メソッドではクエリ対象のオブジェクトのプロパティを返しません。
Orchestrator ドキュメントのホーム ページでは、vCenter プラグインの Scripting API のオンライン バージョンを参照できます。
vCenter プラグイン例を使用した XPath 式の使用
ファインダ メソッドを呼び出す際は、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); }