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.

  1. In vRealize Orchestrator, configurare un'azione denominata getWindows10Cost.
    Esempio di un'azione di vRealize Orchestrator con Size e Cost
  2. 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;
  3. Aggiungere deploymentSize come stringa di input.
  4. 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.

    Valori dei campi dimensioni popolate nel modulo personalizzato.

    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
  5. 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.
    Valore del campo Costo popolato nel modulo personalizzato.

    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.
  6. Abilitare il modulo personalizzato e salvarlo.
  7. Per verificare che funzioni, richiedere l'elemento nel catalogo. Dovrebbe essere visualizzato il campo Cost popolato in base al valore selezionato in Size.
    Esempio popolato nel catalogo

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.

Il modello di esempio semplice include un campo di input size in cui l'utente seleziona la proprietà flavor.
Esempio di input per la mappatura di flavor nel modello
Il modulo personalizzato utilizza il campo, denominato Select machine size in questo esempio.
Opzioni dei valori nel designer di moduli personalizzati
L'input deploymentSize di cost è basato sul campo Select machine size.
Costo basato sul campo size dello schema nella richiesta del catalogo

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.

  1. In vRealize Orchestrator, creare un'azione denominata getFolderForUser.
    1. 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;
    2. Al termine dell'azione di modifica, fare clic su Salva.
  2. In Cloud Assembly, creare un'azione di risorsa personalizzata denominata ChangeFolder.
    1. Selezionare il tipo di risorsa Cloud.vSphere.Machine.
    2. Selezionare il workflow Sposta macchine virtuali in cartella.
  3. Personalizzare il modulo di richiesta visualizzato dagli utenti quando richiedono l'azione.
    1. Aprire l'azione ChangeFolder.
    2. Fare clic su Modifica parametri richiesta.
    3. 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 Seleziona stringa > Campi informazioni richiesta > Richiesta da.

      Fare clic su Seleziona.

      Input azioni

      vcUuid

      Fare clic su Seleziona stringa > Campi informazioni richiesta > Proprietà risorsa > UUID vCenter.

      Fare clic su Seleziona.

    4. 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 questo caso d'uso, si desidera personalizzare il campo dell'URL nel modulo di richiesta utilizzando gli attributi del workflow vRealize Orchestrator. Per eseguire questo esempio, è necessario un workflow vRealize Orchestrator con un attributo o una variabile che ha un valore costante o è associato a un elemento di configurazione. L'attributo o la variabile deve avere un valore iniziale impostato perché l'associazione viene eseguita prima dell'esecuzione del workflow.
  1. In vRealize Orchestrator, creare o clonare un workflow esistente. Ad esempio, clonare il workflow Aggiungi host REST.
    1. 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.

    2. Salvare il workflow.
  2. Importare il workflow Service Broker.
  3. Personalizzare il modulo di richiesta.
    1. Fare clic sull'elemento URL nel designer di moduli.
    2. Nella scheda Valori, impostare l'origine del valore su Associa campo.
    3. Fare clic su Campo valore > Campi richiesta informazioni.
    4. Selezionare la variabile hostname o uno qualsiasi degli attributi del workflow disponibili.
  4. 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.