Skip to content

Conversation

tabito-hara
Copy link
Contributor

@tabito-hara tabito-hara commented Oct 17, 2025

Rollback Plan

If a change needs to be reverted, we will publish an updated version of the library.

Changes to Security Controls

Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.

Description

Add a transform configuration block to the aws_lb_listener_rule resource and data source.

AWS API Behavior and Provider Implementation

  • The rewrite field is defined as an array; however, the AWS API accepts only one rewrite entry.
    • Although the expander and flattener handle it as an array, MaxItems for rewrite is set to 1 in the schema definition.
  • To remove transforms, the ResetTransform = true parameter must be passed to the ModifyRule API. The provider implementation uses this parameter to remove the transform configuration.
  • The minimum character length constraints for rewrite.regex and rewrite.replace are 0 and 1, respectively.
    These constraints are not clearly documented in the API reference but are derived from the descriptions shown in the AWS Management Console.
  • The newly added acceptance test for the resource covers creating, updating and removing for transforms.

Documentation

  • An example to use transform block is added.

Relations

Closes #44675

References

API documentation

Output from Acceptance Testing

Resource

$ make testacc TESTS='TestAccELBV2ListenerRule_' PKG=elbv2         
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-aws_lb_listener_rule-add_transform 🌿...
TF_ACC=1 go1.24.8 test ./internal/service/elbv2/... -v -count 1 -parallel 20 -run='TestAccELBV2ListenerRule_'  -timeout 360m -vet=off
2025/10/19 09:28:38 Creating Terraform AWS Provider (SDKv2-style)...
2025/10/19 09:28:38 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccELBV2ListenerRule_Identity_Basic
=== PAUSE TestAccELBV2ListenerRule_Identity_Basic
=== RUN   TestAccELBV2ListenerRule_Identity_RegionOverride
=== PAUSE TestAccELBV2ListenerRule_Identity_RegionOverride
=== RUN   TestAccELBV2ListenerRule_Identity_ExistingResource
=== PAUSE TestAccELBV2ListenerRule_Identity_ExistingResource
=== RUN   TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange
=== PAUSE TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange
=== RUN   TestAccELBV2ListenerRule_tags
=== PAUSE TestAccELBV2ListenerRule_tags
=== RUN   TestAccELBV2ListenerRule_tags_null
=== PAUSE TestAccELBV2ListenerRule_tags_null
=== RUN   TestAccELBV2ListenerRule_tags_EmptyMap
=== PAUSE TestAccELBV2ListenerRule_tags_EmptyMap
=== RUN   TestAccELBV2ListenerRule_tags_AddOnUpdate
=== PAUSE TestAccELBV2ListenerRule_tags_AddOnUpdate
=== RUN   TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate
=== PAUSE TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate
=== RUN   TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_overlapping
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_overlapping
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate
=== PAUSE TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate
=== RUN   TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add
=== PAUSE TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add
=== RUN   TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace
=== PAUSE TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace
=== RUN   TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag
=== RUN   TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag
=== RUN   TestAccELBV2ListenerRule_basic
=== PAUSE TestAccELBV2ListenerRule_basic
=== RUN   TestAccELBV2ListenerRule_disappears
=== PAUSE TestAccELBV2ListenerRule_disappears
=== RUN   TestAccELBV2ListenerRule_updateForwardBasic
=== PAUSE TestAccELBV2ListenerRule_updateForwardBasic
=== RUN   TestAccELBV2ListenerRule_forwardWeighted
=== PAUSE TestAccELBV2ListenerRule_forwardWeighted
=== RUN   TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges
=== PAUSE TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness
=== RUN   TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness
=== PAUSE TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_NoChanges
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_NoChanges
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_WeightAndStickiness
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_WeightAndStickiness
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddAction
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddAction
=== RUN   TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveAction
=== PAUSE TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveAction
=== RUN   TestAccELBV2ListenerRule_ActionForward_IgnoreFields
=== PAUSE TestAccELBV2ListenerRule_ActionForward_IgnoreFields
=== RUN   TestAccELBV2ListenerRule_backwardsCompatibility
=== PAUSE TestAccELBV2ListenerRule_backwardsCompatibility
=== RUN   TestAccELBV2ListenerRule_redirect
=== PAUSE TestAccELBV2ListenerRule_redirect
=== RUN   TestAccELBV2ListenerRule_fixedResponse
=== PAUSE TestAccELBV2ListenerRule_fixedResponse
=== RUN   TestAccELBV2ListenerRule_updateFixedResponse
=== PAUSE TestAccELBV2ListenerRule_updateFixedResponse
=== RUN   TestAccELBV2ListenerRule_updateRulePriority
=== PAUSE TestAccELBV2ListenerRule_updateRulePriority
=== RUN   TestAccELBV2ListenerRule_changeListenerRuleARNForcesNew
=== PAUSE TestAccELBV2ListenerRule_changeListenerRuleARNForcesNew
=== RUN   TestAccELBV2ListenerRule_priority
=== PAUSE TestAccELBV2ListenerRule_priority
=== RUN   TestAccELBV2ListenerRule_cognito
=== PAUSE TestAccELBV2ListenerRule_cognito
=== RUN   TestAccELBV2ListenerRule_oidc
=== PAUSE TestAccELBV2ListenerRule_oidc
=== RUN   TestAccELBV2ListenerRule_Action_defaultOrder
=== PAUSE TestAccELBV2ListenerRule_Action_defaultOrder
=== RUN   TestAccELBV2ListenerRule_Action_specifyOrder
=== PAUSE TestAccELBV2ListenerRule_Action_specifyOrder
=== RUN   TestAccELBV2ListenerRule_Action_actionDisappears
=== PAUSE TestAccELBV2ListenerRule_Action_actionDisappears
=== RUN   TestAccELBV2ListenerRule_EmptyAction
=== PAUSE TestAccELBV2ListenerRule_EmptyAction
=== RUN   TestAccELBV2ListenerRule_redirectWithTargetGroupARN
=== PAUSE TestAccELBV2ListenerRule_redirectWithTargetGroupARN
=== RUN   TestAccELBV2ListenerRule_conditionAttributesCount
=== PAUSE TestAccELBV2ListenerRule_conditionAttributesCount
=== RUN   TestAccELBV2ListenerRule_conditionHostHeader
=== PAUSE TestAccELBV2ListenerRule_conditionHostHeader
=== RUN   TestAccELBV2ListenerRule_conditionHTTPHeader
=== PAUSE TestAccELBV2ListenerRule_conditionHTTPHeader
=== RUN   TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid
=== PAUSE TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid
=== RUN   TestAccELBV2ListenerRule_conditionHTTPRequestMethod
=== PAUSE TestAccELBV2ListenerRule_conditionHTTPRequestMethod
=== RUN   TestAccELBV2ListenerRule_conditionPathPattern
=== PAUSE TestAccELBV2ListenerRule_conditionPathPattern
=== RUN   TestAccELBV2ListenerRule_conditionQueryString
=== PAUSE TestAccELBV2ListenerRule_conditionQueryString
=== RUN   TestAccELBV2ListenerRule_conditionSourceIP
=== PAUSE TestAccELBV2ListenerRule_conditionSourceIP
=== RUN   TestAccELBV2ListenerRule_conditionUpdateMixed
=== PAUSE TestAccELBV2ListenerRule_conditionUpdateMixed
=== RUN   TestAccELBV2ListenerRule_conditionMultiple
=== PAUSE TestAccELBV2ListenerRule_conditionMultiple
=== RUN   TestAccELBV2ListenerRule_conditionUpdateMultiple
=== PAUSE TestAccELBV2ListenerRule_conditionUpdateMultiple
=== RUN   TestAccELBV2ListenerRule_transform
=== PAUSE TestAccELBV2ListenerRule_transform
=== CONT  TestAccELBV2ListenerRule_Identity_Basic
=== CONT  TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness
=== CONT  TestAccELBV2ListenerRule_forwardWeighted
=== CONT  TestAccELBV2ListenerRule_conditionUpdateMultiple
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness
=== CONT  TestAccELBV2ListenerRule_conditionUpdateMixed
=== CONT  TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace
=== CONT  TestAccELBV2ListenerRule_basic
=== CONT  TestAccELBV2ListenerRule_updateForwardBasic
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness
=== CONT  TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag
=== CONT  TestAccELBV2ListenerRule_transform
=== CONT  TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid
=== CONT  TestAccELBV2ListenerRule_Action_specifyOrder
=== CONT  TestAccELBV2ListenerRule_conditionMultiple
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag
=== CONT  TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges
--- PASS: TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid (10.55s)
=== CONT  TestAccELBV2ListenerRule_disappears
--- PASS: TestAccELBV2ListenerRule_basic (242.34s)
=== CONT  TestAccELBV2ListenerRule_fixedResponse
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag (254.85s)
=== CONT  TestAccELBV2ListenerRule_Action_defaultOrder
--- PASS: TestAccELBV2ListenerRule_disappears (246.16s)
=== CONT  TestAccELBV2ListenerRule_oidc
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag (257.58s)
=== CONT  TestAccELBV2ListenerRule_cognito
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag (267.73s)
=== CONT  TestAccELBV2ListenerRule_priority
--- PASS: TestAccELBV2ListenerRule_Action_specifyOrder (275.75s)
=== CONT  TestAccELBV2ListenerRule_changeListenerRuleARNForcesNew
--- PASS: TestAccELBV2ListenerRule_updateForwardBasic (276.25s)
=== CONT  TestAccELBV2ListenerRule_updateRulePriority
--- PASS: TestAccELBV2ListenerRule_Identity_Basic (278.45s)
=== CONT  TestAccELBV2ListenerRule_updateFixedResponse
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness (286.05s)
=== CONT  TestAccELBV2ListenerRule_conditionAttributesCount
--- PASS: TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges (287.07s)
=== CONT  TestAccELBV2ListenerRule_conditionHTTPHeader
--- PASS: TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness (292.70s)
=== CONT  TestAccELBV2ListenerRule_conditionHostHeader
--- PASS: TestAccELBV2ListenerRule_conditionMultiple (292.29s)
=== CONT  TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness (295.05s)
=== CONT  TestAccELBV2ListenerRule_EmptyAction
=== RUN   TestAccELBV2ListenerRule_EmptyAction/fixed-response
=== PAUSE TestAccELBV2ListenerRule_EmptyAction/fixed-response
=== RUN   TestAccELBV2ListenerRule_EmptyAction/forward
=== PAUSE TestAccELBV2ListenerRule_EmptyAction/forward
=== RUN   TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc
=== PAUSE TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc
=== RUN   TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito
=== PAUSE TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito
=== RUN   TestAccELBV2ListenerRule_EmptyAction/redirect
=== PAUSE TestAccELBV2ListenerRule_EmptyAction/redirect
=== CONT  TestAccELBV2ListenerRule_redirectWithTargetGroupARN
--- PASS: TestAccELBV2ListenerRule_transform (305.01s)
=== CONT  TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate
--- PASS: TestAccELBV2ListenerRule_conditionUpdateMultiple (306.10s)
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag (309.51s)
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccELBV2ListenerRule_conditionAttributesCount (36.65s)
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_overlapping
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag (326.28s)
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping
--- PASS: TestAccELBV2ListenerRule_forwardWeighted (339.13s)
=== CONT  TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace (359.59s)
=== CONT  TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccELBV2ListenerRule_conditionUpdateMixed (376.68s)
=== CONT  TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccELBV2ListenerRule_fixedResponse (243.18s)
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveAction
--- PASS: TestAccELBV2ListenerRule_oidc (240.15s)
=== CONT  TestAccELBV2ListenerRule_redirect
--- PASS: TestAccELBV2ListenerRule_cognito (239.29s)
=== CONT  TestAccELBV2ListenerRule_backwardsCompatibility
--- PASS: TestAccELBV2ListenerRule_Action_defaultOrder (246.09s)
=== CONT  TestAccELBV2ListenerRule_ActionForward_IgnoreFields
--- PASS: TestAccELBV2ListenerRule_changeListenerRuleARNForcesNew (255.88s)
=== CONT  TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccELBV2ListenerRule_updateRulePriority (255.48s)
=== CONT  TestAccELBV2ListenerRule_tags
--- PASS: TestAccELBV2ListenerRule_conditionHTTPHeader (247.08s)
=== CONT  TestAccELBV2ListenerRule_tags_AddOnUpdate
--- PASS: TestAccELBV2ListenerRule_conditionHostHeader (251.18s)
=== CONT  TestAccELBV2ListenerRule_tags_EmptyMap
--- PASS: TestAccELBV2ListenerRule_updateFixedResponse (304.55s)
=== CONT  TestAccELBV2ListenerRule_tags_null
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate (293.85s)
=== CONT  TestAccELBV2ListenerRule_conditionQueryString
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add (316.57s)
=== CONT  TestAccELBV2ListenerRule_conditionSourceIP
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly (327.47s)
=== CONT  TestAccELBV2ListenerRule_conditionPathPattern
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly (324.82s)
=== CONT  TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace (297.20s)
=== CONT  TestAccELBV2ListenerRule_Action_actionDisappears
--- PASS: TestAccELBV2ListenerRule_redirectWithTargetGroupARN (365.85s)
=== CONT  TestAccELBV2ListenerRule_conditionHTTPRequestMethod
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add (326.63s)
=== CONT  TestAccELBV2ListenerRule_Identity_ExistingResource
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_overlapping (415.76s)
=== CONT  TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping (413.59s)
=== CONT  TestAccELBV2ListenerRule_Identity_RegionOverride
--- PASS: TestAccELBV2ListenerRule_ActionForward_IgnoreFields (280.05s)
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_WeightAndStickiness
--- PASS: TestAccELBV2ListenerRule_backwardsCompatibility (284.63s)
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddAction
--- PASS: TestAccELBV2ListenerRule_priority (525.81s)
=== CONT  TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_NoChanges
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveAction (329.92s)
=== CONT  TestAccELBV2ListenerRule_EmptyAction/fixed-response
=== CONT  TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito
=== CONT  TestAccELBV2ListenerRule_EmptyAction/redirect
=== CONT  TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc
=== CONT  TestAccELBV2ListenerRule_EmptyAction/forward
--- PASS: TestAccELBV2ListenerRule_EmptyAction (0.00s)
    --- PASS: TestAccELBV2ListenerRule_EmptyAction/fixed-response (2.82s)
    --- PASS: TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito (2.48s)
    --- PASS: TestAccELBV2ListenerRule_EmptyAction/redirect (2.75s)
    --- PASS: TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc (2.57s)
    --- PASS: TestAccELBV2ListenerRule_EmptyAction/forward (2.61s)
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly (490.56s)
--- PASS: TestAccELBV2ListenerRule_tags_EmptyMap (289.58s)
--- PASS: TestAccELBV2ListenerRule_tags_AddOnUpdate (301.74s)
--- PASS: TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag (313.82s)
--- PASS: TestAccELBV2ListenerRule_tags_null (266.53s)
--- PASS: TestAccELBV2ListenerRule_redirect (357.96s)
--- PASS: TestAccELBV2ListenerRule_conditionSourceIP (248.01s)
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate (228.37s)
--- PASS: TestAccELBV2ListenerRule_conditionQueryString (264.91s)
--- PASS: TestAccELBV2ListenerRule_Action_actionDisappears (225.33s)
--- PASS: TestAccELBV2ListenerRule_tags (351.24s)
--- PASS: TestAccELBV2ListenerRule_conditionPathPattern (260.59s)
--- PASS: TestAccELBV2ListenerRule_conditionHTTPRequestMethod (238.81s)
--- PASS: TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange (289.33s)
--- PASS: TestAccELBV2ListenerRule_Identity_ExistingResource (329.30s)
--- PASS: TestAccELBV2ListenerRule_Identity_RegionOverride (294.75s)
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddAction (268.00s)
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_WeightAndStickiness (272.60s)
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_NoChanges (274.38s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/elbv2      1074.353s

Data Source

$ make testacc TESTS='TestAccELBV2ListenerRuleDataSource_' PKG=elbv2
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-aws_lb_listener_rule-add_transform 🌿...
TF_ACC=1 go1.24.8 test ./internal/service/elbv2/... -v -count 1 -parallel 20 -run='TestAccELBV2ListenerRuleDataSource_'  -timeout 360m -vet=off
2025/10/19 10:19:13 Creating Terraform AWS Provider (SDKv2-style)...
2025/10/19 10:19:13 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccELBV2ListenerRuleDataSource_tags
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags
=== RUN   TestAccELBV2ListenerRuleDataSource_tags_NullMap
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags_NullMap
=== RUN   TestAccELBV2ListenerRuleDataSource_tags_EmptyMap
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags_EmptyMap
=== RUN   TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping
=== RUN   TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag
=== RUN   TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag
=== RUN   TestAccELBV2ListenerRuleDataSource_byARN
=== PAUSE TestAccELBV2ListenerRuleDataSource_byARN
=== RUN   TestAccELBV2ListenerRuleDataSource_byListenerAndPriority
=== PAUSE TestAccELBV2ListenerRuleDataSource_byListenerAndPriority
=== RUN   TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito
=== PAUSE TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito
=== RUN   TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC
=== PAUSE TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC
=== RUN   TestAccELBV2ListenerRuleDataSource_actionFixedResponse
=== PAUSE TestAccELBV2ListenerRuleDataSource_actionFixedResponse
=== RUN   TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness
=== PAUSE TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness
=== RUN   TestAccELBV2ListenerRuleDataSource_actionRedirect
=== PAUSE TestAccELBV2ListenerRuleDataSource_actionRedirect
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionHostHeader
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionHostHeader
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionPathPattern
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionPathPattern
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionQueryString
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionQueryString
=== RUN   TestAccELBV2ListenerRuleDataSource_conditionSourceIP
=== PAUSE TestAccELBV2ListenerRuleDataSource_conditionSourceIP
=== RUN   TestAccELBV2ListenerRuleDataSource_transform
=== PAUSE TestAccELBV2ListenerRuleDataSource_transform
=== CONT  TestAccELBV2ListenerRuleDataSource_tags
=== CONT  TestAccELBV2ListenerRuleDataSource_actionFixedResponse
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionHostHeader
=== CONT  TestAccELBV2ListenerRuleDataSource_tags_EmptyMap
=== CONT  TestAccELBV2ListenerRuleDataSource_actionRedirect
=== CONT  TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionPathPattern
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionSourceIP
=== CONT  TestAccELBV2ListenerRuleDataSource_transform
=== CONT  TestAccELBV2ListenerRuleDataSource_conditionQueryString
=== CONT  TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag
=== CONT  TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC
=== CONT  TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito
=== CONT  TestAccELBV2ListenerRuleDataSource_byListenerAndPriority
=== CONT  TestAccELBV2ListenerRuleDataSource_byARN
=== CONT  TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping
=== CONT  TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag
=== CONT  TestAccELBV2ListenerRuleDataSource_tags_NullMap
--- PASS: TestAccELBV2ListenerRuleDataSource_tags (251.54s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag (251.59s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_NullMap (251.93s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito (254.10s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod (255.93s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionPathPattern (256.56s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag (256.95s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader (257.08s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_EmptyMap (257.15s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionQueryString (257.81s)
--- PASS: TestAccELBV2ListenerRuleDataSource_byListenerAndPriority (257.84s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness (258.37s)
--- PASS: TestAccELBV2ListenerRuleDataSource_transform (258.76s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHostHeader (263.39s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionFixedResponse (264.43s)
--- PASS: TestAccELBV2ListenerRuleDataSource_byARN (264.72s)
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionSourceIP (265.42s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionRedirect (267.89s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC (270.36s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping (299.77s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/elbv2      304.986s

Copy link
Contributor

Community Guidelines

This comment is added to every new Pull Request to provide quick reference to how the Terraform AWS Provider is maintained. Please review the information below, and thank you for contributing to the community that keeps the provider thriving! 🚀

Voting for Prioritization

  • Please vote on this Pull Request by adding a 👍 reaction to the original post to help the community and maintainers prioritize it.
  • Please see our prioritization guide for additional information on how the maintainers handle prioritization.
  • Please do not leave +1 or other comments that do not add relevant new information or questions; they generate extra noise for others following the Pull Request and do not help prioritize the request.

Pull Request Authors

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added needs-triage Waiting for first response or review from a maintainer. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/elbv2 Issues and PRs that pertain to the elbv2 service. size/XL Managed by automation to categorize the size of a PR. labels Oct 17, 2025
@tabito-hara tabito-hara force-pushed the f-aws_lb_listener_rule-add_transform branch from 5306aa8 to 03657ae Compare October 19, 2025 00:28
@tabito-hara tabito-hara marked this pull request as ready for review October 19, 2025 02:27
@tabito-hara tabito-hara requested a review from a team as a code owner October 19, 2025 02:27
@justinretzolk justinretzolk added enhancement Requests to existing resources that expand the functionality or scope. and removed needs-triage Waiting for first response or review from a maintainer. labels Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Introduces or discusses updates to documentation. enhancement Requests to existing resources that expand the functionality or scope. service/elbv2 Issues and PRs that pertain to the elbv2 service. size/XL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for ELBv2 Transforms

2 participants