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
yOutputKey
que representan el fragmento de plantilla que se replica. Todas las instancias deOutputValue
${Identifier}
o&{Identifier}
en los parámetros
yOutputKey
se reemplazan con los valores del parámetroOutputValue
.Collection
Collection
-
La colección de valores sobre la que iterar. Puede ser una matriz en este parámetro o una
Ref
a unaCommaDelimitedList
. Cuando se utiliza& {Identifier}
, se pueden pasar caracteres no alfanuméricos en laCollection
. OutputKey
-
La clave en la plantilla transformada.
${Identifier}
o&{Identifier}
se debe incluir dentro del parámetro
. Por ejemplo, si se usaOutputKey
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 laCollection
que se utilizará en el parámetro
.OutputKey
OutputValue
-
El valor que se replica en la plantilla transformada para cada elemento del parámetro
. Por ejemplo, si se usaCollection
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
.
-
Funciones de condiciones:
Ejemplos
Para ver ejemplos, consulta Ejemplos.