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. 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. 소비자 리소스 서비스를 가져오고 vCACCAFEPageOdataRequest 개체의 인스턴스를 Pageable 매개 변수로 전달하는 get 메서드를 호출합니다.

  2. OData 쿼리를 user@domain.com 문자열과 일치하는 owner/ref 특성의 단일 필터로 제공하여 vCACCAFEPageOdataRequest 개체를 생성합니다.

    owners/ref 특성은 카탈로그 리소스의 필드와 내부 구조를 기반으로 하는 컴퍼지션입니다. vCACCAFECatalogResource 엔티티에는 vCACCAFECatalogPrincipal 엔티티의 컬렉션인 owners 특성이 있습니다. 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));

이름 및 소유자별로 필터링된 카탈로그 리소스 찾기

이 예제 스크립트는 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) 등의 여러 논리 연산자를 사용하여 다른 조건을 정의할 수 있습니다.