

Este é o novo *Guia de referência de modelos do CloudFormation*. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o [Guia do usuário do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# `UpdateReplacePolicy`Atributo
<a name="aws-attribute-updatereplacepolicy"></a>

Use o atributo `UpdateReplacePolicy` para reter ou, em alguns caso, fazer backup da instância física existente de um recurso quando ele é substituído durante uma operação de atualização da pilha.

Ao iniciar a atualização de uma pilha, o CloudFormation atualiza os recursos com base nas diferenças entre o que você enviou e os parâmetros e modelo atuais da pilha. Se você atualizar uma propriedade de recurso que requer que o recurso seja substituído, o CloudFormation recriará o recurso durante a atualização. Para obter mais informações, consulte [ Atualizar comportamentos de recursos de pilha](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) no *Guia do usuário doAWS CloudFormation*.

Recriar o recurso gera um novo ID físico. O CloudFormation cria o recurso de substituição primeiro e, então, altera as referências de outros recursos dependentes para apontar para o recurso de substituição. Por padrão, o CloudFormation, então, exclui o recurso antigo. Com o `UpdateReplacePolicy`, você pode especificar que o CloudFormation retenha ou, em alguns casos, crie um snapshot do recurso antigo.

Para os recursos que oferecem apoio a snapshots, como o `AWS::EC2::Volume`, especifique `Snapshot` para que o CloudFormation crie um snapshot antes de excluir a instância do recurso antigo.

Você pode aplicar o atributo `UpdateReplacePolicy` a qualquer recurso. A `UpdateReplacePolicy` é executada somente se você atualizar a propriedade do recurso cujo comportamento de atualização seja especificado como **Substituição**, fazendo assim com que CloudFormation substitua o recurso antigo por um novo, com um novo ID físico. Por exemplo, se você atualizar a propriedade `Engine` de um tipo de recurso [AWS::RDS::DBInstance](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-rds-database-instance.html), o CloudFormation cria um novo recurso e substitui o recurso de instância de banco de dados atual pelo novo recurso. O atributo `UpdateReplacePolicy` poderia então determinar se o CloudFormation excluiu, reteve ou criou um snapshot da instância de banco de dados antiga. O comportamento da atualização de cada propriedade de um recurso é especificado no tópico de referência para esse recurso no [AWSReferência de tipos de propriedades e recursos da](aws-template-resource-type-ref.md).

O atributo `UpdateReplacePolicy` se aplica a [atualizações de pilha que você executa diretamente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html), além de atualizações de pilha executadas usando [conjuntos de alterações](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html).

**nota**  
Os recursos que são retidos continuam a existir e a incorrer em cobranças aplicáveis até que você exclua esses recursos. Os snapshots criados com esta política continuam a existir e continuam a incorrer em cobranças aplicáveis até que você os exclua. `UpdateReplacePolicy` retém o recurso físico antigo ou instantâneo, mas o remove do escopo do CloudFormation.

A `UpdateReplacePolicy` difere do atributo [`DeletionPolicy`](aws-attribute-deletionpolicy.md), em que ele se aplica somente a recursos substituídos durante as atualizações da pilha. Use `DeletionPolicy` para recursos excluídos quando uma pilha é excluída ou quando a própria definição de recurso é excluída do modelo como parte de uma atualização de pilha.

O trecho a seguir contém um recurso de instância de banco de dados do Amazon RDS com uma política `Retain` para substituição. Quando esse recurso é substituído por um novo recurso com um novo ID físico, o CloudFormation deixa a antiga instância de banco de dados sem excluí-la.

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

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Resources" : {
    "myDB" : {
      "Type" : "AWS::RDS::DBInstance",
      "DeletionPolicy" : "Retain",
      "UpdateReplacePolicy" : "Retain",
      "Properties" : {}
    }
  }
}
```

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

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myDB:
    Type: AWS::RDS::DBInstance
    DeletionPolicy: Retain
    UpdateReplacePolicy: Retain
    Properties: {}
```

## Opções de `UpdateReplacePolicy`
<a name="aws-attribute-updatereplacepolicy-options"></a>

`Delete`  
O CloudFormation exclui o recurso e todo o conteúdo dele, se aplicável, durante a substituição do recurso. Você pode adicionar esta política a qualquer tipo de recurso. Por padrão, se você não especificar um `UpdateReplacePolicy`, CloudFormation excluirá seus recursos. No entanto, esteja ciente do seguinte:  
Para buckets do Amazon S3, você deverá excluir todos os objetos no bucket para a exclusão para ser bem-sucedida.

`Retain`  
O CloudFormation mantém o recurso sem excluir o recurso ou o conteúdo dele quando ele é substituído. Você pode adicionar esta política a qualquer tipo de recurso. Os recursos que são retidos continuam a existir e a incorrer em cobranças aplicáveis até que você exclua esses recursos.  
Se um recurso é substituído, a `UpdateReplacePolicy` retém o recurso físico antigo, mas o remove do escopo do CloudFormation.

`Snapshot`  
Para os recursos que oferecem suporte a snapshots, o CloudFormation cria um snapshot para o recurso antes de excluí-lo. Snapshots criados com essa política continuam a existir e continuam a incorrer em cobranças aplicáveis até que você os exclua.  
Se você especificar a opção `Snapshot` em `UpdateReplacePolicy` para um recurso que não oferece apoio a snapshots, o CloudFormation reverterá para a opção padrão, que é `Delete`.
Os recursos que oferecem suporte a snapshots incluem:  
+ `[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)`