UltraDNS Consul-Terraform-Sync module
Sample service block of Consul client HCL config:
# Service Block
service {
name = " client"
id = " client-host-1"
meta = {
zone_name = " zone.com"
owner_name = " www"
record_type = " A"
ttl = " 120"
}
}
Sample task block of CTS HCL config:
# Task Block
task {
name = " sample_task"
module = " ultradns/cts/ultradns"
variable_files = [" /var/lib/consul/terraform.tfvars" ]
condition "services" {
names = [" client" ]
}
}
Sample terraform.tfvars file for a CTS task:
ultradns_username = " username"
ultradns_password = " password"
ultradns_host_url = " https://api.ultradns.com/"
zone_name = " zone.com"
owner_name = " www"
record_type = " A"
ttl = 120
No modules.
Name
Description
Type
Default
Required
ultradns_username
UltraDNS username
string
n/a
yes
ultradns_password
UltraDNS password
string
n/a
yes
ultradns_host_url
UltraDNS hosturl
string
n/a
yes
zone_name
Name of the zone.
string
n/a
yes
owner_name
The domain name of the owner of the RRSet.
string
n/a
yes
record_type
Record type of the RRSet.Supported values are: A,AAAA,1,28.
string
A
no
record_data
The data for the record.
list(string)
n/a
yes
ttl
The time to live (in seconds) for the record.
number
120
no
services
Consul services monitored by Consul Terraform Sync
map( object({ id = string name = string address = string port = number meta = map(string) tags = list(string) namespace = string status = string node = string node_id = string node_address = string node_datacenter = string node_tagged_addresses = map(string) node_meta = map(string) }) )
n/a
yes
Name
Description
Type
services
Services record details
map( object({ id = string owner_name = string zone_name = string ttl = number record_type = string record_data = list(string) }) )