Wenn Sie eine Cloud-Vorlage in Cloud Assembly erstellen, enthält die Ressourcentyppalette Ressourcentypen für das unterstützte Cloud-Konto und die Integrations-Endpoints. Möglicherweise gibt es Anwendungsfälle, in denen Sie Cloud-Vorlagen basierend auf einer erweiterten Ressourcentypliste erstellen möchten. Sie können benutzerdefinierte Ressourcentypen erstellen, sie der Design-Arbeitsfläche hinzufügen und Cloud-Vorlagen erstellen, die Ihre Design- und Bereitstellungsanforderungen unterstützen.

Ressourcenname und Ressourcentyp der benutzerdefinierten Ressource

Der Name der benutzerdefinierten Ressource identifiziert Ihre benutzerdefinierte Ressource innerhalb der Ressourcentyppalette der Cloud-Vorlage.

Der Ressourcentyp einer benutzerdefinierten Ressource muss mit Custom. beginnen und jeder Ressourcentyp muss eindeutig sein. Beispielsweise können Sie Custom.ADUser als Ressourcentyp für eine benutzerdefinierte Ressource festlegen, die Active Directory-Benutzer hinzufügt. Obwohl die Aufnahme von Custom. im Textfeld nicht validiert ist, wird die Zeichenfolge automatisch hinzugefügt, wenn Sie sie entfernen.

Benutzerdefinierte Ressourcen für Erweiterbarkeitsaktionen

Mit benutzerdefinierten Ressourcentypen können Sie Erweiterbarkeitsaktionen in Cloud-Vorlagen verwenden, um komplexe Anwendungen zu erstellen. Sie können die native Integration von Erweiterbarkeitsaktionen mit Amazon Web Services und Microsoft Azure beispielsweise verwenden, um die Integration in die entsprechenden Dienste zu vereinfachen. Sie können benutzerdefinierte Ressourcen für Erweiterbarkeitsaktionen erstellen, indem Sie im Editor der benutzerdefinierten Ressource auf die Option Basierend auf klicken und Benutzerdefiniertes ABX-Schema auswählen.

Lebenszyklusaktionen für benutzerdefinierte Ressourcen der Erweiterbarkeitsaktion

Wenn Sie eine Erweiterbarkeitsaktion für Ihre benutzerdefinierte Ressource verwenden, können Sie die folgenden Lebenszyklusaktionen definieren:

  • Erstellen: Diese Erweiterbarkeitsaktion wird aufgerufen, wenn eine Bereitstellung gestartet wird.
  • Lesen: Diese Erweiterbarkeitsaktion wird verwendet, um den aktuellen Status der bereitgestellten Ressource abzurufen.
  • Aktualisieren: Diese Erweiterbarkeitsaktion wird aufgerufen, wenn die Eigenschaft einer Cloud-Vorlage aktualisiert wird. Diese Aktion wird nur ausgelöst, wenn eine Eigenschaft nicht mit recreateOnUpdate gekennzeichnet ist.
  • Löschen: Diese Erweiterbarkeitsaktion wird aufgerufen, wenn eine Bereitstellung gelöscht wird.

Diese Lebenszyklusaktionen können entweder manuell aus den vorhandenen Erweiterbarkeitsaktionen ausgewählt oder automatisch erzeugt werden, indem Sie Aktionen generieren auswählen. Bei Auswahl von Aktionen generieren müssen Sie das Projekt angeben, in dem die neue Erweiterbarkeitsaktion generiert wird.

Hinweis: Sie können die mit den Lebenszyklusaktionen verknüpften Erweiterbarkeitsaktionen bearbeiten, indem Sie neben der jeweiligen Aktion auf die Option Öffnen klicken.

Benutzerdefinierte vRealize Orchestrator-Ressourcen

Jede benutzerdefinierte vRealize Orchestrator-Ressource basiert auf einem SDK-Bestandstyp und wird von einem vRealize Orchestrator-Workflow mit einer Ausgabe erstellt, die eine Instanz des gewünschten SDK-Typs darstellt. Primitive Typen, wie z. B. Properties, Date, string und number, werden für die Erstellung benutzerdefinierter Ressourcentypen nicht unterstützt.
Hinweis: SDK-Objekttypen können anhand des Doppelpunktes („:“), mit dem der Plug-In-Name und der Typname getrennt werden, von anderen Eigenschaftstypen unterschieden werden. Beispielsweise ist AD:UserGroup ein SDK-Objekttyp, der zur Verwaltung von Active Directory-Benutzergruppen verwendet wird.
Sie können die integrierten Workflows in vRealize Orchestrator verwenden oder Ihre eigenen erstellen. Wenn Sie vRealize Orchestrator zum Erstellen beliebiger As-a-Service-Dienste/XaaS-Workflows verwenden, können Sie beispielsweise eine Cloud-Vorlage erstellen, die Active Directory-Benutzer zur Bereitstellungszeit zu Maschinen hinzufügt, oder einen benutzerdefinierten F5-Lastausgleichsdienst zu einer Bereitstellung hinzufügen. Sie können benutzerdefinierte vRealize Orchestrator-Ressourcen erstellen, indem Sie im Editor der benutzerdefinierten Ressource auf die Option Basierend auf klicken und vRO-Bestandsliste auswählen.

Externer Typ der benutzerdefinierten vRealize Orchestrator-Ressource

Die Eigenschaft „Externer Typ“ definiert den Typ der benutzerdefinierten vRealize Orchestrator-Ressource. Wenn Sie in der benutzerdefinierten Ressource in Cloud Assembly die Option „Workflow erstellen“ auswählen, wird das Dropdown-Menü „Externer Typ“ darunter angezeigt. Das Dropdown-Menü enthält Eigenschaften des externen Typs, die aus den Ausgabeparametern des vRealize Orchestrator-Workflows ausgewählt werden. Die im Dropdown-Menü enthaltenen Ausgabeeigenschaften des ausgewählten Workflows müssen Nicht-Array-SDK-Objekttypen wie VC:VirtualMachine oder AD:UserGroup sein.

Hinweis: Vergewissern Sie sich beim Erstellen benutzerdefinierter Workflows, die das Plug-In „Dynamischer Typ“ verwenden, dass deren Variablen mithilfe der DynamicTypesManager.getObject()-Methode erstellt werden.

Wenn Sie Ihre benutzerdefinierten Ressourcentypen definieren, definieren Sie auch den Geltungsbereich der Verfügbarkeit des ausgewählten externen Typs. Der ausgewählte externe Typ kann:

  • über Projekte hinweg gemeinsam genutzt werden.
  • nur für das ausgewählte Projekt verfügbar sein.

Sie können lediglich über einen benutzerdefinierten Ressourcentyp mit einem bestimmten externen Typwert pro definiertem Geltungsbereich verfügen. Wenn Sie z. B. eine benutzerdefinierte Ressource in Ihrem Projekt erstellen, die VC:VirtualMachine als externen Typ verwendet, können Sie keine weitere benutzerdefinierte Ressource für dasselbe Projekt erstellen, das denselben externen Typ verwendet. Sie können auch nicht zwei gemeinsam genutzte benutzerdefinierte Ressourcen erstellen, die denselben externen Typ verwenden.

Validierung der vRealize Orchestrator-Lebenszyklusaktion

Wenn Sie Workflows zum Erstellen, Löschen und Aktualisieren als Lebenszyklusaktionen zu Ihrer benutzerdefinierten Ressource hinzufügen, überprüft Cloud Assembly, dass die ausgewählten Workflows korrekte Eingabe- und Ausgabeeigenschaftsdefinitionen aufweisen.

  • Der Workflow „Erstellen“ muss über einen Ausgabeparameter verfügen, der ein SDK-Objekttyp ist, beispielsweise SSH:Host oder SQL:Database. Wenn der ausgewählte Workflow die Validierung nicht besteht, können Sie keine Workflows zum Aktualisieren oder Löschen hinzufügen und Änderungen an der benutzerdefinierten Ressource nicht speichern.
  • Der Workflow „Löschen“ muss über einen Eingabeparameter verfügen, dessen SDK-Objekttyp ist mit dem externen Typ der benutzerdefinierten Ressource übereinstimmt.
  • Der Workflow „Aktualisieren“ muss sowohl einen Eingabe- als auch einen Ausgabeparameter aufweisen, dessen SDK-Objekttyp mit dem externen Typ der benutzerdefinierten Ressource übereinstimmt.

Eigenschaftsschema für benutzerdefinierte Ressourcen

Sie können das Eigenschaftsschema für benutzerdefinierte Ressourcen anzeigen, indem Sie die Registerkarte Eigenschaften auswählen. Das Schema enthält den Namen, den Datentyp, den Eigenschaftstyp und, sofern verfügbar, die Beschreibung einer bestimmten Eigenschaft. Das Schema definiert auch, ob eine bestimmte Eigenschaft in der Cloud-Vorlage erforderlich oder optional ist.
Hinweis: Für das Eigenschaftsschema der benutzerdefinierten Ressourcen der Erweiterbarkeitsaktion sind alle Eigenschaften in der Cloud-Vorlage erforderlich.
Wenn Sie vRealize Orchestrator-Workflows zu Ihrer benutzerdefinierten Ressource hinzufügen, werden deren Eingabe- und Ausgabeparameter als Eigenschaften hinzugefügt.

Für benutzerdefinierte Ressourcen der Erweiterbarkeitsaktion müssen Sie das Eigenschaftsschema der benutzerdefinierten Ressourcen der Erweiterbarkeitsaktion manuell auf der Registerkarte Eigenschaften erstellen. Sie können das Eigenschaftsschema erstellen, indem Sie entweder die Registerkarte Code oder Formular verwenden.

  • Code: Erstellen Sie das Eigenschaftsschema mithilfe des YAML-Inhalts.
  • Formular: Durch Klicken auf Neue Eigenschaft erstellen Sie eine neue Eigenschaft, indem Sie den zugehörigen Namen, den Anzeigenamen, die Beschreibung, den Eigenschaftstyp und den Standardwert konfigurieren.

Benutzerdefinierte Anforderungsformulare für einen Tag-2-Vorgang

Sie können das Anforderungsformular der in Ihrer benutzerdefinierten Ressource enthaltenen Tag-2-Vorgänge optimieren, indem Sie verschiedene Arten von Ressourceneigenschaften hinzufügen und ändern.

Beispielsweise können Sie den Wert eines Eingabeparameters in Ihrem Anforderungsformular an eine externe Quelle binden, z. B. eine vRealize Orchestrator-Aktion, die einen Bereitstellungsnamen oder einen Projektnamen abruft. Sie können den Wert eines bestimmten Eingabeparameter auch an den berechneten Wert von zwei anderen Textfelder binden, die im selben Anforderungsformular enthalten sind.

Hinweis: Diese Funktionalität ist sowohl für benutzerdefinierte Ressourcen als auch für Ressourcenaktionen verfügbar. Sie können den Wert der Eingabeeigenschaften Ihres Anforderungsformulars über die Registerkarte Werte der Seite Anforderungsparameter des benutzerdefinierten Ressourcen- oder Ressourcenaktions-Editors anpassen.

Validierung des Anforderungsformulars für Tag-2-Vorgang

Sie können das Anforderungsformular Ihrer Tag-2-Vorgänge überprüfen, indem Sie eine externe Validierung hinzufügen. Bei Verwendung einer externen Validierung kann der Benutzer das Anforderungsformular erst senden, wenn die Validierungsparameter erfüllt sind. Sie können eine externe Validierung über die Registerkarte Validierungen der Seite Anforderungsparameter des benutzerdefinierten Ressourcen- oder Ressourcenaktions-Editors hinzufügen. Nach Auswahl der Registerkarte können Sie ein Element der Orchestrator-Validierung auf die Arbeitsfläche ziehen und eine vRealize Orchestrator-Aktion hinzufügen, die Sie für die Validierung verwenden möchten.

Sie können beispielsweise eine benutzerdefinierte Ressource erstellen, die einen Tag-2-Vorgang zum Ändern eines Benutzerkennworts enthält. Für einen solchen Anwendungsfall können Sie eine vRealize Orchestrator-Aktion mit den Eingabeparametern newPassword und confirmPassword hinzufügen, die den Typ SecureString verwenden.

Hinweis: Dies ist ein Beispielskript für die Validierung eines Benutzerkennworts. Für Ihren eigenen Anwendungsfall können Sie ein anderes Skript verwenden.
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;