Skip to content

Releases: cloudposse/terraform-aws-dynamic-subnets

v0.33.1

24 Dec 06:28
7a5f206
Compare
Choose a tag to compare

🤖 Automatic Updates

chore(deps): update terraform cloudposse/label/null to v0.22.1 @renovate (#110)

WhiteSource Renovate

This PR contains the following updates:

Package Type Update Change
cloudposse/label/null (source) terraform patch 0.22.0 -> 0.22.1

Release Notes

cloudposse/terraform-null-label

v0.22.1

Compare Source

Add var.attributes to end of context.attributes, not vice versa @​Nuru (#​114) #### what - Add `var.attributes` to end of `context.attributes`, not vice versa - Update to current workflows (with some exceptions) #### why - Modules should append to attributes passed in, not insert themselves ahead of others - New features, like auto-format (but holding back some, because this is a special module) #### references - closes #​113 - closes #​108

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

v0.33.0 Breaking change: replace `existing_nat_ips` with `nat_elastic_ips`

18 Dec 19:59
b9f5836
Compare
Choose a tag to compare

Breaking change

Despite the language in #42, which was closed by PR #86 which introduced existing_nat_ips, and the description of the existing_nat_ips variable, the previous behavior was that if you provide existing IPs, they are assumed to be connected to existing NAT gateways or instances. No new gateways are created. "existing_nat_ips" is interpreted to mean the IPs of existing NATs.

That behavior makes no sense. Nothing was done with the existing IPs, all that happened if you provided them was that no NATs were created. The same effect could be achieved by setting both nat_gateway_enabled and nat_instance_enabled to false.

This release renames existing_nat_ips to nat_elastic_ips, so that anyone using existing_nat_ips will be notified about the change in behavior, which otherwise could go unnoticed and be expensive. To retain the old behavior, set nat_elastic_ips to the same list you previously used to set existing_nat_ips, and set both nat_gateway_enabled and nat_instance_enabled to false.

The new behavior is that creation of NAT gateways and/or instances is controlled only by nat_gateway_enabled and nat_instance_enabled. If you supply nat_elastic_ips, you must supply at least enough IPs for all the created gateways/instances, and the provided IPs will be assigned to them. Otherwise, this module will allocate new elastic IPs for them.

remove check for existing ips on local.nat_gateways_count @joe-niland (#109)

what

  • Removed check which caused NAT instances/gateways not to be created if existing Elastic IPs provided
  • It's not clear why this check was added

why

  • We need the ability to assign existing elastic IPs to NAT instances/gateways

references

v0.32.1

16 Dec 19:43
64897c9
Compare
Choose a tag to compare

🚀 Enhancements

Terraform 0.14 upgrade @woz5999 (#108)

what

tf14 upgrade

why

old version of context label provider

v0.32.0

30 Nov 19:14
fed9316
Compare
Choose a tag to compare
Update versions.tf @RothAndrew (#106)

what

  • Increase terraform min version to 0.12.26 due to new required_providers format
  • Relax provider version requirements by using >= instead of ~>

why

  • Provide greater compatibility with newer versions of providers

references

v0.31.0

03 Nov 14:00
eb5eb80
Compare
Choose a tag to compare
Ignore 2 tfsec warnings @RothAndrew (#105)

what

  • Ignore 2 tfsec warnings

why

  • We are okay with the CIDR block on the NAT instance's egress being 0.0.0.0/0
  • We are okay with the the NAT instance having a public IP address (?)

references

image

v0.30.0

11 Sep 19:27
ec96ab4
Compare
Choose a tag to compare

Warning

This release will change the tags on many of your resources. Resources which are created for each availability zone rather than each region should have the availability zone appended to the end of the ID that is the value of the "Name" tag. Previously, the full AWS region code was used, with dashes replaced by the null-label delimiter (which is dash by default, so usually no changes were made). Now the AZ code used is selectable and by default is Cloud Posse's new "short" code, which uses only digits and lower case letters.

Usage note

Tags you specify as inputs to modules override any generated tags. This includes the "Name" tag. Some people are using code like this:

module "label" {
  source      = "git::https://github.com/cloudposse/terraform-null-label.git?ref=tags/0.16.0"
  ... 
  tags = var.tags
}
locals {
  # THIS IS MISGUIDED. Do not merge tags. Supply the new tags and the modules will merge them for you.
  tags = merge(module.label.tags, map(format("kubernetes.io/cluster/%s-%s-%s-eks-cluster", var.namespace, var.environment, var.stage), "shared"))
}
module "subnets" {
  source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.22.0"
  ...
  tags = local.tags
}

Because of the merge, local.tags includes a Name tag which takes precedence over terraform-aws-dynamic-subnets generated tags, preventing the module from enhancing the the Name tag with additional disambiguation information. The merge is not required, and instead you should just use

locals {
   tags = map(format("kubernetes.io/cluster/%s-%s-%s-eks-cluster", var.namespace, var.environment, var.stage), "shared")
}
Use compact AZ codes in tags @Nuru (#100)

what

  • When resources are tagged with names that have the Availability Zone appended, use Cloud Posse's new "short" AZ codes
  • Update context.tf and null-label to v0.19.2

why

  • Full Availability Zone (AZ) codes have 2 dashes in them (e.g. "us-east-2") and Cloud Posse's naming convention defaults to using dashes as token separators. Additionally, previous code replaced the dashes in the AZ codes with whatever delimiter was in use for labels. This means that the previous availability zone was treated as 3 tokens when it is more appropriately treated as 1 token. Cloud Posse's new short codes use only digits and lower case letters, ensuring they are always treated as a single token.
  • Stay in sync with other modules

references

Cloud Posse's AWS AZ short codes

v0.29.0

08 Sep 12:11
3361aa6
Compare
Choose a tag to compare
fix: use the correct delimiter value with nat-instance @syphernl (#99)

what

  • Replaces var.delimiter with local.delimiter in nat-instance.tf

why

  • After the changes done in #97 creating a NAT instance is failing because it tries to do a replace on a null value

references

v0.28.0

28 Aug 00:34
9e96d46
Compare
Choose a tag to compare
Update to standard context, go mods, and GitHub config @Nuru (#97)

what

Update to current standards

  • Update to context.tf
  • Update to go modules
  • Update .github files

why

Standardization and interoperability

0.27.0

21 Aug 01:37
ace20c4
Compare
Choose a tag to compare
Allow create/delete timeouts for `aws_route` resource to be specified…

0.26.0: Bump null-label version to support Terraform 0.13 (#94)

13 Aug 15:33
8e1e74f
Compare
Choose a tag to compare
## what
* Bumped the pinned version of null-label to the version that supports Terraform 0.13

## why
* Module doesn't work on 0.13 without this change :)