Terraform Aws Emr Cluster Versions Save

Terraform module to provision an Elastic MapReduce (EMR) cluster on AWS

0.22.0

2 years ago
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.

0.21.0

2 years ago
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

0.20.1

2 years ago

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

0.20.0

3 years ago
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

0.19.1

3 years ago

🚀 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

  • closes #31

0.19.0

3 years ago
  • No changes

0.18.1

3 years ago

🤖 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

Breaking change: This release updates minimum Terraform version requirement to 0.12.26

Convert context.tf to registry reference @​Nuru (#​110) #### what - Convert `context.tf` to use registry reference - Update version requirement to `>= 0.12.26` - Switch auto-publish to draft mode #### why - New standard way to reference modules - Minimum version that supports registry references - Ensure that version numbers are set manually and match what is in `context.tf`

v0.21.0

Compare Source

Update `null-label` version used for exporting into other modules @​aknysh (#​106) #### what * Update `null-label` version used for exporting into other modules #### why * New release will be made from this PR - use this release in `exports/context.tf` to be exported into other modules

v0.20.0

Compare Source

Update versions.tf to support tf .14 @​kiddom-kq (#​105)

Adds support for Terraform 0..14 (currently in beta2)

I've currently got it pinned to < 0.14.1 to be conservative. Can update to < 0.15 or similar.

what

  • Bumps versions.tf to support terraform 0.14

why

  • I make extensive use of this label module (it's an amazing contribution to the TF ecosystem. Thank you!)
  • I am currently running into an unrelated issue w/ TF 0.13. The proposed workaround for that unrelated issue does not work for me at this time.
  • The solution is to use tf 0.14 which is in beta, now.

references

Fixes #​104

chore(deps): update terraform cloudposse/route53-cluster-hostname/aws to v0.12.0 @renovate (#39)

This PR contains the following updates:

Package Type Update Change
cloudposse/route53-cluster-hostname/aws (source) terraform minor 0.7.0 -> 0.12.0

Release Notes

cloudposse/terraform-aws-route53-cluster-hostname

v0.12.0

Compare Source

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

Compare Source

minimum required Terraform version bumped to 0.13.0, context.tf updated, readme updated @​maximmi (#​34) #### 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.10.1

Compare Source

🤖 Automatic Updates

Update README.md and docs @​cloudpossebot (#​33) #### 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.10.0

Compare Source

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

v0.9.0

Compare Source

Update `context.tf` and github actions @​htplbc (#​31) #### what * Update to `context.tf` #### why * Keep the module up to date

v0.8.0

Compare Source

make this module v14 compatible @​jurgenweber (#​29)

make this module v14 compatible

0.18.0

3 years ago
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

0.17.1

3 years ago

🤖 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

0.17.0

3 years ago
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