Skip to content

Releases: cloudposse/terraform-aws-datadog-integration

v0.8.1

09 Feb 02:19
0ce84d1
Compare
Choose a tag to compare

🤖 Automatic Updates

chore(deps): update terraform cloudposse/label/null to v0.24.1 @renovate (#24)

This PR contains the following updates:

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

09 Feb 02:15
392f4d8
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 (#23)

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.7.0

06 Jan 17:15
ef7860a
Compare
Choose a tag to compare
Terraform 0.14 upgrade @maximmi (#20)

what

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

why

  • Support Terraform 0.14

v0.6.2

11 Dec 01:42
d24a4f5
Compare
Choose a tag to compare

🚀 Enhancements

Terraform 0.14 upgrade @maximmi (#18)

what

  • Apply Cloud Posse standard updates for Terraform 0.14

why

  • Make module library compatible with Terraform 0.14

v0.6.1

20 Oct 19:44
6b03fae
Compare
Choose a tag to compare

🐛 Bug Fixes

chore: updates README to not include no longer needed instructions @Gowiem (#16)

what

  • Removes the instructions regarding manually configuring datadog + adds mention of how the integration is wired up.

why

  • Seems that these instructions are no longer relevant. The DataDog provider automates these steps and no manual steps are needed from what I have seen.

references

  • closes #7

v0.6.0

20 Oct 18:58
c66b10c
Compare
Choose a tag to compare
Fixes 0.13 support via using the 0.13 required_providers syntax @Gowiem (#15)

what

  • Fixes 0.13 support
  • Pins Terraform >= 0.12.26

why

  • The minimum terraform was increased due to the required_providers syntax backwards compatibility.
  • When running this module on 0.13, a terraform init results in the below error regardless of the fact that the correct required_providers syntax being used in the root module. I believe this is due to there never being a hashicorp/datadog provider during 0.12 as the datadog provider was just recently published as a community provider. I think this causes Terraform 0.13 to try to lookup the datadog provider as if it was previously published via hashicorp/, which blows up like below.
Error: Failed to install providers

Could not find required providers, but found possible alternatives:

  hashicorp/datadog -> datadog/datadog

If these suggestions look correct, upgrade your configuration with the
following command:

The following remote modules must also be upgraded for Terraform 0.13
compatibility:
- module.datadog_integration at
git::https://github.com/cloudposse/terraform-aws-datadog-integration.git?ref=tags/0.5.0

references

v0.5.0

01 Oct 14:57
0ed074a
Compare
Choose a tag to compare
Convert to TF 0.12/0.13 . Update to `context.tf`. Add example and tests. Add GitHub actions @aknysh (#13)

what

  • Convert to TF 0.12/0.13
  • Update to context.tf
  • Add example and tests
  • Add GitHub actions

why

  • Standardization
  • Keep the module up to date

related

v0.4.0

27 Sep 03:04
ab7c569
Compare
Choose a tag to compare
Add GitHub actions @aknysh (#14)

what

  • Add GitHub actions

why

  • To test and lint the module and example

0.3.0: Update documentation and add example integration (#9)

02 Mar 04:05
7c290ea
Compare
Choose a tag to compare
Update documentation and add example integration (#9)

Add additional IAM policy options

27 Feb 00:51
704557c
Compare
Choose a tag to compare
Add "core" and "all" configurations. Add defaults to variables. (#8)

* Add "core" and "all" configurations. Add defaults to variables.

* Remove unused variables

* Add travis config