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.
Benutzerdefinierte vRealize Orchestrator-Ressourcen
Properties
,
Date
,
string
und
number
, werden für die Erstellung benutzerdefinierter Ressourcentypen nicht unterstützt.
AD:UserGroup
ein SDK-Objekttyp, der zur Verwaltung von Active Directory-Benutzergruppen verwendet wird.
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.
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 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
oderSQL: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
domain
und
location
enthält, muss die Aktion
Lesen auch dieselben Eigenschaften mit denselben Namen zurückgeben.
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 vRealize 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 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.
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.
if (newPassword != confirmPassword) { return 'passwords are different'; } if (newPassword.lenght < 7) { return 'password must be at least 10 symbols'; } return null;