Skip to content

v1.0.1

Compare
Choose a tag to compare
@cloudposse-releaser cloudposse-releaser released this 26 Jul 15:53
· 10 commits to refs/heads/main since this release
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

Compare Source

🚀 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

Compare Source

Add il-central-1 region @​&#​8203;jasonmk (#&#​8203;31)
what

Add new Tel Aviv (il-central-1) region

why

Provide full coverage

references
Sync github @​&#​8203;max-lobur (#&#​8203;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

Compare Source

Add il-central-1 region @​&#​8203;jasonmk (#&#​8203;31)
what

Add new Tel Aviv (il-central-1) region

why

Provide full coverage

references
Sync github @​&#​8203;max-lobur (#&#​8203;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

Compare Source

🚀 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

Compare Source

Add il-central-1 region @​&#​8203;jasonmk (#&#​8203;31)
what

Add new Tel Aviv (il-central-1) region

why

Provide full coverage

references
Sync github @​&#​8203;max-lobur (#&#​8203;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

Compare Source

Add il-central-1 region @​&#​8203;jasonmk (#&#​8203;31)
what

Add new Tel Aviv (il-central-1) region

why

Provide full coverage

references
Sync github @​&#​8203;max-lobur (#&#​8203;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

Compare Source

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 to false
  • 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

Compare Source

🤖 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

Compare Source

`.editorconfig` Typo @​&#​8203;milldr (#&#​8203;50)
what

fixed intent typo

why

should be spelled "indent"

references

https://cloudposse.slack.com/archives/C01EY65H1PA/p1685638634845009

Sync github @​&#​8203;max-lobur (#&#​8203;47)

Rebuild github dir from the template

v2.1.0

Compare Source

  • No changes
v2.0.1

Compare Source

🐛 Bug Fixes
Properly handle enabled = false @​&#​8203;Nuru (#&#​8203;45)
what
  • Properly handle enabled = false
why
  • Fixes #​43
v2.0.0: Breaking changes

Compare Source

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 @​&#​8203;Nuru (#&#​8203;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
Fixes the link for examples/complete/main.tf @​&#​8203;jdmedeiros (#&#​8203;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 add issue: write permission needed by ReviewDog tflint 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 rebuild README.md from README.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 rebuild README.md from README.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

Compare Source

🤖 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

Compare Source

  • No changes
v0.12.3

Compare Source

Add zone inputs, update tests, add usage @​&#​8203;nitrocode (#&#​8203;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 @​&#​8203;dylanbannon (#&#​8203;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

cloudposse/terraform-aws-vpc (cloudposse/vpc/aws)

v2.2.0

Compare Source


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

Compare Source

🚀 Enhancements

Add subnet ARNs to outputs @​Nuru (#​188)

what

  • Add subnet ARNs to outputs

why

v2.4.0

Compare Source

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