Mit Ausdrücken in Cloud Provisioning and Governance
Ausdrücke in Richtlinienaktionen können Werte festlegen oder überschreiben. Ausdrücke in Blueprints können auf Attribute von Ressourcen zugreifen und Werte zu Anforderungsformularfeldern zuordnen. Ausdrücke sind in Ressourcenblöcken, Blueprints, Richtlinien und überall verfügbar Cloud Provisioning and GovernanceLässt Skripts zu.
Mit Ausdrücken
Ausdrücke können die Werte für Informationen enthalten, die dynamisch im System generiert werden, z. B. die Werte für die Auswahlmöglichkeiten, die Anwender auf treffen Cloud-Anwenderportal. Ausdrücke sind in Ressourcenblöcken, Blueprints, Richtlinien und überall verfügbar Cloud Provisioning and GovernanceLässt Skripts zu.
- Verwendung von Ausdrücken in Ressourcenblöcken
Jeder Ressourcenblockvorgang verwendet einen Ausdruck, um einen Wert für jeden Parameter zu speichern. Der Ausdruck kann hartcodierte Werte und Daten aus dem Stapel verwenden, den der Anwender in bereitstellt Cloud-Anwenderportal, Daten in der CMDB und Daten, die von Skripts abgeleitet werden. Standardmäßig Cloud Provisioning and GovernanceGeneriert einen Satz von Parametern und ihren Ausdrücken für jeden Ressourcenblockvorgang.
Beispiel: Der Parameter Location, Das das Rechenzentrum enthält, zu dem eine Ressource gehört, verwendet den Ausdruck
${Parameter.Location}Abbildung : 1. Ausdrücke in einem Ressourcenblock - Verwendung von Ausdrücken in Blueprints
Blueprints können Ausdrücke verwenden, um Eingabeparameter für jeden Vorgang in einem Ressourcenblock zuzuordnen. Standardmäßig zeigt der Blueprint dieselben Parameter und Werte an, die im Ressourcenblock angegeben sind.
Sie können mit Ausdrücken auf Blueprint-Attribute zugreifen. Der Ausdruck in Zuordnung Spalte definiert Blueprint-Attribute für jeden Vorgang in einem Schritt. Beispiel: Standort Das Attribut, das im Stapelanforderungsformular angezeigt wird, ist über zugänglich
{$Parameter.Standort}Ausdruck. Der Standortparameter mit${Parameter.Location}Wert wird auf angezeigt Eingaben Registerkarte, wenn Sie einen Blueprint-Vorgang auswählen.Abbildung : 2. Ausdrücke in einem Blueprint - Verwendung von Ausdrücken in Richtlinienaktionen
Richtlinienaktionen können Ausdrücke verwenden, um Parameterwerte zu überschreiben, die Anwender in einem Anforderungsformular auf übermitteln Cloud-Anwenderportal. Sie können auch in Stapelvorgängen auf Anwenderdaten zugreifen und diese überschreiben. Verwenden Sie beispielsweise den folgenden Ausdruck, um einen Stapel umzubenennen:
FormData.Stapelname = „Ihre-Benennungskonvention“;.Abbildung : 3. Ausdrücke in einem Richtlinienskript
Sie können mit Ausdrücken auf Blueprint-Attribute zugreifen. Der Ausdruck in Zuordnung Spalte definiert Blueprint-Attribute für jeden Vorgang in einem Schritt. Beispiel: Standort Auf das Attribut, das im Anforderungsformular für eine virtuelle Maschine angezeigt wird, wird mit dem folgenden Ausdruck zugegriffen: {$Parameter.Standort} .
Ausdruckstypen
- Definitionsausdrücke
- Definitionsausdrücke sind eine Form der frühen Bindung (oder statischen Bindung). Diese Bindungen beziehen sich auf die Kompilierungszeitbindung und werden ausgewertet, wenn der Anwender das Stapelanforderungsformular übermittelt (wenn die Stapel- oder Ressourcenbereitstellung beginnt). Definitionsausdrücke haben keinen Zugriff auf die Daten, die während generiert werden Orchestration. Definitionsausdrücke sind in geschweiften Klammern eingeschlossen. Beispiel:
${Parameter.CloudAccount} - Laufzeitausdrücke
- Laufzeitausdrücke sind eine Form der späten Bindung (oder dynamischen Bindung). Diese Bindungen beziehen sich auf die Laufzeitbindung und haben Zugriff auf die Daten, die während erstellt werden Orchestration(Z. B. Stapelelemente). Laufzeitausdrücke werden ausgewertet, wenn sie während einer aufgerufen werden OrchestrationAusführen. Laufzeitausdrücke werden normalerweise für Dot-Walking zu Daten in Tabellen verwendet. Laufzeitausdrücke sind in Klammern eingeschlossen. Beispiel:
$(Stack.items[VM1].attributes[node_id]) - Definitions-/Laufzeitausdrücke
- Einige Ausdrücke enthalten sowohl Definitions- als auch Laufzeitausdrücke.
- Komplexe Ausdrücke
- Sie können Ausdrücke eines beliebigen Typs in anderen Ausdrücken verschachteln.
Syntax und Beispiele des Definitionsausdrucks
${Parameter.}. Verwenden Sie diese Art von Ausdruck, um Werte aus Eingabeattributen von Prozessen wie Blueprint-Bestimmungen abzurufen. Daten werden nicht aus Tabellen abgerufen.${Stack.items[]}. Verwenden Sie diese Syntax, um auf Attribute bestimmter Elemente in einem Stapel zuzugreifen.${randomNumber}. Verwenden Sie diese Syntax, um eine zufällige Zahl zu generieren. Sie können beispielsweise eine VM mit einem zufälligen Knotennamen oder Stapelnamen bereitstellen.
| Beispiel | Beschreibung |
|---|---|
| ${Parameter.Abrechnungscode} | Dieser Ausdruck zeigt, wie ein Abrechnungscodeparameter in einem Blueprint angezeigt wird. |
| ${Parameter.formData.CatalogAttributeType} | Dieser Ausdruck verwendet ein Katalogattribut, das von einem Anwender übermittelt wird, während der Anwender das Formular für ein Katalogelement in ausfüllt Cloud-Anwenderportal. |
| ${parameter.userData.userId} | Dieser Ausdruck nimmt die ID eines Anwenders an, während der Anwender das Formular für ein Katalogelement in ausfüllt Cloud-Anwenderportal. |
| ${Stack.items[Virtual Server].attributes[sys_ID]} | Dieser Ausdruck ruft die sys_ID eines virtuellen Servers ab, der sich von einem Stapel unterscheidet. Virtueller Server ist der Alias eines Ressourcenblocks, der im Stapel verwendet wird. |
Syntax und Beispiele des Laufzeitausdrucks
$(ci.Tabellenname)WoTabellennameIst eine Tabelle im System, normalerweise eine CI-Tabelle in der CMDB. Verwenden Sie diese Syntax, um auf Werte von Feldern in der Tabelle zuzugreifen.$(Stack.items[]). Verwenden Sie diese Syntax, um auf Attribute bestimmter Elemente in einem Stapel zuzugreifen.
| Beispiel | Beschreibung |
|---|---|
$(ci.cmdb_ci_cloud_subnet[ sys_ID=12231231231231231231].cidr) |
Dieser Ausdruckspunkt geht zur Cloud-Subnetztabelle, sucht den spezifischen Datensatz mit der angegebenen sys_ID und übernimmt den Wert aus cidr Spalte. |
$(ci.sn_CMP _ip_Pool[Subnetz=${Parameter.formData.Subnetz-ID}]) |
Dieser Ausdruck kombiniert Laufzeit- und Definitionstypausdrücke. Das Gleichheitszeichen = wird verwendet, um einen Wert für eine Übereinstimmung auszuwerten. Der Ausdruck DOT-geht zur IP-Pool-Tabelle und sucht nach dem Subnetz, das die Subnetz-ID enthält, die der Anwender übermittelt hat. |
$(ci.cmdb_ci_cloud_subnet[${Parameter.formData.SubnetId}].cidr) |
Dieser Ausdruck kombiniert Laufzeit- und Definitionstypausdrücke. Der Ausdruck nimmt den Wert von cidr Feld aus einem Subnetz, das der Anwender während der Bereitstellung ausgewählt hat. Die quadratischen Klammern [] Geben Sie an, dass der Ausdruck DOT zur Cloud-Subnetztabelle geht und dann den Subnetzwert betrachtet, den der Anwender für eine Blueprint-Bereitstellung übermittelt hat. Der Ausdruck greift cidr Feldwert und geht dann zum Wert in cidr Feld der sys_ID des Subnetzes. |
| $(Stack.items[Virtual Server].attributes[sys_ID]) | Wie im Beispiel für den Definitionsausdruck verwendet dieser Ausdruck die sys_ID eines virtuellen Servers, der sich von einem Stapel unterscheidet. |
Beispielausdruck
$(ci.cmdb_ci_nic[$(Skript:CMPVMNICs.getNICs[arg=$(Stack.items[Virtual Server].attributes[sys_ID])].Private_ip) - $(ci: Laufzeitausdruck zum Abrufen von Daten aus der Tabelle.
- cmdb_ci_nic: CI für NIC (Netzwerkschnittstellenkarte).
- $(Script: Skriptbasierter Ausdruck.
- CMPVMNICs: Skripteinbindung.
- getNICs: Funktion in einer Skripteinbindung.
- arg: Argumente für Skripteinbindungsfunktion. Argumente werden durch „,“ getrennt, wenn mehrere Attribute vorhanden sind.
- $(Stack.items: Runtime-Stapelausdruck zum Abrufen eines Stapelelements aus einem Stapel. Argument ist der im Blueprint angegebene Alias.
- Virtual Server: Alias der im Blueprint verwendeten Ressource.
- $(Stack.items[Virtual Server].attributes[sys_id]): Ruft die sys_ID der Ressourceninstanz des Stapelelements („virtueller Server“) in einem Stapel ab.
- private_ip: Attribut aus cmdb_ci_nic. Ersetzen Sie bei Bedarf durch öffentliche IP.
Ausdrücke
Simple parameter mapping expression Dieser Ausdruckstyp ruft Werte aus Eingabeattributen von Prozessen ab, z. B. Blueprint-Vorgänge, Ressourcenblöcke und Richtlinien. Daten werden nicht aus Tabellen abgerufen. Ordnet Werte von einer Ebene einer anderen zu, z. B. von einem Blueprint einer Ressource zur Cloud-API.
|
Stack item expression Eine CI-Instanz in der CMDB stellt jedes Stapelelement dar. Verwenden Sie Stapelelementausdrücke, um Eigenschaften der ersten Ebene für das CI zu suchen, das das Stapelelement oder das Stapelelement selbst zurückgibt.
|
Property override expressions in policies In Richtlinien können Sie Eigenschaften überschreiben, indem Sie einen Wert aus dem System abrufen oder eine zufällige Zahl verwenden. Sie können Daten aus beiden Formularen in verwenden Cloud-AnwenderportalUnd des Anwenders, der den Vorgang für das Formular ausgeführt hat.
|
Script expression Im Beispiel
|
CI lookup expression Greift auf Werte von Feldern in einer Tabelle zu, normalerweise eine CI-Tabelle in der CMDB.
|
Random number expression Generiert eine zufällige Zahl. Sie können beispielsweise eine VM mit einem zufälligen Knotennamen oder Stapelnamen bereitstellen.
|
Scratchpad expression/Resource operation output attribute expression Liest Ausgabeattribute aus einem Vorgang in einen anderen Vorgang.
|
Conditions in expressions Sie können bedingte Ausdrücke in Blueprint-Schritten und Ressourcenvorgangsschritten verwenden, um den Schritt bedingt auszuführen oder zu überspringen. Die bedingten Ausdrücke sind JavaScript-Ausdrücke und unterstützen Ausdrucksersetzungen.
|
Complex expression Sie können Ausdrücke verschachteln. Im Beispiel
|
Order context Dieser Ausdruck ist für Lebenszyklusvorgänge nützlich und ermöglicht Ihnen das Dot-Walking der Reihenfolgeattribute als Teil von sn_cmp_orderTabelle.
|