U kunt het JavaScript-voorbeeld knippen, plakken en bewerken om scripts te schrijven voor het ophalen van de werkelijke entiteiten van door vRealize Automation ingerichte bronnen.

Het CatalogResource-type vertegenwoordigt de ingerichte bronnen in vRealize Automation. Dit type heeft een kenmerk van het ProviderBinding-type dat de relatie tussen de catalogusbron en de provider ervan vertegenwoordigt met de volgende kenmerken:

  • bindingId - vertegenwoordigt de id van de entiteit die uniek is voor de provider

  • providerRef - identificeert de catalogusprovider die direct overeenkomt met een service die is geregistreerd in het vRealize Automation-onderdelenregister

Voor meer informatie over scriptverwerking in vRealize Orchestrator raadpleegt u Ontwikkelen met VMware vRealize Orchestrator.

Een virtual machine ophalen die is ingericht als een vRealize Automation-catalogusbron

Dit voorbeeld gebruikt een vRealize Automation-host en de IaaS-host ervan als invoerparameters en, voor een opgegeven bron-id, retourneert dit de overeenkomstige IaaS virtual machine. De scriptverwerkingscode gebruikt alleen catalogusbronnen van het Virtual Machine-type die zijn ingericht door de iaas-service-provider.

Tabel 1. Invoervariabelen

Variabele

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