From d4b3fd20bcde645b3be80f347733af6ef372c952 Mon Sep 17 00:00:00 2001 From: theprashantyadav <79893616+theprashantyadav@users.noreply.github.com> Date: Tue, 6 Jun 2023 21:41:27 +0530 Subject: [PATCH] feat: update resource and readme.yaml (#43) Co-authored-by: anmolnagpal --- README.yaml | 88 +++++-------- _example/private-subnet/example.tf | 24 ++-- .../example.tf | 25 ++-- .../versions.tf | 11 -- _example/public-private-subnet/example.tf | 25 ++-- _example/public-private-subnet/versions.tf | 11 -- _example/public-subnet/example.tf | 26 ++-- _example/public-subnet/versions.tf | 11 -- main.tf | 120 ++++++++++-------- outputs.tf | 4 +- variables.tf | 1 + .../private-subnet/versions.tf => versions.tf | 4 +- 12 files changed, 170 insertions(+), 180 deletions(-) delete mode 100644 _example/public-private-subnet-single-nat-gateway/versions.tf delete mode 100644 _example/public-private-subnet/versions.tf delete mode 100644 _example/public-subnet/versions.tf rename _example/private-subnet/versions.tf => versions.tf (64%) diff --git a/README.yaml b/README.yaml index e4238f3..f9c5eba 100644 --- a/README.yaml +++ b/README.yaml @@ -39,25 +39,25 @@ include: # How to use this project usage: |- Here are some examples of how you can use this module in your inventory structure: - ### Private Subnet + ### PRIVATE SUBNET ```hcl module "subnets" { - source = "clouddrove/terraform-aws-subnet/aws" - version = "1.3.0" - name = "subnets" - environment = "test" - label_order = ["name", "environment"] - availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = "vpc-xxxxxxxxx" - type = "private" - nat_gateway_enabled = true - cidr_block = "10.0.0.0/16" - ipv6_cidr_block = module.vpc.ipv6_cidr_block - public_subnet_ids = ["subnet-XXXXXXXXXXXXX", "subnet-XXXXXXXXXXXXX"] + source = "clouddrove/terraform-aws-subnet/aws" + version = "1.3.0" + name = "subnets" + environment = "test" + label_order = ["name", "environment"] + nat_gateway_enabled = true + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "private" + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block + public_subnet_ids = ["subnet-xxxxxxxxxxxx", "subnet-xxxxxxxxxxxx"] } ``` - ### Public-Private Subnet + ### PUBLIC-PRIVATE SUBNET ```hcl module "subnets" { source = "clouddrove/terraform-aws-subnet/aws" @@ -65,17 +65,17 @@ usage: |- name = "subnets" environment = "test" label_order = ["name", "environment"] + nat_gateway_enabled = true availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = "vpc-xxxxxxxxx" + vpc_id = module.vpc.vpc_id type = "public-private" - igw_id = "ig-xxxxxxxxx" - nat_gateway_enabled = true - cidr_block = "10.0.0.0/16" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block ipv6_cidr_block = module.vpc.ipv6_cidr_block } ``` - ### Public-Private Subnet with single Nat Gateway + ### PUBLIC-PRIVATE SUBNET WITH SINGLE NET GATEWAY ```hcl module "subnets" { source = "clouddrove/terraform-aws-subnet/aws" @@ -84,47 +84,29 @@ usage: |- environment = "test" label_order = ["name", "environment"] availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = "vpc-xxxxxxxxx" - type = "public-private" - igw_id = "ig-xxxxxxxxx" nat_gateway_enabled = true single_nat_gateway = true - cidr_block = "10.0.0.0/16" + vpc_id = module.vpc.vpc_id + type = "public-private" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block ipv6_cidr_block = module.vpc.ipv6_cidr_block } ``` - ### Public Subnet + ### PUBLIC SUBNET ```hcl module "subnets" { - source = "clouddrove/terraform-aws-subnet/aws" - version = "1.3.0" - name = "subnets" - environment = "test" - label_order = ["name", "environment"] - availability_zones = ["us-east-1a", "us-east-1b", "us-east-1c"] - vpc_id = "vpc-xxxxxxxxx" - type = "public" - igw_id = "ig-xxxxxxxxx" - cidr_block = "10.0.0.0/16" - ipv6_cidr_block = module.vpc.ipv6_cidr_block - } - ``` - ### Public-private-subnet-single-nat-gateway - ```hcl - module "subnets" { - source = "clouddrove/terraform-aws-subnet/aws" - version = "1.3.0" - nat_gateway_enabled = true - single_nat_gateway = true - name = "subnets" - environment = "example" - label_order = ["name", "environment"] - availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = "vpc-xxxxxxxxxx" - type = "public-private" - igw_id = "ig-xxxxxxxxxxx" - cidr_block = "10.0.0.0/16" - ipv6_cidr_block = module.vpc.ipv6_cidr_block + source = "clouddrove/terraform-aws-subnet/aws" + version = "1.3.0" + name = "subnets" + environment = "test" + label_order = ["name", "environment"] + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "public" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block } ``` diff --git a/_example/private-subnet/example.tf b/_example/private-subnet/example.tf index 70180aa..68aece1 100644 --- a/_example/private-subnet/example.tf +++ b/_example/private-subnet/example.tf @@ -1,10 +1,16 @@ +####---------------------------------------------------------------------------------- +## Provider block added, Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. +####---------------------------------------------------------------------------------- provider "aws" { region = "eu-west-1" } +####---------------------------------------------------------------------------------- +## A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center. +####---------------------------------------------------------------------------------- module "vpc" { source = "clouddrove/vpc/aws" - version = "1.3.0" + version = "1.3.1" name = "vpc" environment = "test" @@ -13,6 +19,9 @@ module "vpc" { cidr_block = "10.0.0.0/16" } +####---------------------------------------------------------------------------------- +## Subnet is a range of IP addresses in your VPC. +####---------------------------------------------------------------------------------- module "private-subnets" { source = "./../../" @@ -22,12 +31,11 @@ module "private-subnets" { nat_gateway_enabled = true - availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = module.vpc.vpc_id - type = "private" - cidr_block = module.vpc.vpc_cidr_block - ipv6_cidr_block = module.vpc.ipv6_cidr_block - public_subnet_ids = ["subnet-xxxxxxxxxxxx", "subnet-xxxxxxxxxxxx"] - assign_ipv6_address_on_creation = false + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "private" + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block + public_subnet_ids = ["subnet-xxxxxxxxxxxx", "subnet-xxxxxxxxxxxx"] } diff --git a/_example/public-private-subnet-single-nat-gateway/example.tf b/_example/public-private-subnet-single-nat-gateway/example.tf index d643235..15de360 100644 --- a/_example/public-private-subnet-single-nat-gateway/example.tf +++ b/_example/public-private-subnet-single-nat-gateway/example.tf @@ -1,10 +1,16 @@ +####---------------------------------------------------------------------------------- +## Provider block added, Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. +####---------------------------------------------------------------------------------- provider "aws" { region = "eu-west-1" } +####---------------------------------------------------------------------------------- +## A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center. +####---------------------------------------------------------------------------------- module "vpc" { source = "clouddrove/vpc/aws" - version = "1.3.0" + version = "1.3.1" name = "vpc" environment = "example" @@ -13,6 +19,9 @@ module "vpc" { cidr_block = "10.0.0.0/16" } +####---------------------------------------------------------------------------------- +## Subnet is a range of IP addresses in your VPC. +####---------------------------------------------------------------------------------- module "subnets" { source = "./../../" @@ -23,12 +32,10 @@ module "subnets" { environment = "example" label_order = ["name", "environment"] - availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = module.vpc.vpc_id - type = "public-private" - igw_id = module.vpc.igw_id - cidr_block = module.vpc.vpc_cidr_block - ipv6_cidr_block = module.vpc.ipv6_cidr_block - assign_ipv6_address_on_creation = false - + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "public-private" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block } \ No newline at end of file diff --git a/_example/public-private-subnet-single-nat-gateway/versions.tf b/_example/public-private-subnet-single-nat-gateway/versions.tf deleted file mode 100644 index cbc6f9c..0000000 --- a/_example/public-private-subnet-single-nat-gateway/versions.tf +++ /dev/null @@ -1,11 +0,0 @@ -# Terraform version -terraform { - required_version = ">= 1.3.6" - - required_providers { - aws = { - source = "hashicorp/aws" - version = ">= 4.48.0" - } - } -} \ No newline at end of file diff --git a/_example/public-private-subnet/example.tf b/_example/public-private-subnet/example.tf index b2cf7f9..df6508c 100644 --- a/_example/public-private-subnet/example.tf +++ b/_example/public-private-subnet/example.tf @@ -1,10 +1,16 @@ +####---------------------------------------------------------------------------------- +## Provider block added, Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. +####---------------------------------------------------------------------------------- provider "aws" { region = "eu-west-1" } +####---------------------------------------------------------------------------------- +## A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center. +####---------------------------------------------------------------------------------- module "vpc" { source = "clouddrove/vpc/aws" - version = "1.3.0" + version = "1.3.1" name = "vpc" environment = "test" @@ -13,6 +19,9 @@ module "vpc" { cidr_block = "10.0.0.0/16" } +####---------------------------------------------------------------------------------- +## Subnet is a range of IP addresses in your VPC. +####---------------------------------------------------------------------------------- module "subnets" { source = "./../../" @@ -22,12 +31,10 @@ module "subnets" { nat_gateway_enabled = true - availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - vpc_id = module.vpc.vpc_id - type = "public-private" - igw_id = module.vpc.igw_id - cidr_block = module.vpc.vpc_cidr_block - ipv6_cidr_block = module.vpc.ipv6_cidr_block - assign_ipv6_address_on_creation = false - + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "public-private" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block } \ No newline at end of file diff --git a/_example/public-private-subnet/versions.tf b/_example/public-private-subnet/versions.tf deleted file mode 100644 index cbc6f9c..0000000 --- a/_example/public-private-subnet/versions.tf +++ /dev/null @@ -1,11 +0,0 @@ -# Terraform version -terraform { - required_version = ">= 1.3.6" - - required_providers { - aws = { - source = "hashicorp/aws" - version = ">= 4.48.0" - } - } -} \ No newline at end of file diff --git a/_example/public-subnet/example.tf b/_example/public-subnet/example.tf index da50f61..a826762 100644 --- a/_example/public-subnet/example.tf +++ b/_example/public-subnet/example.tf @@ -1,10 +1,16 @@ +####---------------------------------------------------------------------------------- +## Provider block added, Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. +####---------------------------------------------------------------------------------- provider "aws" { - region = "us-east-1" + region = "eu-west-1" } +####---------------------------------------------------------------------------------- +## A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center. +####---------------------------------------------------------------------------------- module "vpc" { source = "clouddrove/vpc/aws" - version = "1.3.0" + version = "1.3.1" name = "vpc" environment = "test" @@ -13,6 +19,9 @@ module "vpc" { cidr_block = "10.0.0.0/16" } +####---------------------------------------------------------------------------------- +## Subnet is a range of IP addresses in your VPC. +####---------------------------------------------------------------------------------- module "subnets" { source = "./../../" @@ -20,12 +29,11 @@ module "subnets" { environment = "test" label_order = ["name", "environment"] - availability_zones = ["us-east-1a", "us-east-1b", "us-east-1c"] - vpc_id = module.vpc.vpc_id - type = "public" - igw_id = module.vpc.igw_id - cidr_block = module.vpc.vpc_cidr_block - ipv6_cidr_block = module.vpc.ipv6_cidr_block - assign_ipv6_address_on_creation = false + availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + vpc_id = module.vpc.vpc_id + type = "public" + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block + ipv6_cidr_block = module.vpc.ipv6_cidr_block } diff --git a/_example/public-subnet/versions.tf b/_example/public-subnet/versions.tf deleted file mode 100644 index cbc6f9c..0000000 --- a/_example/public-subnet/versions.tf +++ /dev/null @@ -1,11 +0,0 @@ -# Terraform version -terraform { - required_version = ">= 1.3.6" - - required_providers { - aws = { - source = "hashicorp/aws" - version = ">= 4.48.0" - } - } -} \ No newline at end of file diff --git a/main.tf b/main.tf index 8badffe..8ef3aa9 100644 --- a/main.tf +++ b/main.tf @@ -1,20 +1,19 @@ -## Managed By : CloudDrove -# Description : This Script is used to creates Subnet resources on AWS. -## Copyright @ CloudDrove. All Right Reserved. - - +##---------------------------------------------------------------------------------- +## named values which can be assigned and used in your code. +## It mainly serves the purpose of reducing duplication within the Terraform code. +##---------------------------------------------------------------------------------- locals { public_count = var.enabled == true && (var.type == "public" || var.type == "public-private") ? length(var.availability_zones) : 0 private_nat_gateways_count = var.enabled == true && (var.type == "private" || var.type == "public-private") && var.nat_gateway_enabled == true ? length(var.availability_zones) : 0 private_count = var.enabled == true && (var.type == "private" || var.type == "public-private") ? length(var.availability_zones) : 0 nat_gateway_count = var.single_nat_gateway ? 1 : local.private_nat_gateways_count - } -#Module : label -#Description : This terraform module is designed to generate consistent label names and -# tags for resources. You can use terraform-labels to implement a strict -# naming convention. +##---------------------------------------------------------------------------------- +## labels use by PRIVATE MODULE +## This terraform module is designed to generate consistent label names and +## tags for resources. You can use terraform-labels to implement a strict naming convention. +##---------------------------------------------------------------------------------- module "private-labels" { source = "clouddrove/labels/aws" version = "1.3.0" @@ -30,6 +29,10 @@ module "private-labels" { } } +##---------------------------------------------------------------------------------- +## labels use by PUBLIC MODULE +##---------------------------------------------------------------------------------- + module "public-labels" { source = "clouddrove/labels/aws" version = "1.3.0" @@ -45,9 +48,11 @@ module "public-labels" { } } -#Module : PUBLIC SUBNET -#Description : Terraform module to create public, private and public-private subnet with -# network acl, route table, Elastic IP, nat gateway, flow log. +##---------------------------------------------------------------------------------- +## PUBLIC SUBNET +## aws-subnet resource to create public, private and public-private subnet with +## network acl, route table, Elastic IP, nat gateway, flow log. +##---------------------------------------------------------------------------------- resource "aws_subnet" "public" { count = local.public_count @@ -86,10 +91,10 @@ resource "aws_subnet" "public" { } } -#Module : NETWORK ACL -#Description : Provides an network ACL resource. You might set up network ACLs with rules -# similar to your security groups in order to add an additional layer of -# security to your VPC. +##---------------------------------------------------------------------------------- +## Provides an network ACL resource. You might set up network ACLs with rules +## similar to your security groups in order to add an additional layer of security to your VPC. +##---------------------------------------------------------------------------------- resource "aws_network_acl" "public" { count = var.enabled == true && var.enable_acl == true && (var.type == "public" || var.type == "public-private") && signum(length(var.public_network_acl_id)) == 0 ? 1 : 0 @@ -131,13 +136,13 @@ resource "aws_network_acl" "public" { to_port = 0 protocol = "-1" } - tags = module.public-labels.tags depends_on = [aws_subnet.public] } -#Module : ROUTE TABLE -#Description : Provides a resource to create a VPC routing table. +##---------------------------------------------------------------------------------- +## Provides a resource to create a VPC ROUTE TABLE. +##---------------------------------------------------------------------------------- resource "aws_route_table" "public" { count = local.public_count @@ -152,9 +157,9 @@ resource "aws_route_table" "public" { ) } -#Module : ROUTE -#Description : Provides a resource to create a routing table entry (a route) in a VPC -# routing table. +##---------------------------------------------------------------------------------- +## Provides a resource to create a routing table entry (A ROUTE) in a VPC. +##---------------------------------------------------------------------------------- resource "aws_route" "public" { count = local.public_count @@ -173,9 +178,9 @@ resource "aws_route" "public_ipv6" { depends_on = [aws_route_table.public] } -#Module : ROUTE TABLE ASSOCIATION PRIVATE -#Description : Provides a resource to create an association between a subnet and routing -# table. +##---------------------------------------------------------------------------------- +## Provides a resource to create an association between a subnet and routing table. +##---------------------------------------------------------------------------------- resource "aws_route_table_association" "public" { count = local.public_count @@ -189,10 +194,10 @@ resource "aws_route_table_association" "public" { ] } -#Module : Flow Log -#Description : Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific -# network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group -# or a S3 Bucket. +##---------------------------------------------------------------------------------- +## Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific +## network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group or a S3 Bucket. +##---------------------------------------------------------------------------------- resource "aws_flow_log" "flow_log" { count = var.enabled == true && var.enable_flow_log == true ? 1 : 0 @@ -208,9 +213,11 @@ resource "aws_flow_log" "flow_log" { ) } -#Module : PRIVATE SUBNET -#Description : Terraform module to create public, private and public-private subnet with -# network acl, route table, Elastic IP, nat gateway, flow log. +##---------------------------------------------------------------------------------- +## PRIVATE SUBNET +## Terraform module to create public, private and public-private subnet with +## network acl, route table, Elastic IP, nat gateway, flow log. +##---------------------------------------------------------------------------------- resource "aws_subnet" "private" { count = local.private_count @@ -250,10 +257,10 @@ resource "aws_subnet" "private" { } } -#Module : NETWORK ACL -#Description : Provides an network ACL resource. You might set up network ACLs with rules -# similar to your security groups in order to add an additional layer of -# security to your VPC. +##---------------------------------------------------------------------------------- +## Provides an network ACL resource. You might set up network ACLs with rules +## similar to your security groups in order to add an additional layer of ecurity to your VPC. +##---------------------------------------------------------------------------------- resource "aws_network_acl" "private" { count = var.enabled == true && var.enable_acl == true && (var.type == "private" || var.type == "public-private") && signum(length(var.public_network_acl_id)) == 0 ? 1 : 0 @@ -300,8 +307,9 @@ resource "aws_network_acl" "private" { depends_on = [aws_subnet.private] } -#Module : ROUTE TABLE -#Description : Provides a resource to create a VPC routing table. +##---------------------------------------------------------------------------------- +## Provides a resource to create a VPC ROUTEING TABLE. +##---------------------------------------------------------------------------------- resource "aws_route_table" "private" { count = local.private_count @@ -315,23 +323,22 @@ resource "aws_route_table" "private" { ) } -#Module : ROUTE TABLE ASSOCIATION PRIVATE -#Description : Provides a resource to create an association between a subnet and routing -# table. +##---------------------------------------------------------------------------------- +## Provides a resource to create an ASSOCIATION between a subnet and routing table. +##---------------------------------------------------------------------------------- resource "aws_route_table_association" "private" { count = local.private_count subnet_id = element(aws_subnet.private.*.id, count.index) - # route_table_id = element(aws_route_table.private.*.id, count.index) route_table_id = element( aws_route_table.private.*.id, var.single_nat_gateway ? 0 : count.index, ) } -#Module : ROUTE -#Description : Provides a resource to create a routing table entry (a route) in a VPC -# routing table. +##---------------------------------------------------------------------------------- +## Provides a resource to create a routing table entry (a route) in a VPC ROUTEING TABLE. +##---------------------------------------------------------------------------------- resource "aws_route" "nat_gateway" { count = local.nat_gateway_count > 0 ? local.nat_gateway_count : 0 @@ -341,12 +348,13 @@ resource "aws_route" "nat_gateway" { depends_on = [aws_route_table.private] } -#Module : EIP -#Description : Provides an Elastic IP resource.. +##---------------------------------------------------------------------------------- +## Provides an Elastic IP (EIP) resource.. +##---------------------------------------------------------------------------------- resource "aws_eip" "private" { count = local.nat_gateway_count - vpc = true + domain = "vpc" tags = merge( module.private-labels.tags, { @@ -358,8 +366,9 @@ resource "aws_eip" "private" { } } -#Module : NAT GATEWAY -#Description : Provides a resource to create a VPC NAT Gateway. +##---------------------------------------------------------------------------------- +## Provides a resource to create a VPC NAT GATEWAY. +##---------------------------------------------------------------------------------- resource "aws_nat_gateway" "private" { count = local.nat_gateway_count @@ -373,12 +382,13 @@ resource "aws_nat_gateway" "private" { ) } -#Module : Flow Log -#Description : Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific -# network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group -# or a S3 Bucket. +##---------------------------------------------------------------------------------- +## Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific +## network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group or a S3 Bucket. +##---------------------------------------------------------------------------------- resource "aws_flow_log" "private_subnet_flow_log" { count = var.enabled == true && var.enable_flow_log == true ? 1 : 0 + log_destination = var.s3_bucket_arn log_destination_type = "s3" traffic_type = var.traffic_type diff --git a/outputs.tf b/outputs.tf index 9839772..fa9a8fb 100644 --- a/outputs.tf +++ b/outputs.tf @@ -52,11 +52,11 @@ output "public_tags" { } output "public_acl" { - value = join("", aws_network_acl.public.*.id) + value = join("", aws_network_acl.public.*.id) description = "The ID of the network ACL." } output "private_acl" { - value = join("", aws_network_acl.private.*.id) + value = join("", aws_network_acl.private.*.id) description = "The ID of the network ACL." } \ No newline at end of file diff --git a/variables.tf b/variables.tf index 2efa225..5ce8d6d 100644 --- a/variables.tf +++ b/variables.tf @@ -198,6 +198,7 @@ variable "ipv4_private_cidrs" { variable "single_nat_gateway" { type = bool default = false + description = "Enable for only single NAT Gateway in one Availability Zone" } variable "assign_ipv6_address_on_creation" { diff --git a/_example/private-subnet/versions.tf b/versions.tf similarity index 64% rename from _example/private-subnet/versions.tf rename to versions.tf index cbc6f9c..9317499 100644 --- a/_example/private-subnet/versions.tf +++ b/versions.tf @@ -1,11 +1,11 @@ # Terraform version terraform { - required_version = ">= 1.3.6" + required_version = ">= 1.4.6" required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.48.0" + version = ">= 5.1.0" } } } \ No newline at end of file