# Edge DNS - Terraform Resources

import DocButton from '~/components/webkit/DocButton.vue';

<DocButton href="https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_zone" label="Ver no Terraform Registry" kind="secondary" size="medium" />

DNS permite gerenciar suas zonas DNS e registros através do Terraform, com suporte a DNSSEC para segurança adicional.

---


Os recursos de DNS permitem gerenciar zonas DNS, registros e configurações de DNSSEC.

### Recursos Disponíveis

| Recurso | Descrição |
|---------|-----------|
| [`azion_intelligent_dns_zone`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_zone) | Zonas DNS |
| [`azion_intelligent_dns_record`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_record) | Registros DNS |
| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_dnssec) | Configurações DNSSEC |

### Data Sources Disponíveis

| Data Source | Descrição |
|--------------|-----------|
| [`azion_intelligent_dns_zones`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_zones) | Consulta zonas DNS |
| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_dnssec) | Consulta DNSSEC |

---

## azion_intelligent_dns_zone

### Exemplo Básico

```hcl
resource "azion_intelligent_dns_zone" "example" {
  name    = "exemplo.com"
  active  = true
  
  # Configurações da zona
}
```

### Argumentos Principais

| Argumento | Tipo | Obrigatório | Descrição |
|-----------|------|--------------|-----------|
| `name` | string | Sim | Nome da zona DNS |
| `active` | bool | Não | Se a zona está ativa |

---

## azion_intelligent_dns_record

### Exemplo Básico

```hcl
resource "azion_intelligent_dns_record" "example" {
  zone_id   = azion_intelligent_dns_zone.example.id
  name      = "www"
  type      = "A"
  value     = "192.168.1.1"
  ttl       = 3600
}
```

### Argumentos Principais

| Argumento | Tipo | Obrigatório | Descrição |
|-----------|------|--------------|-----------|
| `zone_id` | string | Sim | ID da zona DNS |
| `name` | string | Sim | Nome do registro |
| `type` | string | Sim | Tipo do registro (A, AAAA, CNAME, etc.) |
| `value` | string | Sim | Valor do registro |
| `ttl` | number | Não | TTL do registro |

---

## azion_intelligent_dns_dnssec

### Exemplo Básico

```hcl
resource "azion_intelligent_dns_dnssec" "example" {
  zone_id = azion_intelligent_dns_zone.example.id
  active  = true
}
```

---

## Exemplo Completo

```hcl
terraform {
  required_providers {
    azion = {
      source  = "aziontech/azion"
      version = "2.0.0"
    }
  }
}

provider "azion" {
  api_token = var.api_token
}

# Criar zona DNS
resource "azion_intelligent_dns_zone" "my_zone" {
  name   = "meudominio.com"
  active = true
}

# Criar registro A
resource "azion_intelligent_dns_record" "www" {
  zone_id = azion_intelligent_dns_zone.my_zone.id
  name    = "www"
  type    = "A"
  value   = "192.168.1.1"
  ttl     = 3600
}

# Criar registro CNAME
resource "azion_intelligent_dns_record" "alias" {
  zone_id = azion_intelligent_dns_zone.my_zone.id
  name    = "alias"
  type    = "CNAME"
  value   = "www.meudominio.com"
  ttl     = 3600
}

# Ativar DNSSEC
resource "azion_intelligent_dns_dnssec" "my_dnssec" {
  zone_id = azion_intelligent_dns_zone.my_zone.id
  active  = true
}

output "zone_id" {
  value = azion_intelligent_dns_zone.my_zone.id
}
```

---

## Recursos Relacionados

- [Security](/pt-br/documentacao/produtos/terraform-provider/resources/security/) - Gerencie firewall e WAF
- [Certificates](/pt-br/documentacao/produtos/terraform-provider/resources/certificates/) - Gerencie certificados
- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie suas aplicações
- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0