Ability to create arbitrary amounts of private subnets. Previously was only capable of 3 types: public, private, transit gateway. The terms public and transit_gateway are reserved keywords for those subnet types and all other keys used in var.subnets.<> are assumed to be type private.
Many private subnet related resources had to be renamed. Most changes are accomplished programatically using a moved blocks but some require manual terraform state mv commands. see below.
route_to_nat has been changed to connect_to_public_natgw to clarify the nat is in the public subnet & to diverge from the route_to nomenclature which expects a route destination like input.
Can pass cidr or prefix list id to route_to_transit_gateway argument. Previously was a list of CIDRs that could only accept 1 item.
Many changes to Outputs available. Removed outputs marked as deprecated, separated grouped subnet attribute outputs into 3 public_, tgw_, and private_. Since you can have several private subnet declarations we group based on the name scheme <your_key_name>/az.
Bugs
Fixed a bug where VPCs that were built with a CIDR from IPAM were not idempotent between terraform runs
Changes from 1.x to 2.x
Features & Enhancements
public
andtransit_gateway
are reserved keywords for those subnet types and all other keys used in var.subnets.<> are assumed to be type private.terraform state mv
commands. see below.route_to_nat
has been changed toconnect_to_public_natgw
to clarify the nat is in the public subnet & to diverge from theroute_to
nomenclature which expects a route destination like input.route_to_transit_gateway
argument. Previously was a list of CIDRs that could only accept 1 item.public_
,tgw_
, andprivate_
. Since you can have several private subnet declarations we group based on the name scheme<your_key_name>/az
.Bugs
For help upgrading see our upgrading guide