Terraform é uma ferramenta de infraestrutura como código que permite gerenciar sua infraestrutura de forma eficiente através de código. Os arquivos criados para gerenciar sua infraestrutura podem ser reutilizados, versionados e compartilhados, ajudando você a ter um fluxo de trabalho consistente para provisionar e gerenciar toda sua infraestrutura ao longo de seu ciclo de vida.
Aviso sobre Versão da API: O Terraform Provider v2.0 requer a API v4. Esta versão é compatível apenas com a Azion API v4. Se você está usando a API v3, consulte a documentação do Terraform Provider v1.x.
Como funciona o Azion Terraform Provider?
O Terraform funciona com base em providers. Um provider é responsável por gerenciar o ciclo de vida de um tipo específico de recurso. Eles são implementados como plugins, que são arquivos executáveis separados que podem ser carregados no Terraform em tempo de execução.
O Azion Terraform Provider é um projeto de código aberto, registrado no Terraform Registry que utiliza o Azion SDK (Go) para se comunicar com as APIs da Azion, permitindo que você gerencie sua infraestrutura hospedada na plataforma Azion, localmente, como código.
Processo

Terraform Core: se comunica com o Azion Terraform Provider.
Nota: você deve ter o Terraform Core instalado em seu ambiente. Veja como instalar.
Azion Terraform Provider: construído em Go, se comunica com o Azion SDK (Go).
Azion SDK (Go): se comunica com as APIs da Azion.
Primeiros passos
Em seu arquivo .tf, você deve configurar o Azion Terraform Provider como provider e definir sua versão, como por exemplo:
terraform { required_providers { azion = { source = "aziontech/azion" version = "2.0.0" } }}Com o provider configurado, é recomendado configurar um token pessoal:
provider "azion" { api_token = "seu-token-pessoal"}Nota: se o token pessoal não for fornecido como apresentado acima, um prompt solicitará que você o informe quando tentar executar qualquer comando Terraform.
Após esses passos, você está pronto para começar a gerenciar sua infraestrutura usando o Azion Terraform Provider.
Exemplo de Início Rápido
Aqui está um exemplo completo para começar com o Azion Terraform Provider v2.0:
terraform { required_providers { azion = { source = "aziontech/azion" version = "2.0.0" } }}
provider "azion" { api_token = var.api_token}
# Criar um workloadresource "azion_workload" "example" { name = "meu-workload" # Configurações adicionais...}
# Criar um connectorresource "azion_connector" "example" { name = "meu-connector" # Configurações adicionais...}
# Criar uma edge applicationresource "azion_edge_application_main_setting" "example" { name = "minha-aplicacao" # Configurações adicionais...}Recursos por Categoria
Workloads
| Recurso | Descrição |
|---|---|
| azion_workload | Gerenciar workloads da Azion |
| azion_workload_deployment | Gerenciar deployments de workload |
Connectors
| Recurso | Descrição |
|---|---|
| azion_connector | Gerenciar connectors da Azion |
Applications
| Recurso | Descrição |
|---|---|
| azion_edge_application_main_setting | Gerenciar configurações principais da aplicação |
| azion_edge_application_origin | Gerenciar origens da aplicação |
| azion_edge_application_cache_setting | Gerenciar configurações de cache da aplicação |
| azion_edge_application_rule_engine | Gerenciar regras da aplicação |
| azion_edge_application_edge_functions_instance | Gerenciar instâncias de função da aplicação |
| azion_application | Gerenciar aplicações |
Custom Pages
| Recurso | Descrição |
|---|---|
| azion_custom_page | Gerenciar páginas personalizadas |
Edge Functions
| Recurso | Descrição |
|---|---|
| azion_function | Gerenciar Edge Functions |
Edge DNS
| Recurso | Descrição |
|---|---|
| azion_intelligent_dns_zone | Gerenciar zonas DNS |
| azion_intelligent_dns_record | Gerenciar registros DNS |
| azion_intelligent_dns_dnssec | Gerenciar configurações DNSSEC |
Security
| Recurso | Descrição |
|---|---|
| azion_edge_firewall_main_setting | Gerenciar configurações principais do firewall |
| azion_edge_firewall_edge_functions_instance | Gerenciar instâncias de função do firewall |
| azion_waf_rule_set | Gerenciar conjuntos de regras WAF |
| azion_network_list | Gerenciar listas de rede |
Certificates
| Recurso | Descrição |
|---|---|
| azion_digital_certificate | Gerenciar certificados digitais |
Migrando da v1.x
Se você está atualizando do Terraform Provider v1.x (API v3), consulte o Guia de Migração do Terraform Provider para instruções detalhadas sobre como migrar suas configurações para a v2.0.