Wanneer u een Service Broker-aanvraagformulier aanpast, kunt u het gedrag van bepaalde velden baseren op de resultaten van een vRealize Orchestrator-actie.

Er zijn verschillende manieren om vRealize Orchestrator-acties te gebruiken. Mogelijk hebt u een actie die de gegevens ophaalt van een externe bron, of gebruikt u een script dat de grootte en de kosten definieert.

Het eerste voorbeeld is gebaseerd op handmatig toegevoegde velden, zodat u het onderliggende proces begrijpt. Het tweede voorbeeld gebruikt dezelfde vooronderstelling, maar is ook afhankelijk van een sjabloonveld.

Het derde voorbeeld is gebaseerd op een aangepaste optie die wordt toegevoegd aan het aanvraagformulier voor de catalogus, waarbij de gebruiker een map selecteert op basis van de resultaten van een aangepaste vRealize Orchestrator-actie.

Naast de volgende voorbeelden zijn er ook andere voorbeelden beschikbaar in het VMware Cloud Management-blog.

Voorbeeld van grootte en kosten als handmatig toegevoegde velden

In dit scenario wilt u dat de catalogusgebruiker de grootte van een virtuele machine selecteert, en dat vervolgens de kosten van die machine per dag worden weergegeven. Om dit voorbeeld uit te voeren, hebt u een vRealize Orchestrator-script dat de grootte en kosten vergelijkt. Vervolgens voegt u een veld voor grootte en een veld voor kosten toe aan het aangepaste formulier voor de sjabloon. Het veld voor de grootte bepaalt de waarde die in het veld voor kosten wordt weergegeven.

  1. Configureer in vRealize Orchestrator een actie met de naam getWindows10Cost.
    Voorbeeld van een vRealize Orchestrator-actie met grootte en kosten
  2. Voeg een script toe.

    U kunt het volgende voorbeeldscript gebruiken.

    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. Voeg deploymentSize toe als invoertekenreeks.
  4. Voeg in Service Broker een veld voor grootte toe aan een aangepast formulier voor een sjabloon.

    Configureer het veld voor grootte als vervolgkeuzelijstelement met kleine, medium en grote waarden.

    Configureer op het tabblad Waarden de volgende eigenschapswaarden.

    • Standaardwaarde = Groot
    • Waardeopties
      • Waardebron = Constante
      • Waardedefinitie = klein|Klein, medium|Medium, groot|Groot
  5. Voeg het veld voor kosten als tekstveld toe om de kosten weer te geven, zoals gedefinieerd in de vRealize Orchestrator-actie, gebaseerd op de geselecteerde waarde in het veld voor grootte.

    Configureer op het tabblad Waarden de volgende eigenschapswaarden.

    • Standaardwaarde = Externe bron
    • Actie selecteren = <uw vRealize Orchestrator-actiemap>/getWindows10Cost
    • Invoer van actie
      • deploymentSize. Deze waarde is in de actie geconfigureerd als invoer.
      • Veld
      • Grootte. Dit is het veld dat u eerder hebt gemaakt.
  6. Schakel het aangepaste formulier in en sla het op.
  7. Om te controleren of het werkt, vraagt u het item aan in de catalogus. Het veld Kosten wordt ingevuld op basis van de geselecteerde waarde voor grootte.
    Ingevuld voorbeeld in de catalogus

Voorbeeld van kosten op basis van schema-element

In dit geval wilt u dat de catalogusgebruiker de kosten van die machine per dag ziet op basis van de soorteigenschap in de sjabloon. Om dit voorbeeld uit te voeren, gebruikt u het vRealize Orchestrator-script uit het vorige voorbeeld. In dit scenario zijn de kosten echter gebaseerd op de soortgrootte die uw gebruiker heeft geselecteerd in het aangepaste formulier wanneer het Service Broker-catalogusitem wordt aangevraagd.

De eenvoudige voorbeeldsjabloon is voorzien van een invoerveld voor grootte, waarbij de gebruiker de soorteigenschap selecteert.
Voorbeeld van invoer voor soorttoewijzing in de sjabloon
Het aangepaste formulier gebruikt het veld met de naam Select machine size in dit voorbeeld.
Waardeopties in ontwerper voor aangepaste formulieren
De invoer voor kosten (deploymentSize) is gebaseerd op het veld Machinegrootte selecteren.
Kosten op basis van het veld voor grootte in het schema in de catalogusaanvraag

Bestemmingsmap op basis van een voorbeeld van een aangepaste actie

In deze gebruikssituatie wilt u dat de catalogusgebruiker een selectie kan maken uit de mappen die beschikbaar zijn wanneer ze een machine van een map naar een andere map verplaatsen. Om dit voorbeeld uit te voeren, maakt u een aangepaste actie in vRealize Orchestrator die mappen retourneert die beschikbaar zijn voor de gebruiker die de actie uit de catalogus aanvraagt. Vervolgens kunt u het veld Bestemmingsmap in het aanvraagformulier voor de catalogus aanpassen.

In de catalogus wordt de werkstroom Virtuele machines naar map verplaatsen die in dit voorbeeld wordt gebruikt, weergegeven als een aangepaste resourceactie die in Cloud Assembly is gemaakt.

  1. Maak in vRealize Orchestrator een actie met de naam getFolderForUser.
    1. Voeg op het tabblad Script actie-invoer toe, selecteer het retourtype van de uitvoer en voeg een script toe.

      U kunt het volgende voorbeeldscript gebruiken.

      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. Als u klaar bent met het bewerken van de actie, klikt u op Opslaan.
  2. Maak in Cloud Assembly een aangepaste resourceactie met de naam ChangeFolder.
    1. Selecteer het resourcetype Cloud.vSphere.Machine.
    2. Selecteer de werkstroom Virtuele machines naar map verplaatsen.
  3. Pas het aanvraagformulier aan dat gebruikers zien wanneer ze de actie aanvragen.
    1. Open de actie ChangeFolder.
    2. Klik op Aanvraagparameters bewerken.
    3. Pas aan hoe het veld Bestemmingsmap aan gebruikers wordt getoond.
      Waardeopties Voorbeeldwaarde
      Waardebron Externe bron
      Actie selecteren getFolderForUser
      Invoer van actie

      username Field

      Klik op Tekenreeks selecteren > Velden voor aanvraaginformatie > Aangevraagd door.

      Klik op Selecteren.

      Invoer van actie

      vcUuid

      Klik op Tekenreeks selecteren > Velden voor aanvraaginformatie > Resource-eigenschappen > vCenter UUID.

      Klik op Selecteren.

    4. Klik op Opslaan.

Wanneer een gebruiker de actie in de catalogus aanvraagt, kan deze een bestemmingsmap voor de virtuele machine selecteren uit de mappen die voor hen beschikbaar zijn.