vRA8 - Definir redes disponibles por Projecto

¿Cómo compartir un Template entre varios Proyectos de vRealize Automation 8.x si cada Proyecto debe utilizar diferentes redes?

En vRealize Automation 7.x las redes se definían en la Reservación de un Bussiness Group y se podían consultar con una Action "built-in" de vRO.

En vRealize Automation 8.x la reservación de define en el Proyecto y no incluye las redes que puede utilizar.

Configurar los Proyectos

 

Definimos dos Proyectos y en cada uno de ellos agregamos una Custom Property llamada "applicableNetworks" y, como valor, definimos los TAGs correspondientes a las redes que queremos habilitar para el Proyecto (separados por comas).

Para el Proyecto #1: dev,qa


Para el Proyecto #2: dev,qa,dmz


Template

En el Template definimos un Input y listamos las redes. De esta forma podremos probarlo en Cloud Assembly.


vRealize Orchestrator

En vRealize Orchestrator creamos una Action para seleccionar las redes según el Proyecto. Debe devolver un String Array y aceptar un String "projectId" cómo parámetro de entrada.


// If no project is selected, return an empty array
if (projectId == undefined || projectId == null || projectId == "") return [];

var hosts = VraHostManager.findHostsByType("vra-onprem");
// I have only one host. 
// If not, I should find the correct "vraHost"
var host = hosts[0]; 

var restClient = host.createRestClient();
var request = restClient.createRequest("GET", "/iaas/api/projects/" + projectId, null);
var response = restClient.execute(request);

if (response.statusCode==200) {
    var prj = JSON.parse(response.contentAsString);
    var nets = prj.customProperties.applicableNetworks;
    return (nets != undefined)?nets.split(','):[];
} else {
    return [];
}

Custom Forms

En Service Broker, definimos un Custom Form para el Template y, en el campo "Select Network" configuramos nuestra Action de vRealize Orchestrator. 


Resultado final

Finalmente vamos al Catálogo y probamos seleccionar el Template para el Proyecto #1 y el #2 para ver la diferencia.

Proyecto #1:


Proyecto #2:



Comentarios

Entradas populares de este blog

Aria Automation - crear lista ordenada de key-value en custom forms con Orchestrator

Demo simple de GSLB con AVI