Fn::ForEach - AWS CloudFormation

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 e OutputValue. Todas as instâncias de ${Identifier} ou &{Identifier} nos parâmetros OutputKey e OutputValue serão substituídas pelos valores do parâmetro Collection.

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 na Collection.

Chave de saída

A chave no modelo transformado. ${Identifier} ou &{Identifier} deve ser incluído no parâmetro OutputKey. Por exemplo, se Fn::ForEach for usado na seção Resources do modelo, esse será o ID lógico de cada recurso.

A sintaxe &{} permite que caracteres não alfanuméricos em Collection sejam usados no parâmetro OutputKey. 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, se Fn::ForEach for usado na seção Resources 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.

Exemplos

É possível encontrar exemplos das seções Conditions, Outputs e Resources no Exemplos.