v1.0.1
fix: null value reference when copy_action is specified without lifecycle options @carlosaml (#86)
what
Attempt to get attribute from null value
error when a copy_action
is specified in a backup rule without any lifecycle options
steps to reproduce
Based on the complete example:
module "backup" {
source = "../.."
backup_resources = [module.efs.arn]
not_resources = var.not_resources
rules = [
{
name = "${module.this.name}-daily"
schedule = var.schedule
start_window = var.start_window
completion_window = var.completion_window
lifecycle = {
cold_storage_after = var.cold_storage_after
delete_after = var.delete_after
}
copy_action = {
destination_vault_arn = "arn:aws:backup:us-east-2:123456789000:backup-vault:my-vault"
}
}
]
backup_vault_lock_configuration = {
max_retention_days = 365
min_retention_days = 30
}
context = module.this.context
}
why
The following error should not happen:
╷
│ Error: Attempt to get attribute from null value
│
│ on ../../main.tf line 79, in resource "aws_backup_plan" "default":
│ 79: cold_storage_after = rule.value.copy_action.lifecycle.cold_storage_after
│ ├────────────────
│ │ rule.value.copy_action.lifecycle is null
│
│ This value is null, so it does not have any attributes.
╵
╷
│ Error: Attempt to get attribute from null value
│
│ on ../../main.tf line 80, in resource "aws_backup_plan" "default":
│ 80: delete_after = rule.value.copy_action.lifecycle.delete_after
│ ├────────────────
│ │ rule.value.copy_action.lifecycle is null
│
│ This value is null, so it does not have any attributes.
╵
🚀 Enhancements
chore(deps): update terraform cloudposse/dynamic-subnets/aws to v2.4.2 @renovate (#70)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/dynamic-subnets/aws (source) | module | patch | 2.4.1 -> 2.4.2 |
Release Notes
cloudposse/terraform-aws-dynamic-subnets (cloudposse/dynamic-subnets/aws)
v2.4.2
🚀 Enhancements
chore(deps): update terraform cloudposse/utils/aws to v1.4.0 (main) @renovate (#191)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/utils/aws (source) | module | minor | 1.3.0 -> 1.4.0 |
Release Notes
cloudposse/terraform-aws-utils (cloudposse/utils/aws)
v1.4.0
Add il-central-1 region @​jasonmk (#​31)
what
Add new Tel Aviv (il-central-1) region
why
Provide full coverage
references
Sync github @​max-lobur (#​27)
Rebuild github dir from the template
🤖 Automatic Updates
chore(deps): update terraform cloudposse/utils/aws to v1.4.0 (main) @renovate (#191)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/utils/aws (source) | module | minor | 1.3.0 -> 1.4.0 |
Release Notes
cloudposse/terraform-aws-utils (cloudposse/utils/aws)
v1.4.0
Add il-central-1 region @​jasonmk (#​31)
what
Add new Tel Aviv (il-central-1) region
why
Provide full coverage
references
Sync github @​max-lobur (#​27)
Rebuild github dir from the template
Update README.md and docs @cloudpossebot (#189)
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
🤖 Automatic Updates
chore(deps): update terraform cloudposse/dynamic-subnets/aws to v2.4.2 @renovate (#70)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/dynamic-subnets/aws (source) | module | patch | 2.4.1 -> 2.4.2 |
Release Notes
cloudposse/terraform-aws-dynamic-subnets (cloudposse/dynamic-subnets/aws)
v2.4.2
🚀 Enhancements
chore(deps): update terraform cloudposse/utils/aws to v1.4.0 (main) @renovate (#191)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/utils/aws (source) | module | minor | 1.3.0 -> 1.4.0 |
Release Notes
cloudposse/terraform-aws-utils (cloudposse/utils/aws)
v1.4.0
Add il-central-1 region @​jasonmk (#​31)
what
Add new Tel Aviv (il-central-1) region
why
Provide full coverage
references
Sync github @​max-lobur (#​27)
Rebuild github dir from the template
🤖 Automatic Updates
chore(deps): update terraform cloudposse/utils/aws to v1.4.0 (main) @renovate (#191)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/utils/aws (source) | module | minor | 1.3.0 -> 1.4.0 |
Release Notes
cloudposse/terraform-aws-utils (cloudposse/utils/aws)
v1.4.0
Add il-central-1 region @​jasonmk (#​31)
what
Add new Tel Aviv (il-central-1) region
why
Provide full coverage
references
Sync github @​max-lobur (#​27)
Rebuild github dir from the template
Update README.md and docs @cloudpossebot (#189)
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
Update release workflow to allow pull-requests: write @osterman (#84)
what
- Update workflow (
.github/workflows/release.yaml
) to have permission to comment on PR
why
- So we can support commenting on PRs with a link to the release
chore(deps): update terraform cloudposse/efs/aws to v1 @renovate (#68)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/efs/aws (source) | module | major | 0.36.0 -> 1.1.0 |
Release Notes
cloudposse/terraform-aws-efs (cloudposse/efs/aws)
v1.1.0
Make allow_all_egress a variable @dlacosteGFM (#126)
What changes in this PR?
- Default change is nothing (with this PR applied, nobody would have to change anything)
- Makes a new parameter
allow_all_egress
which defaults tofalse
- When creating the security group for the EFS volume, this line makes the security-group have an "allow egress to 0.0.0.0/0" rule entry. This PR makes that a configurable parameter instead
Why make this change?
- EFS doesn't actually do egress, so this really makes no impact difference at all
- ...but during a security audit we have a dangling "why do you allow egress to 0.0.0.0/0 on this?" question with no really good answer (so let's get rid of it as it doesn't do anything anyways)
References
- PCI DSS 3.2.1 rule 1.1.7 - Requirement to review firewall and router rule sets every 6 months
- PCI DSS 3.2.1 rule 1.2.1 - Restrict inbound and outbound traffic to that which is necessary for the environment
v1.0.0
🤖 Automatic Updates
chore(deps): update terraform cloudposse/security-group/aws to v2 (main) @renovate (#135)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/security-group/aws (source) | module | major | 1.0.1 -> 2.2.0 |
Release Notes
cloudposse/terraform-aws-security-group (cloudposse/security-group/aws)
v2.2.0
`.editorconfig` Typo @​milldr (#​50)
what
fixed intent typo
why
should be spelled "indent"
references
https://cloudposse.slack.com/archives/C01EY65H1PA/p1685638634845009
Sync github @​max-lobur (#​47)
Rebuild github dir from the template
v2.1.0
- No changes
v2.0.1
🐛 Bug Fixes
Properly handle enabled = false @​Nuru (#​45)
what
- Properly handle
enabled = false
why
- Fixes #43
v2.0.0
: Breaking changes
For details about migrating from v1 to v2, read the migration documentation.
Version 1 of this module had a flaw in that it tried to create new security group rules before deleting the old ones, which the Terraform provider does not handle properly and caused most attempted changes to fail. Version 2 resolves this issue by also creating a new security group when the rules change, installing the new rules in the new security group, then changing the security group assignments. Read the README and the migration documentation for more details.
Document migration from v1 to v2 @​Nuru (#​42)
what
- Document migration from v1 to v2 of this module
- Fix #40
why
- Serious issues exist in v1, causing v2 to have different defaults and new settings. Documentation is needed to guide users on how to upgrade while minimizing service interruptions.
references
- Closes #40
Fixes the link for examples/complete/main.tf @​jdmedeiros (#​41)
Fixes the link for examples/complete/main.tf on the README.md file.
Update GitHub Workflows to use shared workflows from '.github' repo @osterman (#82)
what
- Update workflows (
.github/workflows
) to use shared workflows from.github
repo
why
- Reduce nested levels of reusable workflows
Update GitHub Workflows to Fix ReviewDog TFLint Action @osterman (#81)
what
- Update workflows (
.github/workflows
) to addissue: write
permission needed by ReviewDogtflint
action
why
- The ReviewDog action will comment with line-level suggestions based on linting failures
Update GitHub workflows @osterman (#80)
what
- Update workflows (
.github/workflows/settings.yaml
)
why
- Support new readme generation workflow.
- Generate banners
Use GitHub Action Workflows from `cloudposse/.github` Repo @osterman (#77)
what
- Install latest GitHub Action Workflows
why
- Use shared workflows from
cldouposse/.github
repository - Simplify management of workflows from centralized hub of configuration
Add GitHub Settings @osterman (#74)
what
- Install a repository config (
.github/settings.yaml
)
why
- Programmatically manage GitHub repo settings
Update Scaffolding @osterman (#72)
what
- Reran
make readme
to rebuildREADME.md
fromREADME.yaml
- Migrate to square badges
- Add scaffolding for repo settings and Mergify
why
- Upstream template changed in the
.github
repo - Work better with repository rulesets
- Modernize look & feel
Update README.md and docs @cloudpossebot (#71)
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
Update Scaffolding @osterman (#69)
what
- Reran
make readme
to rebuildREADME.md
fromREADME.yaml
- Migrate to square badges
- Add scaffolding for repo settings and Mergify
why
- Upstream template changed in the
.github
repo - Work better with repository rulesets
- Modernize look & feel
Update Terraform cloudposse/efs/aws to v0.36.0 @renovate (#66)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/efs/aws (source) | module | minor | 0.35.0 -> 0.36.0 |
Release Notes
cloudposse/terraform-aws-efs (cloudposse/efs/aws)
v0.36.0
🤖 Automatic Updates
chore(deps): update terraform cloudposse/route53-cluster-hostname/aws to v0.13.0 (main) @renovate (#136)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/route53-cluster-hostname/aws (source) | module | minor | 0.12.2 -> 0.13.0 |
Release Notes
cloudposse/terraform-aws-route53-cluster-hostname (cloudposse/route53-cluster-hostname/aws)
v0.13.0
- No changes
v0.12.3
Add zone inputs, update tests, add usage @​nitrocode (#​42)
what
- Add zone inputs, update tests, add usage
why
- Verify zone name exists
- Dynamically retrieve zone name based on data source inputs
references
git.io->cloudposse.tools update @​dylanbannon (#​40)
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
Update README.md and docs @cloudpossebot (#131)
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
Update Terraform cloudposse/vpc/aws to v2.2.0 @renovate (#67)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/vpc/aws (source) | module | minor | 2.1.1 -> 2.2.0 |
Release Notes
Update README.md and docs @cloudpossebot (#65)
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
Update README.md and docs @cloudpossebot (#64)
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
Update Terraform cloudposse/dynamic-subnets/aws to v2.4.1 @renovate (#62)
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
cloudposse/dynamic-subnets/aws (source) | module | minor | 2.3.0 -> 2.4.1 |
Release Notes
cloudposse/terraform-aws-dynamic-subnets (cloudposse/dynamic-subnets/aws)
v2.4.1
🚀 Enhancements
v2.4.0
Update dependencies, remove deprecation, add NACL example @Nuru (#184)
Note
Dropping support for deprecated EC2-Classic
With this release, EIPs allocated for NAT ingress are allocated in the default domain. This most likely does not affect you, but for accounts created before 2013-12-04 (almost 10 years ago as of this writing), the default domain could be EC2-Classic rather than the current VPC. Previously this module forced the EIPs to be in the VPC domain, but the breaking changes between AWS Provider v4 and v5 make that difficult.
If you find yourself in the rare situation where the EIPs allocated by this module are in EC2-Classic but you want them in VPC, then create the EIPs outside of this module and supply them to this module via nat_elastic_ips
.
Custom NACLs
This release includes an example (examples/nacls/
) showing how to create custom NACLs in conjunction with this module. Note that by default, this module creates wide-open NACLs, and subnets can only have one NACL associated with them. If you try to add a NACL to a subnet without disabling the default NACLs, you may get a possibly confusing error like:
│ Error: creating EC2 Network ACL: creating EC2 Network ACL (acl-0376c5f12dd9d784d) Association: InvalidAssociationID.NotFound: The association ID 'aclassoc-0818d5a9e3876a2bb' does not exist
See https://github.com/hashicorp/terraform-provider-aws/issues/31888
what
- Make appropriate inputs non-nullable (treat an input of
null
as meaning "default") - Remove
aws_eip
vpc = true
- Update terraform cloudposse/utils/aws to v1.3.0 (Supersedes and closes #182)
- Add example of how to add custom NACLs to subnets created by this module (Supersedes and closes #176)
- Update tests and test framework
why
- Allow better, more consistent configuration
- Deprecated
- Include support for new AWS regions
- Encourage composition of modules and resources rather than aggregation of functionality into bloated modules (c.f. #176)
- Stay current with features, bug fixes, and security updates
references
- Terraform AWS Provider Version 5 Upgrade Guide: aws_eip
- Disallowing Null Input Values
- EC2 Classic