Dies ist das neue CloudFormation Template Reference Guide. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe zu den ersten CloudFormation Schritten finden Sie im AWS CloudFormationBenutzerhandbuch.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Regel-Funktionen
Regelfunktionen sind spezielle Funktionen, die nur im Abschnitt Rules einer CloudFormation-Vorlage funktionieren. Mit diesen Funktionen können Sie Parameterwerte mit Hilfe einer benutzerdefinierten Logik validieren. Alle Überprüfungen erfolgen, bevor CloudFormation Ressourcen erstellt oder aktualisiert.
Regeln sind nützlich, wenn die Standard-Parameterbeschränkungen nicht ausreichen. Wenn zum Beispiel SSL aktiviert ist, müssen sowohl ein Zertifikat als auch ein Domainnname angegeben werden. Eine Regel kann sicherstellen, dass diese Abhängigkeiten erfüllt werden.
In der Bedingung oder den Assertionen einer Regel können Sie intrinsische Funktionen wie Fn::Equals, Fn::Not und Fn::RefAll verwenden. Die Eigenschaft condition bestimmt, ob CloudFormation die Assertions anwendet. Wenn die Bedingung zu trueausgewertet wird, wertet CloudFormation die Assertions aus, um zu überprüfen, ob ein Parameterwert gültig ist, wenn ein Stack erstellt oder aktualisiert wird. Wenn ein Parameterwert nicht gültig ist, wird CloudFormation den Stack nicht erstellen oder aktualisieren. Wenn die Bedingung mit false ausgewertet wird, überprüft CloudFormation den Parameterwert nicht und fährt mit der Stack-Operation fort.
Wenn die Verwendung von Regeln in Ihren Vorlagen neu für Sie ist, empfehlen wir Ihnen, zunächst das Thema CloudFormation-Vorlage Rules Syntax im AWS CloudFormation Benutzerhandbuchdurchzulesen.
Themen
Fn::And
Gibt true zurück, wenn alle angegebenen Bedingungen true ergeben, oder gibt false zurück, wenn eine der Bedingungen mit false ausgewertet wird. Fn::And dient als AND-Operator. Sie können mindestens 2 und höchstens 10 Bedingungen verwenden.
Deklaration
"Fn::And" : [{condition}, {...}]
Parameter
- Bedingung
-
Eine regelspezifische intrinsische Funktion, die mit
trueoderfalseausgewertet wird.
Beispiel
Das folgende Beispiel ergibt true, wenn der Name der referenzierten Sicherheitsgruppe sg-mysggroup entspricht und der Parameterwert InstanceType entweder t3.large oder t3.small ist:
"Fn::And": [ { "Fn::Equals": [ "sg-mysggroup", {"Ref": "ASecurityGroup"} ] }, { "Fn::Contains": [ [ "t3.large", "t3.small" ], {"Ref": "InstanceType"} ] } ]
Fn::Contains
Gibt true zurück, wenn eine angegebene Zeichenfolge mindestens einem Wert in einer Liste von Zeichenfolgen entspricht.
Deklaration
"Fn::Contains" : [[list_of_strings], string]
Parameter
- list_of_strings
-
Eine Liste mit Zeichenfolgen, z. B.
"A", "B", "C". - Zeichenfolge
-
Eine Zeichenfolge, z. B.
"A", die Sie mit einer Liste von Zeichenfolgen vergleichen.
Beispiel
Die folgende Funktion ergibt true, wenn der Parameterwert InstanceType in der Liste (t3.large oder t3.small) enthalten ist:
"Fn::Contains" : [ ["t3.large", "t3.small"], {"Ref" : "InstanceType"} ]
Fn::EachMemberEquals
Gibt true zurück, wenn eine angegebene Zeichenfolge allen Werten in einer Liste entspricht.
Deklaration
"Fn::EachMemberEquals" : [[list_of_strings], string]
Parameter
- list_of_strings
-
Eine Liste mit Zeichenfolgen, z. B.
"A", "B", "C". - Zeichenfolge
-
Eine Zeichenfolge, z. B.
"A", die Sie mit einer Liste von Zeichenfolgen vergleichen.
Beispiel
Die folgende Funktion gibt true zurück, wenn das Tag Department für alle Parameter vom Typ AWS::EC2::VPC::Id einen Wert von IT hat:
"Fn::EachMemberEquals" : [ {"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]}, "IT" ]
Fn::EachMemberIn
Gibt true zurück, wenn jedes Element in einer Liste von Zeichenfolgen mindestens einem Wert in einer zweiten Zeichenfolgenliste entspricht.
Deklaration
"Fn::EachMemberIn" : [[strings_to_check], [strings_to_match]]
Parameter
- strings_to_check
-
Eine Liste mit Zeichenfolgen, z. B.
"A", "B", "C". CloudFormation prüft, ob die einzelnen Elemente desstrings_to_check-Parameters imstrings_to_match-Parameter enthalten sind. - strings_to_match
-
Eine Liste mit Zeichenfolgen, z. B.
"A", "B", "C". Jedes Element im Parameterstrings_to_matchwird mit den Elementen des Parametersstrings_to_checkverglichen.
Beispiel
Die folgende Funktion überprüft, ob die Benutzer ein Subnetz angeben, das sich in einer gültigen Virtual Private Cloud (VPC) befindet. Die VPC muss sich in dem Konto und in der Region befinden, in dem bzw. der die Benutzer mit dem Stack arbeiten. Die Funktion gilt für alle Parameter des Typs AWS::EC2::Subnet::Id.
"Fn::EachMemberIn" : [ {"Fn::ValueOfAll" : ["AWS::EC2::Subnet::Id", "VpcId"]}, {"Fn::RefAll" : "AWS::EC2::VPC::Id"} ]
Fn::Equals
Vergleicht zwei Werte, um festzustellen, ob sie gleich sind. Gibt true zurück, wenn die beiden Werte gleich sind, und false, wenn sie nicht gleich sind.
Deklaration
"Fn::Equals" : ["value_1", "value_2"]
Parameter
value-
Ein Wert eines beliebigen Typs, den Sie mit einem anderen Wert vergleichen.
Beispiel
Das folgende Beispiel ergibt true, wenn der Wert für den Parameter EnvironmentType prod entspricht:
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]
Fn::Not
Gibt true für eine Bedingung zurück, die false ergibt, oder gibt false für eine Bedingung zurück, die mit true ausgewertet wird. Fn::Not dient als NOT-Operator.
Deklaration
"Fn::Not" : [{condition}]
Parameter
condition-
Eine regelspezifische intrinsische Funktion, die mit
trueoderfalseausgewertet wird.
Beispiel
Das folgende Beispiel ergibt true, wenn der Wert für den Parameter EnvironmentType prod nicht entspricht:
"Fn::Not" : [{"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]}]
Fn::Or
Gibt true zurück, wenn alle angegebenen Bedingungen true ergeben, oder gibt false zurück, wenn eine der Bedingungen mit false ausgewertet wird. Fn::Or dient als OR-Operator. Sie können mindestens 2 und höchstens 10 Bedingungen verwenden.
Deklaration
"Fn::Or" : [{condition}, {...}]
Parameter
condition-
Eine regelspezifische intrinsische Funktion, die mit
trueoderfalseausgewertet wird.
Beispiel
Das folgende Beispiel ergibt true, wenn der Name der referenzierten Sicherheitsgruppe sg-mysggroup entspricht oder der Parameterwert InstanceType entweder t3.large oder t3.small ist:
"Fn::Or" : [ {"Fn::Equals" : ["sg-mysggroup", {"Ref" : "ASecurityGroup"}]}, {"Fn::Contains" : [["t3.large", "t3.small"], {"Ref" : "InstanceType"}]} ]
Fn::RefAll
Gibt alle Werte für einen bestimmten Parametertyp zurück.
Deklaration
"Fn::RefAll" : "parameter_type"
Parameter
- parameter_type
-
Ein AWS-spezifischer Parametertyp, z. B.
AWS::EC2::SecurityGroup::IdoderAWS::EC2::VPC::Id. Weitere Informationen finden Sie unter Unterstützte-AWSspezifische Parametertypen im AWS CloudFormation Benutzerhandbuch.
Beispiel
Die folgende Funktion gibt eine Liste aller VPC-IDs für die Region und das AWS-Konto zurück, in der bzw. dem der Stack erstellt oder aktualisiert wird:
"Fn::RefAll" : "AWS::EC2::VPC::Id"
Fn::ValueOf
Gibt einen Attributwert oder eine Liste der Werte für einen bestimmten Parameter und ein Attribut zurück.
Deklaration
"Fn::ValueOf" : [ "parameter_logical_id", "attribute" ]
Parameter
- Attribut
-
Der Name eines Attributs, von dem ein Wert abgerufen werden soll. Weitere Informationen zu Attributen finden Sie unter Unterstützte Attribute.
- parameter_logical_id
-
Der Name eines Parameters, von dem Attributwerte abgerufen werden sollen. Der Parameter muss im
Parameters-Abschnitt der Vorlage definiert sein.
Beispiele
Das folgende Beispiel gibt den Wert des Department-Tags für die VPC zurück, die vom Parameter ElbVpc angegeben wird:
"Fn::ValueOf" : ["ElbVpc", "Tags.Department"]
Wenn Sie mehrere Werte für einen Parameter angeben, kann die Funktion Fn::ValueOf eine Liste zurückgeben. Beispielsweise können Sie mehrere Subnetze angeben und eine Liste mit Availability Zones erhalten, wobei jedes Element die Availability Zone eines bestimmten Subnetzes ist:
"Fn::ValueOf" : ["ListOfElbSubnets", "AvailabilityZone"]
Fn::ValueOfAll
Gibt eine Liste mit allen Attributwerten für einen bestimmten Parametertyp und ein Attribut zurück.
Deklaration
"Fn::ValueOfAll" : ["parameter_type", "attribute"]
Parameter
- Attribut
-
Der Name eines Attributs, von dem Sie einen Wert abrufen möchten. Weitere Informationen zu Attributen finden Sie unter Unterstützte Attribute.
- parameter_type
-
Ein AWS-spezifischer Parametertyp, z. B.
AWS::EC2::SecurityGroup::IdoderAWS::EC2::VPC::Id. Weitere Informationen finden Sie unter Unterstützte-AWSspezifische Parametertypen im AWS CloudFormation Benutzerhandbuch.
Beispiel
Im folgenden Beispiel gibt die Funktion Fn::ValueOfAll eine Liste mit Werten zurück, wobei jedes Element der Department-Tag-Wert für VPCs mit diesem Tag ist:
"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]
Unterstützte Funktionen
Sie können innerhalb der Funktionen Fn::ValueOf und Fn::ValueOfAll keine andere Funktion verwenden. Allerdings können Sie die folgenden Funktionen in allen anderen regelspezifischen intrinsischen Funktionen verwenden:
-
Ref -
Andere regelspezifische intrinsische Funktionen
Unterstützte Attribute
Die folgende Liste beschreibt die Attributwerte, die Sie für bestimmte Ressourcen und Parametertypen abrufen können:
- Der Parametertyp
AWS::EC2::VPC::Idoder VPC-IDs. -
-
DefaultNetworkAcl
-
DefaultSecurityGroup
-
Tags.
tag_key
-
- Der Parametertyp
AWS::EC2::Subnet::Idoder Subnetz-IDs. -
-
AvailabilityZone
-
Tags.
tag_key -
VpcId
-
- Der Parametertyp
AWS::EC2::SecurityGroup::Idoder Sicherheitsgruppen-IDs. -
-
Tags.
tag_key
-