Skip to content

Releases: cloudposse/terraform-aws-lambda-elasticsearch-cleanup

v0.12.3

10 Feb 10:23
20f9b1f

Choose a tag to compare

🤖 Automatic Updates

Update Terraform cloudposse/module-artifact/external to v0.7.0 @renovate (#34)

This PR contains the following updates:

Package Type Update Change
cloudposse/module-artifact/external (source) terraform minor 0.6.1 -> 0.7.0

Release Notes

cloudposse/terraform-external-module-artifact

v0.7.0

Compare Source

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

06 Feb 01:34
5f91650

Choose a tag to compare

🤖 Automatic Updates

Update Terraform cloudposse/module-artifact/external to v0.6.1 @renovate (#33)

This PR contains the following updates:

Package Type Update Change
cloudposse/module-artifact/external (source) terraform minor 0.5.0 -> 0.6.1

Release Notes

cloudposse/terraform-external-module-artifact

v0.6.1

Compare Source

🤖 Automatic Updates

Update context.tf @​cloudpossebot (#​12) #### 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.6.0

Compare Source

minimum required Terraform version bumped to 0.13.0, context.tf updated, readme updated @​maximmi (#​13) #### what - update context.tf to v0.23.0 - 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 - 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.5.1

Compare Source

🚀 Enhancements

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

v0.12.1

06 Feb 01:33
6b74a34

Choose a tag to compare

🤖 Automatic Updates

Update Terraform cloudposse/label/null to v0.24.1 @renovate (#32)

This PR contains the following updates:

Package Type Update Change
cloudposse/label/null (source) terraform minor 0.19.2 -> 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.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 = "".

#### Known issues - `exports/context.tf` still not backwards compatible - Validation for `id_length` not included in `exports/context.tf`

v0.23.0

Compare Source

Known issues

  • Does not interoperate with earlier versions of null-label. The canonical context = module.this.context fails if module.this.context is an older version
  • context.tf does not incorporate var.label_key_case and var.label_value_case into the module.this object, preventing those variables from taking effect in the root module's module.this.
feat: add support for setting letter case of context tags @​SweetOps (#​107)

With this release, you gain 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 = "".

v0.22.1

Compare Source

Add var.attributes to end of context.attributes, not vice versa @​Nuru (#​114) #### what - Add `var.attributes` to end of `context.attributes`, not vice versa - Update to current workflows (with some exceptions) #### why - Modules should append to attributes passed in, not insert themselves ahead of others - New features, like auto-format (but holding back some, because this is a special module) #### references - closes #​113 - closes #​108

v0.22.0

[Compare Source](https://togithub.com/cloudposse/terraform-null-label/compare/0.21.0...0.22....

Read more

v0.12.0

06 Feb 01:06
a567810

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 (#30)

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 #31
Supersedes and closes #24

v0.11.0

04 Feb 07:03
7d71374

Choose a tag to compare

Terraform 0.14 upgrade @maximmi (#29)

what

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

why

  • Support Terraform 0.14

v0.10.2

13 Oct 03:40
dd39b07

Choose a tag to compare

🐛 Bug Fixes

Do not create data resources when disabled @Nuru (#27)

what

  • Do not create data resources when disabled

why

  • Minimize impact of disabled module

v0.10.1

09 Oct 01:56
ea43d1a

Choose a tag to compare

🐛 Bug Fixes

Workaround TF null default bug @Nuru (#26)

what

  • Default git_ref to "" instead of null
  • Lambda artifact generation for PRs now uses PR SHA

why

  • Passing null is supposed to make the module use the default value, but in this case it does not
  • Terraform code expects to find artifact with same SHA as Terraform module

references

v0.10.0

08 Oct 17:47
e1075a6

Choose a tag to compare

Change index selectors, update to current standards @Nuru (#25)

what

  • Update providers to support AWS 3.x and generally convert ~> to >=
  • BREAKING CHANGE: Rebase es-cleanup.py on cloudreach v0.14
  • Update test dependencies, use Go modules, ensure test resources include random component
  • Update to context.tf
  • Update GitHub actions

why

  • AWS 3.x has new features we need. ~> inhibits testing new releases.
  • Now index selection is regex minus regex, much better than previous comma separated list. Other bug fixes.
  • Test with current modules using current testing practices
  • Keep in sync with other modules

migration

Prior versions had index which was a comma-separated list of index names or the special name "all" to indicate all but Kibana indexes, and index_regex which was a regular expression for parsing index name and date parts. There was no mechanism for specifying a list of indexes to exclude. This version drops those input variables and instead provides index_re and skip_index_re, both of which are regular expressions. You probably want to anchor your regexes to the beginning of the index name by starting with ^.

  • If the full index name, including the date part, matches skip_index_re, then the index will be skipped (never deleted).
  • If the index name without the trailing -date part matches index_re, then it will be cleaned up according to the date part.
If you previously had Now use
index = "all" Default values for index_re and skip_index_re
index = "a,xb,c0" index_re = "^(a|xb|c0)" and skip_index_re = "^$"
index_regex = "(ipat)-(dpat)" index_re = "ipat" and be sure index_format is correct for your date format

Keep in mind that fundamentally, this module expects indexes to be in the format of name-date so it will not work properly if the regexes end up selecting an index that does not end with -date. To avoid edge cases, it is wise not to include dashes in your index name or date format.

0.9.0: Update Version Pinning for Terraform to support 0.13

11 Aug 13:50
328febe

Choose a tag to compare

What

  1. Update Version Pinning for Terraform to support 0.13

Why

  1. This is a relatively minor update that the CloudPosse module already likely supports.
  2. This allows module consumers to not individually update our Terraform module to support Terraform 0.13.

0.8.0 Matching index with regex pattern #20

30 Jun 17:12
21624d9

Choose a tag to compare

what

  • Added matching index and splitting it with regex pattern.

why

  • Fluentd send logs to ES and creates indexes with pattern logstash-%Y.%m.%d where it's possible for other applications to create different index patterns - for example Kinesis Firehose will create logstash-%Y-%m-%d. Such pattern triggers deletion of all indexes by this lambda.