Releases: cloudposse/terraform-aws-lambda-elasticsearch-cleanup
v0.12.3
🤖 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
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 compliantv0.12.2
🤖 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
🤖 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
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 compliantv0.5.1
🚀 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.14v0.12.1
🤖 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
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_caseto one ofupper,lower, ortitle, which will result in generatedtagnames in the corresponding case:NAME,name, orName. For backwards compatibility,titleis the default - You can set
label_value_caseto one ofupper,lower,title, ornone, which will result in output label values in the corresponding case (withnonemeaning 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 thetagvalues and in theidstring.
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 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.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_caseto one ofupper,lower, ortitle, which will result in generatedtagnames in the corresponding case:NAME,name, orName. For backwards compatibility,titleis the default - You can set
label_value_caseto one ofupper,lower,title, ornone, which will result in output label values in the corresponding case (withnonemeaning 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 thetagvalues and in theidstring.
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.23.0
Known issues
- Does not interoperate with earlier versions of
null-label. The canonicalcontext = module.this.contextfails ifmodule.this.contextis an older version context.tfdoes not incorporatevar.label_key_caseandvar.label_value_caseinto themodule.thisobject, preventing those variables from taking effect in the root module'smodule.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_caseto one ofupper,lower, ortitle, which will result in generatedtagnames in the corresponding case:NAME,name, orName. For backwards compatibility,titleis the default - You can set
label_value_caseto one ofupper,lower,title, ornone, which will result in output label values in the corresponding case (withnonemeaning 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 thetagvalues and in theidstring.
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
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 #108v0.22.0
[Compare Source](https://togithub.com/cloudposse/terraform-null-label/compare/0.21.0...0.22....
v0.12.0
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
v0.11.0
v0.10.2
v0.10.1
🐛 Bug Fixes
Workaround TF null default bug @Nuru (#26)
what
- Default
git_refto""instead ofnull - Lambda artifact generation for PRs now uses PR SHA
why
- Passing
nullis 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
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.pyon 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
-datepart matchesindex_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
What
- Update Version Pinning for Terraform to support 0.13
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.
0.8.0 Matching index with regex pattern #20
what
- Added matching index and splitting it with regex pattern.
why
- Fluentd send logs to ES and creates indexes with pattern
logstash-%Y.%m.%dwhere it's possible for other applications to create different index patterns - for example Kinesis Firehose will createlogstash-%Y-%m-%d. Such pattern triggers deletion of all indexes by this lambda.