

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.

# Attribut `DeletionPolicy`
<a name="aws-attribute-deletionpolicy"></a>

Avec l’attribut `DeletionPolicy`, vous pouvez conserver et (dans certains cas) sauvegarder une ressource lorsque sa pile est supprimée. Vous spécifiez un attribut `DeletionPolicy` pour chaque ressource que vous souhaitez contrôler. Si une ressource ne possède aucun `DeletionPolicy` attribut, elle est CloudFormation supprimée par défaut.

Cette fonctionnalité s’applique également aux opérations de mise à jour de pile qui entraînent la suppression de certaines ressources dans les piles. C’est le cas si vous supprimez la ressource du modèle de pile, puis que vous la mettez à jour avec le modèle. Cette fonctionnalité ne s’applique pas aux ressources dont l’instance physique est remplacée pendant les opérations de mise à jour de la pile. Par exemple, si vous modifiez les propriétés d'une ressource de telle sorte qu'elle CloudFormation remplace cette ressource lors d'une mise à jour de la pile.

**Note**  
**Exception** : La politique par défaut est `Snapshot` pour les ressources `AWS::RDS::DBCluster` et pour les ressources `AWS::RDS::DBInstance` qui ne spécifient pas la propriété `DBClusterIdentifier`.

Pour conserver une ressource lorsque sa pile est supprimée, spécifiez `Retain` pour celle-ci. Vous pouvez utiliser `Retain` pour n'importe quelle ressource. Par exemple, vous pouvez conserver une pile imbriquée, un compartiment Amazon S3 ou une instance EC2 afin de pouvoir continuer à utiliser ou à modifier ces ressources après la suppression de leurs piles.

**Note**  
Si vous souhaitez modifier des ressources en dehors de CloudFormation, utilisez une politique de `Retain` suppression, puis supprimez la pile. Dans le cas contraire, vos ressources risquent de se désynchroniser avec votre CloudFormation modèle et de provoquer des erreurs de pile.

Pour les ressources qui prennent en charge les instantanés, par exemple`AWS::EC2::Volume`, spécifiez `Snapshot` de CloudFormation créer un instantané avant de supprimer la ressource.

L'extrait suivant contient une ressource de compartiment Amazon S3 avec une politique de suppression `Retain`. Lorsque cette pile est supprimée, elle CloudFormation quitte le compartiment sans le supprimer.

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

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Resources" : {
    "MyBucket" : {
      "Type" : "AWS::S3::Bucket",
      "DeletionPolicy" : "Retain"
    }
  }
}
```

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

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    DeletionPolicy: Retain
```

## Options `DeletionPolicy`
<a name="aws-attribute-deletionpolicy-options"></a>

`Delete`  
CloudFormation supprime la ressource et tout son contenu, le cas échéant, lors de la suppression de la pile. Vous pouvez ajouter cette politique de suppression à n'importe quel type de ressource. Par défaut, si vous ne spécifiez pas de`DeletionPolicy`, CloudFormation supprime vos ressources. Cependant, soyez conscient des points suivants :  
+ La politique par défaut pour les ressources `AWS::RDS::DBCluster` est `Snapshot`.
+ Pour les ressources `AWS::RDS::DBInstance` qui ne spécifient pas la propriété `DBClusterIdentifier`, la politique par défaut est `Snapshot`.
+ Pour les compartiments Amazon S3, vous devez supprimer tous les objets qu'ils contiennent pour que la suppression fonctionne.
Le comportement par défaut de CloudFormation est de supprimer le secret avec le ForceDeleteWithoutRecovery drapeau.

`Retain`  
CloudFormation conserve la ressource sans supprimer la ressource ou son contenu lorsque sa pile est supprimée. Vous pouvez ajouter cette politique de suppression à n'importe quel type de ressource. CloudFormation Une fois la suppression de la pile terminée, la pile sera en bon `Delete_Complete` état ; toutefois, les ressources conservées continuent d'exister et de faire l'objet de frais applicables jusqu'à ce que vous les supprimiez.  
Pour les opérations de mise à jour, les considérations suivantes s'appliquent :  
+ Si une ressource est supprimée, `DeletionPolicy` elle conserve la ressource physique mais veille à ce qu'elle soit supprimée de CloudFormation son champ d'application.
+ Si une ressource est mise à jour de telle sorte qu'une nouvelle ressource physique est créée pour remplacer l'ancienne ressource, l'ancienne ressource est complètement supprimée, y compris CloudFormation de son champ d'application.

`RetainExceptOnCreate`  
`RetainExceptOnCreate` se comporte comme `Retain` pour les opérations de pile, à l’exception de l’opération de pile qui a initialement créé la ressource. Si l'opération de pile qui a créé la ressource est annulée, la ressource CloudFormation est supprimée. Pour toutes les autres opérations de pile, telles que la suppression de pile CloudFormation, la ressource et son contenu sont conservés. Il en résulte que les ressources nouvelles, vides et inutilisées sont supprimées, tandis que les ressources en cours d'utilisation et leurs données sont conservées. Reportez-vous à la documentation de l'[UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)API pour utiliser cette politique de suppression en tant que paramètre d'API sans mettre à jour votre modèle.

`Snapshot`  
Pour les ressources qui prennent en charge les instantanés, CloudFormation crée un instantané pour la ressource avant de la supprimer. CloudFormation Une fois la suppression de la pile terminée, la pile sera dans son `Delete_Complete` état ; toutefois, les instantanés créés avec cette politique continuent d'exister et continuent d'être soumis aux frais applicables jusqu'à ce que vous les supprimiez.  
Les ressources qui prennent en charge les instantanés sont les suivantes :  
+ [AWS::DocBase de données : DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-docdb-dbcluster.html)
+ [AWS::EC2::Volume](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-volume.html)
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-cachecluster.html)
+ [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html)
+ [AWS::Neptune::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-neptune-dbcluster.html)
+ [AWS : :RDS : : DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbcluster.html)
+ [AWS : :RDS : : DBInstance](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html)
+ [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-redshift-cluster.html)