Releases: cloudposse/terraform-aws-rds
v0.37.0
Add option to define character set @yariksheptykin (#71)
Closes #70
v0.36.0
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
- #114
closes #114
v0.35.1
🚀 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
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 (andvar.db_subnet_group_name
andvar.subnet_ids
are not), usevar.availability_zone
to place the instance into the default VPC or EC2 Classic
related
v0.34.0
Terraform 0.13 requires snapshot_identifier explicitly set to null @nnsense (#106)
what
- With terraform
0.13
Ifsnapshot_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
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
🤖 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
🤖 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
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 compliantv0.32.2
🤖 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
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 ofupper
,lower
, ortitle
, which will result in generatedtag
names in the corresponding case:NAME
,name
, orName
. For backwards compatibility,title
is the default - You can set
label_value_case
to one ofupper
,lower
,title
, ornone
, which will result in output label values in the corresponding case (withnone
meaning no case conversion of any kind will be done, though the labels will still be subject toregex_replace_chars
). The case converted labels will show up not just in the module output of the labels themselves, but also in thetag
values and in theid
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 id
s 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 validatorsRestore 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
🤖 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
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 ofupper
,lower
, ortitle
, which will result in generatedtag
names in the corresponding case:NAME
,name
, orName
. For backwards compatibility,title
is the default - You can set
label_value_case
to one ofupper
,lower
,title
, ornone
, which will result in output label values in the corresponding case (withnone
meaning no case conversion of any kind will be done, though the labels will still be subject toregex_replace_chars
). The case converted labels will show up not just in the module output of the labels themselves, but also in thetag
values and in theid
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 id
s in Pascal case by setting label_value_case = "title"
and delimiter = ""
.