Releases: cloudposse/terraform-aws-rds-cluster
v2.3.0
feat: support setting var.database_insights_mode @oycyc (#274)
## whatAllow Database Insights mode to be set.
why
Consumers can choose whether they want Standard (default) or Advanced.
This is supported by Terraform:

references
Closes #269
v2.2.0
feat: adds seconds_until_auto_pause argument @wavemoran (#272)
## what- Adds the
seconds_until_auto_pauseargument forserverlessv2_scaling_configuration
why
- Allow users to set this value to autopause clusters as needed
references
v2.1.1
🚀 Enhancements
Add output variable for `master_user_secret` @thedomeffm (#260)
## whatAdd master_user_secret (renamed followed the cloudposse naming replacing master with admin) as output.
why
I want to add the secret to my beanstalk environment, but I can not reference the secret in terraform, because the master_user_secret is not available.
references
Add output block that contains the the secret ARN (see master_user_secret reference in the terraform docs).
... but it was not added 😢
I am not sure how to configure the output correctly, beacuse the value just exists when the manage_admin_user_password is true. Does the current implementation probably result in problems? My terraform knowledge is limited. 😅
🤖 Automatic Updates
v2.1.0
chore: add port output @nitrocode (#262)
## what- chore: add port output
why
- It's better to grab the port from the output so I do not need to save the port to a local when calling the module, otherwise I'll have the port hard coded in two places
references
N/A
v2.0.0
v1.18.0
fix: Add perfomance inside to primary cluster @djakielski (#250)
## what- Add performace inside config also on primary cluster
why
- had issues with incompatible cluster and instance parameter
- you can enable performance inside on cluster
references
v1.17.0
fix: reserved instances, aurora rds specifics @oycyc (#249)
## what RDS Reserved Instances multi AZ mode is never available for Aurora engines, see images on the console - this PR checks to ensure that it is set to false if the engine is Aurora:  why
That configuration isn't really applicable anyways since this statement from the AWS docs https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithReservedDBInstances.html:

references
v1.16.0
fix: reserved instance multi_az setting @oycyc (#248)
## whatUsing local.is_regional_cluster to determine whether or not it is Multi-AZ is not accurate. local.is_regional_cluster only checks if var.cluster_type == "regional", which determines if this is a regional vs global cluster
I could have a regional cluster, but it is NOT multi-az. One determining factor is how many instances in the cluster, if ever more than 1 in a single cluster, then it has to be in multiple AZs. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
why
If I have a regional cluster, this thinks that it's ALWAYS multi-az, which is not true.
references
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
v1.15.1
🚀 Enhancements
fix: reserved instances restrictions @oycyc (#244)
## whatThis conditional check on whether or not to enable reserved instances is too restrictive. contains(["mysql", "postgresql"], local.reserved_instance_engine) is saying that only allow it if it is MySQL or PostgreSQL.
I think contains was originally meant to be like in the literal sense of "contains". Since in my case, I'm using aurora-postgresql, and it fails this check, yet it is one of the options for reserved instances.
why
endswith might be better, but it is TOO restrictive, seeing that there's so many options.

Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.
references
🐛 Bug Fixes
fix: reserved instances restrictions @oycyc (#244)
## whatThis conditional check on whether or not to enable reserved instances is too restrictive. contains(["mysql", "postgresql"], local.reserved_instance_engine) is saying that only allow it if it is MySQL or PostgreSQL.
I think contains was originally meant to be like in the literal sense of "contains". Since in my case, I'm using aurora-postgresql, and it fails this check, yet it is one of the options for reserved instances.
why
endswith might be better, but it is TOO restrictive, seeing that there's so many options.

Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.
references
v1.15.0
🚀 Enhancements
- Implement and close #237 (add option for local write forwarding) Thank you @Junaid-Tem
- Implement and close #239 (allow the configuration of
reservation_idforaws_rds_reserved_instance) Thank you @oycyc
🐛 Bug Fixes
Multiple cleanups @Nuru (#242)
## what- Partly revert #236 (see discussion below)
- Allow explicitly naming parameter group
- Use full name of engine for reserved DB instances
- Implement and close #197
- Implement and close #199
- Implement and close #230 Thank you @raymondchen625
why
discussion: why partially revert #236?
PR #236 enhanced the random_pet that determines part of the name of the DB instances so that the name would change whenever the instances would need to be recreated. Unfortunately, as a side-effect, that causes all instances created with earlier versions of this module to be replaced.
Upon further investigation, it was determined that all the "keepers" added by the PR would also force the cluster to be replaced. Unlike replacing an instance, replacing the cluster results in data loss. Also, unless you change the name of the cluster, the module both before and after the PR would fail, because it would try to create a new cluster with the same name before destroying the old cluster.
We prefer this failure mode, requiring the user to explicitly destroy the cluster before creating the new one, because it puts the user on notice about the potential data loss. So given that the changes in the PR did not make something work that did not work before, and it did cause disruption, we reverted the change to the keepers.

