

Il s’agit du nouveau *Guide de référence des modèles CloudFormation *. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le [guide de AWS CloudFormation l'utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# `Fn::ForEach`
<a name="intrinsic-function-reference-foreach"></a>

La fonction intrinsèque `Fn::ForEach` prend une collection et un fragment, et applique les éléments de la collection à l’identifiant du fragment fourni. `Fn::ForEach` peut contenir d’autres fonctions intrinsèques, y compris `Fn::ForEach` elle-même, et être utilisée dans les sections `Conditions`, `Outputs` et `Resources` (y compris les propriétés des ressources). Elle ne peut être utilisé dans aucune des sections suivantes : `AWSTemplateFormatVersion`, `Description`, `Metadata`, `Transform`, `Parameters`, `Mappings`, `Rules` ou `Hooks`.

Si vous utilisez la fonction intrinsèque `Fn::ForEach` dans votre modèle, vous devez également utiliser [Transformation `AWS::LanguageExtensions`](transform-aws-languageextensions.md).

L'utilisation de la fonction intrinsèque `Fn::ForEach` ne modifie pas les quotas qui s'appliquent au modèle obtenu. Les quotas incluent la taille maximale et le nombre maximal de ressources d'un modèle. Pour plus d'informations, consultez la section [Comprendre CloudFormation les quotas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) dans le *guide de AWS CloudFormation l'utilisateur*.

## Déclaration
<a name="intrinsic-function-reference-foreach-declaration"></a>

### JSON
<a name="intrinsic-function-reference-foreach-declaration.json"></a>

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

### YAML
<a name="intrinsic-function-reference-foreach-declaration.yaml"></a>

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

## Parameters
<a name="intrinsic-function-reference-foreach-parameters"></a>

*Nom logique de la boucle*  
ID logique de la boucle. Le nom doit être unique dans le modèle et ne doit entrer en conflit avec aucune valeur d’ID logique dans la section `Resources` du modèle. Ce nom n’apparaît pas dans la sortie transformée. Il est utilisé comme référence interne dans le CloudFormation modèle lui-même.

*Identifiant*  
Identifiant de l’espace réservé qui est remplacé dans les paramètres `OutputKey` et `OutputValue`. Toutes les instances de `${Identifier}` ou `&{Identifier}` dans les paramètres `OutputKey` et `OutputValue` sont remplacées par les valeurs du paramètre `Collection`.

*Collection*  
La collection de valeurs sur laquelle itérer. Il peut s'agir d'un tableau dans ce paramètre, ou il peut s'agir d'une fonction intrinsèque [`Ref`](intrinsic-function-reference-ref.md) à `CommaDelimitedList`. Lors de l’utilisation de `&{Identifier}`, des caractères non alphanumériques peuvent être transmis dans `Collection`.

*Clé de sortie*  
Clé apparaissant dans le modèle transformé. `${Identifier}` ou `&{Identifier}` doivent être inclus dans le paramètre `OutputKey`. Par exemple, si `Fn::ForEach` est utilisé dans la section `Resources` du modèle, il s’agit de l’ID logique généré pour chaque ressource.  
La syntaxe `&{}` autorise l’utilisation de caractères non alphanumériques dans `Collection` au sein du paramètre`OutputKey` . Pour en voir un exemple, consultez [Transmission de caractères non alphanumériques dans `Collection` pour `Fn::ForEach`](intrinsic-function-reference-foreach-example-resource.md#intrinsic-function-reference-foreach-example-non-alphanumeric).

*Valeur de sortie*  
Valeur répliquée dans le modèle transformé pour chaque élément du paramètre `Collection`. Par exemple, si la fonction intrinsèque `Fn::ForEach` est utilisée dans la section `Resources` du modèle, il s’agit du fragment de modèle répété pour configurer chaque ressource.

## Valeur renvoyée
<a name="intrinsic-function-reference-foreach-return-value"></a>

Objet développé qui contient le fragment d'objet répété une fois pour chaque élément de la collection, où l'identifiant du fragment est remplacé par l'élément de la collection.

## Fonctions prises en charge
<a name="intrinsic-function-reference-foreach-nested-functions"></a>

Vous pouvez utiliser les fonctions suivantes dans la fonction intrinsèque `Fn::ForEach`.
+ Fonctions de condition :
  + [`Fn::And`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-and)
  + [`Fn::Equals`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-equals)
  + [`Fn::If`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-if)
  + [`Fn::Not`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-not)
  + [`Fn::Or`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-or)
+ [`Fn::Base64`](intrinsic-function-reference-base64.md)
+ [`Fn::FindInMap`](intrinsic-function-reference-findinmap.md)
+ [`Fn::GetAtt`](intrinsic-function-reference-getatt.md)
+ [`Fn::GetAZs`](intrinsic-function-reference-getavailabilityzones.md)
+ [`Fn::ImportValue`](intrinsic-function-reference-importvalue.md)
+ [`Fn::Join`](intrinsic-function-reference-join.md)
+ [`Fn::Length`](intrinsic-function-reference-length.md)
+ [`Fn::Transform`](intrinsic-function-reference-transform.md)
+ [`Fn::Select`](intrinsic-function-reference-select.md)
+ [`Fn::Sub`](intrinsic-function-reference-sub.md)
+ [`Fn::ToJsonString`](intrinsic-function-reference-ToJsonString.md)
+ [`Ref`](intrinsic-function-reference-ref.md)

## Exemples
<a name="intrinsic-function-reference-foreach-example-pointer"></a>

Vous trouverez des exemples pour les sections `Conditions`, `Outputs` et `Resources` dans [Exemples](intrinsic-function-reference-foreach-examples.md).