View in Terraform Registry

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

Available Data Sources

Data SourceDescription
azion_intelligent_dns_zonesQuery DNS zones
azion_intelligent_dns_dnssecQuery DNSSEC

azion_intelligent_dns_zone

Basic Example

resource "azion_intelligent_dns_zone" "example" {
name = "example.com"
active = true
# Zone configuration
}

Main Arguments

ArgumentTypeRequiredDescription
namestringYesDNS zone name
activeboolNoWhether 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

ArgumentTypeRequiredDescription
zone_idstringYesDNS zone ID
namestringYesRecord name
typestringYesRecord type (A, AAAA, CNAME, etc.)
valuestringYesRecord value
ttlnumberNoRecord 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 zone
resource "azion_intelligent_dns_zone" "my_zone" {
name = "mydomain.com"
active = true
}
# Create A record
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
}
# Create CNAME record
resource "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 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
}