AWS funzioni delle regole - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS funzioni delle regole

Nella condizione o nelle asserzioni di una regola, puoi utilizzare le funzioni intrinseche, ad esempio Fn::Equals, Fn::Not e Fn::RefAll. La proprietà condition determina se AWS CloudFormation applica le asserzioni. Se la condizione restituisce atrue, CloudFormation valuta le asserzioni per verificare se il valore di un parametro è valido quando un prodotto fornito viene creato o aggiornato. Se il valore di un parametro non è valido, CloudFormation non crea o aggiorna lo stack. Se la condizione restituisce un risultato positivofalse, CloudFormation non verifica il valore del parametro e procede con l'operazione di stack.

Fn::And

Restituisce true se tutte le condizioni specificate vengono valutate true; restituisce false se una qualsiasi delle condizioni corrisponde a false. Fn::And agisce come operatore AND. Il numero minimo di condizioni che puoi includere è due, il numero massimo è dieci.

Dichiarazione

"Fn::And" : [{condition}, {...}]

Parametri

condition

Una funzione intrinseca specifica delle regole che restituisce true o false.

Esempio

L'esempio seguente restituisce true se il nome del gruppo di sicurezza a cui si fa riferimento è uguale a sg-mysggroup e se il valore di parametro InstanceType è m1.large o m1.small:

"Fn::And": [ { "Fn::Equals": [ "sg-mysggroup", {"Ref": "ASecurityGroup"} ] }, { "Fn::Contains": [ [ "m1.large", "m1.small" ], {"Ref": "InstanceType"} ] } ]

Fn::Contains

Restituisce true se una stringa specificata corrisponde ad almeno un valore in un elenco di stringhe.

Dichiarazione

"Fn::Contains" : [[list_of_strings], string]

Parametri

list_of_strings

Un elenco di stringhe, ad esempio "A", "B", "C".

string

Una stringa, ad esempio "A", che intendi confrontare con un elenco di stringhe.

Esempio

La funzione seguente restituisce true se il valore di parametro InstanceType è incluso nell'elenco (m1.large o m1.small):

"Fn::Contains" : [ ["m1.large", "m1.small"], {"Ref" : "InstanceType"} ]

Fn::EachMemberEquals

Restituisce true se una stringa specificata corrisponde a tutti i valori in un elenco.

Dichiarazione

"Fn::EachMemberEquals" : [[list_of_strings], string]

Parametri

list_of_strings

Un elenco di stringhe, ad esempio "A", "B", "C".

string

Una stringa, ad esempio "A", che intendi confrontare con un elenco di stringhe.

Esempio

La funzione seguente restituisce true se il tag Department per tutti i parametri di tipo AWS::EC2::VPC::Id hanno valore IT:

"Fn::EachMemberEquals" : [ {"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]}, "IT" ]

Fn::EachMemberIn

Restituisce true se ogni membro in un elenco di stringhe corrisponde ad almeno un valore in un secondo elenco di stringhe.

Dichiarazione

"Fn::EachMemberIn" : [[strings_to_check], [strings_to_match]]

Parametri

strings_to_check

Un elenco di stringhe, ad esempio. "A", "B", "C" CloudFormation verifica se ogni membro del strings_to_check parametro si trova nel strings_to_match parametro.

strings_to_match

Un elenco di stringhe, ad esempio "A", "B", "C". Ogni membro nel parametro strings_to_match viene confrontato con i membri del parametro strings_to_check.

Esempio

La funzione seguente verifica se gli utenti specificano una sottorete in un Virtual Private Cloud (VPC) valido. Il VPC deve essere nell'account e nella Regione in cui gli utenti utilizzano lo stack. La funzione si applica a tutti i parametri di tipo AWS::EC2::Subnet::Id.

"Fn::EachMemberIn" : [ {"Fn::ValueOfAll" : ["AWS::EC2::Subnet::Id", "VpcId"]}, {"Fn::RefAll" : "AWS::EC2::VPC::Id"} ]

Fn::Equals

Confronta due valori per determinare se sono uguali. Restituisce true se i due valori sono uguali e false se non lo sono.

Dichiarazione

"Fn::Equals" : ["value_1", "value_2"]

Parametri

value

Un valore di qualsiasi tipo che intendi confrontare con un altro valore.

Esempio

L'esempio seguente restituisce true se il valore per il parametro EnvironmentType è uguale a prod:

"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]

Fn::Not

Restituisce true per una condizione che viene valutata false e restituisce false per una condizione che viene valutata true. Fn::Not agisce come operatore NOT.

Dichiarazione

"Fn::Not" : [{condition}]

Parametri

condition

Una funzione intrinseca specifica delle regole che restituisce true o false.

Esempio

L'esempio seguente restituisce true se il valore per il parametro EnvironmentType non è uguale a prod:

"Fn::Not" : [{"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]}]

Fn::Or

Restituisce true se una delle condizioni specificate viene valutata true; restituisce false se tutte le condizioni corrispondono a false. Fn::Or agisce come operatore OR. Il numero minimo di condizioni che puoi includere è due, il numero massimo è dieci.

Dichiarazione

"Fn::Or" : [{condition}, {...}]

Parametri

condition

Una funzione intrinseca specifica delle regole che restituisce true o false.

Esempio

L'esempio seguente restituisce true se il nome del gruppo di sicurezza a cui si fa riferimento è uguale a sg-mysggroup o se il valore di parametro InstanceType è m1.large o m1.small:

"Fn::Or" : [ {"Fn::Equals" : ["sg-mysggroup", {"Ref" : "ASecurityGroup"}]}, {"Fn::Contains" : [["m1.large", "m1.small"], {"Ref" : "InstanceType"}]} ]

Fn::RefAll

Restituisce tutti i valori per un tipo di parametro specificato.

Dichiarazione

"Fn::RefAll" : "parameter_type"

Parametri

parameter_type

Un tipo AWS di parametro specifico, ad esempio AWS::EC2::SecurityGroup::Id oAWS::EC2::VPC::Id. Per ulteriori informazioni, consulta Parametri nella Guida per l'utente AWS CloudFormation .

Esempio

La seguente funzione restituisce un elenco di tutti gli ID VPC per la regione e Account AWS in cui lo stack viene creato o aggiornato:

"Fn::RefAll" : "AWS::EC2::VPC::Id"

Fn::ValueOf

Restituisce un valore di attributo o un elenco di valori per un parametro e un attributo specifici.

Dichiarazione

"Fn::ValueOf" : [ "parameter_logical_id", "attribute" ]

Parametri

attributo

Il nome di un attributo a partire dal quale intendi recuperare un valore. Per ulteriori informazioni sugli attributi, consulta Attributi supportati.

parameter_logical_id

Il nome di un parametro per il quale intendi recuperare valori di attributo. Il parametro deve essere dichiarato nella sezione Parameters del modello.

Esempi

L'esempio seguente restituisce il valore del tag Department per il VPC specificato dal parametro ElbVpc:

"Fn::ValueOf" : ["ElbVpc", "Tags.Department"]

Se specificate più valori per un parametro, la ValueOf funzione Fn:: può restituire un elenco. Ad esempio, se specifichi più sottoreti e ottieni un elenco di zone di disponibilità in cui ogni membro è la zona di disponibilità di una determinata sottorete:

"Fn::ValueOf" : ["ListOfElbSubnets", "AvailabilityZone"]

Fn::ValueOfAll

Restituisce un elenco di tutti i valori di attributo per un tipo di parametro e un attributo specifici.

Dichiarazione

"Fn::ValueOfAll" : ["parameter_type", "attribute"]

Parametri

attributo

Il nome di un attributo a partire dal quale intendi recuperare un valore. Per ulteriori informazioni sugli attributi, consulta Attributi supportati.

parameter_type

Un tipo AWS di parametro specifico, ad esempio o. AWS::EC2::SecurityGroup::Id AWS::EC2::VPC::Id Per ulteriori informazioni, consulta Parametri nella Guida per l'utente AWS CloudFormation .

Esempio

Nell'esempio seguente, la funzione Fn::ValueOfAll restituisce un elenco di valori, dove ogni membro è il valore di tag Department per i VPC con quel tag:

"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]

Funzioni supportate

Non puoi utilizzare un'altra funzione nelle funzioni Fn::ValueOf e Fn::ValueOfAll. Tuttavia, è consentito utilizzare le seguenti funzioni in tutte le altre funzioni intrinseche specifiche delle regole:

  • Ref

  • Altre funzioni intrinseche specifiche delle regole

Attributi supportati

Il seguente elenco descrive i valori di attributo che è possibile recuperare per determinati tipi di parametro e risorse:

Il tipo di parametro AWS::EC2::VPC::Id o gli ID VPC.
  • DefaultNetworkAcl

  • DefaultSecurityGroup

  • Tag.tag_key

Il tipo di parametro AWS::EC2::Subnet::Id o gli ID sottorete.
  • AvailabilityZone

  • Tag.tag_key

  • VpcId

Il tipo di parametro AWS::EC2::SecurityGroup::Id o gli ID gruppo di sicurezza.
  • Tag.tag_key