Você pode recortar, colar e editar o exemplo JavaScript para escrever scripts de recuperação das entidades reais de recursos provisionados do vRealize Automation.

O tipo CatalogResource representa os recursos provisionados no vRealize Automation. Esse tipo tem um atributo do tipo ProviderBinding, que representa a relação entre o recurso de catálogo e seu provedor com os seguintes atributos:

  • bindingId - representa o identificador da entidade, que é exclusivo para o provedor

  • providerRef - identifica o provedor do catálogo, que corresponde diretamente a um serviço registrado no registro do componentes do vRealize Automation

Para obter mais informações sobre scripts no vRealize Orchestrator, consulte Desenvolvendo com o VMware vRealize Orchestrator.

Obter uma máquina virtual provisionada como um recurso de catálogo do vRealize Automation

Esse exemplo usa um host do vRealize Automation e seu host do IaaS como parâmetros de entrada e, para um ID de recurso provisionado, retorna a máquina virtual IaaS correspondente. O código de script usa apenas recursos de catálogo do tipo Virtual Machine que são provisionados pelo provedor iaas-service.

Tabela 1. Variáveis de entrada

Variável

Tipo

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);
}