From ed8e4a55c4579c2b400f4cc66e819d325a42d1e3 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 30 May 2022 20:58:41 -0500 Subject: [PATCH] Register hosts in Linode Managed DNS --- data.linode_domain.this.tf | 3 +++ output.instance.tf | 1 - resource.linode_domain_record.this_ipv4.tf | 6 ++++++ resource.linode_domain_record.this_ipv6.tf | 6 ++++++ resource.linode_rdns.this_ipv4.tf | 8 ++++++++ resource.linode_rdns.this_ipv6.tf | 8 ++++++++ 6 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 data.linode_domain.this.tf create mode 100644 resource.linode_domain_record.this_ipv4.tf create mode 100644 resource.linode_domain_record.this_ipv6.tf create mode 100644 resource.linode_rdns.this_ipv4.tf create mode 100644 resource.linode_rdns.this_ipv6.tf diff --git a/data.linode_domain.this.tf b/data.linode_domain.this.tf new file mode 100644 index 0000000..6ecc951 --- /dev/null +++ b/data.linode_domain.this.tf @@ -0,0 +1,3 @@ +data "linode_domain" "this" { + domain = var.domain_name +} diff --git a/output.instance.tf b/output.instance.tf index ede68e4..35e6bda 100644 --- a/output.instance.tf +++ b/output.instance.tf @@ -1,4 +1,3 @@ output "instance" { value = linode_instance.this } - diff --git a/resource.linode_domain_record.this_ipv4.tf b/resource.linode_domain_record.this_ipv4.tf new file mode 100644 index 0000000..746d080 --- /dev/null +++ b/resource.linode_domain_record.this_ipv4.tf @@ -0,0 +1,6 @@ +resource "linode_domain_record" "this_ipv4" { + domain_id = data.linode_domain.this.id + name = var.host_name + record_type = "A" + target = linode_instance.this.ip_address +} diff --git a/resource.linode_domain_record.this_ipv6.tf b/resource.linode_domain_record.this_ipv6.tf new file mode 100644 index 0000000..4eeffba --- /dev/null +++ b/resource.linode_domain_record.this_ipv6.tf @@ -0,0 +1,6 @@ +resource "linode_domain_record" "this_ipv6" { + domain_id = data.linode_domain.this.id + name = var.host_name + record_type = "AAAA" + target = element(split("/", linode_instance.this.ipv6), 0) +} diff --git a/resource.linode_rdns.this_ipv4.tf b/resource.linode_rdns.this_ipv4.tf new file mode 100644 index 0000000..79548d4 --- /dev/null +++ b/resource.linode_rdns.this_ipv4.tf @@ -0,0 +1,8 @@ +resource "linode_rdns" "this_ipv4" { + address = linode_instance.this.ip_address + depends_on = [ + linode_domain_record.this_ipv4, + ] + rdns = "${var.host_name}.${var.domain_name}" + wait_for_available = true +} diff --git a/resource.linode_rdns.this_ipv6.tf b/resource.linode_rdns.this_ipv6.tf new file mode 100644 index 0000000..678a508 --- /dev/null +++ b/resource.linode_rdns.this_ipv6.tf @@ -0,0 +1,8 @@ +resource "linode_rdns" "this_ipv6" { + address = element(split("/", linode_instance.this.ipv6), 0) + depends_on = [ + linode_domain_record.this_ipv6, + ] + rdns = "${var.host_name}.${var.domain_name}" + wait_for_available = true +}