Closed renovate[bot] closed 7 months ago
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.
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
No longer necessary.
This PR contains the following updates:
4.0.0
->4.0.1
Release Notes
cloudposse/terraform-aws-s3-bucket (cloudposse/s3-bucket/aws)
### [`v4.0.1`](https://togithub.com/cloudposse/terraform-aws-s3-bucket/releases/tag/4.0.1) [Compare Source](https://togithub.com/cloudposse/terraform-aws-s3-bucket/compare/4.0.0...4.0.1) ##### 🐛 Bug FixesFix bug in setting dynamic `encryption_configuration` value @LawrenceWarren (#206)
##### what - When trying to create an S3 bucket, the following error is encountered: Error: Invalid dynamic for_each value on .terraform/main.tf line 225, in resource "aws_s3_bucket_replication_configuration" "default": 225: for_each = try(compact(concat( 226: [try(rule.value.destination.encryption_configuration.replica_kms_key_id, "")], 227: [try(rule.value.destination.replica_kms_key_id, "")] 228: ))[0], []) ├──────────────── │ rule.value.destination.encryption_configuration is null │ rule.value.destination.replica_kms_key_id is "arn:aws:kms:my-region:my-account-id:my-key-alias" Cannot use a string value in for_each. An iterable collection is required. - This is caused in my case by having `s3_replication_rules.destination.encryption_configuration.replica_kms_key_id` set. ##### why - There is a bug when trying to create an S3 bucket, which causes an error that stops the bucket being created - Basically, there are two attributes that do the same thing (for backwards compatability) - `s3_replication_rules.destination.encryption_configuration.replica_kms_key_id` (**newer**) - `s3_replication_rules.destination.replica_kms_key_id` (**older**) - There is logic to: - **A)** use the newer of these two attributes - **B)** fall back to the older of the attributes if it is set and the newer is not - **C)** fall back to an empty array if nothing is set - There is a bug in steps A/B, where by selecting one or the other, we end up with the string value, and not an iterable - The simplest solution, which I have tested successfully on existing buckets, is to wrap the output of that logic in a list - This error is easily replicable by trying `compact(concat([try("string", "")], [try("string", "")]))[0]` in the Terraform console, which is a simplified version of the existing logic used above - The table below demonstrates the possible values of the existing code - you can see the outputs for value 2, value 3, and value 4 are *not* lists: | Key | Value 1 | Value 2 | Value 3 | Value 4 | | ------------------------------------------------------------------------------ | ------- | ------------- | --------------- | -------------- | | **newer** | `null` | `"string1"` | `null` | `"string1"` | | **older** | `null` | `null` | `"string2"` | `"string2"` | | **output** | `[]` | `"string1"` | `"string2"` | `"string1"` |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.
This PR has been generated by Mend Renovate. View repository job log here.