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.
Funzioni
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
ofalse
.
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 delstrings_to_check
parametro si trova nelstrings_to_match
parametro. - strings_to_match
-
Un elenco di stringhe, ad esempio
"A", "B", "C"
. Ogni membro nel parametrostrings_to_match
viene confrontato con i membri del parametrostrings_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
ofalse
.
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
ofalse
.
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
-