您可以使用 vCACCAFEEntitiesFinder 指令碼公用程式物件,剪下、貼上和編輯 JavaScript 範例來寫入尋找 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. 取得取用者資源服務,並叫用 get 方法,使其做為 Pageable 參數 (vCACCAFEPageOdataRequest 物件的執行個體) 傳遞。

    2. 提供 OData 查詢做為符合 name_of_the_resource 字串之 name 屬性的單一篩選器來建立 vCACCAFEPageOdataRequest 物件。

    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. 取得取用者資源服務,並叫用 get 方法,使其做為 Pageable 參數 (vCACCAFEPageOdataRequest 物件的執行個體) 傳遞。

  2. 提供 OData 查詢做為符合 user@domain.com 字串之 owner/ref 屬性的單一篩選器來建立 vCACCAFEPageOdataRequest 物件。

    owners/ref 屬性是內部結構和目錄資源欄位組成的組合。vCACCAFECatalogResource 實體具有 owners 屬性,該屬性為 vCACCAFECatalogPrincipal 實體的集合。vCACCAFECatalogPrincipal 實體具有 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));

尋找目錄資源 (按名稱和擁有者篩選)

此指令碼範例使用 vCACCAFEFilterParam.and(array of conditions) 邏輯運算子,將前兩個範例中的 OData 查詢合併為一個條件。

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) 等) 定義其他條件。