Puede cortar, pegar y editar el ejemplo de JavaScript a fin de escribir scripts para recuperar las entidades reales de los recursos aprovisionados de vRealize Automation.

El tipo CatalogResource representa los recursos aprovisionados en vRealize Automation. Este tipo tiene un atributo de tipo ProviderBinding que representa la relación entre el recurso del catálogo y su proveedor con los atributos siguientes:

  • bindingId: representa el identificador de entidad que es exclusivo del proveedor

  • providerRef: identifica el proveedor del catálogo que se corresponde directamente con un servicio registrado en el registro de componentes de vRealize Automation

Para obtener más información sobre creación de scripts en vRealize Orchestrator, consulte Desarrollo con VMware vRealize Orchestrator.

Obtener una máquina virtual aprovisionada como recurso del catálogo de vRealize Automation

Este ejemplo utiliza un host de vRealize Automation y su host de IaaS como parámetros de entrada; en cuanto al ID de recurso proporcionado, devuelve la correspondiente máquina virtual de IaaS. El código de script toma únicamente recursos de catálogo de tipo Virtual Machine aprovisionados por el proveedor de iaas-service.

Tabla 1. Variables de entrada

Variable

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