Skip to content

Releases: cloudposse/terraform-aws-dynamodb-autoscaler

v0.16.0

06 Aug 15:41
7e71ca1
Compare
Choose a tag to compare
fix: Add tags to `aws_appautoscaling_target` resourses missed in previous PR @MaxymVlasov (#66) ## what Add missed tags

why

Tags were introduced for all aws_appautoscaling_target resources created after 2023-03-20.

That blocks us from enforcing policy checks for missing tags.

references

Follow-up to #65

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_target

Also, after release a new version here, we need release in https://github.com/cloudposse/terraform-aws-dynamodb/blob/a0cfac2e8c2584125596089a3185fc4a057410e4/main.tf#L153-L155

v0.15.0

06 Aug 14:44
e61cbb5
Compare
Choose a tag to compare
feat: Add tags to aws_appautoscaling_target @MaxymVlasov (#65) ## what Add missed tags

why

Tags were introduced for all aws_appautoscaling_target resources created after 2023-03-20.

That blocks us from enforcing policy checks for missing tags.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_target

Also, after release a new version here, we need release in https://github.com/cloudposse/terraform-aws-dynamodb/blob/a0cfac2e8c2584125596089a3185fc4a057410e4/main.tf#L153-L155

Added scaling cooldown variables. @Jon-Berg (#53) ## what

Added scaling cooldown variables.

why

Need to control autoscaling cooldown times to handle usage spikes.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy#target_tracking_scaling_policy_configuration

Support AWS Provider V5 @max-lobur (#52) ## what

Support AWS Provider V5
Linter fixes

why

Maintenance

references

https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.0.0

Sync github @max-lobur (#49) Rebuild github dir from the template
git.io->cloudposse.tools update @dylanbannon (#45) ## 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
some resources names build logic fix @maximmi (#38) ## what * some resources names build logic fix

why

  • broken logic
count replaced with foreach @maximmi (#37) ## what * `count` replaced with `foreach`

why

  • requires to fix invalid count argument on read/write_target_index with multiple dynamodb tables issue

refs

context.tf updated to v0.24.1, minimum required Terraform version bumped to 0.13.0 when needed, readme updated @maximmi (#33) ## 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

Supersedes and closes #32

Terraform 0.14 upgrade @maximmi (#31) ## what - Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard

why

  • Support Terraform 0.14
Terraform 0.14 upgrade @Nuru (#28) ## what - Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard - Remove IAM role and policies

why

  • Support Terraform 0.14
  • Not needed now that we have service-linked roles
  • Closes #25
make this module v14 compatible @jurgenweber (#27) make this module v14 compatible
use minimum versions for provider pinning @woz5999 (#24) ## what set minimum versions for providers without pinning to a specific major version

why

the current method makes it very difficult to maintain or upgrade consistent provider versions within a project

references

https://www.terraform.io/docs/configuration/provider-requirements.html#best-practices-for-provider-versions

[AUTOMATED] Update terraform-null-label versions to support Terraform 0.13 @Gowiem (#23) ## What
  1. Updates terraform-null-label versions 0.14.1, 0.15.0, and 0.16.0 to version 0.17.0
  2. This is an automated commit and pull request created by Microplane. More information here.

Why

  1. This module and the mentioned previous versions are used extensively across the large majority of Cloud Posse's Terraform Modules. They're currently holding back support for Terraform v0.13. Doing this upgrade in mass will alleviate the pain in our efforts to support Terraform v0.13
Update Version Pinning for Terraform to support 0.13. Fix example and Terratest. Add Go modules for Terratest @Gowiem (#22) ## What
  • Update Version Pinning for Terraform to support 0.13
  • Fix example and Terratest
  • Add Go modules for Terratest

Why

  • This is a relatively minor update that the CloudPosse module already likely supports
  • This allows module consumers to not individually update our Terraform module to support Terraform 0.13
  • Fix example and Terratest: deploy a DynamoDB table to connect the autoscaler to (otherwise, AWS throws errors)
  • Add Go modules for Terratest: use Go modules to pin versions
Updates to ChatOps - Automated commit @Gowiem (#21) ## What * Adds chatops commands - '/test all' - '/test bats' - '/test readme' - '/test terratest' * Drops codefresh * Drops slash-command-dispatch * Removes codefresh badge * Rebuilds README

Why

  • Change over from codefresh to GH Actions
  • Facilitate testing of PRs from forks
Use the latest label module to support the environment attribute @adamcrews (#19)
Convert to TF 0.12. Add tests. Add Codefresh test pipeline @aknysh (#17) ## what * Port module to Terraform 0.12 * Pin all providers * Add example for testing * Add `bats` and `terratest` for the example * Add Codefresh badge to point to the test pipeline in `terraform-modules` project * Update README

why

  • Module currently does not work with 0.12. Much easier syntax
  • Better regression control
  • Automatically test the example on every commit and pull request
  • Provision resources on AWS in the test account and check the outputs for the correct values
  • terraform-modules project contains pipelines for all terraform modules

related

notes

Add tags to autoscaler role @lapastillaroja (#14) IAM roles now support tagging. With this change the role created for autoscaler will inherit the tags passed as a variable.

AWS docs: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html

Use `splat+join` pattern for resources with counts @aknysh (#10) ## what * Use `splat+join` pattern for resources with counts

why

  • To prevent errors when var.enabled = false
Resource 'aws_iam_role.autoscaler' not found for variable 'aws_iam_role.autoscaler.id'
  • Address #6
Regenerate README.md @vadim-hleif (#8) ## what * Regenerate `README.md`

why

  • Previous version of build-harness has some typos
Migrate readme yaml @vadim-hleif (#7) ## what * Add `README.yaml`

why

  • Standardize README
Fix appautoscaling policy for global secondary indexes @aknysh (#5) ## what * Add `aws_appautoscaling_policy.read_policy_index` for global secondary indexes * Add `aws_appautoscaling_policy.write_policy_index` for global secondary indexes

why

  • Missing
  • Required for global secondary indexes
Add `enabled` flag to enable/disable creation of the resources @aknysh (#2) ## what * Add `enabled` flag to enable/disable creation of all the resources

why

  • Some applications that use DynamoDB don't require autoscaling
  • Setting the enabled flag to false will not create any autoscaler resources
Initial implementation @aknysh (#1) ## what * Autoscaler scales up/down the provisioned OPS for a DynamoDB table based on the load

why

  • Separate DynamoDB table provisioning from Autoscaler provisioning
  • Some applications require DynamoDB tables with completely different structure (range key required or not, different attributes), which is difficult to generalize taking into account Terraform language restrictions (e.g. no conditionals with maps and lists). Having the autoscaling code in each module is redundant
  • Some application don't require autoscaling at all

🚀 Enhancements

Feat: Add Index Read/Write Values for Capacity and Target @nitrocode (#43) ## what * Add index read/write values for autoscaling capacity and target * If the index values aren't provided, the original values will be used in place via `coalesce(index, original)`

why

  • Separate read/write capacities for table vs index

references

Chore: run `make github/init` @korenyoni (#41) ## what * Run `make github/init`.

why

  • Updates GHA-workflow-related files to their latest distribution.
  • The old context.tf distributio...
Read more

v0.14.0

26 Oct 16:27
173a458
Compare
Choose a tag to compare

🚀 Enhancements

Feat: Add Index Read/Write Values for Capacity and Target @nitrocode (#43)

what

  • Add index read/write values for autoscaling capacity and target
  • If the index values aren't provided, the original values will be used in place via coalesce(index, original)

why

  • Separate read/write capacities for table vs index

references

v0.13.2

14 Oct 17:22
b9a49c0
Compare
Choose a tag to compare

🚀 Enhancements

Chore: run `make github/init` @korenyoni (#41)

what

  • Run make github/init.

why

  • Updates GHA-workflow-related files to their latest distribution.
  • The old context.tf distribution is incompatible with the tenant label.

references

v0.13.1

28 May 15:51
558d090
Compare
Choose a tag to compare

🚀 Enhancements

Don't create resources when enabled = false @alexjurkiewicz (#40)

v0.13.0

20 May 15:07
029e0cf
Compare
Choose a tag to compare
some resources names build logic fix @maximmi (#38)

what

  • some resources names build logic fix

why

  • broken logic

v0.12.0

20 May 09:46
b7b7003
Compare
Choose a tag to compare
count replaced with foreach @maximmi (#37)

what

  • count replaced with foreach

why

  • requires to fix invalid count argument on read/write_target_index with multiple dynamodb tables issue

refs

v0.11.0

05 Feb 00:59
a914ccb
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 (#33)

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

Supersedes and closes #32

v0.10.0

04 Feb 06:56
c2fb5df
Compare
Choose a tag to compare
Terraform 0.14 upgrade @maximmi (#31)

what

  • Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard

why

  • Support Terraform 0.14

v0.9.2

06 Jan 16:50
59fafae
Compare
Choose a tag to compare

🤖 Automatic Updates

Update README.md and docs @cloudpossebot (#30)

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