Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Terraform cloudposse/label/null to v0.25.0 #82

Closed
wants to merge 2 commits into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 22, 2024

Mend Renovate

This PR contains the following updates:

Package Type Update Change
cloudposse/label/null (source) module minor 0.22.1 -> 0.25.0

Release Notes

cloudposse/terraform-null-label (cloudposse/label/null)

v0.25.0

Compare Source

Add "tenant", "labels_as_tags", and "descriptors" @​Nuru (#​132)

what

  • Add additional label and id component: tenant
  • New input labels_as_tags controls which labels are exported as tags
  • New input descriptor_formats generates new output descriptors
  • Update README, remove link to obsolete terraform-terraform-label

why

  • Support users that host resources on behalf of and/or dedicated to single customers
  • Supersedes and closes #​131, giving people control over which tags the module generates
  • Simple mechanism for creating multiple identifiers from the same inputs, reducing the need to create multiple instances of null-label
  • Document tenant, labels_as_tags, descriptor_formats, add additional clarification, stop promoting obsolete module
Fix: Update README Snippets @​korenyoni (#​130)

what

  • Update README snippets to reflect use of Terraform Registry.

why

  • Including snippets that reflect use of the Terraform Registry make it easier for users to quickly instantiate a null_label module.
  • README is out of date and does not include snippets that reflect use of the Terraform Registry.

references

  • N/A
Bridgecrew compliance @​Nuru (#​125)

what

  • Resolve Bridgecrew compliance complaint about example Autoscaling Group (BC_AWS_GENERAL_31)
  • Fix typo in README
  • Include Terraform lock file in .gitignore

why

  • Get clean Bridgecrew badge
  • Correct confusing error
  • Ensure lock files are not checked into GitHub

note

The PR can and should be merged into master to update README and Bridgecrew without triggering a new release/version. These changes have no effect on the actual module in use and a release will create unnecessary ripple effects. However, merging to master will update the README and badges, so is worthwhile, and the changes will move forward into the next release.

Properly output descriptors of chained modules @​Nuru (#​133)

what

  • Properly output descriptors of chained modules

why

  • Bug fix; implement intended behavior

v0.24.1: Allow control of letter case of outputs

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

🐛 Bug fix/Breaking change

This version introduced a bug fix that technically is a breaking change.

The input regex_replace_chars specifies a regular expression, and characters matching it are removed
from labels/id elements. Prior to this release, if the delimiter itself matched the regular expression,
then the delimiter would be removed from the attributes portion of the id. This was not a problem
for most users, since the default delimiter was - (dash) and the default regex allowed dashes, but
if you customized the delimiter and/or regex, this could affect you.

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: pre-release: Allow control of letter case of outputs

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 = "".


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested review from a team as code owners January 22, 2024 16:30
@renovate renovate bot added the auto-update This PR was automatically generated label Jan 22, 2024
@renovate renovate bot force-pushed the renovate/cloudposse-label-null-0.x branch from 5baae5d to ec29196 Compare February 1, 2024 20:28
@renovate renovate bot force-pushed the renovate/cloudposse-label-null-0.x branch from b2040ba to d29e544 Compare February 24, 2024 15:09
@hans-d
Copy link

hans-d commented Feb 24, 2024

/terratest

Copy link
Contributor Author

renovate bot commented Feb 24, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@mergify mergify bot added the readme Improvements or additions to the README label Mar 9, 2024
Copy link

mergify bot commented Mar 9, 2024

/terratest

Copy link

mergify bot commented Mar 9, 2024

This pull request now has conflicts. Could you fix it @renovate[bot]? 🙏

@mergify mergify bot added the conflict This PR has conflicts label Mar 9, 2024
Copy link

mergify bot commented Mar 9, 2024

This automated PR has been closed due to merge conflicts.

@mergify mergify bot closed this Mar 9, 2024
@mergify mergify bot removed the conflict This PR has conflicts label Mar 9, 2024
@renovate renovate bot deleted the renovate/cloudposse-label-null-0.x branch March 9, 2024 04:53
@mergify mergify bot removed the readme Improvements or additions to the README label Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-update This PR was automatically generated
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant