Als Cloud-Vorlagendesigner verwenden Sie Eingabeparameter, damit Benutzer zur Anforderungszeit benutzerdefinierte Auswahlen vornehmen können.
Funktionsweise von Eingaben
Wenn Benutzer Eingaben bereitstellen, müssen nicht mehr mehrere Vorlagenkopien gespeichert werden, die sich nur geringfügig unterscheiden. Darüber hinaus können Eingaben eine Vorlage auf Tag-2-Vorgänge vorbereiten. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden von Cloud-Vorlageneingaben für Tag-2-Updates in vRealize Automation.
Die folgenden Eingaben zeigen, wie Sie eine Cloud-Vorlage für einen MySQL-Datenbankserver erstellen, wobei Benutzer diese eine Cloud-Vorlage in verschiedenen Cloud-Ressourcenumgebungen bereitstellen und jedes Mal andere Funktionen und Anmeldedaten anwenden können.
Hinzufügen von Eingabeparametern
Fügen Sie dem Vorlagencode einen inputs
-Abschnitt hinzu, in dem Sie die auswählbaren Werte festlegen.
Im folgenden Beispiel können Maschinengröße, Betriebssystem und Anzahl der geclusterten Server ausgewählt werden.
inputs: wp-size: type: string enum: - small - medium description: Size of Nodes title: Node Size wp-image: type: string enum: - coreos - ubuntu title: Select Image/OS wp-count: type: integer default: 2 maximum: 5 minimum: 2 title: Wordpress Cluster Size description: Wordpress Cluster Size (Number of nodes)
Wenn Sie mit der Bearbeitung von Code nicht vertraut sind, können Sie auf die Registerkarte Eingaben des Code-Editors klicken und dort entsprechende Einstellungen vornehmen. Das folgende Beispiel zeigt bestimmte Eingaben für die bereits erwähnte MySQL-Datenbank.
Verweisen auf Eingabeparameter
Als Nächstes verweisen Sie im Abschnitt resources
unter Verwendung der Syntax ${input.property-name}
auf einen Eingabeparameter.
Wenn ein Eigenschaftsname ein Leerzeichen enthält, trennen Sie ihn mit eckigen Klammern und doppelten Anführungszeichen ab, anstatt die Punktnotation zu verwenden: ${input["property name"]}
input
nur verwenden, um einen Eingabeparameter anzugeben.
resources: WebTier: type: Cloud.Machine properties: name: wordpress flavor: '${input.wp-size}' image: '${input.wp-image}' count: '${input.wp-count}'
Verschachtelte Eingabe
Wenn Sie Eingaben organisieren oder kategorisieren möchten, wird verschachtelte Eingaben unterstützt. Im folgenden Beispiel sind die CPU und der Arbeitsspeicher unter einer übergeordneten Überschrift der Ebene zusammengefasst.
inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer title: CPU default: 1 minimum: 1 maximum: 4 memory: type: integer title: Memory default: 2048 minimum: 2048 maximum: 4096
Fügen Sie im Abschnitt Ressourcen das übergeordnete Element in den Pfad ein, um auf die verschachtelte Eingabe zu verweisen.
resources: Disk_1: type: Cloud.vSphere.Disk allocatePerInstance: true properties: capacityGb: 1 count: ${input.cluster} Machine_1: type: Cloud.vSphere.Machine allocatePerInstance: true properties: totalMemoryMB: ${input.level.memory} attachedDisks: - source: ${slice(resource.Disk_1[*].id, count.index, count.index + 1)[0]} count: ${input.cluster} imageRef: ubuntu cpuCount: ${input.level.cpu}
Optionale und erforderliche Eingabe
Für alle Typen außer Boolesch ist der Benutzereintrag standardmäßig optional. Gehen Sie zum Anfordern der Eingabe folgendermaßen vor:
- Legen Sie einen Standardwert fest.
- Wenn Sie keine verschachtelten Eingaben haben, fügen Sie die Eigenschaft
populateRequiredOnNonDefaultProperties
hinzu:inputs: cluster: type: integer populateRequiredOnNonDefaultProperties: true title: Cluster minimum: 1 maximum: 4
Beachten Sie, dass Sie diese Einstellung auch anwenden können, wenn Sie auf eine formale Eigenschaftsgruppe verweisen:
inputs: pgmachine: type: object populateRequiredOnNonDefaultProperties: true $ref: /ref/property-groups/machine
- Fügen Sie bei verschachtelten Eingaben die Eigenschaft
populateRequiredForNestedProperties
hinzu:inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer populateRequiredForNestedProperties: true title: CPU minimum: 1 maximum: 4 memory: type: integer populateRequiredForNestedProperties: true title: Memory minimum: 2048 maximum: 4096
Beachten Sie, dass Sie diese Einstellung auch anwenden können, wenn der Verweis einer formalen Eigenschaftsgruppe verschachtelt ist:
level: type: object properties: cpu: type: integer populateRequiredForNestedProperties: true title: CPU minimum: 1 maximum: 4 memory: type: integer populateRequiredForNestedProperties: true title: Memory minimum: 2048 maximum: 4096 pgrequester: type: object populateRequiredForNestedProperties: true $ref: /ref/property-groups/requesterDetails
Optionale Eingabe – Legen Sie zum Durchsetzen der optionalen Eingabe mithilfe von Häkchen einen leeren Standardwert fest:
owner: type: string minLength: 0 maxLength: 30 title: Owner Name description: Account Owner default: ''
Senden von Eingaben an vRealize Orchestrator
Führen Sie die folgenden Schritte aus, um eine Cloud-Vorlageneingabe für eine vRealize Orchestrator-Aktion bereitzustellen. Bei vRealize Orchestrator-Aktionen gestaltet sich die Eingabe mittels eines Formulars einfacher als die direkte Eingabe in den Cloud-Vorlagencode.
- Stellen Sie in der vRealize Orchestrator-Instanz, die in vRealize Automation integriert ist, sicher, dass die gewünschte Aktion vorhanden ist.
- Navigieren Sie auf der Designseite für Cloud-Vorlagen in Cloud Assembly zur Registerkarte Eingaben und klicken Sie darauf, um eine neue Eingabe hinzuzufügen.
- Wählen Sie einen Typ und anschließend Externe Quelle aus.
- Klicken Sie neben „Aktion“ auf die Schaltfläche Auswählen.
- Verwenden Sie das Suchfeld „Aktion“, um nach der vRealize Orchestrator-Aktion zu suchen und sie auszuwählen.
- Geben Sie Aktionsparameter ein oder wählen Sie sie aus.
Nachdem Sie die Eingabe gespeichert und erstellt haben, wird sie im Cloud-Vorlagencode als $dynamicDefault
-Eingabe angezeigt. Beispiel:
inputs: backupnetwork: type: string $dynamicDefault: /data/vro-actions/com.insanpaolo/getBackupNetworkVLAN?network={{abcdef123456}}&tenant={{abcdef123456}}
Liste der Eingabeeigenschaften
Eigenschaft | Beschreibung |
---|---|
const | Wird mit oneOf verwendet. Der dem angezeigten Titel zugeordnete tatsächliche Wert. |
default | Vorab befüllter Wert für die Eingabe. Der Standardwert muss den korrekten Typ aufweisen. Geben Sie kein Wort als Standardwert für eine Ganzzahl ein. |
description | Benutzerhilfetext für die Eingabe. |
encrypted | Gibt an, ob die vom Benutzer eingegebene Eingabe verschlüsselt werden soll, True oder False. Kennwörter werden in der Regel verschlüsselt. Sie können auch verschlüsselte Eigenschaften erstellen, die über mehrere Cloud-Vorlagen hinweg wiederverwendbar sind. Weitere Informationen hierzu finden Sie unter Geheime Cloud Assembly-Eigenschaften. |
enum | Ein Dropdown-Menü mit den zulässigen Werten. Verwenden Sie das folgende Beispiel als Formatierungshilfe. enum: - value 1 - value 2 |
format | Legt das erwartete Format für die Eingabe fest. Beispiel: (25/04/19) unterstützt Datum/Uhrzeit (data-time). Ermöglicht die Verwendung der Datumsauswahl in benutzerdefinierten Service Broker-Formularen. |
items | Deklariert Elemente innerhalb eines Arrays. Unterstützt „Zahl“, „Ganzzahl“, „Zeichenfolge“, „Boolesch“ oder „Objekt“. |
maxItems | Maximale Anzahl der auswählbaren Elemente innerhalb eines Arrays. |
maxLength | Größte zulässige Anzahl an Zeichen für eine Zeichenfolge. Wenn Sie ein Feld beispielsweise auf 25 Zeichen begrenzen möchten, geben Sie |
maximum | Größter zulässiger Wert für eine Zahl oder Ganzzahl. |
minItems | Mindestanzahl der auswählbaren Elemente innerhalb eines Arrays. |
minLength | Kleinste zulässige Anzahl an Zeichen für eine Zeichenfolge. |
minimum | Kleinster zulässiger Wert für eine Zahl oder Ganzzahl. |
oneOf | Ermöglicht, dass das Benutzereingabeformular einen Anzeigenamen (title) für einen weniger benutzerfreundlichen Wert (const) anzeigt. Wenn Sie einen Standardwert festlegen, legen Sie „const“ fest, nicht „title“. Gültig für die Verwendung mit den Typen „Zeichenfolge“, „Ganzzahl“ und „Zahl“. |
pattern | Zulässige Zeichen für Zeichenfolgeneingaben in der Syntax für reguläre Ausdrücke. Beispiel: |
Eigenschaften | Deklariert den key:value-Eigenschaftenblock für Objekte. |
readOnly | Dient nur zur Bereitstellung einer Formularbezeichnung. |
title | Wird mit oneOf verwendet. Der Anzeigename für einen const-Wert. Der Titel wird zum Zeitpunkt der Bereitstellung im Benutzereingabeformular angezeigt. |
type | Datentyp „Zahl“, „Ganzzahl“, „Zeichenfolge“, „Boolesch“ oder „Objekt“.
Wichtig:
Ein boolescher Typ fügt dem Anforderungsformular ein leeres Kontrollkästchen hinzu. Wenn Sie das Kästchen leer lassen, wird die Eingabe nicht auf „False“ gesetzt. Zum Festlegen der Eingabe auf „False“ müssen Benutzer das Kontrollkästchen aktivieren und deaktivieren. |
writeOnly | Blendet im Formular die Tastenanschläge hinter Sternchen aus. Kann nicht mit „enum“ verwendet werden. Wird in benutzerdefinierten Service Broker-Formularen als Kennwertfeld angezeigt. |
Weitere Beispiele
Zeichenfolge mit Enumeration
image: type: string title: Operating System description: The operating system version to use. enum: - ubuntu 16.04 - ubuntu 18.04 default: ubuntu 16.04 shell: type: string title: Default shell Description: The default shell that will be configured for the created user. enum: - /bin/bash - /bin/sh
Ganzzahl mit Mindest- und Höchstwert
count: type: integer title: Machine Count description: The number of machines that you want to deploy. maximum: 5 minimum: 1 default: 1
Array von Objekten
tags: type: array title: Tags description: Tags that you want applied to the machines. items: type: object properties: key: type: string title: Key value: type: string title: Value
Zeichenfolge mit Anzeigenamen
platform: type: string oneOf: - title: AWS const: platform:aws - title: Azure const: platform:azure - title: vSphere const: platform:vsphere default: platform:aws
Zeichenfolge mit Mustervalidierung
username: type: string title: Username description: The name for the user that will be created when the machine is provisioned. pattern: ^[a-zA-Z]+$
Zeichenfolge als Kennwort
password: type: string title: Password description: The initial password that will be required to logon to the machine. Configured to reset on first login. encrypted: true writeOnly: true
Zeichenfolge als Textbereich
ssh_public_key: type: string title: SSH public key maxLength: 256
Boolesch
public_ip: type: boolean title: Assign public IP address description: Choose whether your machine should be internet facing. default: false
Kalenderauswahl für Datum und Uhrzeit
leaseDate: type: string title: Lease Date format: date-time