Skip to content

Releases: cloudposse/terraform-aws-rds

v0.37.0

07 Jul 18:08
cb41a4c
Compare
Choose a tag to compare
Add option to define character set @yariksheptykin (#71)

Closes #70

v0.36.0

14 Jun 16:03
3b6b1e8
Compare
Choose a tag to compare
Setting ca_cert_identifier default value to null @nnsense (#115)

what

Setting ca_cert_identifier default value to null, leaving its resolution up to the AWS resource.

why

Creating RDS in newer regions such as eu-south-1, ap-east-1, me-south-1, af-south-1 errors but RDS instance is still created. The default CA certificate ID (rds-ca-2019), which is valid across most of the regions, has a different format on these, see: #114 (comment)

references

v0.35.1

02 Apr 21:32
1da1851
Compare
Choose a tag to compare

🚀 Enhancements

Add an output to export resource_id @jblackburn22 (#112)

what

  • Exports the resource_id

why

  • The resource_id is needed in order to create a least-privileges IAM policy to provide using RDS IAM authentication.

references

  • Use closes #111

v0.35.0

16 Mar 13:02
e215164
Compare
Choose a tag to compare
Add `create_before_destroy` for parameter group. Make subnet group optional @aknysh (#110)

what

  • Add create_before_destroy for parameter group
  • Make the names for parameter & option groups unique
  • Make subnet group optional
  • Bump module versions
  • Update example and terratest

why

  • You cannot delete a parameter/option group while it is in use, but you can update a database with a new parameter/option group, so in order to change parameter/option groups, you need to create a new one, install it, then delete the old one
  • Some update and destroy operations were failing because resources were being deleted in the wrong order
  • If var.db_subnet_group_name is provided, use it and don't create a new Subnet Group
  • If var.availability_zone is provided (and var.db_subnet_group_name and var.subnet_ids are not), use var.availability_zone to place the instance into the default VPC or EC2 Classic

related

v0.34.0

26 Feb 19:35
caebe2f
Compare
Choose a tag to compare
Terraform 0.13 requires snapshot_identifier explicitly set to null @nnsense (#106)

what

  • With terraform 0.13 If snapshot_identifier is set to "" then the resource creation will fail ("snapshot_identifier": conflicts with username).
  • Apparently it works with >0.14 instead.

why

It seems resource "aws_db_instance" "default" defined into main changed (apparently, an hour ago?) its flexibility in taking arguments. Before (also with 0.13) defining "" was enough to use username and password for the DB. Now, I've got this:

Error: ConflictsWith                                                                                                                                                                       
                                                                                             
  on .terraform/modules/rds_instance/main.tf line 44, in resource "aws_db_instance" "default":                                                                                             
  44:   snapshot_identifier         = var.snapshot_identifier                                                                                                                              
                                                                                                                                                                                           
"snapshot_identifier": conflicts with username 

references

No references, and I might even be wrong, I rely on your testing to confirm the issue ;)

v0.33.0

05 Feb 07:43
07dcdd2
Compare
Choose a tag to compare
context.tf updated to v0.24.1, minimum required Terraform version bumped to 0.13.0 when needed, readme updated @maximmi (#103)

what

  • update context.tf to v0.24.1
  • minimum required Terraform version bumped to 0.13.0
  • readme updated, Bridgecrew compliance badges added

why

  • It allows for setting the letter case of tag names and labels, back compatibility with context v0.22.0 and below
  • we have dropped support for Terraform 0.12
  • To be able see and fix the recommendations from Bridgecrew so we can position our modules as standards compliant

v0.32.4

05 Feb 03:31
2e5547d
Compare
Choose a tag to compare

🤖 Automatic Updates

Update context.tf @cloudpossebot (#105)

what

This is an auto-generated PR that updates the context.tf file to the latest version from cloudposse/terraform-null-label

why

To support all the features of the context interface.

v0.32.3

04 Feb 20:44
078937c
Compare
Choose a tag to compare

🤖 Automatic Updates

chore(deps): update terraform cloudposse/route53-cluster-hostname/aws to v0.12.0 @renovate (#104)

This PR contains the following updates:

Package Type Update Change
cloudposse/route53-cluster-hostname/aws (source) terraform minor 0.11.0 -> 0.12.0

Release Notes

cloudposse/terraform-aws-route53-cluster-hostname

v0.12.0

Compare Source

context.tf updated to v0.24.1, minimum required Terraform version bumped to 0.13.0 when needed, readme updated @​maximmi (#​35) #### what - update context.tf to v0.24.1 - minimum required Terraform version bumped to 0.13.0 - readme updated, Bridgecrew compliance badges added #### why - It allows for setting the letter case of tag names and labels, back compatibility with context v0.22.0 and below - we have dropped support for Terraform 0.12 - To be able see and fix the recommendations from Bridgecrew so we can position our modules as standards compliant

v0.32.2

04 Feb 10:24
52208ff
Compare
Choose a tag to compare

🤖 Automatic Updates

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

This PR contains the following updates:

Package Type Update Change
cloudposse/label/null (source) terraform patch 0.24.0 -> 0.24.1

Release Notes

cloudposse/terraform-null-label

v0.24.1

Compare Source

Allow control of letter case of outputs @​SweetOps (#​107)

You now have control over the letter case of generated tag names and supplied labels, which means you also have control over the letter case of the ultimate id.

Labels are the elements you can include in label_order, namely namespace, environment, stage, name, and attributes. For every non-empty label, a corresponding tag name is generated. For namespace, environment, stage, the output is the formatted, normalized input. (By "normalized" we mean that it goes through regex_replace_chars.), For attributes, which is a list, each element is normalized, duplicates are removed, and the resulting list is converted to a string by joining the elements with the delimiter (defaults to hyphen). For name, which is special, the output is the same as id, which is the joining of the labels in the order specified by label_order and separated by delimiter.

  • You can set label_key_case to one of upper, lower, or title, which will result in generated tag names in the corresponding case: NAME, name, or Name. For backwards compatibility, title is the default
  • You can set label_value_case to one of upper, lower, title, or none, which will result in output label values in the corresponding case (with none meaning no case conversion of any kind will be done, though the labels will still be subject to regex_replace_chars). The case converted labels will show up not just in the module output of the labels themselves, but also in the tag values and in the id string.

You can look at the test cases in examples/complete and the expected results in test/src/examples_complete_test.go to see examples of how this is supposed to work.

One interesting example is that you can create ids in Pascal case by setting label_value_case = "title" and delimiter = "".

Include updates to exports/context.tf @​Nuru (#​122 and #​123) ##### what - Include updates to `exports/context.tf` - Update README with features and compatibilty - Add validation for `id_length_limit` ##### why - The `exports/context.tf` is what gets distributed and needs to be in sync - Replace outdated information - Was not validated earlier because validators are not supported in TF 0.12 but now we are dropping support for TF 0.12 and so we can add validators
Restore backward compatibility with v0.22.1 and earlier @​Nuru (#​121) ##### what - Restore backward compatibility with v0.22.1 and earlier - Allow setting of `label_key_case` and `label_value_case` by vars, not just by context attributes. ##### why - Allow interoperability of old and new modules - Normally, root modules make settings via individual variables, not by setting an entire context block.

Incorporates and closes #​120

v0.32.1

04 Feb 09:06
6c50d09
Compare
Choose a tag to compare
v0.32.1 Pre-release
Pre-release

🤖 Automatic Updates

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

This PR contains the following updates:

Package Type Update Change
cloudposse/label/null (source) terraform minor 0.23.0 -> 0.24.0

Release Notes

cloudposse/terraform-null-label

v0.24.0

Compare Source

Restore backward compatibility with v0.22.1 and earlier @​Nuru (#​121) ##### what - Restore backward compatibility with v0.22.1 and earlier - Allow setting of `label_key_case` and `label_value_case` by vars, not just by context attributes. ##### why - Allow interoperability of old and new modules - Normally, root modules make settings via individual variables, not by setting an entire context block.

Incorporates and closes #​120

Allow control of letter case of outputs @​SweetOps (#​107)

You now have control over the letter case of generated tag names and supplied labels, which means you also have control over the letter case of the ultimate id.

Labels are the elements you can include in label_order, namely namespace, environment, stage, name, and attributes. For every non-empty label, a corresponding tag name is generated. For namespace, environment, stage, the output is the formatted, normalized input. (By "normalized" we mean that it goes through regex_replace_chars.), For attributes, which is a list, each element is normalized, duplicates are removed, and the resulting list is converted to a string by joining the elements with the delimiter (defaults to hyphen). For name, which is special, the output is the same as id, which is the joining of the labels in the order specified by label_order and separated by delimiter.

  • You can set label_key_case to one of upper, lower, or title, which will result in generated tag names in the corresponding case: NAME, name, or Name. For backwards compatibility, title is the default
  • You can set label_value_case to one of upper, lower, title, or none, which will result in output label values in the corresponding case (with none meaning no case conversion of any kind will be done, though the labels will still be subject to regex_replace_chars). The case converted labels will show up not just in the module output of the labels themselves, but also in the tag values and in the id string.

You can look at the test cases in examples/complete and the expected results in test/src/examples_complete_test.go to see examples of how this is supposed to work.

One interesting example is that you can create ids in Pascal case by setting label_value_case = "title" and delimiter = "".