Ver no Terraform Registry

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

ResourceDescrição
azion_workloadGerencia workloads
azion_workload_deploymentGerencia deployments de workload

Connectors

ResourceDescrição
azion_connectorGerencia connectors

Applications

ResourceDescrição
azion_application_main_settingsConfigurações principais de Application
azion_application_cache_settingConfigurações de cache
azion_application_device_groupGrupos de dispositivos
azion_application_rule_engineRules Engine
azion_application_function_instanceInstâncias de Functions em aplicações

Firewall

ResourceDescrição
azion_firewall_main_settingConfigurações principais de Firewall
azion_firewall_rule_engineRules Engine do Firewall
azion_firewall_functions_instanceInstâncias de Functions em firewalls

Intelligent DNS

ResourceDescrição
azion_intelligent_dns_zoneZonas DNS
azion_intelligent_dns_recordRegistros DNS
azion_intelligent_dns_dnssecConfigurações DNSSEC

Security

ResourceDescrição
azion_network_listNetwork Lists
azion_wafWeb Application Firewall
azion_waf_rule_setConjuntos de regras WAF

Certificates

ResourceDescrição
azion_digital_certificateCertificados digitais

Functions

ResourceDescrição
azion_functionFunctions

Other

ResourceDescrição
azion_custom_pagePáginas personalizadas

Data Sources Disponíveis

Workloads

Data SourceDescrição
azion_workloadsLista workloads
azion_workloadConsulta um workload específico
azion_workload_deploymentsLista deployments de workload
azion_workload_deploymentConsulta um deployment específico

Connectors

Data SourceDescrição
azion_connectorsLista connectors
azion_connectorConsulta um connector específico

Applications

Data SourceDescrição
azion_applications_main_settingsLista Applications
azion_application_main_settingsConsulta uma Application específica
azion_application_cache_settingsLista configurações de cache
azion_application_cache_settingConsulta uma configuração de cache específica
azion_application_device_groupsLista grupos de dispositivos
azion_application_device_groupConsulta um grupo de dispositivos específico
azion_application_rules_engineLista Rules Engines
azion_application_rule_engineConsulta uma Rule Engine específica
azion_application_functions_instancesLista instâncias de Functions
azion_application_functions_instanceConsulta uma instância de Function específica

Firewall

Data SourceDescrição
azion_firewall_main_settingsLista Firewalls
azion_firewall_main_settingConsulta um Firewall específico
azion_firewall_rules_engineLista Rules Engines do Firewall
azion_firewall_rule_engineConsulta uma Rule Engine do Firewall específica
azion_firewall_functions_instancesLista instâncias de Functions no Firewall
azion_firewall_functions_instanceConsulta uma instância de Function no Firewall específica

Intelligent DNS

Data SourceDescrição
azion_intelligent_dns_zonesLista zonas DNS
azion_intelligent_dns_zoneConsulta uma zona DNS específica
azion_intelligent_dns_recordsLista registros DNS
azion_intelligent_dns_dnssecConsulta configurações DNSSEC

Security

Data SourceDescrição
azion_network_listsLista Network Lists
azion_network_listConsulta uma Network List específica
azion_wafsLista WAFs
azion_wafConsulta um WAF específico
azion_waf_rule_setsLista conjuntos de regras WAF
azion_waf_rule_setConsulta um conjunto de regras WAF específico

Certificates

Data SourceDescrição
azion_digital_certificatesLista certificados digitais
azion_digital_certificateConsulta um certificado específico

Functions

Data SourceDescrição
azion_functionsLista Functions
azion_functionConsulta uma Function específica

Other

Data SourceDescrição
azion_custom_pagesLista páginas personalizadas
azion_custom_pageConsulta uma página personalizada específica

Exemplos por Categoria

Workloads

Gerencie workloads e deployments na Azion.

Ver documentação de Workloads →

# Criar um workload
resource "azion_workload" "example" {
name = "meu-workload"
eapplication_id = azion_application_main_setting.app.id
active = true
}
# Criar um deployment
resource "azion_workload_deployment" "example" {
workload_id = azion_workload.example.id
active = true
}
# Consultar workloads existentes
data "azion_workloads" "all" {}

Connectors

Gerencie connectors para integração com origins externas.

Ver documentação de Connectors →

# Criar um connector
resource "azion_connector" "example" {
name = "meu-connector"
origin = {
address = "origin.exemplo.com"
protocol = "https"
}
}
# Consultar connectors existentes
data "azion_connectors" "all" {}

Applications

Gerencie Applications e suas configurações.

Ver documentação de Applications →

# Criar uma Application
resource "azion_application_main_settings" "app" {
name = "minha-aplicacao"
active = true
}
# Configurar cache
resource "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 existentes
data "azion_applications" "all" {}

Security

Gerencie Firewall, WAF e Network Lists.

Ver documentação de Security →

# Criar um Firewall
resource "azion_firewall_main_setting" "firewall" {
name = "meu-firewall"
active = true
mode = "waf"
}
# Criar uma Network List
resource "azion_network_list" "whitelist" {
name = "whitelist-ips"
list_type = "ip_cidr"
items = [
"192.168.1.0/24",
"10.0.0.0/8"
]
}
# Consultar firewalls existentes
data "azion_firewalls" "all" {}

DNS

Gerencie zonas e registros DNS.

Ver documentação de DNS →

# Criar uma zona DNS
resource "azion_intelligent_dns_zone" "zone" {
name = "exemplo.com"
domain = "exemplo.com"
active = true
}
# Criar um registro DNS
resource "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 existentes
data "azion_intelligent_dns_zones" "all" {}

Certificates

Gerencie certificados digitais.

Ver documentação de Certificates →

# Criar um certificado
resource "azion_digital_certificate" "cert" {
name = "meu-certificado"
certificate = file("${path.module}/cert.pem")
private_key = file("${path.module}/key.pem")
}
# Consultar certificados existentes
data "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
}
# Application
resource "azion_application_main_settings" "app" {
name = "minha-aplicacao"
active = true
}
# Cache Setting
resource "azion_application_cache_setting" "cache" {
application_id = azion_application_main_settings.app.id
name = "cache-default"
browser_cache_settings = "honor"
cdn_cache_settings = "honor"
}
# Connector
resource "azion_connector" "origin" {
name = "meu-origin"
origin = {
address = "origin.exemplo.com"
protocol = "https"
}
}
# Workload
resource "azion_workload" "main" {
name = "meu-workload"
application_id = azion_application_main_settings.app.id
active = true
}
# Workload Deployment
resource "azion_workload_deployment" "main" {
workload_id = azion_workload.main.id
active = true
}
# Firewall
resource "azion_firewall_main_setting" "firewall" {
name = "meu-firewall"
active = true
mode = "waf"
}
# Outputs
output "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