Generate Route 53, Azure DNS, and GCP Cloud DNS zone configs from your DNS records as CLI commands or Terraform HCL.
| Type | Name | Value | TTL | Priority | Alias | |
|---|---|---|---|---|---|---|
# Step 1: Get your hosted zone ID
# aws route53 list-hosted-zones --query "HostedZones[?Name=='example.com.'].Id" --output text
aws route53 change-resource-record-sets \
--hosted-zone-id $ZONE_ID \
--change-batch '{
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "A",
"TTL": 300,
"ResourceRecords": [
{
"Value": "1.2.3.4"
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "MX",
"TTL": 300,
"ResourceRecords": [
{
"Value": "10 mail.example.com."
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com.",
"Type": "TXT",
"TTL": 300,
"ResourceRecords": [
{
"Value": "\"v=spf1 include:_spf.google.com ~all\""
}
]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "www.example.com.",
"Type": "CNAME",
"TTL": 300,
"ResourceRecords": [
{
"Value": "example.com"
}
]
}
}
]
}'The Cloud DNS Zone Generator converts a table of DNS records into ready-to-run CLI commands or Terraform HCL for AWS Route 53, Azure DNS, and GCP Cloud DNS. Each provider has different CLI syntax, resource naming conventions, and Terraform provider schemas. This tool handles those differences so the same record table produces correct output for all three providers.
Enter your domain, select a provider, and build your record table using the type, name, value, TTL, and priority columns. Switch between CLI and Terraform tabs to get the appropriate output. Route 53 CLI output uses the change-resource-record-sets batch format. Azure CLI output calls az network dns record-set per record. GCP CLI uses gcloud dns record-sets transaction commands.
Route 53 Terraform uses a data source lookup for the hosted zone ID rather than a hardcoded value. Azure Terraform requires resource_group_name on every DNS resource; the generator includes azurerm_resource_group.main.name as the reference. GCP Terraform includes the google_dns_managed_zone resource that must exist before any record sets. ALIAS records (Route 53 only) generate an alias block instead of TTL and records fields.