Skip to content

feat(events-targets): support messageGroupId for standard SQS queues#36068

Merged
mergify[bot] merged 28 commits intoaws:mainfrom
ravilg-aws:feat/events-targets-support-messagegroupid-standard-queues
Dec 15, 2025
Merged

feat(events-targets): support messageGroupId for standard SQS queues#36068
mergify[bot] merged 28 commits intoaws:mainfrom
ravilg-aws:feat/events-targets-support-messagegroupid-standard-queues

Conversation

@ravilg-aws
Copy link
Copy Markdown
Contributor

Description

EventBridge now supports the messageGroupId parameter for standard (non-FIFO) SQS targets. This PR removes the client-side validation that was preventing customers from using this feature.

Changes

  • Removed validation error in SqsQueue constructor that blocked messageGroupId for standard queues
  • Updated JSDoc to clarify that messageGroupId is now supported for both FIFO and standard queues
  • Updated test from expecting an error to verifying proper CloudFormation synthesis

Background

The EventBridge service API has always supported messageGroupId as an optional parameter for SqsParameters, but the service validation previously rejected it for standard queues. With the recent backend service change (CR-231214910), EventBridge now accepts messageGroupId for standard SQS queues, enabling customers to use this parameter for message grouping.

Testing

  • Unit tests updated to verify messageGroupId works with standard queues
  • Existing FIFO queue tests continue to work
  • All existing SQS target tests pass

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

EventBridge now supports the messageGroupId parameter for standard (non-FIFO)
SQS targets. This change removes the client-side validation that was blocking
this feature.

Fixes: Removes ValidationError when messageGroupId is used with standard queues
Tests: Updated test to verify messageGroupId works with standard queues
Docs: Updated JSDoc to reflect support for both queue types
@aws-cdk-automation aws-cdk-automation requested a review from a team November 14, 2025 18:16
@github-actions github-actions bot added p2 beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK labels Nov 14, 2025
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

…sageGroupId

- Added comprehensive README documentation showing messageGroupId usage for both FIFO and standard queues
- Updated integration test to include messageGroupId example with standard queue
- Addresses PR feedback requiring README and integration test changes
Added CloudFormation resources for standard queue with messageGroupId:
- StandardQueue resource
- StandardQueuePolicy with EventBridge permissions
- StandardQueueRule with SqsParameters.MessageGroupId
@aws-cdk-automation aws-cdk-automation dismissed their stale review November 14, 2025 22:30

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@ravilg-aws
Copy link
Copy Markdown
Contributor Author

The integration test "destructive changes" are intentional and expected. I've added three new resources to the integration test to demonstrate the messageGroupId feature with standard (non-FIFO) SQS queues:

  • StandardQueue4A8B3C4D: A standard SQS queue
  • StandardQueuePolicyFB772D09: Queue policy granting EventBridge permissions
  • StandardQueueRule2E5F2E91: EventBridge rule configured with SqsParameters.MessageGroupId

These resources are necessary to validate that messageGroupId now works correctly with standard queues, which is the core functionality being added in this PR. The existing test only covered FIFO queues and encrypted queues with dead letter queues - this addition provides coverage for the new standard queue capability.

Copy link
Copy Markdown

@fjelliott fjelliott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Wondering when this'll get merged.

aemada-aws
aemada-aws previously approved these changes Dec 1, 2025
@aemada-aws
Copy link
Copy Markdown
Contributor

@Mergifyio update

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 1, 2025

update

❌ Mergify doesn't have permission to update

Details

For security reasons, Mergify can't update this pull request. Try updating locally.
GitHub response: refusing to allow a GitHub App to create or update workflow .github/workflows/analytics-metadata-updater.yml without workflows permission

@mergify mergify bot dismissed aemada-aws’s stale review December 1, 2025 22:22

Pull request has been modified.

aemada-aws
aemada-aws previously approved these changes Dec 1, 2025
   - Added StandardQueue resource structure
   - Added StandardQueueRule resource structure with sqsParameters containing messageGroupId
@mergify mergify bot dismissed aemada-aws’s stale review December 2, 2025 17:31

Pull request has been modified.

The integration test now explicitly allows destruction of the new standard queue resources:
- StandardQueue4A8B3C4D
- StandardQueuePolicyFB772D09
- StandardQueueRule2E5F2E91

These resources were added to demonstrate messageGroupId support for standard queues.
Updated integration test snapshots to allow destructive changes for StandardQueue resources:
- Added StandardQueue, StandardQueuePolicy, and StandardQueueRule logical IDs to allowDestroy list in integ.json
- Added missing metadata entries for StandardQueue resources in manifest.json

This fixes the build failure where the integ-runner was flagging these resources as destructive changes.
Add trace metadata indicating destructive changes for StandardQueue resources:
- StandardQueue4A8B3C4D
- StandardQueuePolicyFB772D09
- StandardQueueRule2E5F2E91

This marks these resources with WILL_DESTROY traces in the manifest to document the destructive nature of the changes.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 6, 2025

TestsPassed ✅SkippedFailed
Security Guardian Results26 ran26 passed
TestResult
No test annotations available

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 6, 2025

TestsPassed ✅SkippedFailed
Security Guardian Results with resolved templates26 ran26 passed
TestResult
No test annotations available

@aws-cdk-automation
Copy link
Copy Markdown
Collaborator

This PR has been in the CHANGES REQUESTED state for 3 weeks, and looks abandoned. Note that PRs with failing linting check or builds are not reviewed, please ensure your build is passing

To prevent automatic closure:

  • Resume work on the PR
  • OR request an exemption by adding a comment containing 'Exemption Request' with justification e.x "Exemption Request: "
  • OR request clarification by adding a comment containing 'Clarification Request' with a question e.x "Clarification Request: "

This PR will automatically close in 14 days if no action is taken.

@pahud
Copy link
Copy Markdown
Contributor

pahud commented Dec 10, 2025

Interesting, the PR linter validation considered it maintainerApproved because of this and removed the needs review label. I think this PR is all set.

evaluation:  {
  "draft": false,
  "mergeable_state": "behind",
  "maintainerRequestedChanges": false,
  "maintainerApproved": true,
  "communityRequestedChanges": false,
  "communityApproved": false,
  "userRequestsExemption": false
}
{
  addLabels: undefined,
  removeLabels: [ 'pr/needs-community-review', 'pr/needs-maintainer-review' ],
  requestChanges: undefined,
  deleteComments: undefined,
  dismissPreviousReview: true
}
Carrying out actions

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 15, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 15, 2025

Merge Queue Status

🚫 The pull request has left the queue (rule: default-squash) at 3e192ff

This pull request spent 5 seconds in the queue, with no time running CI.

Reason

The pull request can't be updated

For security reasons, Mergify can't update this pull request. Try updating locally.
GitHub response: refusing to allow a GitHub App to create or update workflow .github/workflows/codebuild-pr-build.yml without workflows permission

Hint

You should update or rebase your pull request manually. If you do, this pull request will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue, you can requeue the pull request, without updating it, by posting a @mergifyio requeue comment.

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 15, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit 95d4ed5 into aws:main Dec 15, 2025
22 of 23 checks passed
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 15, 2025

Merge Queue Status

✅ The pull request has been merged at 90475ff

This pull request spent 5 seconds in the queue, with no time running CI.
The checks were run in-place.

Required conditions to merge

@github-actions
Copy link
Copy Markdown
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 15, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants