From c2aa4919bd56857dc44b4faae9694a6be7a0f6ce Mon Sep 17 00:00:00 2001 From: Matthew Baggett <matthew@baggett.me> Date: Wed, 27 Nov 2024 15:28:10 +0100 Subject: [PATCH] Add private cidr --- utils/private-cidr/cidr.tf | 15 +++++++++++++++ utils/private-cidr/outputs.tf | 6 ++++++ utils/private-cidr/terraform.tf | 12 ++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 utils/private-cidr/cidr.tf create mode 100644 utils/private-cidr/outputs.tf create mode 100644 utils/private-cidr/terraform.tf diff --git a/utils/private-cidr/cidr.tf b/utils/private-cidr/cidr.tf new file mode 100644 index 0000000..d74bb56 --- /dev/null +++ b/utils/private-cidr/cidr.tf @@ -0,0 +1,15 @@ +resource "random_integer" "upper_mid_byte" { + min = 18 + max = 31 +} +resource "random_integer" "lower_mid_byte" { + min = 10 + max = 254 +} +locals { + // Generate a subnet + subnet = "172.${random_integer.upper_mid_byte.result}.${random_integer.lower_mid_byte.result}.0/24" + // Calculate the gateway from the subnet + gateway = cidrhost(local.subnet, 1) +} + diff --git a/utils/private-cidr/outputs.tf b/utils/private-cidr/outputs.tf new file mode 100644 index 0000000..82e6aa0 --- /dev/null +++ b/utils/private-cidr/outputs.tf @@ -0,0 +1,6 @@ +output "subnet" { + value = local.subnet +} +output "gateway" { + value = local.gateway +} \ No newline at end of file diff --git a/utils/private-cidr/terraform.tf b/utils/private-cidr/terraform.tf new file mode 100644 index 0000000..a9f39e7 --- /dev/null +++ b/utils/private-cidr/terraform.tf @@ -0,0 +1,12 @@ +terraform { + required_version = "~> 1.6" + + required_providers { + random = { + source = "hashicorp/random" + version = "~> 3.5" + } + } +} + +