Vous pouvez couper, coller et modifier l'exemple JavaScript afin de rédiger des scripts permettant de récupérer des entités réelles de ressources vRealize Automation provisionnées.

Le type CatalogResource représente les ressources provisionnées dans vRealize Automation. Ce type possède un attribut de type ProviderBinding qui représente la relation entre la ressource de catalogue et son fournisseur avec les attributs suivants :

  • bindingId - représente l'identifiant de l'entité. Cet identifiant est unique pour le fournisseur

  • providerRef - identifie le fournisseur de catalogue qui correspond directement à un service enregistré dans le registre de composants vRealize Automation

Pour plus d'informations sur les scripts dans vRealize Orchestrator, consultez Développement avec VMware vRealize Orchestrator.

Récupérer une machine virtuelle provisionnée en tant que ressource de catalogue vRealize Automation

Cet exemple utilise un hôte vRealize Automation et son hôte IaaS en tant que paramètres d'entrée, et renvoie la machine virtuelle IaaS correspondant à l'ID de ressource fourni. Le code de script prend uniquement en charge les ressources de catalogue de type Virtual Machine provisionnées par le fournisseur iaas-service.

Tableau 1. Variables d'entrée

Variable

Type

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