Quando si personalizza un modulo di richiesta di Service Broker, è possibile basare il comportamento di alcuni campi sui risultati di un'azione di vRealize Orchestrator.
Esistono diversi metodi di utilizzo delle azioni di vRealize Orchestrator. È possibile utilizzare un'azione che estrae i dati da un'origine di terze parti oppure usare uno script che definisce le dimensioni e il costo.
Il primo esempio si basa sui campi aggiunti manualmente affinché sia possibile comprendere il processo sottostante. Il secondo esempio utilizza la stessa premessa, ma si basa su un campo di modello.
Il terzo esempio si basa su un'opzione personalizzata aggiunta al modulo di richiesta del catalogo in cui l'utente seleziona una cartella in base ai risultati di un'azione di vRealize Orchestrator personalizzata.
Il quarto esempio utilizza gli attributi del workflow vRealize Orchestrator per personalizzare un campo nel modulo di richiesta.
Oltre agli esempi seguenti, altri esempi sono disponibili nel blog di VMware Cloud Management.
Esempio di dimensioni e costi come campi aggiunti manualmente
In questo caso d'uso, si desidera che l'utente del catalogo selezioni determinate dimensioni di macchina virtuale e quindi visualizzi il costo di tale macchina al giorno. Ai fini di questo esempio, si dispone di uno script di vRealize Orchestrator che mette in relazione le dimensioni e il costo. Si aggiunge quindi un campo Size e un campo Cost al modulo personalizzato del modello. Il campo Dimensioni determina il valore visualizzato nel campo Costo.
- In vRealize Orchestrator, configurare un'azione denominata getWindows10Cost.
- Aggiungere uno script.
È possibile utilizzare lo script di esempio seguente.
var cost = "Unknown"; switch(deploymentSize) { case 'small' : cost = "$15";break; case 'medium' : cost = "$25";break; case 'large' : cost = "$45";break ; default : break ; } return cost;
- Aggiungere deploymentSize come stringa di input.
- In Service Broker, aggiungere e configurare un campo Size in un modulo personalizzato del modello.
Configurare il campo Size come elemento di menu a discesa con i valori Small, Medium e Large.
Nella scheda Valori, configurare i valori delle proprietà seguenti.
- Valore predefinito = Large
- Opzioni valore
- Origine valore = Costante
- Definizione valore = small|Small,medium|Medium,large|Large
- Aggiungere il campo Costo come campo di testo per visualizzare il costo definito nell'azione di vRealize Orchestrator in base al valore selezionato nel campo Dimensione.
Nella scheda Valori, configurare i valori delle proprietà seguenti.
- Valore predefinito = Origine esterna
- Seleziona azione = <cartella azioni vRealize Orchestrator>/getWindows10Cost
- Input azioni
- deploymentSize. Questo valore è stato configurato nell'azione come input.
- Campo
- Size. Questo è il campo creato in precedenza.
- Abilitare il modulo personalizzato e salvarlo.
- Per verificare che funzioni, richiedere l'elemento nel catalogo. Dovrebbe essere visualizzato il campo Cost popolato in base al valore selezionato in Size.
Costo in base all'esempio dell'elemento dello schema
In questo caso d'uso, si desidera che l'utente del catalogo veda il costo di tale macchina al giorno in base alla proprietà flavor nel modello. A tale scopo, utilizzare lo script di vRealize Orchestrator dell'esempio precedente. Tuttavia, in questo caso d'uso, il costo si basa sulle dimensioni di flavor che l'utente ha selezionato nel modulo personalizzato quando ha richiesto l'elemento del catalogo di Service Broker.
Cartella di destinazione basata su un esempio di azione personalizzata
In questo caso d'uso, si desidera che l'utente del catalogo selezioni dalle cartelle disponibili quando sposta una macchina da una cartella all'altra. A tale scopo, creare un'azione personalizzata in vRealize Orchestrator che restituisca cartelle disponibili all'utente che richiede l'azione dal catalogo. È quindi possibile personalizzare il campo Cartella di destinazione nel modulo di richiesta del catalogo.
Nel catalogo, il workflow Sposta macchine virtuali in cartella utilizzato in questo esempio è esposto come un'azione della risorsa personalizzata creata in Cloud Assembly.
- In vRealize Orchestrator, creare un'azione denominata getFolderForUser.
- Nella scheda Script, aggiungere input azione, selezionare il tipo di restituzione dell'output e aggiungere uno script.
È possibile utilizzare lo script di esempio seguente.
var parentTargetDirName = "users"; var sdkConnection = VcPlugin.findSdkConnectionForUUID(vcUuid); var rootFolder = sdkConnection.getAllVmFolders(null, "xpath:matches(name,'" + parentTargetDirName + "')")[0]; var result = new Array(); for each(var folder in rootFolder.childEntity) { if (folder instanceof VcFolder && folder.permission.length > 0) { var entityPrivilege = sdkConnection.authorizationManager.hasUserPrivilegeOnEntities([folder], username, ["System.Read"])[0]; if (entityPrivilege.privAvailability[0].isGranted) { result.push(folder); } } } return result;
- Al termine dell'azione di modifica, fare clic su Salva.
- Nella scheda Script, aggiungere input azione, selezionare il tipo di restituzione dell'output e aggiungere uno script.
- In Cloud Assembly, creare un'azione di risorsa personalizzata denominata ChangeFolder.
- Selezionare il tipo di risorsa Cloud.vSphere.Machine.
- Selezionare il workflow Sposta macchine virtuali in cartella.
- Personalizzare il modulo di richiesta visualizzato dagli utenti quando richiedono l'azione.
- Aprire l'azione ChangeFolder.
- Fare clic su Modifica parametri richiesta.
- Personalizzare la modalità con cui il campo Cartella di destinazione viene presentato agli utenti.
Opzioni valore Valore di esempio Origine valore Origine esterna Seleziona azione getFolderForUser Input azioni username Field
Fare clic su .Fare clic su Seleziona.
Input azioni vcUuid
Fare clic su .Fare clic su Seleziona.
- Fare clic su Salva.
Quando un utente richiede l'azione nel catalogo, può selezionare una cartella di destinazione per la macchina virtuale dalle cartelle disponibili.
Nome host basato sull'esempio degli attributi del workflow
- In vRealize Orchestrator, creare o clonare un workflow esistente. Ad esempio, clonare il workflow Aggiungi host REST.
- Nella scheda Variabili, aggiungere una variabile e associarla a un elemento di configurazione.
Opzioni valore Valore di esempio Nome hostname Tipo stringa Configurazione Abilitare l'opzione Associa alla configurazione. Nella la casella di testo Configurazione, selezionare la configurazione a cui si desidera associare la variabile. Ad esempio, selezionare l'elemento personalizzato Configurazione vRO: nome host.
- Salvare il workflow.
- Nella scheda Variabili, aggiungere una variabile e associarla a un elemento di configurazione.
- Importare il workflow Service Broker.
- Personalizzare il modulo di richiesta.
- Fare clic sull'elemento URL nel designer di moduli.
- Nella scheda Valori, impostare l'origine del valore su Associa campo.
- Fare clic su .
- Selezionare la variabile hostname o uno qualsiasi degli attributi del workflow disponibili.
- Salvare e abilitare il modulo.
Quando un utente richiede il workflow dal catalogo, il campo URL viene compilato in base alla variabile hostname.
Se si passa a un progetto diverso, gli attributi del workflow vengono ricalcolati perché il workflow potrebbe provenire da un'integrazione vRealize Orchestrator diversa.