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
Resourcesdo 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
OutputKeyeOutputValue. Todas as instâncias de${Identifier}ou&{Identifier}nos parâmetrosOutputKeyeOutputValueserã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::ForEachfor usado na seçãoResourcesdo modelo, esse será o ID lógico de cada recurso.A sintaxe
&{}permite que caracteres não alfanuméricos emCollectionsejam 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::ForEachfor usado na seçãoResourcesdo 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.