您可以剪切、粘贴和编辑 JavaScript 示例以编写脚本,用于通过 vCACCAFEEntitiesFinder 脚本实用程序对象来查找 vRealize Automation 实体。
有关 vRealize Orchestrator 中脚本编写的更多信息,请参见《使用 VMware vRealize Orchestrator 进行开发》。
查找按名称筛选的目录资源
变量 |
类型 |
---|---|
host |
vCACCAFE:VcacHost |
您可以使用以下任一示例:
此示例脚本会获取目标主机上与 name_of_the_resource 查询匹配(按名称和描述)的所有目录资源。
var items = vCACCAFEEntitiesFinder.findCatalogResources(host, "name_of_the_resource");
此示例脚本会执行以下操作:
获取“用户资源”服务并调用 get 方法,将 Pageable 对象的实例作为 vCACCAFEPageOdataRequest 参数进行传递。
创建 vCACCAFEPageOdataRequest 对象时使用 OData 查询作为单个筛选器用于筛选与 name_of_the_resource 字符串匹配的 name 属性。
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));
查找按所有者筛选的目录资源
此示例脚本会执行以下操作:
获取“用户资源”服务并调用 get 方法,将 vCACCAFEPageOdataRequest 对象的实例作为 Pageable 参数进行传递。
创建 vCACCAFEPageOdataRequest 对象时使用 OData 查询作为单个筛选器用于筛选与 user@domain.com 字符串匹配的 owner/ref 属性。
owners/ref 属性是基于内部结构和目录资源字段的组合。vCACCAFECatalogResource 实体具有 owners 属性,即 vCACCAFECatalogPrincipal 实体的集合。vCACCAFECatalogPrincipal 实体具有 ref 属性,即用户主体 ID 的字符串表现形式。
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) 等)定义其他条件。