È possibile tagliare, incollare e modificare l'esempio JavaScript per scrivere script per recuperare le entità effettive delle risorse con provisioning di vRealize Automation.

Il tipo CatalogResource rappresenta le risorse con provisioning in vRealize Automation. Questo tipo dispone di un attributo del tipo ProviderBinding che rappresenta la relazione tra la risorsa di catalogo e il relativo provider con i seguenti attributi:

  • bindingId - rappresenta l'identificatore dell'entità, che è univoco per il provider

  • providerRef - identifica il provider del catalogo che corrisponde direttamente a un servizio registrato nel registro componenti di vRealize Automation

Per ulteriori informazioni sull'esecuzione di script in vRealize Orchestrator, vedere Sviluppare con VMware vRealize Orchestrator.

Trovare una macchina virtuale di cui è stato eseguito il provisioning come risorsa di catalogo di vRealize Automation

In questo esempio si utilizzano un host vRealize Automation e il relativo host IaaS come parametri di input e, per un ID risorsa con provisioning, viene restituita la macchina virtuale IaaS corrispondente. Il codice di script prende solo le risorse di catalogo di tipo Virtual Machine il cui provisioning è eseguito dal provider iaas-service.

Tabella 1. Variabili di input

Variabile

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