

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# `cdk orphan`
<a name="ref-cli-cmd-orphan"></a>

**Importante**  
O comando `cdk orphan` é uma versão de teste e está sujeita a alterações.  
É necessário fornecer a opção `--unstable=orphan` ao usar esse comando.

Separe com segurança um ou mais recursos de uma AWS CloudFormation pilha sem excluí-los. Isso é útil quando você precisa migrar um recurso de um tipo de construção para outro (por exemplo, migrar um DynamoDB para`TableV2`) sem tempo de inatividade ou perda de `Table` dados.

Quando você altera um tipo de construção em seu código CDK, CloudFormation interpreta isso como uma substituição de recurso, que exclui o recurso existente e cria um novo. Para recursos com estado, como bancos de dados e armazenamento, isso causa perda de dados. O `cdk orphan` comando resolve isso separando primeiro o recurso da pilha, para que você possa reimportá-lo sob o novo tipo de construção usando. `cdk import`

Com o `cdk orphan`, você pode:
+ Separe recursos com estado de uma pilha antes de alterar o tipo de construção.
+ Migre entre versões de construção (por exemplo, do `Table` DynamoDB `TableV2` para) sem perda de dados.
+ Altere o tipo de CloudFormation recurso que apóia uma construção sem substituir o recurso físico.

O comando orphan executa três implantações: CloudFormation 

1.  **Resolver referências**: resolve referências entre recursos (`Ref`,`Fn::GetAtt`,`Fn::Sub`) aos recursos órfãos, para que outros recursos na pilha que dependem deles continuem funcionando após a remoção dos recursos órfãos.

1.  **Desacoplar**: substitui todas as referências de recursos cruzados por seus valores literais resolvidos, define `DeletionPolicy` e remove `DependsOn` entradas para isolar os recursos do resto da pilha. `Retain`

1.  **Remover**: remove os recursos do CloudFormation modelo. Os recursos físicos continuam existindo em sua AWS conta.

Depois de ficar órfão, atualize seu código CDK para usar o novo tipo de construção e use [cdk import](ref-cli-cmd-import.md) para trazer o recurso de volta ao gerenciamento.

 **Para tornar um recurso órfão e reimportá-lo sob um novo tipo de construção**   

1. Implante sua pilha e verifique se o recurso existe.

1. Execute `cdk orphan` com o caminho de construção do recurso:

   ```
   $ cdk orphan MyStack/MyTable --unstable=orphan
   ```

1. O comando gera um mapeamento de recursos. Salve isso para a etapa de importação.

1. Atualize seu código CDK para usar o novo tipo de construção (por exemplo, alterar `Table` para`TableV2`).

1. Execute `cdk import` com o mapeamento de recursos da saída órfã:

   ```
   $ cdk import MyStack --resource-mapping-inline '{"MyTable":{"TableName":"my-table"}}'
   ```

1. Após a conclusão da importação, `cdk import` detecta o desvio e solicita que você implante. Aceite a solicitação para reconciliar a pilha.

No momento, esse recurso tem as seguintes limitações:
+ Todos os caminhos de construção devem fazer referência à mesma pilha. Não há suporte para orfanar recursos em várias pilhas em um único comando.
+ Não há suporte para padrões curinga. Os caminhos são combinados como prefixos exatos.
+ Esse comando requer a versão 32 do modelo de bootstrap, que inclui as permissões necessárias do IAM para a função de implantação.

## Usage
<a name="ref-cli-cmd-orphan-usage"></a>

```
$ cdk orphan <PATHS> <options>
```

## Argumentos
<a name="ref-cli-cmd-orphan-args"></a><a name="ref-cli-cmd-orphan-args-paths"></a>

 **CAMINHOS**   
Um ou mais caminhos de construção para órfão, no formato. `StackName/ConstructPath` Por exemplo, .`MyStack/MyTable` Vários caminhos podem ser fornecidos para tornar órfãos vários recursos em um único comando.  
Todos os caminhos devem fazer referência à mesma pilha.  
 *Tipo:* string  
 *Obrigatório*: Sim

## Opções
<a name="ref-cli-cmd-orphan-options"></a>

Para obter uma lista das opções globais que funcionam com todos os comandos da CLI do CDK, consulte [Opções globais](ref-cli-cmd.md#ref-cli-cmd-options).<a name="ref-cli-cmd-orphan-options-help"></a>

 `--help, -h <BOOLEAN>`   
Mostrar as informações de referência do comando `cdk orphan`.

## Exemplos
<a name="ref-cli-cmd-orphan-examples"></a>

### Órfão: um único recurso
<a name="ref-cli-cmd-orphan-examples-single"></a>

```
$ cdk orphan MyStack/MyTable --unstable=orphan
```

### Vários recursos órfãos
<a name="ref-cli-cmd-orphan-examples-multiple"></a>

```
$ cdk orphan MyStack/MyTable MyStack/MyBucket --unstable=orphan
```

### Ignorar solicitação de confirmação
<a name="ref-cli-cmd-orphan-examples-yes"></a>

```
$ cdk orphan MyStack/MyTable --unstable=orphan --yes
```