Wenn Sie eine Cloud-Vorlage in Automation Assembler 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 Automation Orchestrator-Ressourcen

Jede benutzerdefinierte Automation Orchestrator-Ressource basiert auf einem SDK-Bestandstyp und wird von einem Automation 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 Automation Orchestrator-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 Automation Orchestrator verwenden oder Ihre eigenen erstellen. Wenn Sie Automation 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 Automation 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 Automation Orchestrator-Ressource

Die Eigenschaft „Externer Typ“ definiert den Typ der benutzerdefinierten Automation Orchestrator-Ressource. Wenn Sie in der benutzerdefinierten Ressource in Automation Assembler 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 Automation 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 definiert 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 Automation Orchestrator-Lebenszyklusaktion

Wenn Sie Workflows zum Erstellen, Löschen und Aktualisieren als Lebenszyklusaktionen zu Ihrer benutzerdefinierten Ressource hinzufügen, überprüft Automation Assembler, 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 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 bearbeiten und 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 Automation 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.
Hinweis: Die Eigenschaften, die im Schema der benutzerdefinierten Ressourcen der Erweiterbarkeitsaktion definiert sind, müssen auch zurückgegebene Werte in der Aktion Lesen Ihrer benutzerdefinierten Ressource sein und dieselben Namen haben. Wenn Ihr Schema beispielsweise die Eigenschaften domain und location enthält, muss die Aktion Lesen auch dieselben Eigenschaften mit denselben Namen zurückgeben.
Auf dieser Registerkarte können Sie auch die Eigenschaften Ihrer Automation Orchestrator- oder benutzerdefinierten Ressourcen ändern und formatieren, die auf Erweiterbarkeitsaktionen basieren. Sie können beispielsweise den Anzeigenamen einer bestimmten Eigenschaft ändern oder Einschränkungen hinzufügen.
Hinweis: Stellen Sie beim Hinzufügen von Eigenschaften zum Elementabschnitt von Array-Feldern oder zum Eigenschaftsabschnitt von Objektfeldern im Eigenschaftsschema sicher, dass Sie diese Einschränkungen validiert haben, da falsch angewendete Einschränkungen zu Problemen bei der benutzerdefinierten Ressource führen können. Beim Hinzufügen einer maximalen Einschränkung zu einem Zahlen-Array müssen Sie sicherstellen, dass diese Einschränkung den Standardwert der Eigenschaft nicht überschreitet.

Sie können das Eigenschaftsschema für benutzerdefinierte Ressourcen bearbeiten, indem Sie zur Registerkarte Eigenschaften navigieren und entweder die Registerkarte Code oder Formular verwenden.

  • Code: Bearbeiten Sie das Eigenschaftsschema mithilfe von YAML-Inhalt. Bei Auswahl dieser Option wird das Eigenschaftsschema mithilfe des JSON-Schemas definiert.
  • Formular: Durch Klicken auf Neue Eigenschaft erstellen Sie für benutzerdefinierte Ressourcen für Erweiterbarkeitsaktionen eine neue Eigenschaft, indem Sie den zugehörigen Namen, den Anzeigenamen, die Beschreibung, den Eigenschaftstyp und den Standardwert konfigurieren. Für benutzerdefinierte Ressourcen von Automation Orchestrator können Sie auch nicht erforderliche und nicht berechnete Eigenschaften im Schema ausblenden, indem Sie auf Eigenschaft entfernen klicken.

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 Automation Orchestrator-Aktion, die einen Bereitstellungsnamen oder einen Projektnamen abruft. Sie können den Wert eines bestimmten Eingabeparameters 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 Automation 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 Automation 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;