JavaScript 예제를 잘라내고, 붙여 넣고, 편집하여 vRealize Automation 프로비저닝된 리소스의 실제 엔티티를 검색할 스크립트를 작성할 수 있습니다.

CatalogResource 유형은 vRealize Automation에서 프로비저닝된 리소스를 나타냅니다. 이 유형에는 다음 특성을 사용하여 카탈로그 리소스와 해당 공급자 간의 관계를 나타내는 ProviderBinding 유형의 특성이 있습니다.

  • bindingId - 공급자에 고유한 엔티티의 식별자를 나타냅니다.

  • providerRef - vRealize Automation 구성 요소 레지스트리에 등록된 서비스에 직접 해당하는 카탈로그 공급자를 식별합니다.

vRealize Orchestrator의 스크립팅에 대한 자세한 내용은 VMware vRealize Orchestrator를 사용한 개발을 참조하십시오.

vRealize Automation 카탈로그 리소스로 프로비저닝된 가상 시스템 가져오기

이 예제에서는 vRealize Automation 호스트와 해당 IaaS 호스트를 입력 매개 변수로 사용하고, 제공된 리소스 ID에 대해 해당 IaaS 가상 시스템을 반환합니다. 스크립팅 코드는 iaas-service 공급자를 통해 프로비저닝된 Virtual Machine 유형의 카탈로그 리소스만 가져옵니다.

표 1. 입력 변수

변수

유형

vcacHost

vCACCAFE:VCACHost

iaasHost

vCAC:VCACHost

// Id of the catalog resource (or vCACCAFECatalogResource_instance.getId())
var resourceId = "c222629c-6f90-4458-8c92-8ece0ba06173";

var resource = vCACCAFEEntitiesFinder.getCatalogResource(vcacHost, resourceId);

var resourceType = resource.getResourceTypeRef().getLabel();
System.log("resource type: " + resourceType);

var providerBinding = resource.getProviderBinding();

var bindingId = providerBinding.getBindingId();
System.log("provider binding id: " + bindingId);

var provider = providerBinding.getProviderRef();
System.log("provider id: " + provider.getId());
System.log("provider name: " + provider.getLabel());

if ((resourceType == "Virtual Machine") && (provider.getLabel() == "iaas-service")) {
    System.log("It is an IaaS VM!");

    // IaaS virtual machine
    var vm = Server.findForType("vCAC:VirtualMachine", bindingId);
    System.log("IaaS VM id: " + vm.virtualMachineID);
    System.log("IaaS VM name: " + vm.displayName);
    
    // IaaS Entity
    var entity = System.getModule("com.vmware.library.vcac").getVirtualMachineEntityFromId(iaasHost, bindingId);
    System.log("IaaS entity id: " + entity.keyString);
}