Fn::ForEach - AWS CloudFormation

Fn::ForEach

La función intrínseca Fn::ForEach toma una colección y un fragmento y aplica los elementos de la colección al identificador del fragmento proporcionado. Fn::ForEach puede contener otras funciones intrínsecas, incluida la propia función Fn::ForEach, y usarse en las secciones Conditions, Outputs y Resources (incluidas las propiedades de los recursos). No se puede usar en las secciones Versión del formato, Description, Metadata, Transform, Parameters, Mappings, Rules ni Hooks. Para ver ejemplos, consulta Ejemplos.

importante

Debe usar la Transformación AWS::LanguageExtensions para usar la función intrínseca Fn::ForEach.

importante

El uso de la función intrínseca Fn::ForEach no cambia las cuotas, que se aplican a la plantilla resultante. Las cuotas incluyen el tamaño máximo de una plantilla y el número máximo de recursos en una plantilla. Para obtener más información, consulte Comprensión de las cuotas de CloudFormation.

Declaración

JSON

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

YAML

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

Parámetros

UniqueLoopName

Un nombre para este bucle. El nombre debe ser único dentro de la plantilla y no puede entrar en conflicto con ningún valor de ID lógico en la sección Sintaxis de Resources de la plantilla de CloudFormation de la plantilla. Este nombre no aparece en la salida transformada.

Identifier

El identificador que quiere reemplazar en los parámetros OutputKey y OutputValue que representan el fragmento de plantilla que se replica. Todas las instancias de ${Identifier} o &{Identifier} en los parámetros OutputKey y OutputValue se reemplazan con los valores del parámetro Collection.

Collection

La colección de valores sobre la que iterar. Puede ser una matriz en este parámetro o una Ref a una CommaDelimitedList. Cuando se utiliza & {Identifier}, se pueden pasar caracteres no alfanuméricos en la Collection.

OutputKey

La clave en la plantilla transformada. ${Identifier} o &{Identifier} se debe incluir dentro del parámetro OutputKey. Por ejemplo, si se usa Fn::ForEach en la sección Resources de la plantilla, este es el ID lógico de cada recurso.

La sintaxis &{} permite utilizar caracteres no alfanuméricos en la Collection que se utilizará en el parámetro OutputKey.

OutputValue

El valor que se replica en la plantilla transformada para cada elemento del parámetro Collection. Por ejemplo, si se usa Fn::ForEach en la sección Resources de la plantilla, este es el fragmento de plantilla que se repite para configurar cada recurso.

Valor devuelto

Un objeto expandido que contiene el fragmento de objeto repetido una vez para cada elemento de la colección, donde el identificador del fragmento se reemplaza por el elemento de la colección.

Funciones compatibles

Puede utilizar las siguientes funciones en Fn::ForEach.

Ejemplos

Para ver ejemplos, consulta Ejemplos.