

# Gerar modelos a partir de recursos existentes com o gerador de IaC
<a name="generate-IaC"></a>

Com a infraestrutura do CloudFormation como gerador de código (gerador de IaC), você pode gerar um modelo usando recursos da AWS provisionados na sua conta que ainda não são gerenciados pelo CloudFormation. 

Estes são os benefícios do gerador de IaC:
+ Coloque aplicações inteiras sob o gerenciamento do CloudFormation ou migre-as para uma aplicação do AWS CDK.
+ Gere modelos sem que seja necessário descrever uma propriedade de recurso por propriedade e, depois, traduza-os na sintaxe JSON ou YAML.
+ Use o modelo para replicar recursos em uma nova conta ou região.

O processo de geração de IaC consiste nas seguintes etapas:

1. **Varredura de recursos**: o primeiro passo é iniciar uma verificação dos recursos. Essa varredura abrange toda a região e expira 30 dias. Durante esse período, é possível criar vários modelos com base na mesma verificação.

1. **Criação do modelo**: para criar o modelo, você tem duas opções:
   + Criar um modelo do zero e adicionar os recursos verificados os e recursos relacionados a ele.
   + Usar uma pilha existente do CloudFormation como ponto de partida e adicionar os recursos verificados pela varredura e os recursos relacionados ao modelo.

1. **Importação de recursos**: use o modelo para importar os recursos como uma pilha do CloudFormation ou migrá-los para uma aplicação do AWS CDK.

O recurso de gerador de IaC está disponível em todas as regiões comerciais e oferece suporte a muitos tipos de recursos comuns da AWS. Para obter uma lista completa de recursos suportados, consulte [Suporte a tipos de recursos](resource-import-supported-resources.md).

**Topics**
+ [Considerações](#iac-generator-considerations)
+ [Permissões do IAM necessárias para varrer recursos](#iac-generator-permissions)
+ [Comandos comumente usados para geração, exclusão e gerenciamento de modelos](#iac-generator-commonly-used-commands)
+ [Migrar um modelo para o AWS CDK](#iac-generator-cdk-migrate)
+ [Iniciar uma verificação de recursos com o gerador de IaC do CloudFormation](iac-generator-start-resource-scan.md)
+ [Visualize o resumo da verificação no console do CloudFormation](generate-IaC-view-scan-summary.md)
+ [Criar um modelo do CloudFormation a partir de recursos verificados com o gerador de IaC](iac-generator-create-template-from-scanned-resources.md)
+ [Criar uma pilha do CloudFormation com base nos recursos verificados](iac-generator-create-stack-from-scanned-resources.md)
+ [Resolver propriedades somente gravação](generate-IaC-write-only-properties.md)

## Considerações
<a name="iac-generator-considerations"></a>

É possível gerar modelos JSON ou YAML para recursos da AWS aos quais você tem acesso de leitura. Os modelos do recurso de gerador de IaC preparam recursos de nuvem de forma confiável e rápida, sem que seja necessário descrever um recurso propriedade por propriedade.

A tabela a seguir lista as cotas disponíveis para o recurso de geração de IaC.


| Nome | Varredura completa | Varredura parcial | 
| --- | --- | --- | 
|  Número máximo de usuários que podem ser processados em uma verificação  |  100.000  |  100.000  | 
|  Número de verificações por dia (para verificações com menos de 10.000 recursos)  |  10  |  10  | 
|  Número de verificações por dia (para verificações com mais de 10.000 recursos)  |  1  |  1  | 
|  Número simultâneo de modelos gerados por conta  |  5  |  5  | 
|  Número simultâneo de recursos modelados para uma geração de modelo  |  5  |  5  | 
|  Número total de recursos que podem ser modelados em um modelo  |  500  |  500  | 
|  Número máximo por conta de modelos gerados  |  1.000  |  1.000  | 

**Importante**  
O gerador de IaC só é compatível com recursos da AWS compatíveis com a API do Cloud Control na sua região. Para obter mais informações, consulte [Suporte a tipos de recursos](resource-import-supported-resources.md).

## Permissões do IAM necessárias para varrer recursos
<a name="iac-generator-permissions"></a>

Para varrer recursos com o gerador de IaC, a entidade principal do IAM (usuário, perfil ou grupo) deve ter:
+ Permissões de varredura do CloudFormation
+ Permissões de leitura nos serviços da AWS de destino

O escopo da varredura se limita aos recursos aos quais você tem acesso de leitura. Permissões ausentes não causarão falha na verificação, mas excluirão esses recursos.

Para obter um exemplo de política do IAM que concede permissões para varrer e gerenciar modelos, consulte [Permitir todas as operações do gerador de IaC](security_iam_id-based-policy-examples.md#iam-policy-example-for-iac-generator).

## Comandos comumente usados para geração, exclusão e gerenciamento de modelos
<a name="iac-generator-commonly-used-commands"></a>

Os comandos comumente usados para trabalhar com o gerador de IaC incluem: 
+ [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html) para iniciar uma verificação dos recursos na conta em uma Região da AWS. 
+ [describe-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-resource-scan.html) para monitorar o andamento de uma verificação de recursos. 
+ [list-resource-scans](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scans.html) para listar os escaneamentos de recursos em um Região da AWS.
+ [list-resource-scan-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-resources.html) para listar os recursos encontrados durante a verificação de recursos.
+  [list-resource-scan-related-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-related-resources.html) para listar os recursos relacionados aos recursos verificados.
+ [create-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-generated-template.html) para gerar um modelo do CloudFormation de um conjunto de recursos verificados.
+ [update-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-generated-template.html) para atualizar o modelo gerado.
+ [describe-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-generated-template.html) para retornar informações sobre um modelo gerado.
+ [list-generated-templates](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-generated-templates.html) para listar todos os modelos gerados em sua conta e região atual.
+ [delete-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-generated-template.html) para excluir um modelo gerado.

## Migrar um modelo para o AWS CDK
<a name="iac-generator-cdk-migrate"></a>

O AWS Cloud Development Kit (AWS CDK) é um framework de desenvolvimento de software de código aberto que você pode usar para desenvolver, gerenciar e implantar recursos do CloudFormation usando linguagens de programação conhecidas.

A CLI do AWS CDK fornece uma integração com o gerador de IaC. Use o comando `cdk migrate` da CLI do AWS CDK para gerar um modelo do CloudFormation e criar uma aplicação do CDK que contenha os recursos. Depois, é possível usar o AWS CDK para gerenciar os recursos e implantar no CloudFormation.

Para obter mais informações, consulte [Migrar para o AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/migrate.html) no *Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK)*.