Esta página fornece exemplos práticos de uso do Azion Terraform Provider v2.0, incluindo Resources e Data Sources.
O Azion Terraform Provider oferece dois tipos principais de configurações:
- Resources: Criam, atualizam e deletam recursos na Azion
- Data Sources: Consultam informações sobre recursos existentes
Resources Disponíveis
Workloads
| Resource | Descrição |
|---|---|
azion_workload | Gerencia workloads |
azion_workload_deployment | Gerencia deployments de workload |
Connectors
| Resource | Descrição |
|---|---|
azion_connector | Gerencia connectors |
Applications
| Resource | Descrição |
|---|---|
azion_application_main_settings | Configurações principais de Application |
azion_application_cache_setting | Configurações de cache |
azion_application_device_group | Grupos de dispositivos |
azion_application_rule_engine | Rules Engine |
azion_application_function_instance | Instâncias de Functions em aplicações |
Firewall
| Resource | Descrição |
|---|---|
azion_firewall_main_setting | Configurações principais de Firewall |
azion_firewall_rule_engine | Rules Engine do Firewall |
azion_firewall_functions_instance | Instâncias de Functions em firewalls |
Intelligent DNS
| Resource | Descrição |
|---|---|
azion_intelligent_dns_zone | Zonas DNS |
azion_intelligent_dns_record | Registros DNS |
azion_intelligent_dns_dnssec | Configurações DNSSEC |
Security
| Resource | Descrição |
|---|---|
azion_network_list | Network Lists |
azion_waf | Web Application Firewall |
azion_waf_rule_set | Conjuntos de regras WAF |
Certificates
| Resource | Descrição |
|---|---|
azion_digital_certificate | Certificados digitais |
Functions
| Resource | Descrição |
|---|---|
azion_function | Functions |
Other
| Resource | Descrição |
|---|---|
azion_custom_page | Páginas personalizadas |
Data Sources Disponíveis
Workloads
| Data Source | Descrição |
|---|---|
azion_workloads | Lista workloads |
azion_workload | Consulta um workload específico |
azion_workload_deployments | Lista deployments de workload |
azion_workload_deployment | Consulta um deployment específico |
Connectors
| Data Source | Descrição |
|---|---|
azion_connectors | Lista connectors |
azion_connector | Consulta um connector específico |
Applications
| Data Source | Descrição |
|---|---|
azion_applications_main_settings | Lista Applications |
azion_application_main_settings | Consulta uma Application específica |
azion_application_cache_settings | Lista configurações de cache |
azion_application_cache_setting | Consulta uma configuração de cache específica |
azion_application_device_groups | Lista grupos de dispositivos |
azion_application_device_group | Consulta um grupo de dispositivos específico |
azion_application_rules_engine | Lista Rules Engines |
azion_application_rule_engine | Consulta uma Rule Engine específica |
azion_application_functions_instances | Lista instâncias de Functions |
azion_application_functions_instance | Consulta uma instância de Function específica |
Firewall
| Data Source | Descrição |
|---|---|
azion_firewall_main_settings | Lista Firewalls |
azion_firewall_main_setting | Consulta um Firewall específico |
azion_firewall_rules_engine | Lista Rules Engines do Firewall |
azion_firewall_rule_engine | Consulta uma Rule Engine do Firewall específica |
azion_firewall_functions_instances | Lista instâncias de Functions no Firewall |
azion_firewall_functions_instance | Consulta uma instância de Function no Firewall específica |
Intelligent DNS
| Data Source | Descrição |
|---|---|
azion_intelligent_dns_zones | Lista zonas DNS |
azion_intelligent_dns_zone | Consulta uma zona DNS específica |
azion_intelligent_dns_records | Lista registros DNS |
azion_intelligent_dns_dnssec | Consulta configurações DNSSEC |
Security
| Data Source | Descrição |
|---|---|
azion_network_lists | Lista Network Lists |
azion_network_list | Consulta uma Network List específica |
azion_wafs | Lista WAFs |
azion_waf | Consulta um WAF específico |
azion_waf_rule_sets | Lista conjuntos de regras WAF |
azion_waf_rule_set | Consulta um conjunto de regras WAF específico |
Certificates
| Data Source | Descrição |
|---|---|
azion_digital_certificates | Lista certificados digitais |
azion_digital_certificate | Consulta um certificado específico |
Functions
| Data Source | Descrição |
|---|---|
azion_functions | Lista Functions |
azion_function | Consulta uma Function específica |
Other
| Data Source | Descrição |
|---|---|
azion_custom_pages | Lista páginas personalizadas |
azion_custom_page | Consulta uma página personalizada específica |
Exemplos por Categoria
Workloads
Gerencie workloads e deployments na Azion.
Ver documentação de Workloads →
# Criar um workloadresource "azion_workload" "example" { name = "meu-workload"
eapplication_id = azion_application_main_setting.app.id
active = true}
# Criar um deploymentresource "azion_workload_deployment" "example" { workload_id = azion_workload.example.id
active = true}
# Consultar workloads existentesdata "azion_workloads" "all" {}Connectors
Gerencie connectors para integração com origins externas.
Ver documentação de Connectors →
# Criar um connectorresource "azion_connector" "example" { name = "meu-connector"
origin = { address = "origin.exemplo.com" protocol = "https" }}
# Consultar connectors existentesdata "azion_connectors" "all" {}Applications
Gerencie Applications e suas configurações.
Ver documentação de Applications →
# Criar uma Applicationresource "azion_application_main_settings" "app" { name = "minha-aplicacao"
active = true}
# Configurar cacheresource "azion_application_cache_setting" "cache" { application_id = azion_application_main_settings.app.id name = "cache-default"
browser_cache_settings = "honor" cdn_cache_settings = "honor"}
# Consultar aplicações existentesdata "azion_applications" "all" {}Security
Gerencie Firewall, WAF e Network Lists.
Ver documentação de Security →
# Criar um Firewallresource "azion_firewall_main_setting" "firewall" { name = "meu-firewall"
active = true mode = "waf"}
# Criar uma Network Listresource "azion_network_list" "whitelist" { name = "whitelist-ips" list_type = "ip_cidr"
items = [ "192.168.1.0/24", "10.0.0.0/8" ]}
# Consultar firewalls existentesdata "azion_firewalls" "all" {}DNS
Gerencie zonas e registros DNS.
# Criar uma zona DNSresource "azion_intelligent_dns_zone" "zone" { name = "exemplo.com" domain = "exemplo.com"
active = true}
# Criar um registro DNSresource "azion_intelligent_dns_record" "www" { zone_id = azion_intelligent_dns_zone.zone.id name = "www" type = "A" ttl = 3600
entries = ["192.168.1.1"]}
# Consultar zonas DNS existentesdata "azion_intelligent_dns_zones" "all" {}Certificates
Gerencie certificados digitais.
Ver documentação de Certificates →
# Criar um certificadoresource "azion_digital_certificate" "cert" { name = "meu-certificado"
certificate = file("${path.module}/cert.pem") private_key = file("${path.module}/key.pem")}
# Consultar certificados existentesdata "azion_digital_certificates" "all" {}Exemplo Completo
Aqui está um exemplo completo que cria uma infraestrutura básica:
terraform { required_providers { azion = { source = "aziontech/azion" version = "2.0.0" } }}
provider "azion" { api_token = var.api_token}
# Applicationresource "azion_application_main_settings" "app" { name = "minha-aplicacao" active = true}
# Cache Settingresource "azion_application_cache_setting" "cache" { application_id = azion_application_main_settings.app.id name = "cache-default" browser_cache_settings = "honor" cdn_cache_settings = "honor"}
# Connectorresource "azion_connector" "origin" { name = "meu-origin" origin = { address = "origin.exemplo.com" protocol = "https" }}
# Workloadresource "azion_workload" "main" { name = "meu-workload" application_id = azion_application_main_settings.app.id active = true}
# Workload Deploymentresource "azion_workload_deployment" "main" { workload_id = azion_workload.main.id active = true}
# Firewallresource "azion_firewall_main_setting" "firewall" { name = "meu-firewall" active = true mode = "waf"}
# Outputsoutput "application_id" { value = azion_application_main_settings.app.id}
output "workload_id" { value = azion_workload.main.id}
output "connector_id" { value = azion_connector.origin.id}Ver Também
- Primeiros passos - Guia de início rápido
- Melhores práticas - Boas práticas de uso
- Migração V3 para V4 - Guia de migração
- Terraform Registry - Documentação oficial