Fn::ForEach - 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 Condições, Outputs, Recursos (incluindo as propriedades do recurso). Ela não pode ser usada nas seções Versão do formato, Descrição, Metadados, Transformação, Parâmetros, Mapeamentos, Regras ou Hooks. Para ver exemplos, consulte Exemplos.

Importante

Você deve usar o Transformação AWS::LanguageExtensions para usar a função intrínseca Fn::ForEach.

Importante

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 ter mais informações, consulte Cotas do AWS CloudFormation.

Declaração

JSON

"Fn::ForEach::UniqueLoopName": [ "Identifier", ["Value1","Value2"], // Collection {"OutputKey": {OutputValue}} ]

YAML

'Fn::ForEach::UniqueLoopName': - Identifier - - Value1 # Collection - Value2 - 'OutputKey': OutputValue

Parâmetros

UniqueLoopName

Um nome para este 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 Recursos do modelo. Esse nome não está na saída transformada.

Identifier

O identificador que você deseja substituir nos parâmetros OutputKey e OutputValue representam o fragmento do modelo que é replicado. Todas as instâncias de ${Identifier}, ou de &{Identifier}, nos parâmetros OutputKey e OutputValue , são substituídas pelos valores do parâmetro Collection.

Collection

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 aprovados em Collection.

OutputKey

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

A sintaxe &{} permite que caracteres que não são alfanuméricos em Collection sejam usados no parâmetro OutputKey.

OutputValue

O valor que é replicado no modelo transformado para cada item no parâmetro Collection. Por exemplo, se Fn::ForEach for usado na seção Recursos 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

Para ver exemplos, consulte Exemplos.