Skip to content

Releases: cloudposse/terraform-aws-emr-cluster

v0.22.0

27 Aug 18:19
07688b5
Compare
Choose a tag to compare
Add permissions boundaries and GovCloud support @mattbsea (#42)

what

  • This merge request adds configurable permissions boundary ARNs to the iam roles created for EMR
  • It enables GovCloud support by modifying the Amazon managed EMR Role ARNs to work in GovCloud

why

  • The current EMR terraform module uses public AWS ARNs for EMR roles. These do no work in GovCloud.
  • I am operating in an environment that requires permissions boundaries on IAM roles.

v0.21.0

27 Aug 16:58
3380111
Compare
Choose a tag to compare
Feature: Allow users to pass their own IAM roles @tirumerla (#44)

what

  • Allow flexibility for users to provide their own IAM roles created outside this module.

why

  • For my use case, enabling encryption on EMR ( see security_configuration variable ) using KMS CMK needs KMS permissions attached to the policies of the service role. This needs to happen before the cluster creation so that cluster can read the certs from s3 & enable at rest encryption using customer specified KMS key.
  • By allowing this flexibility users can provide their own IAM roles before the cluster is created and enable encryption.

references

v0.20.1

21 Aug 03:21
862ddde
Compare
Choose a tag to compare

🤖 Automatic Updates

Update context.tf @cloudpossebot (#43)

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

21 Apr 10:43
92838e4
Compare
Choose a tag to compare
Update module to be terraform v0.15 compatible @shabih-paystack (#40)

what

  • Use tolist instead of list function

why

  • To resolve Terraform v0.15 compatibility issues

v0.19.1

01 Mar 15:13
a919ca1
Compare
Choose a tag to compare

🚀 Enhancements

Add resource tags to created IAM roles @kunickiaj (#32)

what

  • tags variable propagated to the three IAM roles created

why

  • all resources should be tagged

references

v0.19.0

09 Feb 16:30
5b81371
Compare
Choose a tag to compare
  • No changes

v0.18.1

09 Feb 16:30
5b81371
Compare
Choose a tag to compare

🤖 Automatic Updates

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

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

Read more

v0.18.0

09 Feb 02:17
f034ea2
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 (#36)

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

05 Feb 04:26
5c0b1a3
Compare
Choose a tag to compare

🤖 Automatic Updates

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

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

v0.17.0

04 Feb 06:51
b12a2a9
Compare
Choose a tag to compare
Terraform 0.14 upgrade @maximmi (#34)

what

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

why

  • Support Terraform 0.14