Releases: cloudposse/terraform-aws-dynamic-subnets
v0.33.1
🤖 Automatic Updates
chore(deps): update terraform cloudposse/label/null to v0.22.1 @renovate (#110)
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
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 #108Renovate 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`
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
- closes #101
v0.32.1
v0.32.0
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
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
v0.30.0
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
andnull-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
v0.28.0
0.27.0
Allow create/delete timeouts for `aws_route` resource to be specified…
0.26.0: Bump null-label version to support Terraform 0.13 (#94)
## 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 :)