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.
AWS Regelfunktionen
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 die Assertionen AWS CloudFormation angewendet werden. Wenn die Bedingung zu ausgewertet wirdtrue
, werden die Assertionen CloudFormation ausgewertet, um zu überprüfen, ob ein Parameterwert gültig ist, wenn ein bereitgestelltes Produkt erstellt oder aktualisiert wird. Wenn ein Parameterwert nicht gültig ist, wird der CloudFormation Stack nicht erstellt oder aktualisiert. Wenn die Bedingung als 0 ausgewertet wirdfalse
, CloudFormation wird der Parameterwert nicht überprüft und der Stackvorgang wird fortgesetzt.
Funktionen
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
true
oderfalse
ausgewertet wird.
Beispiel
Das folgende Beispiel ergibt true
, wenn der Name der referenzierten Sicherheitsgruppe sg-mysggroup
entspricht und der Parameterwert InstanceType
entweder m1.large
oder m1.small
ist:
"Fn::And": [ { "Fn::Equals": [ "sg-mysggroup", {"Ref": "ASecurityGroup"} ] }, { "Fn::Contains": [ [ "m1.large", "m1.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 (m1.large
oder m1.small
) enthalten ist:
"Fn::Contains" : [ ["m1.large", "m1.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 von Zeichenketten, z. B.
"A", "B", "C"
CloudFormation prüft, ob jedes Element imstrings_to_check
Parameter imstrings_to_match
Parameter enthalten ist. - strings_to_match
-
Eine Liste mit Zeichenfolgen, z. B.
"A", "B", "C"
. Jedes Element im Parameterstrings_to_match
wird mit den Elementen des Parametersstrings_to_check
verglichen.
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
true
oderfalse
ausgewertet 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
true
oderfalse
ausgewertet wird.
Beispiel
Das folgende Beispiel ergibt true
, wenn der Name der referenzierten Sicherheitsgruppe sg-mysggroup
entspricht oder der Parameterwert InstanceType
entweder m1.large
oder m1.small
ist:
"Fn::Or" : [ {"Fn::Equals" : ["sg-mysggroup", {"Ref" : "ASecurityGroup"}]}, {"Fn::Contains" : [["m1.large", "m1.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::Id
oderAWS::EC2::VPC::Id
. Weitere Informationen finden Sie unter Parameter im AWS CloudFormation -Benutzerhandbuch.
Beispiel
Die folgende Funktion gibt eine Liste aller VPC-IDs für die Region zurück, AWS-Konto in der 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 Sie einen Wert abrufen möchten. Weitere Informationen zu Attributen finden Sie unter Unterstützte Attribute.
- parameter_logical_id
-
Der Name eines Parameters, für den Sie Attributwerte abrufen möchten. 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 ValueOf Funktion Fn:: 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::Id
oderAWS::EC2::VPC::Id
. Weitere Informationen finden Sie unter Parameter 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::Id
oder VPC-IDs. -
-
DefaultNetworkAcl
-
DefaultSecurityGroup
-
Tags.
tag_key
-
- Der Parametertyp
AWS::EC2::Subnet::Id
oder Subnetz-IDs. -
-
AvailabilityZone
-
Tags.
tag_key
-
VpcId
-
- Der Parametertyp
AWS::EC2::SecurityGroup::Id
oder Sicherheitsgruppen-IDs. -
-
Tags.
tag_key
-