DNS allows you to manage your DNS zones and records through Terraform, with DNSSEC support for additional security.
The DNS resources allow you to manage DNS zones, records, and DNSSEC configurations.
Available Resources
| Resource | Description |
|---|---|
azion_intelligent_dns_zone | DNS zones |
azion_intelligent_dns_record | DNS records |
azion_intelligent_dns_dnssec | DNSSEC settings |
Available Data Sources
| Data Source | Description |
|---|---|
azion_intelligent_dns_zones | Query DNS zones |
azion_intelligent_dns_dnssec | Query DNSSEC |
azion_intelligent_dns_zone
Basic Example
resource "azion_intelligent_dns_zone" "example" { name = "example.com" active = true
# Zone configuration}Main Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
name | string | Yes | DNS zone name |
active | bool | No | Whether the zone is active |
azion_intelligent_dns_record
Basic Example
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}Main Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
zone_id | string | Yes | DNS zone ID |
name | string | Yes | Record name |
type | string | Yes | Record type (A, AAAA, CNAME, etc.) |
value | string | Yes | Record value |
ttl | number | No | Record TTL |
azion_intelligent_dns_dnssec
Basic Example
resource "azion_intelligent_dns_dnssec" "example" { zone_id = azion_intelligent_dns_zone.example.id active = true}Complete Example
terraform { required_providers { azion = { source = "aziontech/azion" version = "2.0.0" } }}
provider "azion" { api_token = var.api_token}
# Create DNS zoneresource "azion_intelligent_dns_zone" "my_zone" { name = "mydomain.com" active = true}
# Create A recordresource "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}
# Create CNAME recordresource "azion_intelligent_dns_record" "alias" { zone_id = azion_intelligent_dns_zone.my_zone.id name = "alias" type = "CNAME" value = "www.mydomain.com" ttl = 3600}
# Enable DNSSECresource "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}Related Resources
- Security - Manage firewall and WAF
- Certificates - Manage certificates
- Applications - Manage your applications
- Migration Guide - Migrate from v1.x to v2.0