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
Publicar un comentario