Skip to content

v1.10.1

Latest

Choose a tag to compare

@cloudposse-releaser cloudposse-releaser released this 19 Apr 19:14
eae0c9e

🚀 Enhancements

Bump cloudposse/cloudwatch-events/aws to 0.10.0 for 6-dimension label support Andriy Knysh (@aknysh) (#107) ## what
  • Bump the internal cloudwatch_event sub-module (used when cloudwatch_forwarder_event_patterns is set) from cloudposse/cloudwatch-events/aws 0.6.10.10.0 in lambda-log.tf
  • Extend examples/complete/fixtures.us-east-2.tfvars with tenant = "someval" and an explicit 6-dimension label_order so the bug path is exercised in CI going forward
  • Update the TestExamplesComplete Lambda-name assertion to include the new tenant component (eg-someval-ue2-test-…)
  • Refresh test/src/go.mod to Go 1.26.1 and bump all test dependencies to latest compatible versions; regenerate go.sum

why

  • The pinned cloudwatch-events 0.6.1 transitively pulls cloudposse/label/null 0.22.0, which only understands the 5 classic label dimensions (namespace, environment, stage, name, attributes). It does not know about tenant.

  • When a consumer passes a context whose label_order includes "tenant" — standard practice in multi-tenant Cloud Posse setups — terraform plan fails with:

    Error: Invalid index
      on .terraform/modules/….cloudwatch_event.rule_label/main.tf line 86
      local.id_context is object with 5 attributes
    

    because the 6th dimension key (tenant) doesn't exist in v0.22.0's id_context.

  • cloudwatch-events 0.10.0 pins label/null 0.25.0, which introduced tenant (and label_key_case / label_value_case / descriptor_formats / labels_as_tags). Bumping the transitive sub-module resolves the lookup failure for every downstream consumer that uses cloudwatch_forwarder_event_patterns with a multi-tenant label order.

  • The existing examples/complete fixture already sets cloudwatch_forwarder_event_patterns (with a guardduty entry) but had no tenant in label_order, so the bug path was never exercised in CI — which is why this went undetected. Adding tenant to the fixture closes the coverage gap.

  • Patch-level change: no public interface additions/removals; purely a transitive sub-module bump that fixes a runtime failure.

references