

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.

# Transformation `AWS::Include`
<a name="transform-aws-include"></a>

Cette rubrique décrit comment utiliser la `AWS::Include` transformation pour insérer du contenu standard dans vos modèles. CloudFormation 

`AWS::Include`Il s'agit d'une CloudFormation macro qui, lorsqu'elle est référencée dans votre modèle de pile, insère le contenu du fichier spécifié à l'emplacement de la transformation dans le modèle lorsque vous créez ou mettez à jour une pile à l'aide d'un ensemble de modifications. La fonction `AWS::Include` se comporte de la même manière qu'une directive `include`, `copy` ou `import` dans des langages de programmation.

## Usage
<a name="aws-include-usage"></a>

Vous pouvez utiliser la `AWS::Include` transformation n'importe où dans le CloudFormation modèle, sauf dans la section des paramètres du modèle ou dans la version du modèle. Par exemple, vous pouvez utiliser `AWS::Include` dans la section des mappages.

### Syntaxe au niveau supérieur d'un modèle
<a name="aws-include-syntax-top-level"></a>

Pour déclarer cette transformation au niveau supérieur de votre CloudFormation modèle, en tant que `Transform` section, utilisez la syntaxe suivante :

#### JSON
<a name="aws-include-syntax-top-level.json"></a>

```
{
  "Transform":{
    "Name":"AWS::Include",
    "Parameters":{
      "Location":"s3://amzn-s3-demo-bucket/MyFileName.json"
    }
  },
  "Resources":{
    ...
  }
}
```

#### YAML
<a name="aws-include-syntax-top-level.yaml"></a>

```
Transform:
  Name: AWS::Include
  Parameters:
    Location: 's3://amzn-s3-demo-bucket/MyFileName.yaml'
Resources:
  ...
```

### Syntaxe dans laquelle la transformation est intégrée dans une section d'un modèle
<a name="aws-include-syntax-within-section"></a>

Pour déclarer cette transformation dans une section de votre CloudFormation modèle, utilisez la fonction `Fn::Transform` intrinsèque et la syntaxe suivante :

#### JSON
<a name="aws-include-syntax-within-section.json"></a>

```
{
  "Fn::Transform":{
    "Name":"AWS::Include",
    "Parameters":{
      "Location":"s3://amzn-s3-demo-bucket/MyFileName.json"
    }
  }
}
```

#### YAML
<a name="aws-include-syntax-within-section.yaml"></a>

```
Fn::Transform:
  Name: AWS::Include
  Parameters:
    Location: s3://amzn-s3-demo-bucket/MyFileName.yaml
```

Pour de plus amples informations, veuillez consulter [`Fn::Transform`](intrinsic-function-reference-transform.md).

### Parameters
<a name="aws-include-parameters"></a>

`Location`

Emplacement d'un URI Amazon S3 avec un nom de fichier spécifique dans un compartiment S3. Par exemple, `s3://amzn-s3-demo-bucket/MyFile.yaml`.

## Considérations
<a name="aws-include-considerations"></a>

Lors de l'utilisation de la transformation `AWS::Include`, gardez à l'esprit les considérations suivantes : Pour des considérations supplémentaires concernant les macros, consultez [Considérations relatives aux macros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros-overview.html#template-macros-considerations) dans le *Guide de l’utilisateur AWS CloudFormation *.
+ Nous prenons en charge actuellement l'URI Amazon S3, mais aucun autre format Amazon S3 (comme un ARN Amazon S3). Il doit s'agir d'un compartiment Amazon S3, et non d'un GitHub dépôt.
+ Toute personne avec un accès à l'URL Amazon S3 peut inclure l'extrait dans son modèle.
+ Vos extraits de modèle doivent être au format JSON.
+ Vos extraits de modèle doivent être des objets clé-valeur valides, par exemple `"KeyName": "keyValue"`.
+ Vous ne pouvez pas utiliser `AWS::Include` pour référencer un extrait de modèle qui utilise également `AWS::Include`.
+ Si votre extrait est modifié, votre pile ne récupère pas automatiquement ces modifications. Pour obtenir ces modifications, vous devez mettre à jour la pile avec les extraits mis à jour. Si vous mettez à jour votre pile, assurez-vous que les extraits inclus n’ont pas été modifiés sans que vous le sachiez. Vérifiez le jeu de modifications pour vous en assurer avant de mettre à jour la pile.
+ Lors de la création de modèles et d'extraits, vous pouvez combiner des langages de modèle YAML et JSON.
+ Nous ne prenons pas actuellement en charge l'utilisation des notations raccourcies pour les extraits YAML.
+ Vous pouvez fournir un URI Amazon S3 de réplication entre régions avec `AWS::Include`. Veillez à vérifier les noms des compartiments Amazon S3 lorsque vous accédez à des objets de réplication entre régions. Pour plus d’informations, consultez [Réplication d’objets à l’intérieur et entre régions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) dans le *Guide de l’utilisateur Amazon S3*.

## Exemples
<a name="aws-include-examples"></a>

Les exemples suivants montrent comment utiliser la transformation `AWS::Include` pour exécuter un gestionnaire de condition d’attente. Remplacez *amzn-s3-demo-bucket* par le nom réel de votre compartiment. 

Enregistrez d’abord un fichier YAML nommé `single_wait_condition.yaml` dans votre compartiment S3, avec le contenu suivant :

```
MyWaitCondition:
  Type: AWS::CloudFormation::WaitCondition
  Properties:
    Handle: !Ref MyWaitHandle
    Timeout: '4500'
```

Vous pouvez ensuite référencer ce fichier au format JSON ou YAML.

### JSON
<a name="aws-include-example.json"></a>

```
{
   "Resources": {
      "MyWaitHandle": {
         "Type": "AWS::CloudFormation::WaitConditionHandle"
      },
      "Fn::Transform": {
         "Name": "AWS::Include",
         "Parameters": {
            "Location": "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"
         }
      }
   }
}
```

### YAML
<a name="aws-include-example.yaml"></a>

```
Resources:
  MyWaitHandle:
    Type: AWS::CloudFormation::WaitConditionHandle
  Fn::Transform:
    Name: AWS::Include
    Parameters:
      Location: "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"
```

Pour plus d'informations, voir [Création de conditions d'attente dans un CloudFormation modèle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-waitcondition.html) du *Guide de AWS CloudFormation l'utilisateur*.