Este é o novo Guia de referência de modelos do AWS CloudFormation. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o Guia do usuário do AWS CloudFormation.
Fn::ForEach
A função intrínseca Fn::ForEach
utiliza uma coleção e um fragmento e aplica os itens da coleção ao identificador no fragmento fornecido. Fn::ForEach
pode conter outras funções intrínsecas, inclusive a própria Fn::ForEach
, e ser usada nas seções Conditions
, Outputs
e Resources
(incluindo as propriedades do recurso). Ela não pode ser usada em nenhuma das seções a seguir: AWSTemplateFormatVersion
, Description
, Metadata
, Transform
, Parameters
, Mappings
, Rules
, ou Hooks
.
Se você usar a função intrínseca Fn::ForEach
em seu modelo, também deverá usar o Transformação AWS::LanguageExtensions.
O uso da função intrínseca Fn::ForEach
não altera as cotas que se aplicam ao modelo resultante. As cotas incluem o tamanho máximo de um modelo e o número máximo de recursos em um modelo. Para obter mais informações, consulte Entender cotas do AWS CloudFormation no Guia do usuário do AWS CloudFormation.
Declaração
JSON
"Fn::ForEach::LoopLogicalName
": [
"Identifier
",
["Value1","Value2"], // Collection
{"OutputKey
": {OutputValue
}}
]
YAML
'Fn::ForEach::LoopLogicalName
':
- Identifier
- - Value1
# Collection
- Value2
- 'OutputKey
':
OutputValue
Parâmetros
- Nome lógico do loop
-
Um ID lógico para o loop. O nome deve ser exclusivo no modelo e não pode entrar em conflito com nenhum valor lógico de ID na seção
Resources
do modelo. Esse nome não está na saída transformada. Ele é usado para referência interna no próprio modelo do CloudFormation. - Identificador
-
Um identificador para o espaço reservado que é substituído nos parâmetros
OutputKey
eOutputValue
. Todas as instâncias de${Identifier}
ou&{Identifier}
nos parâmetrosOutputKey
eOutputValue
serão substituídas pelos valores do parâmetroCollection
. - Coleta
-
A coleção de valores sobre os quais iterar. Isso pode ser uma matriz nesse parâmetro ou pode ser uma Ref para uma
CommaDelimitedList
. Ao usar&{Identifier}
, os caracteres que não são alfanuméricos podem ser passados naCollection
. - Chave de saída
-
A chave no modelo transformado.
${Identifier}
ou&{Identifier}
deve ser incluído no parâmetroOutputKey
. Por exemplo, seFn::ForEach
for usado na seçãoResources
do modelo, esse será o ID lógico de cada recurso.A sintaxe
&{}
permite que caracteres não alfanuméricos emCollection
sejam usados no parâmetroOutputKey
. Para obter um exemplo disso, consulte Passar caracteres não alfanuméricos da Collection para Fn::ForEach. - Valor de saída
-
O valor que é replicado no modelo transformado para cada item no parâmetro
Collection
. Por exemplo, seFn::ForEach
for usado na seçãoResources
do modelo, esse será o fragmento do modelo repetido para configurar cada recurso.
Valor de retorno
Um objeto expandido que contém o fragmento do objeto repetido uma vez para cada item na coleção, em que o identificador no fragmento é substituído pelo item da coleção.
Funções compatíveis
É possível usar as funções a seguir em Fn::ForEach
.
-
Funções de condição:
Exemplos
É possível encontrar exemplos das seções Conditions
, Outputs
e Resources
no Exemplos.