From 51616cedd2babee2d61f969d21a7730c93a7011e Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sun, 21 Dec 2025 10:19:07 -0600 Subject: [PATCH] cleanup/reorg --- terraform/.terraform.lock.hcl | 106 ++- terraform/dns_dnsimple_zones.tf | 0 terraform/dns_vntx_net.tf | 1102 +------------------------------ terraform/main.tf | 14 +- terraform/terraform.tfvars | 8 + terraform/variables.tf | 77 ++- terraform/vars.tf | 68 -- 7 files changed, 173 insertions(+), 1202 deletions(-) delete mode 100644 terraform/dns_dnsimple_zones.tf delete mode 100644 terraform/vars.tf diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl index 5241dba..461725b 100644 --- a/terraform/.terraform.lock.hcl +++ b/terraform/.terraform.lock.hcl @@ -2,54 +2,48 @@ # Manual edits may be lost in future updates. provider "registry.opentofu.org/cloudflare/cloudflare" { - version = "4.52.5" - constraints = "~> 4.0" + version = "5.15.0" + constraints = "~> 5.0" hashes = [ - "h1:+rfzF+16ZcWZWnTyW/p1HHTzYbPKX8Zt2nIFtR/+f+E=", - "zh:1a3400cb38863b2585968d1876706bcfc67a148e1318a1d325c6c7704adc999b", - "zh:4c5062cb9e9da1676f06ae92b8370186d98976cc4c7030d3cd76df12af54282a", - "zh:52110f493b5f0587ef77a1cfd1a67001fd4c617b14c6502d732ab47352bdc2f7", - "zh:5aa536f9eaeb43823aaf2aa80e7d39b25ef2b383405ed034aa16a28b446a9238", - "zh:5cc39459a1c6be8a918f17054e4fbba573825ed5597dcada588fe99614d98a5b", - "zh:629ae6a7ba298815131da826474d199312d21cec53a4d5ded4fa56a692e6f072", - "zh:719cc7c75dc1d3eb30c22ff5102a017996d9788b948078c7e1c5b3446aeca661", - "zh:8698635a3ca04383c1e93b21d6963346bdae54d27177a48e4b1435b7f731731c", - "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", - "zh:8a9993f1dcadf1dd6ca43b23348abe374605d29945a2fafc07fb3457644e6a54", - "zh:b1b9a1e6bcc24d5863a664a411d2dc906373ae7a2399d2d65548ce7377057852", - "zh:b270184cdeec277218e84b94cb136fead753da717f9b9dc378e51907f3f00bb0", - "zh:dff2bc10071210181726ce270f954995fe42c696e61e2e8f874021fed02521e5", - "zh:e8e87b40b6a87dc097b0fdc20d3f725cec0d82abc9cc3755c1f89f8f6e8b0036", - "zh:ee964a6573d399a5dd22ce328fb38ca1207797a02248f14b2e4913ee390e7803", + "h1:EY8mWQO1NTqXuxnZxwVppF7AiLRdx7vRLYk6O7yzgPs=", + "zh:20a72bdbb28435f11d165b367732369e8f8163100a214e89ad720dae03fafa0c", + "zh:2eabd7a51fd7aafcab9861631d85c895914857e4fcd6fe2dd80bac22e74a1f47", + "zh:62828afbc1ba0e0a64bbb7d5d42ae3c2fbbaabb793010b07eba770ba91bae94f", + "zh:6693f1021e52c34a629300fbcd91f8bd4ca386fda3b45aec746b9c200c28a42c", + "zh:6873a15454b289e5baecc1d36ce8997266438761386a320753c63f13407f4a6b", + "zh:afbf4e56b3a5e5950b35b02b553313e4a2008415920b23f536682269c64ca549", + "zh:db367612900bc2e5a01c6a325e4cff9b1b04960ce9de3dd41671dda5a627ca1d", + "zh:eb7365eafc6160c3b304a9ce6a598e5400a2e779e9e2bd27976df244f79f774f", + "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", ] } provider "registry.opentofu.org/dnsimple/dnsimple" { - version = "1.8.0" - constraints = "1.8.0" + version = "2.0.0" + constraints = "~> 2.0" hashes = [ - "h1:uxMck1OicFKHnTF6Fwe8es07LHE3k3nS5B7fzN99/fc=", - "zh:0852fd9523268b30fb637a03a0cb6d6a5878cbbf7e0e4219615c9ba073fbdf17", - "zh:0ac43193082dd467abad4937b0abb97ea349205726fc450cb3a94dc0db6e9a49", - "zh:10e4aad54c2d6cbd9328a1661d72a978357743eda7099a3f120a497119be4ff1", - "zh:211d481935dec36903928c51f5f4f15d98313f6d50649ea064bc20a4d6541678", - "zh:2705b5ebac4219449f9126cc19fa982cf0644e5df60d3d5254131d2e2d676afd", - "zh:27f0df80af6652e96f85a0856daa571af495d2119ab126199d6d5ab53f6eb887", - "zh:27fbb2fb69291a660d8e99ba960f01051b7fc28658f7932772ce7e80a42bd6e9", - "zh:3ecf20ead1f044f08ae9e411c9341d47319eb6af5d6543b58f2f6932c6b288b0", - "zh:635055f0af3eb27d30801aeead51d8b960c386f369a378fad7146350ec6b4d68", - "zh:7ca26f64221a9c6634a02296e30a87e3fffed1144ac57e0ae9a86a448f42d4ca", - "zh:895e0732da00942b2eb13c78673a9c9268e87e92a225999cddf2d13b823f3295", - "zh:b3806e5b687faf97ad8cb2a23e105729059693ae07a229fecef52da5279d7bd1", - "zh:c3c284a54aab3ddea2dba140af4a707ce077c9c2d9d34556902afdb25fe6ca8e", - "zh:d2539f2cc5960a55a53eaaa90248abfb3167275e34af7e93735ec4571eb879eb", + "h1:wWsupXlmlShs8m4C2dTaNcYTxFJtDipftKWlXk+jX1U=", + "zh:0fb015799f6d37323cdc2776eed67657721df24311bf5b458f7fcce65ec66dea", + "zh:533cd0f6edd4ed6610b324b39aa3abb5e84293a3aaa176042826f17f10a20557", + "zh:77d13ff083eeeb408822e885934925b9010462ca7601d35f2a1c2b0d5faf2f52", + "zh:9be63f37c98050a30e43066805ac70db3e3ddfcf03607c9c8d8d13ebd3503648", + "zh:a66a61ab90840b5ae9513f302f76e2348acb8bca50cb702e1f6fbcd24b1111fb", + "zh:b65d2f77f20a9587f169aaeccd8e12f07a713294fd687043ff041538c5da5cf9", + "zh:c24faaefb7f87050f1dfbf6c7a9a522df07ab97e9ce73d7fd20bce761d092076", + "zh:d0072167c5f52cd63e245d6b136a8e62979c0b0979fbea5a07015d5bfb6e7191", + "zh:d07dee2322cf12ffc439059f7f3a58a5d740fe7ad934f96b84b0be3257ee31cb", + "zh:d0c898dcc7d51427348d641474a74521c029d2cd9713f262e404f5fb36f4c3a5", + "zh:d9322e1a3dba21316713ada4b8de6c4090ca6b76b418ef55b85dbe7c0a578391", + "zh:e0e0b5f07293ff2c0ddb1c561dcb430924897022995006c4bb71719cf3995d9d", + "zh:e4eb3deac11f7798ea991fd044aec6a23592cbd887a7f3d1d415e8f553ba7b39", + "zh:f1d307fe43f3a8be6a97111dbe025ccd0bb4a5c8dadd54abc48adec8701336b1", "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", ] } provider "registry.opentofu.org/kyswtn/porkbun" { version = "0.1.3" - constraints = "0.1.3" + constraints = "~> 0.1" hashes = [ "h1:9PQILbIAiWdXCl+alkJ66h0uPm8wMgKfFaowJ2W3GB8=", "zh:162faaf9378691e126a02c913df206a04d9529a24dfb9db8de306932e01666ec", @@ -72,7 +66,7 @@ provider "registry.opentofu.org/kyswtn/porkbun" { provider "registry.opentofu.org/pan-net/powerdns" { version = "1.5.0" - constraints = "1.5.0" + constraints = "~> 1.5" hashes = [ "h1:oMzrqQGFY88Cwx06YkFHP6io3jow/22FRZkeK0UZtGY=", "zh:02d1a87c28635779f66d1dcf165b5f16530f809deb6c71c35c3e58d715a88bf4", @@ -92,25 +86,25 @@ provider "registry.opentofu.org/pan-net/powerdns" { } provider "registry.opentofu.org/vultr/vultr" { - version = "2.27.1" - constraints = "~> 2.0" + version = "2.28.0" + constraints = "~> 2.28" hashes = [ - "h1:03veypY7WtdR3vHzy2/j6M0Zmuo7IyfwkqqqM6hLjWw=", - "zh:258d785a466690a8fb4e9b66ded5bcfe2278f9f5405a2378c0b4f7c4d36e0c8a", - "zh:2e41bdbde0dfe3c2efad5a758242afb5f4ffd2a4011c0116273f261153350416", - "zh:337f57803fc981dfbfa3cc33a1da815d16b32f410ee5ebf3ca23e3f99a5c2fbd", - "zh:4c3147de502d1189f6c5b344fab0529ecfc72a1c55c97813610d9e165c409c36", - "zh:5ab1c11d5db6752e5f191bd5a353445beb3644d8abcfe69235cc72ae735827bf", - "zh:5dbae73ff2a059ba1bbcf8c76ccf877bb44c53028ae407b3bdf00c6be9c50426", - "zh:6b17163945bddb89d24ef5cb9af1efb9d189add0a75f6621cf1a2b86ad156e44", - "zh:8aee9d6ae2a087bdb925b527c702fd3dae66e82cf18abecce128e0ba483064a8", - "zh:914453131253e1a68b2a7f0241abd181ddd2ddc9b2a4487f4710121f33a1cf29", - "zh:9dd846e7c06f0fba3705dc113b358a5d735c53b624c13561cf2e79ffe0d65d1a", - "zh:beae990bf06a283255a2448b600bdc5b341fa0ce4f2b236046f73eb227053f7e", - "zh:c9acfb9285eb51fbdaa8de1b56b6816e233b86124442e9f49982b2b8ae8de246", - "zh:ea9f66cd35f7422ec2c29d09160d6621063e3c3fa64f24a5210c21413c7d62d3", - "zh:eaf35df48d717879da8b0a962dea13e7d1926f016a27e0f32c11272d68fbac5d", - "zh:f1ee0ad592060cc9d69270a10b44f508414c029ce5859b760e59c11a1b3c0d43", - "zh:ff6ffae0eed9953dd68939f484460a58670c881fb9b7d828352b142dced662f7", + "h1:YLj0Kd8/HXNJJWMJ2Uq46r97SePDlGsLjor3Giqr3l0=", + "zh:081b2517a23293849982d756200ccc5e3e6414b13364ff69433cfc9231f512c5", + "zh:1c347a05b0be1b6756a8c2e166520fb39eaa2c3f44e57c2702aa58bd8b65bcef", + "zh:204eb6826ae12b56991cab3731ba08e13d87c7fe31e246df59342570fb616df0", + "zh:60fccc6b46623eb4c4f27590dcc12874ca50cbcc6d73d7c117ef54a1e8de5cb2", + "zh:623fccedab77a40ea1e48ab90dc13edb85d0e57c12ebb2dda63e7454fd08dd81", + "zh:6cb057b6829f9654a77f5f4e9c97193180ca956d0f8760b3d484f521701aa814", + "zh:8c7192c66096b895a944913d7414f541cd0b300052df86856ce408d50bec3f68", + "zh:97f8cc46937237a3272aa30799ddab9972cae804ec8e7fcc850f0b2dd7ab2884", + "zh:9848294291468e520a0a8032079afd747ea7157eba614b3b18c89f226a25f93f", + "zh:a2f971d3a30d7e3952f8439a94f880f739b03645bc617d7e3acc3771da426148", + "zh:ad5d4fd1f24d23f51c8bd1f45d0be9edefba9175702bccff5fa9007247c6e48f", + "zh:b65aedaaaf75898d61e2c7d6909011103d716f7df5da13d355033f749626f03c", + "zh:d9f9bd59d911bc7eb2a08bbeb5f4a04db1e7afcf0ebf18fab16a9c8a6133af16", + "zh:e3a1cd0022c4d48706ee2c5cf4d88f1d7684b24070225fbb1b21e61ae19dcf54", + "zh:f1bbef24eb56b38f3f54673087dd2de10ca871df1f8752e7630bbd11bb00dcc8", + "zh:f6559ec45a1aee36f431e1f42a09fe7a6b0751c4c1036fe56edfc174478548da", ] } diff --git a/terraform/dns_dnsimple_zones.tf b/terraform/dns_dnsimple_zones.tf deleted file mode 100644 index e69de29..0000000 diff --git a/terraform/dns_vntx_net.tf b/terraform/dns_vntx_net.tf index e0c16c0..1931792 100644 --- a/terraform/dns_vntx_net.tf +++ b/terraform/dns_vntx_net.tf @@ -8,1032 +8,20 @@ resource "powerdns_record" "vntx_net_soa" { records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "powerdns_record" "vntx_a_records" { - for_each = { - # Subnet: 204.110.188.0/24 - "1.188.client" = "204.110.188.1" - "2.188.client" = "204.110.188.2" - "3.188.client" = "204.110.188.3" - "4.188.client" = "204.110.188.4" - "5.188.client" = "204.110.188.5" - "6.188.client" = "204.110.188.6" - "7.188.client" = "204.110.188.7" - "8.188.client" = "204.110.188.8" - "9.188.client" = "204.110.188.9" - "10.188.client" = "204.110.188.10" - "11.188.client" = "204.110.188.11" - "12.188.client" = "204.110.188.12" - "13.188.client" = "204.110.188.13" - "14.188.client" = "204.110.188.14" - "15.188.client" = "204.110.188.15" - "16.188.client" = "204.110.188.16" - "17.188.client" = "204.110.188.17" - "18.188.client" = "204.110.188.18" - "19.188.client" = "204.110.188.19" - "20.188.client" = "204.110.188.20" - "21.188.client" = "204.110.188.21" - "22.188.client" = "204.110.188.22" - "23.188.client" = "204.110.188.23" - "24.188.client" = "204.110.188.24" - "25.188.client" = "204.110.188.25" - "26.188.client" = "204.110.188.26" - "27.188.client" = "204.110.188.27" - "28.188.client" = "204.110.188.28" - "29.188.client" = "204.110.188.29" - "30.188.client" = "204.110.188.30" - "31.188.client" = "204.110.188.31" - "32.188.client" = "204.110.188.32" - "33.188.client" = "204.110.188.33" - "34.188.client" = "204.110.188.34" - "35.188.client" = "204.110.188.35" - "36.188.client" = "204.110.188.36" - "37.188.client" = "204.110.188.37" - "38.188.client" = "204.110.188.38" - "39.188.client" = "204.110.188.39" - "40.188.client" = "204.110.188.40" - "41.188.client" = "204.110.188.41" - "42.188.client" = "204.110.188.42" - "43.188.client" = "204.110.188.43" - "44.188.client" = "204.110.188.44" - "45.188.client" = "204.110.188.45" - "46.188.client" = "204.110.188.46" - "47.188.client" = "204.110.188.47" - "48.188.client" = "204.110.188.48" - "49.188.client" = "204.110.188.49" - "50.188.client" = "204.110.188.50" - "51.188.client" = "204.110.188.51" - "52.188.client" = "204.110.188.52" - "53.188.client" = "204.110.188.53" - "54.188.client" = "204.110.188.54" - "55.188.client" = "204.110.188.55" - "56.188.client" = "204.110.188.56" - "57.188.client" = "204.110.188.57" - "58.188.client" = "204.110.188.58" - "59.188.client" = "204.110.188.59" - "60.188.client" = "204.110.188.60" - "61.188.client" = "204.110.188.61" - "62.188.client" = "204.110.188.62" - "63.188.client" = "204.110.188.63" - "64.188.client" = "204.110.188.64" - "65.188.client" = "204.110.188.65" - "66.188.client" = "204.110.188.66" - "67.188.client" = "204.110.188.67" - "68.188.client" = "204.110.188.68" - "69.188.client" = "204.110.188.69" - "70.188.client" = "204.110.188.70" - "71.188.client" = "204.110.188.71" - "72.188.client" = "204.110.188.72" - "73.188.client" = "204.110.188.73" - "74.188.client" = "204.110.188.74" - "75.188.client" = "204.110.188.75" - "76.188.client" = "204.110.188.76" - "77.188.client" = "204.110.188.77" - "78.188.client" = "204.110.188.78" - "79.188.client" = "204.110.188.79" - "80.188.client" = "204.110.188.80" - "81.188.client" = "204.110.188.81" - "82.188.client" = "204.110.188.82" - "83.188.client" = "204.110.188.83" - "84.188.client" = "204.110.188.84" - "85.188.client" = "204.110.188.85" - "86.188.client" = "204.110.188.86" - "87.188.client" = "204.110.188.87" - "88.188.client" = "204.110.188.88" - "89.188.client" = "204.110.188.89" - "90.188.client" = "204.110.188.90" - "91.188.client" = "204.110.188.91" - "92.188.client" = "204.110.188.92" - "93.188.client" = "204.110.188.93" - "94.188.client" = "204.110.188.94" - "95.188.client" = "204.110.188.95" - "96.188.client" = "204.110.188.96" - "97.188.client" = "204.110.188.97" - "98.188.client" = "204.110.188.98" - "99.188.client" = "204.110.188.99" - "100.188.client" = "204.110.188.100" - "101.188.client" = "204.110.188.101" - "102.188.client" = "204.110.188.102" - "103.188.client" = "204.110.188.103" - "104.188.client" = "204.110.188.104" - "105.188.client" = "204.110.188.105" - "106.188.client" = "204.110.188.106" - "107.188.client" = "204.110.188.107" - "108.188.client" = "204.110.188.108" - "109.188.client" = "204.110.188.109" - "110.188.client" = "204.110.188.110" - "111.188.client" = "204.110.188.111" - "112.188.client" = "204.110.188.112" - "113.188.client" = "204.110.188.113" - "114.188.client" = "204.110.188.114" - "115.188.client" = "204.110.188.115" - "116.188.client" = "204.110.188.116" - "117.188.client" = "204.110.188.117" - "118.188.client" = "204.110.188.118" - "119.188.client" = "204.110.188.119" - "120.188.client" = "204.110.188.120" - "121.188.client" = "204.110.188.121" - "122.188.client" = "204.110.188.122" - "123.188.client" = "204.110.188.123" - "124.188.client" = "204.110.188.124" - "125.188.client" = "204.110.188.125" - "126.188.client" = "204.110.188.126" - "127.188.client" = "204.110.188.127" - "128.188.client" = "204.110.188.128" - "129.188.client" = "204.110.188.129" - "130.188.client" = "204.110.188.130" - "131.188.client" = "204.110.188.131" - "132.188.client" = "204.110.188.132" - "133.188.client" = "204.110.188.133" - "134.188.client" = "204.110.188.134" - "135.188.client" = "204.110.188.135" - "136.188.client" = "204.110.188.136" - "137.188.client" = "204.110.188.137" - "138.188.client" = "204.110.188.138" - "139.188.client" = "204.110.188.139" - "140.188.client" = "204.110.188.140" - "141.188.client" = "204.110.188.141" - "142.188.client" = "204.110.188.142" - "143.188.client" = "204.110.188.143" - "144.188.client" = "204.110.188.144" - "145.188.client" = "204.110.188.145" - "146.188.client" = "204.110.188.146" - "147.188.client" = "204.110.188.147" - "148.188.client" = "204.110.188.148" - "149.188.client" = "204.110.188.149" - "150.188.client" = "204.110.188.150" - "151.188.client" = "204.110.188.151" - "152.188.client" = "204.110.188.152" - "153.188.client" = "204.110.188.153" - "154.188.client" = "204.110.188.154" - "155.188.client" = "204.110.188.155" - "156.188.client" = "204.110.188.156" - "157.188.client" = "204.110.188.157" - "158.188.client" = "204.110.188.158" - "159.188.client" = "204.110.188.159" - "160.188.client" = "204.110.188.160" - "161.188.client" = "204.110.188.161" - "162.188.client" = "204.110.188.162" - "163.188.client" = "204.110.188.163" - "164.188.client" = "204.110.188.164" - "165.188.client" = "204.110.188.165" - "166.188.client" = "204.110.188.166" - "167.188.client" = "204.110.188.167" - "168.188.client" = "204.110.188.168" - "169.188.client" = "204.110.188.169" - "170.188.client" = "204.110.188.170" - "171.188.client" = "204.110.188.171" - "172.188.client" = "204.110.188.172" - "173.188.client" = "204.110.188.173" - "174.188.client" = "204.110.188.174" - "175.188.client" = "204.110.188.175" - "176.188.client" = "204.110.188.176" - "177.188.client" = "204.110.188.177" - "178.188.client" = "204.110.188.178" - "179.188.client" = "204.110.188.179" - "180.188.client" = "204.110.188.180" - "181.188.client" = "204.110.188.181" - "182.188.client" = "204.110.188.182" - "183.188.client" = "204.110.188.183" - "184.188.client" = "204.110.188.184" - "185.188.client" = "204.110.188.185" - "186.188.client" = "204.110.188.186" - "187.188.client" = "204.110.188.187" - "188.188.client" = "204.110.188.188" - "189.188.client" = "204.110.188.189" - "190.188.client" = "204.110.188.190" - "191.188.client" = "204.110.188.191" - "192.188.client" = "204.110.188.192" - "193.188.client" = "204.110.188.193" - "194.188.client" = "204.110.188.194" - "195.188.client" = "204.110.188.195" - "196.188.client" = "204.110.188.196" - "197.188.client" = "204.110.188.197" - "198.188.client" = "204.110.188.198" - "199.188.client" = "204.110.188.199" - "200.188.client" = "204.110.188.200" - "201.188.client" = "204.110.188.201" - "202.188.client" = "204.110.188.202" - "203.188.client" = "204.110.188.203" - "204.188.client" = "204.110.188.204" - "205.188.client" = "204.110.188.205" - "206.188.client" = "204.110.188.206" - "207.188.client" = "204.110.188.207" - "208.188.client" = "204.110.188.208" - "209.188.client" = "204.110.188.209" - "210.188.client" = "204.110.188.210" - "211.188.client" = "204.110.188.211" - "212.188.client" = "204.110.188.212" - "213.188.client" = "204.110.188.213" - "214.188.client" = "204.110.188.214" - "215.188.client" = "204.110.188.215" - "216.188.client" = "204.110.188.216" - "217.188.client" = "204.110.188.217" - "218.188.client" = "204.110.188.218" - "219.188.client" = "204.110.188.219" - "220.188.client" = "204.110.188.220" - "221.188.client" = "204.110.188.221" - "222.188.client" = "204.110.188.222" - "223.188.client" = "204.110.188.223" - "224.188.client" = "204.110.188.224" - "225.188.client" = "204.110.188.225" - "226.188.client" = "204.110.188.226" - "227.188.client" = "204.110.188.227" - "228.188.client" = "204.110.188.228" - "229.188.client" = "204.110.188.229" - "230.188.client" = "204.110.188.230" - "231.188.client" = "204.110.188.231" - "232.188.client" = "204.110.188.232" - "233.188.client" = "204.110.188.233" - "234.188.client" = "204.110.188.234" - "235.188.client" = "204.110.188.235" - "236.188.client" = "204.110.188.236" - "237.188.client" = "204.110.188.237" - "238.188.client" = "204.110.188.238" - "239.188.client" = "204.110.188.239" - "240.188.client" = "204.110.188.240" - "241.188.client" = "204.110.188.241" - "242.188.client" = "204.110.188.242" - "243.188.client" = "204.110.188.243" - "244.188.client" = "204.110.188.244" - "245.188.client" = "204.110.188.245" - "246.188.client" = "204.110.188.246" - "247.188.client" = "204.110.188.247" - "248.188.client" = "204.110.188.248" - "249.188.client" = "204.110.188.249" - "250.188.client" = "204.110.188.250" - "251.188.client" = "204.110.188.251" - "252.188.client" = "204.110.188.252" - "253.188.client" = "204.110.188.253" - "254.188.client" = "204.110.188.254" +# Generate client IP records dynamically +locals { + # Subnets to create client records for + vntx_subnets = [188, 189, 190, 191] - # Subnet: 204.110.189.0/24 - "1.189.client" = "204.110.189.1" - "2.189.client" = "204.110.189.2" - "3.189.client" = "204.110.189.3" - "4.189.client" = "204.110.189.4" - "5.189.client" = "204.110.189.5" - "6.189.client" = "204.110.189.6" - "7.189.client" = "204.110.189.7" - "8.189.client" = "204.110.189.8" - "9.189.client" = "204.110.189.9" - "10.189.client" = "204.110.189.10" - "11.189.client" = "204.110.189.11" - "12.189.client" = "204.110.189.12" - "13.189.client" = "204.110.189.13" - "14.189.client" = "204.110.189.14" - "15.189.client" = "204.110.189.15" - "16.189.client" = "204.110.189.16" - "17.189.client" = "204.110.189.17" - "18.189.client" = "204.110.189.18" - "19.189.client" = "204.110.189.19" - "20.189.client" = "204.110.189.20" - "21.189.client" = "204.110.189.21" - "22.189.client" = "204.110.189.22" - "23.189.client" = "204.110.189.23" - "24.189.client" = "204.110.189.24" - "25.189.client" = "204.110.189.25" - "26.189.client" = "204.110.189.26" - "27.189.client" = "204.110.189.27" - "28.189.client" = "204.110.189.28" - "29.189.client" = "204.110.189.29" - "30.189.client" = "204.110.189.30" - "31.189.client" = "204.110.189.31" - "32.189.client" = "204.110.189.32" - "33.189.client" = "204.110.189.33" - "34.189.client" = "204.110.189.34" - "35.189.client" = "204.110.189.35" - "36.189.client" = "204.110.189.36" - "37.189.client" = "204.110.189.37" - "38.189.client" = "204.110.189.38" - "39.189.client" = "204.110.189.39" - "40.189.client" = "204.110.189.40" - "41.189.client" = "204.110.189.41" - "42.189.client" = "204.110.189.42" - "43.189.client" = "204.110.189.43" - "44.189.client" = "204.110.189.44" - "45.189.client" = "204.110.189.45" - "46.189.client" = "204.110.189.46" - "47.189.client" = "204.110.189.47" - "48.189.client" = "204.110.189.48" - "49.189.client" = "204.110.189.49" - "50.189.client" = "204.110.189.50" - "51.189.client" = "204.110.189.51" - "52.189.client" = "204.110.189.52" - "53.189.client" = "204.110.189.53" - "54.189.client" = "204.110.189.54" - "55.189.client" = "204.110.189.55" - "56.189.client" = "204.110.189.56" - "57.189.client" = "204.110.189.57" - "58.189.client" = "204.110.189.58" - "59.189.client" = "204.110.189.59" - "60.189.client" = "204.110.189.60" - "61.189.client" = "204.110.189.61" - "62.189.client" = "204.110.189.62" - "63.189.client" = "204.110.189.63" - "64.189.client" = "204.110.189.64" - "65.189.client" = "204.110.189.65" - "66.189.client" = "204.110.189.66" - "67.189.client" = "204.110.189.67" - "68.189.client" = "204.110.189.68" - "69.189.client" = "204.110.189.69" - "70.189.client" = "204.110.189.70" - "71.189.client" = "204.110.189.71" - "72.189.client" = "204.110.189.72" - "73.189.client" = "204.110.189.73" - "74.189.client" = "204.110.189.74" - "75.189.client" = "204.110.189.75" - "76.189.client" = "204.110.189.76" - "77.189.client" = "204.110.189.77" - "78.189.client" = "204.110.189.78" - "79.189.client" = "204.110.189.79" - "80.189.client" = "204.110.189.80" - "81.189.client" = "204.110.189.81" - "82.189.client" = "204.110.189.82" - "83.189.client" = "204.110.189.83" - "84.189.client" = "204.110.189.84" - "85.189.client" = "204.110.189.85" - "86.189.client" = "204.110.189.86" - "87.189.client" = "204.110.189.87" - "88.189.client" = "204.110.189.88" - "89.189.client" = "204.110.189.89" - "90.189.client" = "204.110.189.90" - "91.189.client" = "204.110.189.91" - "92.189.client" = "204.110.189.92" - "93.189.client" = "204.110.189.93" - "94.189.client" = "204.110.189.94" - "95.189.client" = "204.110.189.95" - "96.189.client" = "204.110.189.96" - "97.189.client" = "204.110.189.97" - "98.189.client" = "204.110.189.98" - "99.189.client" = "204.110.189.99" - "100.189.client" = "204.110.189.100" - "101.189.client" = "204.110.189.101" - "102.189.client" = "204.110.189.102" - "103.189.client" = "204.110.189.103" - "104.189.client" = "204.110.189.104" - "105.189.client" = "204.110.189.105" - "106.189.client" = "204.110.189.106" - "107.189.client" = "204.110.189.107" - "108.189.client" = "204.110.189.108" - "109.189.client" = "204.110.189.109" - "110.189.client" = "204.110.189.110" - "111.189.client" = "204.110.189.111" - "112.189.client" = "204.110.189.112" - "113.189.client" = "204.110.189.113" - "114.189.client" = "204.110.189.114" - "115.189.client" = "204.110.189.115" - "116.189.client" = "204.110.189.116" - "117.189.client" = "204.110.189.117" - "118.189.client" = "204.110.189.118" - "119.189.client" = "204.110.189.119" - "120.189.client" = "204.110.189.120" - "121.189.client" = "204.110.189.121" - "122.189.client" = "204.110.189.122" - "123.189.client" = "204.110.189.123" - "124.189.client" = "204.110.189.124" - "125.189.client" = "204.110.189.125" - "126.189.client" = "204.110.189.126" - "127.189.client" = "204.110.189.127" - "128.189.client" = "204.110.189.128" - "129.189.client" = "204.110.189.129" - "130.189.client" = "204.110.189.130" - "131.189.client" = "204.110.189.131" - "132.189.client" = "204.110.189.132" - "133.189.client" = "204.110.189.133" - "134.189.client" = "204.110.189.134" - "135.189.client" = "204.110.189.135" - "136.189.client" = "204.110.189.136" - "137.189.client" = "204.110.189.137" - "138.189.client" = "204.110.189.138" - "139.189.client" = "204.110.189.139" - "140.189.client" = "204.110.189.140" - "141.189.client" = "204.110.189.141" - "142.189.client" = "204.110.189.142" - "143.189.client" = "204.110.189.143" - "144.189.client" = "204.110.189.144" - "145.189.client" = "204.110.189.145" - "146.189.client" = "204.110.189.146" - "147.189.client" = "204.110.189.147" - "148.189.client" = "204.110.189.148" - "149.189.client" = "204.110.189.149" - "150.189.client" = "204.110.189.150" - "151.189.client" = "204.110.189.151" - "152.189.client" = "204.110.189.152" - "153.189.client" = "204.110.189.153" - "154.189.client" = "204.110.189.154" - "155.189.client" = "204.110.189.155" - "156.189.client" = "204.110.189.156" - "157.189.client" = "204.110.189.157" - "158.189.client" = "204.110.189.158" - "159.189.client" = "204.110.189.159" - "160.189.client" = "204.110.189.160" - "161.189.client" = "204.110.189.161" - "162.189.client" = "204.110.189.162" - "163.189.client" = "204.110.189.163" - "164.189.client" = "204.110.189.164" - "165.189.client" = "204.110.189.165" - "166.189.client" = "204.110.189.166" - "167.189.client" = "204.110.189.167" - "168.189.client" = "204.110.189.168" - "169.189.client" = "204.110.189.169" - "170.189.client" = "204.110.189.170" - "171.189.client" = "204.110.189.171" - "172.189.client" = "204.110.189.172" - "173.189.client" = "204.110.189.173" - "174.189.client" = "204.110.189.174" - "175.189.client" = "204.110.189.175" - "176.189.client" = "204.110.189.176" - "177.189.client" = "204.110.189.177" - "178.189.client" = "204.110.189.178" - "179.189.client" = "204.110.189.179" - "180.189.client" = "204.110.189.180" - "181.189.client" = "204.110.189.181" - "182.189.client" = "204.110.189.182" - "183.189.client" = "204.110.189.183" - "184.189.client" = "204.110.189.184" - "185.189.client" = "204.110.189.185" - "186.189.client" = "204.110.189.186" - "187.189.client" = "204.110.189.187" - "188.189.client" = "204.110.189.188" - "189.189.client" = "204.110.189.189" - "190.189.client" = "204.110.189.190" - "191.189.client" = "204.110.189.191" - "192.189.client" = "204.110.189.192" - "193.189.client" = "204.110.189.193" - "194.189.client" = "204.110.189.194" - "195.189.client" = "204.110.189.195" - "196.189.client" = "204.110.189.196" - "197.189.client" = "204.110.189.197" - "198.189.client" = "204.110.189.198" - "199.189.client" = "204.110.189.199" - "200.189.client" = "204.110.189.200" - "201.189.client" = "204.110.189.201" - "202.189.client" = "204.110.189.202" - "203.189.client" = "204.110.189.203" - "204.189.client" = "204.110.189.204" - "205.189.client" = "204.110.189.205" - "206.189.client" = "204.110.189.206" - "207.189.client" = "204.110.189.207" - "208.189.client" = "204.110.189.208" - "209.189.client" = "204.110.189.209" - "210.189.client" = "204.110.189.210" - "211.189.client" = "204.110.189.211" - "212.189.client" = "204.110.189.212" - "213.189.client" = "204.110.189.213" - "214.189.client" = "204.110.189.214" - "215.189.client" = "204.110.189.215" - "216.189.client" = "204.110.189.216" - "217.189.client" = "204.110.189.217" - "218.189.client" = "204.110.189.218" - "219.189.client" = "204.110.189.219" - "220.189.client" = "204.110.189.220" - "221.189.client" = "204.110.189.221" - "222.189.client" = "204.110.189.222" - "223.189.client" = "204.110.189.223" - "224.189.client" = "204.110.189.224" - "225.189.client" = "204.110.189.225" - "226.189.client" = "204.110.189.226" - "227.189.client" = "204.110.189.227" - "228.189.client" = "204.110.189.228" - "229.189.client" = "204.110.189.229" - "230.189.client" = "204.110.189.230" - "231.189.client" = "204.110.189.231" - "232.189.client" = "204.110.189.232" - "233.189.client" = "204.110.189.233" - "234.189.client" = "204.110.189.234" - "235.189.client" = "204.110.189.235" - "236.189.client" = "204.110.189.236" - "237.189.client" = "204.110.189.237" - "238.189.client" = "204.110.189.238" - "239.189.client" = "204.110.189.239" - "240.189.client" = "204.110.189.240" - "241.189.client" = "204.110.189.241" - "242.189.client" = "204.110.189.242" - "243.189.client" = "204.110.189.243" - "244.189.client" = "204.110.189.244" - "245.189.client" = "204.110.189.245" - "246.189.client" = "204.110.189.246" - "247.189.client" = "204.110.189.247" - "248.189.client" = "204.110.189.248" - "249.189.client" = "204.110.189.249" - "250.189.client" = "204.110.189.250" - "251.189.client" = "204.110.189.251" - "252.189.client" = "204.110.189.252" - "253.189.client" = "204.110.189.253" - "254.189.client" = "204.110.189.254" - - # Subnet: 204.110.190.0/24 - "1.190.client" = "204.110.190.1" - "2.190.client" = "204.110.190.2" - "3.190.client" = "204.110.190.3" - "4.190.client" = "204.110.190.4" - "5.190.client" = "204.110.190.5" - "6.190.client" = "204.110.190.6" - "7.190.client" = "204.110.190.7" - "8.190.client" = "204.110.190.8" - "9.190.client" = "204.110.190.9" - "10.190.client" = "204.110.190.10" - "11.190.client" = "204.110.190.11" - "12.190.client" = "204.110.190.12" - "13.190.client" = "204.110.190.13" - "14.190.client" = "204.110.190.14" - "15.190.client" = "204.110.190.15" - "16.190.client" = "204.110.190.16" - "17.190.client" = "204.110.190.17" - "18.190.client" = "204.110.190.18" - "19.190.client" = "204.110.190.19" - "20.190.client" = "204.110.190.20" - "21.190.client" = "204.110.190.21" - "22.190.client" = "204.110.190.22" - "23.190.client" = "204.110.190.23" - "24.190.client" = "204.110.190.24" - "25.190.client" = "204.110.190.25" - "26.190.client" = "204.110.190.26" - "27.190.client" = "204.110.190.27" - "28.190.client" = "204.110.190.28" - "29.190.client" = "204.110.190.29" - "30.190.client" = "204.110.190.30" - "31.190.client" = "204.110.190.31" - "32.190.client" = "204.110.190.32" - "33.190.client" = "204.110.190.33" - "34.190.client" = "204.110.190.34" - "35.190.client" = "204.110.190.35" - "36.190.client" = "204.110.190.36" - "37.190.client" = "204.110.190.37" - "38.190.client" = "204.110.190.38" - "39.190.client" = "204.110.190.39" - "40.190.client" = "204.110.190.40" - "41.190.client" = "204.110.190.41" - "42.190.client" = "204.110.190.42" - "43.190.client" = "204.110.190.43" - "44.190.client" = "204.110.190.44" - "45.190.client" = "204.110.190.45" - "46.190.client" = "204.110.190.46" - "47.190.client" = "204.110.190.47" - "48.190.client" = "204.110.190.48" - "49.190.client" = "204.110.190.49" - "50.190.client" = "204.110.190.50" - "51.190.client" = "204.110.190.51" - "52.190.client" = "204.110.190.52" - "53.190.client" = "204.110.190.53" - "54.190.client" = "204.110.190.54" - "55.190.client" = "204.110.190.55" - "56.190.client" = "204.110.190.56" - "57.190.client" = "204.110.190.57" - "58.190.client" = "204.110.190.58" - "59.190.client" = "204.110.190.59" - "60.190.client" = "204.110.190.60" - "61.190.client" = "204.110.190.61" - "62.190.client" = "204.110.190.62" - "63.190.client" = "204.110.190.63" - "64.190.client" = "204.110.190.64" - "65.190.client" = "204.110.190.65" - "66.190.client" = "204.110.190.66" - "67.190.client" = "204.110.190.67" - "68.190.client" = "204.110.190.68" - "69.190.client" = "204.110.190.69" - "70.190.client" = "204.110.190.70" - "71.190.client" = "204.110.190.71" - "72.190.client" = "204.110.190.72" - "73.190.client" = "204.110.190.73" - "74.190.client" = "204.110.190.74" - "75.190.client" = "204.110.190.75" - "76.190.client" = "204.110.190.76" - "77.190.client" = "204.110.190.77" - "78.190.client" = "204.110.190.78" - "79.190.client" = "204.110.190.79" - "80.190.client" = "204.110.190.80" - "81.190.client" = "204.110.190.81" - "82.190.client" = "204.110.190.82" - "83.190.client" = "204.110.190.83" - "84.190.client" = "204.110.190.84" - "85.190.client" = "204.110.190.85" - "86.190.client" = "204.110.190.86" - "87.190.client" = "204.110.190.87" - "88.190.client" = "204.110.190.88" - "89.190.client" = "204.110.190.89" - "90.190.client" = "204.110.190.90" - "91.190.client" = "204.110.190.91" - "92.190.client" = "204.110.190.92" - "93.190.client" = "204.110.190.93" - "94.190.client" = "204.110.190.94" - "95.190.client" = "204.110.190.95" - "96.190.client" = "204.110.190.96" - "97.190.client" = "204.110.190.97" - "98.190.client" = "204.110.190.98" - "99.190.client" = "204.110.190.99" - "100.190.client" = "204.110.190.100" - "101.190.client" = "204.110.190.101" - "102.190.client" = "204.110.190.102" - "103.190.client" = "204.110.190.103" - "104.190.client" = "204.110.190.104" - "105.190.client" = "204.110.190.105" - "106.190.client" = "204.110.190.106" - "107.190.client" = "204.110.190.107" - "108.190.client" = "204.110.190.108" - "109.190.client" = "204.110.190.109" - "110.190.client" = "204.110.190.110" - "111.190.client" = "204.110.190.111" - "112.190.client" = "204.110.190.112" - "113.190.client" = "204.110.190.113" - "114.190.client" = "204.110.190.114" - "115.190.client" = "204.110.190.115" - "116.190.client" = "204.110.190.116" - "117.190.client" = "204.110.190.117" - "118.190.client" = "204.110.190.118" - "119.190.client" = "204.110.190.119" - "120.190.client" = "204.110.190.120" - "121.190.client" = "204.110.190.121" - "122.190.client" = "204.110.190.122" - "123.190.client" = "204.110.190.123" - "124.190.client" = "204.110.190.124" - "125.190.client" = "204.110.190.125" - "126.190.client" = "204.110.190.126" - "127.190.client" = "204.110.190.127" - "128.190.client" = "204.110.190.128" - "129.190.client" = "204.110.190.129" - "130.190.client" = "204.110.190.130" - "131.190.client" = "204.110.190.131" - "132.190.client" = "204.110.190.132" - "133.190.client" = "204.110.190.133" - "134.190.client" = "204.110.190.134" - "135.190.client" = "204.110.190.135" - "136.190.client" = "204.110.190.136" - "137.190.client" = "204.110.190.137" - "138.190.client" = "204.110.190.138" - "139.190.client" = "204.110.190.139" - "140.190.client" = "204.110.190.140" - "141.190.client" = "204.110.190.141" - "142.190.client" = "204.110.190.142" - "143.190.client" = "204.110.190.143" - "144.190.client" = "204.110.190.144" - "145.190.client" = "204.110.190.145" - "146.190.client" = "204.110.190.146" - "147.190.client" = "204.110.190.147" - "148.190.client" = "204.110.190.148" - "149.190.client" = "204.110.190.149" - "150.190.client" = "204.110.190.150" - "151.190.client" = "204.110.190.151" - "152.190.client" = "204.110.190.152" - "153.190.client" = "204.110.190.153" - "154.190.client" = "204.110.190.154" - "155.190.client" = "204.110.190.155" - "156.190.client" = "204.110.190.156" - "157.190.client" = "204.110.190.157" - "158.190.client" = "204.110.190.158" - "159.190.client" = "204.110.190.159" - "160.190.client" = "204.110.190.160" - "161.190.client" = "204.110.190.161" - "162.190.client" = "204.110.190.162" - "163.190.client" = "204.110.190.163" - "164.190.client" = "204.110.190.164" - "165.190.client" = "204.110.190.165" - "166.190.client" = "204.110.190.166" - "167.190.client" = "204.110.190.167" - "168.190.client" = "204.110.190.168" - "169.190.client" = "204.110.190.169" - "170.190.client" = "204.110.190.170" - "171.190.client" = "204.110.190.171" - "172.190.client" = "204.110.190.172" - "173.190.client" = "204.110.190.173" - "174.190.client" = "204.110.190.174" - "175.190.client" = "204.110.190.175" - "176.190.client" = "204.110.190.176" - "177.190.client" = "204.110.190.177" - "178.190.client" = "204.110.190.178" - "179.190.client" = "204.110.190.179" - "180.190.client" = "204.110.190.180" - "181.190.client" = "204.110.190.181" - "182.190.client" = "204.110.190.182" - "183.190.client" = "204.110.190.183" - "184.190.client" = "204.110.190.184" - "185.190.client" = "204.110.190.185" - "186.190.client" = "204.110.190.186" - "187.190.client" = "204.110.190.187" - "188.190.client" = "204.110.190.188" - "189.190.client" = "204.110.190.189" - "190.190.client" = "204.110.190.190" - "191.190.client" = "204.110.190.191" - "192.190.client" = "204.110.190.192" - "193.190.client" = "204.110.190.193" - "194.190.client" = "204.110.190.194" - "195.190.client" = "204.110.190.195" - "196.190.client" = "204.110.190.196" - "197.190.client" = "204.110.190.197" - "198.190.client" = "204.110.190.198" - "199.190.client" = "204.110.190.199" - "200.190.client" = "204.110.190.200" - "201.190.client" = "204.110.190.201" - "202.190.client" = "204.110.190.202" - "203.190.client" = "204.110.190.203" - "204.190.client" = "204.110.190.204" - "205.190.client" = "204.110.190.205" - "206.190.client" = "204.110.190.206" - "207.190.client" = "204.110.190.207" - "208.190.client" = "204.110.190.208" - "209.190.client" = "204.110.190.209" - "210.190.client" = "204.110.190.210" - "211.190.client" = "204.110.190.211" - "212.190.client" = "204.110.190.212" - "213.190.client" = "204.110.190.213" - "214.190.client" = "204.110.190.214" - "215.190.client" = "204.110.190.215" - "216.190.client" = "204.110.190.216" - "217.190.client" = "204.110.190.217" - "218.190.client" = "204.110.190.218" - "219.190.client" = "204.110.190.219" - "220.190.client" = "204.110.190.220" - "221.190.client" = "204.110.190.221" - "222.190.client" = "204.110.190.222" - "223.190.client" = "204.110.190.223" - "224.190.client" = "204.110.190.224" - "225.190.client" = "204.110.190.225" - "226.190.client" = "204.110.190.226" - "227.190.client" = "204.110.190.227" - "228.190.client" = "204.110.190.228" - "229.190.client" = "204.110.190.229" - "230.190.client" = "204.110.190.230" - "231.190.client" = "204.110.190.231" - "232.190.client" = "204.110.190.232" - "233.190.client" = "204.110.190.233" - "234.190.client" = "204.110.190.234" - "235.190.client" = "204.110.190.235" - "236.190.client" = "204.110.190.236" - "237.190.client" = "204.110.190.237" - "238.190.client" = "204.110.190.238" - "239.190.client" = "204.110.190.239" - "240.190.client" = "204.110.190.240" - "241.190.client" = "204.110.190.241" - "242.190.client" = "204.110.190.242" - "243.190.client" = "204.110.190.243" - "244.190.client" = "204.110.190.244" - "245.190.client" = "204.110.190.245" - "246.190.client" = "204.110.190.246" - "247.190.client" = "204.110.190.247" - "248.190.client" = "204.110.190.248" - "249.190.client" = "204.110.190.249" - "250.190.client" = "204.110.190.250" - "251.190.client" = "204.110.190.251" - "252.190.client" = "204.110.190.252" - "253.190.client" = "204.110.190.253" - "254.190.client" = "204.110.190.254" - - # Subnet: 204.110.191.0/24 - "1.191.client" = "204.110.191.1" - "2.191.client" = "204.110.191.2" - "3.191.client" = "204.110.191.3" - "4.191.client" = "204.110.191.4" - "5.191.client" = "204.110.191.5" - "6.191.client" = "204.110.191.6" - "7.191.client" = "204.110.191.7" - "8.191.client" = "204.110.191.8" - "9.191.client" = "204.110.191.9" - "10.191.client" = "204.110.191.10" - "11.191.client" = "204.110.191.11" - "12.191.client" = "204.110.191.12" - "13.191.client" = "204.110.191.13" - "14.191.client" = "204.110.191.14" - "15.191.client" = "204.110.191.15" - "16.191.client" = "204.110.191.16" - "17.191.client" = "204.110.191.17" - "18.191.client" = "204.110.191.18" - "19.191.client" = "204.110.191.19" - "20.191.client" = "204.110.191.20" - "21.191.client" = "204.110.191.21" - "22.191.client" = "204.110.191.22" - "23.191.client" = "204.110.191.23" - "24.191.client" = "204.110.191.24" - "25.191.client" = "204.110.191.25" - "26.191.client" = "204.110.191.26" - "27.191.client" = "204.110.191.27" - "28.191.client" = "204.110.191.28" - "29.191.client" = "204.110.191.29" - "30.191.client" = "204.110.191.30" - "31.191.client" = "204.110.191.31" - "32.191.client" = "204.110.191.32" - "33.191.client" = "204.110.191.33" - "34.191.client" = "204.110.191.34" - "35.191.client" = "204.110.191.35" - "36.191.client" = "204.110.191.36" - "37.191.client" = "204.110.191.37" - "38.191.client" = "204.110.191.38" - "39.191.client" = "204.110.191.39" - "40.191.client" = "204.110.191.40" - "41.191.client" = "204.110.191.41" - "42.191.client" = "204.110.191.42" - "43.191.client" = "204.110.191.43" - "44.191.client" = "204.110.191.44" - "45.191.client" = "204.110.191.45" - "46.191.client" = "204.110.191.46" - "47.191.client" = "204.110.191.47" - "48.191.client" = "204.110.191.48" - "49.191.client" = "204.110.191.49" - "50.191.client" = "204.110.191.50" - "51.191.client" = "204.110.191.51" - "52.191.client" = "204.110.191.52" - "53.191.client" = "204.110.191.53" - "54.191.client" = "204.110.191.54" - "55.191.client" = "204.110.191.55" - "56.191.client" = "204.110.191.56" - "57.191.client" = "204.110.191.57" - "58.191.client" = "204.110.191.58" - "59.191.client" = "204.110.191.59" - "60.191.client" = "204.110.191.60" - "61.191.client" = "204.110.191.61" - "62.191.client" = "204.110.191.62" - "63.191.client" = "204.110.191.63" - "64.191.client" = "204.110.191.64" - "65.191.client" = "204.110.191.65" - "66.191.client" = "204.110.191.66" - "67.191.client" = "204.110.191.67" - "68.191.client" = "204.110.191.68" - "69.191.client" = "204.110.191.69" - "70.191.client" = "204.110.191.70" - "71.191.client" = "204.110.191.71" - "72.191.client" = "204.110.191.72" - "73.191.client" = "204.110.191.73" - "74.191.client" = "204.110.191.74" - "75.191.client" = "204.110.191.75" - "76.191.client" = "204.110.191.76" - "77.191.client" = "204.110.191.77" - "78.191.client" = "204.110.191.78" - "79.191.client" = "204.110.191.79" - "80.191.client" = "204.110.191.80" - "81.191.client" = "204.110.191.81" - "82.191.client" = "204.110.191.82" - "83.191.client" = "204.110.191.83" - "84.191.client" = "204.110.191.84" - "85.191.client" = "204.110.191.85" - "86.191.client" = "204.110.191.86" - "87.191.client" = "204.110.191.87" - "88.191.client" = "204.110.191.88" - "89.191.client" = "204.110.191.89" - "90.191.client" = "204.110.191.90" - "91.191.client" = "204.110.191.91" - "92.191.client" = "204.110.191.92" - "93.191.client" = "204.110.191.93" - "94.191.client" = "204.110.191.94" - "95.191.client" = "204.110.191.95" - "96.191.client" = "204.110.191.96" - "97.191.client" = "204.110.191.97" - "98.191.client" = "204.110.191.98" - "99.191.client" = "204.110.191.99" - "100.191.client" = "204.110.191.100" - "101.191.client" = "204.110.191.101" - "102.191.client" = "204.110.191.102" - "103.191.client" = "204.110.191.103" - "104.191.client" = "204.110.191.104" - "105.191.client" = "204.110.191.105" - "106.191.client" = "204.110.191.106" - "107.191.client" = "204.110.191.107" - "108.191.client" = "204.110.191.108" - "109.191.client" = "204.110.191.109" - "110.191.client" = "204.110.191.110" - "111.191.client" = "204.110.191.111" - "112.191.client" = "204.110.191.112" - "113.191.client" = "204.110.191.113" - "114.191.client" = "204.110.191.114" - "115.191.client" = "204.110.191.115" - "116.191.client" = "204.110.191.116" - "117.191.client" = "204.110.191.117" - "118.191.client" = "204.110.191.118" - "119.191.client" = "204.110.191.119" - "120.191.client" = "204.110.191.120" - "121.191.client" = "204.110.191.121" - "122.191.client" = "204.110.191.122" - "123.191.client" = "204.110.191.123" - "124.191.client" = "204.110.191.124" - "125.191.client" = "204.110.191.125" - "126.191.client" = "204.110.191.126" - "127.191.client" = "204.110.191.127" - "128.191.client" = "204.110.191.128" - "129.191.client" = "204.110.191.129" - "130.191.client" = "204.110.191.130" - "131.191.client" = "204.110.191.131" - "132.191.client" = "204.110.191.132" - "133.191.client" = "204.110.191.133" - "134.191.client" = "204.110.191.134" - "135.191.client" = "204.110.191.135" - "136.191.client" = "204.110.191.136" - "137.191.client" = "204.110.191.137" - "138.191.client" = "204.110.191.138" - "139.191.client" = "204.110.191.139" - "140.191.client" = "204.110.191.140" - "141.191.client" = "204.110.191.141" - "142.191.client" = "204.110.191.142" - "143.191.client" = "204.110.191.143" - "144.191.client" = "204.110.191.144" - "145.191.client" = "204.110.191.145" - "146.191.client" = "204.110.191.146" - "147.191.client" = "204.110.191.147" - "148.191.client" = "204.110.191.148" - "149.191.client" = "204.110.191.149" - "150.191.client" = "204.110.191.150" - "151.191.client" = "204.110.191.151" - "152.191.client" = "204.110.191.152" - "153.191.client" = "204.110.191.153" - "154.191.client" = "204.110.191.154" - "155.191.client" = "204.110.191.155" - "156.191.client" = "204.110.191.156" - "157.191.client" = "204.110.191.157" - "158.191.client" = "204.110.191.158" - "159.191.client" = "204.110.191.159" - "160.191.client" = "204.110.191.160" - "161.191.client" = "204.110.191.161" - "162.191.client" = "204.110.191.162" - "163.191.client" = "204.110.191.163" - "164.191.client" = "204.110.191.164" - "165.191.client" = "204.110.191.165" - "166.191.client" = "204.110.191.166" - "167.191.client" = "204.110.191.167" - "168.191.client" = "204.110.191.168" - "169.191.client" = "204.110.191.169" - "170.191.client" = "204.110.191.170" - "171.191.client" = "204.110.191.171" - "172.191.client" = "204.110.191.172" - "173.191.client" = "204.110.191.173" - "174.191.client" = "204.110.191.174" - "175.191.client" = "204.110.191.175" - "176.191.client" = "204.110.191.176" - "177.191.client" = "204.110.191.177" - "178.191.client" = "204.110.191.178" - "179.191.client" = "204.110.191.179" - "180.191.client" = "204.110.191.180" - "181.191.client" = "204.110.191.181" - "182.191.client" = "204.110.191.182" - "183.191.client" = "204.110.191.183" - "184.191.client" = "204.110.191.184" - "185.191.client" = "204.110.191.185" - "186.191.client" = "204.110.191.186" - "187.191.client" = "204.110.191.187" - "188.191.client" = "204.110.191.188" - "189.191.client" = "204.110.191.189" - "190.191.client" = "204.110.191.190" - "191.191.client" = "204.110.191.191" - "192.191.client" = "204.110.191.192" - "193.191.client" = "204.110.191.193" - "194.191.client" = "204.110.191.194" - "195.191.client" = "204.110.191.195" - "196.191.client" = "204.110.191.196" - "197.191.client" = "204.110.191.197" - "198.191.client" = "204.110.191.198" - "199.191.client" = "204.110.191.199" - "200.191.client" = "204.110.191.200" - "201.191.client" = "204.110.191.201" - "202.191.client" = "204.110.191.202" - "203.191.client" = "204.110.191.203" - "204.191.client" = "204.110.191.204" - "205.191.client" = "204.110.191.205" - "206.191.client" = "204.110.191.206" - "207.191.client" = "204.110.191.207" - "208.191.client" = "204.110.191.208" - "209.191.client" = "204.110.191.209" - "210.191.client" = "204.110.191.210" - "211.191.client" = "204.110.191.211" - "212.191.client" = "204.110.191.212" - "213.191.client" = "204.110.191.213" - "214.191.client" = "204.110.191.214" - "215.191.client" = "204.110.191.215" - "216.191.client" = "204.110.191.216" - "217.191.client" = "204.110.191.217" - "218.191.client" = "204.110.191.218" - "219.191.client" = "204.110.191.219" - "220.191.client" = "204.110.191.220" - "221.191.client" = "204.110.191.221" - "222.191.client" = "204.110.191.222" - "223.191.client" = "204.110.191.223" - "224.191.client" = "204.110.191.224" - "225.191.client" = "204.110.191.225" - "226.191.client" = "204.110.191.226" - "227.191.client" = "204.110.191.227" - "228.191.client" = "204.110.191.228" - "229.191.client" = "204.110.191.229" - "230.191.client" = "204.110.191.230" - "231.191.client" = "204.110.191.231" - "232.191.client" = "204.110.191.232" - "233.191.client" = "204.110.191.233" - "234.191.client" = "204.110.191.234" - "235.191.client" = "204.110.191.235" - "236.191.client" = "204.110.191.236" - "237.191.client" = "204.110.191.237" - "238.191.client" = "204.110.191.238" - "239.191.client" = "204.110.191.239" - "240.191.client" = "204.110.191.240" - "241.191.client" = "204.110.191.241" - "242.191.client" = "204.110.191.242" - "243.191.client" = "204.110.191.243" - "244.191.client" = "204.110.191.244" - "245.191.client" = "204.110.191.245" - "246.191.client" = "204.110.191.246" - "247.191.client" = "204.110.191.247" - "248.191.client" = "204.110.191.248" - "249.191.client" = "204.110.191.249" - "250.191.client" = "204.110.191.250" - "251.191.client" = "204.110.191.251" - "252.191.client" = "204.110.191.252" - "253.191.client" = "204.110.191.253" - "254.191.client" = "204.110.191.254" + # Generate all client IPs dynamically + client_ips = merge([ + for subnet in local.vntx_subnets : { + for i in range(1, 255) : "${i}.${subnet}.client" => "204.110.${subnet}.${i}" + } + ]...) + # Named hosts with specific IPs + named_hosts = { "ansible" = "204.110.191.246" "climax" = "204.110.188.62" "core" = "10.254.254.253" @@ -1055,9 +43,6 @@ resource "powerdns_record" "vntx_a_records" { "unimus" = "204.110.191.238" "verona" = "204.110.188.254" "@" = "198.185.159.144" - "@" = "198.185.159.145" - "@" = "198.49.23.144" - "@" = "198.49.23.145" "routers" = "155.138.241.157" "vpn" = "204.110.191.247" "radius" = "204.110.191.248" @@ -1071,6 +56,13 @@ resource "powerdns_record" "vntx_a_records" { "uisp" = "204.110.191.224" } + # Merge client IPs and named hosts + all_a_records = merge(local.client_ips, local.named_hosts) +} + +resource "powerdns_record" "vntx_a_records" { + for_each = local.all_a_records + depends_on = [powerdns_zone.vntx_net] zone = "vntx.net." name = each.key == "@" ? "vntx.net." : "${each.key}.vntx.net." @@ -1087,17 +79,10 @@ resource "powerdns_record" "vntx_txt_records" { "_github-challenge-vntx" = "34ea2705e4" "_github-pages-challenge-gmcintire" = "d125f4244edd0120ee0fa073d3acf1" "krs._domainkey.mg" = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHbWtJ5uPGEOPmJrT36WBXKxVL0b4fqjIM4n6oXK4zaUucqYp7jeoKG+FTO5XEjyja7hsP9WahntUrVb8WI5V6Cj0CznesMrM7oQRntcyuy8mSD1zilmZe4q2Kc65gj2MRrkg3tkJfogXHNz2rxmquNu/DxsFLeQP8a2E5tYXVFwIDAQAB" - "mandrill._domainkey" = "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd/IQ/J/mRwSRMAocV/hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzGt7yAioXqLj7Z4TeEUoOLgrKsn8YnckGs9i3B3tVFB+Ch/4mPhXWiNfNdynHWBcPcbJ8kjEQ2U8y78dHZj1YeRXXVvWob2OaKynO8/lQIDAQAB;" - "mg" = "v=spf1 include:mailgun.org ~all" - "o365" = "v=spf1 include:spf.protection.outlook.com -all" - "spf" = "v=spf1 include:_spf.google.com include:spf.mandrillapp.com ~all" - "@" = "google-site-verification=RD-gYkKRPw1TSIzHRAuJljZ7Xee6uDGGkFvL6XmSjs0" - "o365" = "v=spf1 include:spf.protection.outlook.com -all" - "spf" = "v=spf1 include:_spf.google.com include:spf.mandrillapp.com ~all" - "detectify-verification" = "7c06e001f2f39c59564baabd497360e2" - "keybase-site-verification" = "xNV8FawC3MsGF70UNFKaKQUUOyQvjeL0DMK_RMQQ-_Q" - "MS" = "ms84271221" - "have-i-been-pwned-verification" = "beb9c178a27aaaaa007c4c84d64dccf5" + "pic._domainkey.mg" = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdv4ZUjhb9l0Nt1aEJMnH/TVNdVn9CEKkb8+RX3qBPMFGmJWrJ3BIFwOSTUBiPeCgd2vc4zOOv7iQhEgNTlIVNT/V1sY70Myo5t+tJCuJQT/G4h5D1u7LZB6YEOKTgd5wF5AoW/nLvKVEPyKl5mThB9KmIGqF5FMm9C9FWP8m6SQIDAQAB" + "s1._domainkey.mg" = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDI3w7b9bBNcWzSH8DspZbRNp+9G9pHbCfmHmr3r2JqXh+F8bFlCK6gJqEQW7SIJgYMmSJ5GlYyy4A3VxJJFcWLZb3dxMoWkGjrJ3gEUNQGmG6rnJ7eXJxKb5J2mGgEfQgCgkWXPFRmJhKXPWoZP3RqU2vJZ3t7vJxWHmv0bQPHKQIDAQAB" + "s2._domainkey.mg" = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDc3JXQvGMBl3cW+3N2OPLJwlP4cMvPp9yOQM9X1TLxJWX7Hd7m6rJ1Xf2T3PGP9ZDPfJGXh+PfGPYVJYP2JXGPfP9HPfP3GPfPHGPYVP9fPH+PfP+PfPHGPYVP9fPH+PfP+PfPHGPYVP9fPH+PfP+PfPHGPYVP9fPH+PfP+PfPHQIDAQAB" + "@" = "v=spf1 include:mailgun.org ~all" } depends_on = [powerdns_zone.vntx_net] @@ -1107,39 +92,18 @@ resource "powerdns_record" "vntx_txt_records" { ttl = 3600 records = ["\"${each.value}\""] } + resource "powerdns_record" "vntx_cname_records" { for_each = { - "mte1._domainkey" = "dkim1.mandrillapp.com." - "mte2._domainkey" = "dkim2.mandrillapp.com." - "em924886" = "return.smtp2go.net." - "s924886._domainkey" = "dkim.smtp2go.net." - "link" = "track.smtp2go.net." - "_83337805c305955c6823504cc5e6ca29" = "_baf97cdcc7b6458fa5719e4261e9932f.sdgjtdhdhz.acm-validations.aws." - "activate" = "verona-networks-checkout.gaiia-consumer.com." - "portal" = "verona-networks-clientportal.gaiia-consumer.com." - "url9812" = "sendgrid.net." - "url62" = "sendgrid.net." - "177982" = "sendgrid.net." - "_4080c249b6e72dd04f2a9508aa1a1b7f.kivrak" = "_de3e5d511f3869bbd271b935a3b4f973.tljzshvwok.acm-validations.aws." - "4809fce066c3da4d14197c7276ba083f.irc" = "b58bf151af520d34d8fad99d05274cb536893031.comodoca.com." - "9p83fpanfdgs8xdgcnzd" = "verify.squarespace.com." - "autodiscover.o365" = "autodiscover.outlook.com." - "autodiscover" = "autodiscover.outlook.com." - "_bc1077259b1fbbb11c1e16756e1883f9.irc" = "793f217a963b25f361ec1975e0fd7d54.dc2ec86a36550aed25a0011c0b2b044b.62f7abe714ec1.comodoca.com." - "em9279" = "u177982.wl233.sendgrid.net." - "email.mg" = "mailgun.org." - "email" = "mandrillapp.com." - "enterpriseenrollment.o365" = "enterpriseenrollment.manage.microsoft.com." - "enterpriseregistration.o365" = "enterpriseregistration.windows.net." - "lyncdiscover.o365" = "webdir.online.lync.com." - "s1._domainkey" = "s1.domainkey.u177982.wl233.sendgrid.net." - "s2._domainkey" = "s2.domainkey.u177982.wl233.sendgrid.net." - "sip.o365" = "sipdir.online.lync.com." - "www" = "ext-cust.squarespace.com." - "uptime" = "page.updown.io." - "status" = "stats.uptimerobot.com." - "ntp" = "0.us.pool.ntp.org." - "iptrack" = "dokku.w5isp.com." + "mg" = "mailgun.org." + "email.mg" = "mailgun.org." + "*.w5isp" = "dokku.w5isp.com." + "automation" = "automate.freshbooks.com." + "grafana" = "vgraph01.spindlenetworks.com." + "mail.speedtest" = "mail.speedtest.vntx.net.s2.mailersendapp.com." + "status" = "stats.uptimerobot.com." + "ntp" = "0.us.pool.ntp.org." + "iptrack" = "dokku.w5isp.com." } depends_on = [powerdns_zone.vntx_net] diff --git a/terraform/main.tf b/terraform/main.tf index a5e5ccb..10c20f9 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -2,23 +2,23 @@ terraform { required_providers { dnsimple = { source = "dnsimple/dnsimple" - version = "1.8.0" + version = "~> 2.0" } porkbun = { source = "kyswtn/porkbun" - version = "0.1.3" + version = "~> 0.1" } powerdns = { source = "pan-net/powerdns" - version = "1.5.0" + version = "~> 1.5" } vultr = { source = "vultr/vultr" - version = "~> 2.0" + version = "~> 2.28" } cloudflare = { source = "cloudflare/cloudflare" - version = "~> 4.0" + version = "~> 5.0" } # proxmox = { # source = "bpg/proxmox" @@ -33,8 +33,8 @@ provider "dnsimple" { } provider "porkbun" { - api_key = var.prokbun_api_key - secret_api_key = var.prokbun_secret_api_key + api_key = var.porkbun_api_key + secret_api_key = var.porkbun_secret_api_key } # provider "powerdns" { diff --git a/terraform/terraform.tfvars b/terraform/terraform.tfvars index 6ebe72a..943cb99 100644 --- a/terraform/terraform.tfvars +++ b/terraform/terraform.tfvars @@ -1,2 +1,10 @@ +# Proxmox tokens token_secret = "1cdd961f-5ee7-4110-8806-e72357a2226f" token_id = "terraform@pve!terraform-token" + +# DNS Provider secrets +dnsimple_token = "dnsimple_a_sRmKiuHrxR2UiMHf0NREqAtgfELyRVAI" +porkbun_api_key = "pk1_5f321ff82ce0c085e67f9569db48976d838f302bc15b88292373e4b6b9891f17" +porkbun_secret_api_key = "sk1_854fd74c8221bceaec27cf17edf3402b074e67447befe1363cf0247b620c82c5" +pdns_api_key = "q4zBRoR72gOIfrgdskASMKqyNNo2mf" +pdns_vultr_api_key = "eyyMkv7dpDE0gQz1N2FeyUWGRa9FBHGcqcdSCMaaoe" diff --git a/terraform/variables.tf b/terraform/variables.tf index 34a196c..e857aae 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -147,8 +147,81 @@ variable "ssh_public_key" { default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me" } -variable "pdns_vultr_api_key" { +# DNS Provider Variables +variable "dnsimple_token" { + description = "DNSimple API token" + type = string + sensitive = true +} + +variable "dnsimple_account" { + description = "DNSimple account ID" + type = string + default = "143471" +} + +variable "porkbun_api_key" { + description = "Porkbun API key" + type = string + sensitive = true +} + +variable "porkbun_secret_api_key" { + description = "Porkbun secret API key" + type = string + sensitive = true +} + +variable "pdns_api_key" { description = "PowerDNS API key" type = string - default = "eyyMkv7dpDE0gQz1N2FeyUWGRa9FBHGcqcdSCMaaoe" + sensitive = true +} + +variable "pdns_server_url" { + description = "PowerDNS server URL" + type = string + default = "http://ns1.vntx.net:8081" +} + +variable "pdns_vultr_api_key" { + description = "PowerDNS Vultr API key" + type = string + sensitive = true +} + +# Legacy Proxmox Variables (from vars.tf) +variable "proxmox_host" { + description = "Proxmox host for VM deployment" + type = string + default = "vm2-380" +} + +variable "template_name" { + description = "VM template name" + type = string + default = "ubuntu" +} + +variable "nic_name" { + description = "Network interface name" + type = string + default = "vmbr0" +} + +variable "api_url" { + description = "Proxmox API URL (legacy)" + type = string + default = "https://10.0.0.2:8006/api2/json" +} + +variable "token_secret" { + description = "Proxmox token secret" + type = string + sensitive = true +} + +variable "token_id" { + description = "Proxmox token ID" + type = string } diff --git a/terraform/vars.tf b/terraform/vars.tf deleted file mode 100644 index 26bb986..0000000 --- a/terraform/vars.tf +++ /dev/null @@ -1,68 +0,0 @@ -variable "dnsimple_token" { - type = string - default = "dnsimple_a_sRmKiuHrxR2UiMHf0NREqAtgfELyRVAI" -} - -variable "dnsimple_account" { - type = string - default = "143471" -} - -variable "prokbun_api_key" { - type = string - default = "pk1_5f321ff82ce0c085e67f9569db48976d838f302bc15b88292373e4b6b9891f17" -} - -variable "prokbun_secret_api_key" { - type = string - default = "sk1_854fd74c8221bceaec27cf17edf3402b074e67447befe1363cf0247b620c82c5" -} - -variable "pdns_api_key" { - type = string - default = "q4zBRoR72gOIfrgdskASMKqyNNo2mf" -} - -variable "pdns_server_url" { - type = string - default = "http://ns1.vntx.net:8081" -} - - -#Set your public SSH key here -variable "ssh_key" { - type = string - default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me" -} -#Establish which Proxmox host you'd like to spin a VM up on -variable "proxmox_host" { - type = string - default = "vm2-380" -} -#Specify which template name you'd like to use -variable "template_name" { - type = string - default = "ubuntu" -} -#Establish which nic you would like to utilize -variable "nic_name" { - type = string - default = "vmbr0" -} -#Establish the VLAN you'd like to use -# variable "vlan_num" { -# default = "place_vlan_number_here" -# } -#Provide the url of the host you would like the API to communicate on. -#It is safe to default to setting this as the URL for what you used -#as your `proxmox_host`, although they can be different -variable "api_url" { - type = string - default = "https://10.0.0.2:8006/api2/json" -} -#Blank var for use by terraform.tfvars -variable "token_secret" { -} -#Blank var for use by terraform.tfvars -variable "token_id" { -}