Skip to content

Releases: cloudposse/terraform-aws-vpc

v2.2.0-alpha1 documentation only

03 Mar 14:06
4e7d868
Compare
Choose a tag to compare
Pre-release

🤖 Automatic Updates

Update README.md and docs @cloudpossebot (#126)

what

This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates

v2.1.1

10 Nov 03:03
cd9070d
Compare
Choose a tag to compare
Add support for network address usage metrics @lanzrein (#124)

what

This PR adds support for Network Address Usage Metrics on the VPC.
AWS documentation : https://docs.aws.amazon.com/vpc/latest/userguide/network-address-usage.html
Terraform documentation : https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc#enable_network_address_usage_metrics

why

Network Address Usage metrics can help monitor the growth of a VPC and would be useful for any user.
Enable this after creating a VPC does not trigger recreation of the VPC.

references

closes #115

Sync github @max-lobur (#120)

Rebuild github dir from the template

🤖 Automatic Updates

Update README.md and docs @cloudpossebot (#125)

what

This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates

v2.1.0

17 May 09:04
3e61cf9
Compare
Choose a tag to compare
  • No changes

v2.0.0 Breaking changes, better VPC Endpoint support

28 Oct 06:26
3e61cf9
Compare
Choose a tag to compare

🚀 Enhancements

Breaking changes: See migration notes for details.

Drop support for deprecated features, revamp VPC Endpoint support @Nuru (#112)

Note

This will be released as version 2.0.0-rc1 and possibly as 2.0.0 without changes.
See migration notes for details.

what

  • Drop support for deprecated features
  • Revamp VPC Endpoint support (modules/vpc-endpoints)
  • Clean up documentation
  • Update tests to current framework and current modules

why

  • AWS is retiring ClassicLink. Closes #111
  • AWS provider version 4 deprecates (and version 5 is set to remove) inline resource creation for VPC Endpoint Route Tables, Subnet associations, and Security Group associations. Convert to new architecture in preparation for v5.
  • Add route table association for VPC Gateway Endpoints as a convenience, since they are always needed
  • More clarity, more standardization
  • Keep examples current, pull in bugfixes and security updates

references

Fix output description @ngoyal16 (#113)

what

  • IPv6 related description typo fix

why

  • In IPv6 related outputs vars description contains IPv4 instead of IPv6

v2.0.0-rc1 Enhanced VPC Endpoint support, drop deprecated features

05 Oct 17:42
53fd687
Compare
Choose a tag to compare

Breaking changes: See migration notes for details.

Drop support for deprecated features, revamp VPC Endpoint support @Nuru (#112)

Note

This will be released as version 2.0.0-rc1 and possibly as 2.0.0 without changes.
See migration notes for details.

what

  • Drop support for deprecated features
  • Revamp VPC Endpoint support (modules/vpc-endpoints)
  • Clean up documentation
  • Update tests to current framework and current modules

why

  • AWS is retiring ClassicLink. Closes #111
  • AWS provider version 4 deprecates (and version 5 is set to remove) inline resource creation for VPC Endpoint Route Tables, Subnet associations, and Security Group associations. Convert to new architecture in preparation for v5.
  • Add route table association for VPC Gateway Endpoints as a convenience, since they are always needed
  • More clarity, more standardization
  • Keep examples current, pull in bugfixes and security updates

references

v1.2.0

04 Oct 02:45
0f495dd
Compare
Choose a tag to compare
add/default-route-table @cdobbyn (#110)

what

  • Manages the default route table created alongside aws_vpc resource automatically.

why

  • If not managed there are no identifying features about this resource which is confusing.
  • In our case we establish ownership via tags passed into this module, if no tags are present it is difficult to report on ownership

references

v1.1.1

03 Aug 04:46
cd5c6b0
Compare
Choose a tag to compare
git.io->cloudposse.tools update @dylanbannon (#106)

what and why

Change all references to git.io/build-harness into cloudposse.tools/build-harness, since git.io redirects will stop working on April 29th, 2022.

References

  • DEV-143
Fix broken & disabled tests @Nuru (#105)

what

  • Fix broken & disabled tests

why

  • Better test coverage

🚀 Enhancements

Fix syntax error in example @vanastassiou (#107)

Fixes a syntax error in the "Full example with terraform-aws-dynamic-subnets" code that results in a terraform plan failure.

what

  • The example presented with dynamic-subnets generates a syntax error during terraform plan

why

  • Improves documentation reliability

v1.1.0 IPv6 & IPAM support, minor breaking change

28 Apr 14:32
f79a217
Compare
Choose a tag to compare

This release brings full support for IPv6 and initial support of IPAM.
It contains a minor breaking change:

  • The output ipv6_cidr_block has been renamed vpc_ipv6_cidr_block to be consistent with other output names
IPv6 and IPAM support @Nuru (#104)

what

  • Adds support for IPv6 configuration
  • Adds preliminary support for IP Address Manager (IPAM)
  • Updates framework to current

why

  • Support new features by request

migration notes

These changes should be backward compatible. However, 3 variables were deprecated and replaced, and use of the new variables is encouraged.

ipv6_enabled deprecated in favor of assign_generated_ipv6_cidr_block

In PR #99 released in version v0.28.0, we deprecated assign_generated_ipv6_cidr_block in favor of ipv6_enabled as part of a more general renaming of inputs to follow Cloud Posse's convention of naming boolean flags with _enabled at the end. However, now that we have IPAM, the name ipv6_enabled is misleading: it only means assign_generated_ipv6_cidr_block and you have to set that to false in order to assign an IPv6 address from IPAM. We do not want require you to set ipv6_enabled = false in order to use IPv6 IPAM, so we are reversing course on this variable, deprecating ipv6_enabled and reviving assign_generated_ipv6_cidr_block.

cidr_block deprecated in favor of ipv4_primary_cidr_block

Now that a VPC can have multiple IPv4 CIDR blocks along with multiple IPv6 CIDR blocks, the name cidr_block is just too vague. Use ipv4_primary_cidr_block instead to set the primary IPv4 CIDR block for the VPC.

additional_cidr_blocks deprecated in favor of ipv4_additional_cidr_block_associations

As with cidr_block, additional_cidr_blocks is now too vague given that the module supports both IPv4 and IPv6 CIDR blocks. Also, you now have the option of having these CIDR blocks allocated by IPAM rather than being specified directly, requiring additional input parameters. So we created the new ipv4_additional_cidr_block_associations and the parallel ipv6_additional_cidr_block_associations to replace additional_cidr_blocks (which, while deprecated, remains supported for now).

Note that the new variables take maps of configurations rather than lists of configurations. This is because each configuration is deployed as a separate Terraform resource, and the resources are not easily deleted and recreated. If you supply a list and then later remove the first element of the list, Terraform will deleted and recreate all the resources because Terraform tracks them by their list index and does not detect that they have simply moved. It sees that configuration 1 has changed (it is now what used to be configuration 2) so it deletes the old 1 and creates the old 2 as the new 1. This annoying at best, and with CIDR blocks being deleted and recreated it will likely fail at worst.

By providing the configurations as maps, you give each configuration a stable label, so that when you make a change, only the affected configuration changes. Removing a configuration does not affect the other configurations. The labels you assign are arbitrary and for your own benefit; the only requirement is that they be known at "plan time", meaning they cannot be generated by the Terraform code itself.

notes

Due to the difficulty of configuring and testing the AWS VPC IP Address Manager, this feature has not been tested and support for it should be considered preliminary. Please report issues as you discover them.

Some inputs have been deprecated. New inputs typically take a map rather than a list so that we can use for_each (for stability as the set of inputs changes) without relying on the values in the list (which can cause Terraform to complain that the results depend on values not available at "plan" time).

Supersedes and closes #103

🚀 Enhancements

WIP: Add ipv4_ipam_pool_id & ipv4_netmask_length @jbouse (#102)

what

  • Add ipv4_ipam_pool_id & ipv4_netmask_length variables
  • Update cidr_block with default value of null
  • Variables cidr_block is mutually exclusive to using ipv4_ipam_pool_id and ipv4_netmask_length

why

  • In order to support assigning the cidr_block auto-assignment for a VPC provided from an AWS VPC IPAM pool

v1.0.0 Initial release with production Semantic Versioning

25 Apr 07:32
5b62017
Compare
Choose a tag to compare

Initial release with production Semantic Versioning, part of Cloud Posse's general policy to convert to production versioning as we make updates to relatively mature modules, especially those where we see breaking changes coming in the near future. This release is exactly the same as v0.28.1.

We anticipate breaking changes (or at least changes that may cause resources to be moved from one Terraform "address" to another) in the near future (to be released as v2.0.0) as we add additional IPv6 support and support for AWS IP Address Manager (IPAM) along with additional changes for robustness.

v0.28.1

11 Nov 20:14
5b62017
Compare
Choose a tag to compare

🚀 Enhancements

Bump context 0.25.0 @nitrocode (#101)

what

  • Bump context 0.25.0

why

  • New context

references

N/A