Esta es la nueva Guía de referencia de plantillas de AWS CloudFormation. Actualice sus marcadores y enlaces. Para obtener ayuda sobre cómo empezar a usar CloudFormation, consulte la Guía del usuario de 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 ninguna de las siguientes secciones: AWSTemplateFormatVersion
, Description
, Metadata
, Transform
, Parameters
, Mappings
, Rules
, o Hooks
.
Si usa la función intrínseca Fn::ForEach
en su plantilla, también debe usar las Transformación AWS::LanguageExtensions.
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 las Comprensión de las cuotas de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
Declaración
JSON
"Fn::ForEach::LoopLogicalName
": [
"Identifier
",
["Value1","Value2"], // Collection
{"OutputKey
": {OutputValue
}}
]
YAML
'Fn::ForEach::LoopLogicalName
':
- Identifier
- - Value1
# Collection
- Value2
- 'OutputKey
':
OutputValue
Parámetros
- Nombre lógico del bucle
-
Un identificador lógico para el 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
Resources
de la plantilla. Este nombre no aparece en la salida transformada. Se usa para referencia interna dentro de la propia plantilla de CloudFormation. - Identificador
-
Un identificador del marcador de posición que se reemplaza en los parámetros
OutputKey
yOutputValue
. Todas las instancias de${Identifier}
o&{Identifier}
en los parámetrosOutputKey
yOutputValue
se reemplazarán con los valores del parámetroCollection
. - Recopilación
-
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 laCollection
. - Clave de salida
-
La clave en la plantilla transformada.
${Identifier}
o&{Identifier}
debe estar incluidos dentro del parámetroOutputKey
. Por ejemplo, si se usaFn::ForEach
en la secciónResources
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ámetroOutputKey
. Para ver un ejemplo de esto, consulte Transferencia de caracteres no alfanuméricos en Collection para Fn::ForEach. - Valor de la salida
-
El valor que se replica en la plantilla transformada para cada elemento en el parámetro
Collection
. Por ejemplo, si se usaFn::ForEach
en la secciónResources
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
Encontrará ejemplos de las secciones Conditions
, Outputs
y Resources
en Ejemplos.