JavaScript サンプルを切り取り、貼り付け、および編集することで、vCACCAFEEntitiesFinder スクリプト作成ユーティリティ オブジェクトで vRealize Automation エンティティを検索するためのスクリプトを記述できます。

vRealize Orchestrator でのスクリプト記述の詳細については、『VMware vRealize Orchestrator を使用した開発』を参照してください。

名前フィルタによるカタログリソースの検索

表 1. 入力変数

変数

タイプ

host

vCACCAFE:VcacHost

次のサンプルのいずれかを使用できます。

  • このサンプル スクリプトは、name_of_the_resource のクエリに名前および説明で一致するターゲット ホストのすべてのカタログ リソースを取得します。

    var items = vCACCAFEEntitiesFinder.findCatalogResources(host, "name_of_the_resource");
  • このサンプル スクリプトは、次のアクションを実行します。

    1. コンシューマ リソース サービスを取得し、vCACCAFEPageOdataRequest オブジェクトのインスタンスをPageable パラメータとして渡してget メソッドを開始します。

    2. vCACCAFEPageOdataRequest オブジェクトを、name_of_the_resource 文字列に一致する name 属性の 1 つのフィルタとして OData クエリを提供して作成します。

    var service = host.createCatalogClient().getCatalogConsumerResourceService(); 
    
    var filter = new Array();
    filter[0] = vCACCAFEFilterParam.equal("name", vCACCAFEFilterParam.string("name_of_the_resource"));
    var query = vCACCAFEOdataQuery.query().addFilter(filter); 
    
    var items = service.getResourcesList(new vCACCAFEPageOdataRequest(query));

所有者フィルタによるカタログリソースの検索

このサンプル スクリプトは、次のアクションを実行します。

  1. コンシューマ リソース サービスを取得し、vCACCAFEPageOdataRequest オブジェクトのインスタンスをPageable パラメータとして渡してget メソッドを開始します。

  2. vCACCAFEPageOdataRequest オブジェクトを、user@domain.com 文字列に一致する owner/ref 属性の 1 つのフィルタとして OData クエリを提供して作成します。

    owners/ref 属性はカタログ リソースの内部構造およびフィールドに基づいた構成です。vCACCAFECatalogResource エンティティは owners 属性を持ち、これは vCACCAFECatalogPrincipal エンティティの集合です。vCACCAFECatalogPrincipal エンティティはユーザーのプリンシパル ID を表す文字列である ref プロパティを持ちます。

var filter = new Array();
filter[0] = vCACCAFEFilterParam.substringOf("owners/ref", vCACCAFEFilterParam.string("user@domain.com"));
var query = vCACCAFEOdataQuery.query().addFilter(filter);

var items = service.getResourcesList(new vCACCAFEPageOdataRequest(query));

名前および所有者フィルタによるカタログリソースの検索

このサンプル スクリプトでは、前述の 2 つのサンプルの OData クエリを vCACCAFEFilterParam.and(array of conditions) 論理演算子を使用して一つの条件に結合します。

var conditions = new Array();
conditions[0] = vCACCAFEFilterParam.equal("name", vCACCAFEFilterParam.string("name_of_the_resource_here"));
conditions[1] = vCACCAFEFilterParam.substringOf("owners/ref", vCACCAFEFilterParam.string("user@domain.com"));

var filter = new Array();
filter[0] = vCACCAFEFilterParam.and(conditions);
var query = vCACCAFEOdataQuery.query().addFilter(filter);

var items = service.getResourcesList(new vCACCAFEPageOdataRequest(query));

その他の条件は、vCACCAFEFilterParam.group(array of parameters)vCACCAFEFilterParam.not(parameter)vCACCAFEFilterParam.startsWith(id, string)vCACCAFEFilterParam.endsWith(id, string)vCACCAFEFilterParam.greaterThan(id, number)vCACCAFEFilterParam.lessThan(id, number) など異なる論理演算子を使用して定義できます。