

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Con l'attributo `DeletionPolicy` puoi conservare e in alcuni casi eseguire il backup di una risorsa quando il suo stack viene eliminato. Puoi specificare un attributo `DeletionPolicy` per ciascuna risorsa che desideri controllare. Se una risorsa non ha alcun `DeletionPolicy` attributo, CloudFormation elimina la risorsa per impostazione predefinita.

Questa funzionalità può essere utilizzata anche per operazioni di aggiornamento dello stack che portano all'eliminazione delle risorse dagli stack. Ad esempio, se elimini la risorsa dal modello di stack e quindi aggiorni lo stack con il modello. Questa funzionalità non è valida per le risorse la cui istanza fisica viene sostituita durante le operazioni di aggiornamento dello stack. Ad esempio, se modificate le proprietà di una risorsa in modo tale da CloudFormation sostituirla durante un aggiornamento dello stack.

**Nota**  
**Eccezione**: la policy predefinita è `Snapshot` per le risorse `AWS::RDS::DBCluster` e per le risorse `AWS::RDS::DBInstance` che non specificano la proprietà `DBClusterIdentifier`.

Per mantenere una risorsa quando il suo stack viene eliminato, specificare `Retain` per tale risorsa. È possibile utilizzare `Retain` per qualsiasi risorsa. Per esempio, è possibile mantenere un bucket Amazon S3 dello stack nidificato o un'istanza EC2, in modo da poter continuare a utilizzare o modificare tali risorse dopo aver eliminato i loro stack.

**Nota**  
Se desideri modificare le risorse esterne a CloudFormation, utilizza una politica di `Retain` eliminazione e quindi elimina lo stack. In caso contrario, le risorse potrebbero non essere sincronizzate con il CloudFormation modello e causare errori di stack.

Per le risorse che supportano le istantanee, ad esempio`AWS::EC2::Volume`, specificate di `Snapshot` dover CloudFormation creare un'istantanea prima di eliminare la risorsa.

Il frammento seguente contiene una risorsa bucket Amazon S3 con una policy di eliminazione `Retain`. Quando questo stack viene eliminato, CloudFormation lascia il bucket senza eliminarlo.

## 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
```

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

`Delete`  
CloudFormation elimina la risorsa e tutto il suo contenuto, se applicabile, durante l'eliminazione dello stack. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Per impostazione predefinita, se non si specifica a`DeletionPolicy`, CloudFormation elimina le risorse. Tuttavia, tieni a mente le considerazioni seguenti:  
+ Per le risorse `AWS::RDS::DBCluster`, la policy predefinita è `Snapshot`.
+ Per le risorse `AWS::RDS::DBInstance` che non specificano la proprietà `DBClusterIdentifier`, la policy predefinita is `Snapshot`.
+ Per i bucket Amazon S3 è necessario eliminare tutti gli oggetti nel bucket affinché l'eliminazione riesca.
Il comportamento predefinito di CloudFormation consiste nell'eliminare il segreto con il ForceDeleteWithoutRecovery flag.

`Retain`  
CloudFormation mantiene la risorsa senza eliminare la risorsa o il suo contenuto quando il relativo stack viene eliminato. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Una volta CloudFormation completata l'eliminazione `Delete_Complete` dello stack, lo stack sarà attivo; tuttavia, le risorse che vengono conservate continuano a esistere e continuano a essere soggette ai costi applicabili fino a quando non vengono eliminate.  
Per aggiornare le operazioni, si applicano le seguenti considerazioni:  
+ Se una risorsa viene eliminata, `DeletionPolicy` conserva la risorsa fisica ma garantisce che venga eliminata dall'ambito dello stesso. CloudFormation
+ Se una risorsa viene aggiornata in modo tale da creare una nuova risorsa fisica per sostituire quella precedente, la vecchia risorsa viene completamente eliminata, incluso l'ambito CloudFormation di from.

`RetainExceptOnCreate`  
`RetainExceptOnCreate` si comporta come `Retain` per le operazioni di stack, ad eccezione dell'operazione di stack che inizialmente ha creato la risorsa. Se l'operazione di stack che ha creato la risorsa viene ripristinata, CloudFormation elimina la risorsa. Per tutte le altre operazioni di stack, come l'eliminazione dello stack, CloudFormation conserva la risorsa e il suo contenuto. Il risultato è che le risorse nuove, vuote e non utilizzate vengono eliminate mentre le risorse in uso e i relativi dati vengono conservati. Fai riferimento alla documentazione dell'[UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)API per utilizzare questa politica di eliminazione come parametro API senza aggiornare il modello.

`Snapshot`  
Per le risorse che supportano le istantanee, CloudFormation crea un'istantanea della risorsa prima di eliminarla. Una volta CloudFormation completata l'eliminazione dello stack, lo stack sarà `Delete_Complete` nello stato in cui si trova; tuttavia, le istantanee create con questa politica continuano a esistere e continuano a comportare i costi applicabili finché non si eliminano le istantanee.  
Le risorse che supportano gli snapshot includono:  
+ [AWS::DocDB:: 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)