-
Couldn't load subscription status.
- Fork 9.8k
[Enhancement] aws_lb_listener_rule: Add regex_values argument to host_header, http_header and path_pattern blocks within condition block
#44741
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
Conversation
Community GuidelinesThis 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
Pull Request Authors
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🎉
% make t K=elbv2 T="TestAccELBV2ListenerRule_|TestAccELBV2ListenerRuleDataSource_"
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_regex_values 🌿...
TF_ACC=1 go1.24.8 test ./internal/service/elbv2/... -v -count 1 -parallel 20 -run='TestAccELBV2ListenerRule_|TestAccELBV2ListenerRuleDataSource_' -timeout 360m -vet=off
2025/10/27 10:49:45 Creating Terraform AWS Provider (SDKv2-style)...
2025/10/27 10:49:45 Initializing Terraform AWS Provider (SDKv2-style)...
--- PASS: TestAccELBV2ListenerRuleDataSource_tags (225.75s)
=== CONT TestAccELBV2ListenerRule_conditionHostHeaderRegex
--- PASS: TestAccELBV2ListenerRule_oidc (244.20s)
=== CONT TestAccELBV2ListenerRule_conditionHostHeader
--- PASS: TestAccELBV2ListenerRule_ActionForward_IgnoreFields (245.61s)
=== CONT TestAccELBV2ListenerRule_cognito
--- PASS: TestAccELBV2ListenerRule_conditionQueryString (251.41s)
=== CONT TestAccELBV2ListenerRule_conditionAttributesCount
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddAction (254.97s)
=== CONT TestAccELBV2ListenerRule_redirectWithTargetGroupARN
--- PASS: TestAccELBV2ListenerRule_changeListenerRuleARNForcesNew (256.30s)
=== CONT TestAccELBV2ListenerRule_Identity_Basic
--- PASS: TestAccELBV2ListenerRule_conditionHTTPHeader (259.10s)
=== CONT TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveAction (260.31s)
=== CONT TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccELBV2ListenerRule_updateRulePriority (263.91s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionSourceIP
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace (265.57s)
=== CONT TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_WeightAndStickiness (266.30s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionQueryString
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlockToTargetGroupARN_NoChanges (266.72s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccELBV2ListenerRule_conditionUpdateMultiple (268.61s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionPathPatternRegex
--- PASS: TestAccELBV2ListenerRule_conditionAttributesCount (22.02s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccELBV2ListenerRule_conditionPathPatternRegex (274.83s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionPathPattern
--- PASS: TestAccELBV2ListenerRule_Action_defaultOrder (281.07s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccELBV2ListenerRule_updateFixedResponse (283.90s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccELBV2ListenerRule_fixedResponse (289.71s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod
--- PASS: TestAccELBV2ListenerRule_backwardsCompatibility (294.03s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccELBV2ListenerRule_redirect (329.44s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionHTTPHeaderRegex
--- PASS: TestAccELBV2ListenerRule_priority (376.31s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccELBV2ListenerRule_conditionHostHeader (215.20s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_overlapping
--- PASS: TestAccELBV2ListenerRule_conditionHostHeaderRegex (243.35s)
--- PASS: TestAccELBV2ListenerRule_cognito (225.11s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionHostHeaderRegex
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionPathPatternRegex (221.44s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping
--- PASS: TestAccELBV2ListenerRuleDataSource_actionForwardWeightedStickiness (231.19s)
=== CONT TestAccELBV2ListenerRuleDataSource_conditionHostHeader
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionSourceIP (232.91s)
=== CONT TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag (216.57s)
=== CONT TestAccELBV2ListenerRuleDataSource_actionRedirect
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag (227.93s)
=== CONT TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag (238.21s)
=== CONT TestAccELBV2ListenerRule_conditionHTTPRequestMethod
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionQueryString (239.35s)
=== CONT TestAccELBV2ListenerRule_conditionPathPattern
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate (241.70s)
=== CONT TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag (225.61s)
=== CONT TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHTTPRequestMethod (220.66s)
=== CONT TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate
--- PASS: TestAccELBV2ListenerRule_ConditionHTTPHeader_invalid (0.89s)
=== CONT TestAccELBV2ListenerRule_forwardWeighted
--- PASS: TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add (250.30s)
=== CONT TestAccELBV2ListenerRule_tags_AddOnUpdate
--- PASS: TestAccELBV2ListenerRule_Identity_Basic (257.96s)
=== CONT TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionPathPattern (239.82s)
=== CONT TestAccELBV2ListenerRule_tags_EmptyMap
--- PASS: TestAccELBV2ListenerRule_redirectWithTargetGroupARN (275.76s)
=== CONT TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHTTPHeaderRegex (219.72s)
=== CONT TestAccELBV2ListenerRule_tags_null
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly (280.78s)
=== CONT TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly (282.04s)
=== CONT TestAccELBV2ListenerRule_tags
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHTTPHeader (227.16s)
=== CONT TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHostHeaderRegex (229.56s)
=== CONT TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange
--- PASS: TestAccELBV2ListenerRuleDataSource_conditionHostHeader (238.44s)
=== CONT TestAccELBV2ListenerRule_conditionHTTPHeaderRegex
--- PASS: TestAccELBV2ListenerRuleDataSource_actionRedirect (239.51s)
=== CONT TestAccELBV2ListenerRule_Identity_ExistingResource
--- PASS: TestAccELBV2ListenerRule_conditionHTTPRequestMethod (237.52s)
=== CONT TestAccELBV2ListenerRule_basic
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace (245.60s)
=== CONT TestAccELBV2ListenerRule_Identity_RegionOverride
--- PASS: TestAccELBV2ListenerRule_conditionPathPattern (245.78s)
=== CONT TestAccELBV2ListenerRule_updateForwardBasic
--- PASS: TestAccELBV2ListenerRule_tags_AddOnUpdate (242.60s)
=== CONT TestAccELBV2ListenerRule_conditionUpdateMixed
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate (251.63s)
=== CONT TestAccELBV2ListenerRule_disappears
--- PASS: TestAccELBV2ListenerRule_tags_EmptyMap (252.25s)
=== CONT TestAccELBV2ListenerRule_conditionMultiple
--- PASS: TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_WeightAndStickiness (260.60s)
=== CONT TestAccELBV2ListenerRule_Action_actionDisappears
--- PASS: TestAccELBV2ListenerRule_forwardWeighted (267.56s)
=== CONT TestAccELBV2ListenerRule_conditionSourceIP
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_RemoveStickiness (257.25s)
=== CONT TestAccELBV2ListenerRuleDataSource_byARN
--- PASS: TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add (284.02s)
=== CONT TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccELBV2ListenerRule_tags_null (247.93s)
=== CONT TestAccELBV2ListenerRuleDataSource_actionFixedResponse
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_overlapping (348.21s)
=== CONT TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito
--- PASS: TestAccELBV2ListenerRule_ActionForward_ForwardBlock_AddStickiness (245.37s)
=== CONT TestAccELBV2ListenerRuleDataSource_byListenerAndPriority
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping (345.03s)
=== CONT TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC
--- PASS: TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly (408.08s)
=== CONT TestAccELBV2ListenerRule_Action_specifyOrder
--- PASS: TestAccELBV2ListenerRule_ActionForward_TargetGroupARNToForwardBlock_NoChanges (237.01s)
=== CONT TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping
--- PASS: TestAccELBV2ListenerRule_tags (277.97s)
=== CONT TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccELBV2ListenerRule_Identity_ExistingResource_NoRefresh_NoChange (243.56s)
=== CONT TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccELBV2ListenerRule_conditionHTTPHeaderRegex (236.93s)
=== CONT TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccELBV2ListenerRule_basic (226.63s)
=== CONT TestAccELBV2ListenerRuleDataSource_tags_EmptyMap
--- PASS: TestAccELBV2ListenerRule_disappears (216.78s)
=== CONT TestAccELBV2ListenerRuleDataSource_tags_NullMap
--- PASS: TestAccELBV2ListenerRule_Identity_ExistingResource (251.48s)
=== CONT TestAccELBV2ListenerRule_EmptyAction/redirect
=== CONT TestAccELBV2ListenerRule_EmptyAction/forward
=== CONT TestAccELBV2ListenerRule_EmptyAction/fixed-response
=== CONT TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito
--- PASS: TestAccELBV2ListenerRule_conditionMultiple (227.50s)
=== CONT TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc
--- PASS: TestAccELBV2ListenerRule_EmptyAction (0.00s)
--- PASS: TestAccELBV2ListenerRule_EmptyAction/redirect (1.76s)
--- PASS: TestAccELBV2ListenerRule_EmptyAction/forward (1.78s)
--- PASS: TestAccELBV2ListenerRule_EmptyAction/fixed-response (1.72s)
--- PASS: TestAccELBV2ListenerRule_EmptyAction/authenticate-cognito (1.70s)
--- PASS: TestAccELBV2ListenerRule_EmptyAction/authenticate-oidc (1.81s)
--- PASS: TestAccELBV2ListenerRule_Action_actionDisappears (228.18s)
--- PASS: TestAccELBV2ListenerRule_conditionSourceIP (225.10s)
--- PASS: TestAccELBV2ListenerRule_Identity_RegionOverride (256.22s)
--- PASS: TestAccELBV2ListenerRule_updateForwardBasic (252.19s)
--- PASS: TestAccELBV2ListenerRule_conditionUpdateMixed (258.70s)
--- PASS: TestAccELBV2ListenerRuleDataSource_byARN (233.06s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionFixedResponse (235.44s)
--- PASS: TestAccELBV2ListenerRuleDataSource_byListenerAndPriority (214.78s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionAuthenticateCognito (220.24s)
--- PASS: TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag (257.14s)
--- PASS: TestAccELBV2ListenerRuleDataSource_actionAuthenticateOIDC (222.55s)
--- PASS: TestAccELBV2ListenerRule_Action_specifyOrder (224.84s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping (228.10s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag (218.66s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag (218.84s)
--- PASS: TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag (255.04s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_EmptyMap (238.46s)
--- PASS: TestAccELBV2ListenerRuleDataSource_tags_NullMap (228.60s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/elbv2 1216.811sThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
|
Warning This Issue has been closed, meaning that any additional comments are much easier for the maintainers to miss. Please assume that the maintainers will not see them. Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed. |
|
Thanks for your contribution, @tabito-hara! 👍 |
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 the
regex_valuesargument to thehost_header,http_header, andpath_patternblocks within theconditionblock of theaws_lb_listener_ruleresource and data source.valuesargument has been changed fromRequiredtoOptional.Relations
Closes #44714
References
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/rule-condition-types.html
https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RuleCondition.html
Output from Acceptance Testing
Resource
Data Source