fix(stepfunctions): allow JSONata expressions for Map maxConcurrency#36462
fix(stepfunctions): allow JSONata expressions for Map maxConcurrency#36462mergify[bot] merged 16 commits intoaws:mainfrom
Conversation
|
@mu7889yoon Thank you for your contirbution. If you have any problem to execute integ test, please read this document (in Japanese!). https://jaws-ug-cdk.github.io/cdk-conf-2024-contribute-workshop/ |
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
badmintoncryer
left a comment
There was a problem hiding this comment.
Thanks! I've added a tiny comment. After your modification, I'll approve this PR.
Co-authored-by: Kazuho Cryer-Shinozuka <malaysia.cryer@gmail.com>
Thank you for your review !! |
badmintoncryer
left a comment
There was a problem hiding this comment.
Could you please merge the latest main branch? This resolves some kind of CI problems. It is better to merge it once a week or more.
|
|
||||||||||||||
|
@Mergifyio refresh |
✅ Pull request refreshed |
|
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). |
Merge Queue Status✅ The pull request has been merged at 505f842 This pull request spent 7 hours 22 minutes 7 seconds in the queue, including 3 hours 19 minutes 54 seconds running CI. Required conditions to merge
|
|
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). |
|
Comments on closed issues and PRs are hard for our team to see. |
Issue # (if applicable)
Closes #36274
Reason for this change
In the current implementation, the Map state's maxConcurrency property only accepts numeric values.
However, according to the Amazon States Language specification, maxConcurrency can also be defined using a JSONata expression.
This limitation prevents users from dynamically controlling concurrency based on input data and causes a mismatch between CDK and the underlying Step Functions / CloudFormation capabilities.
This change updates the implementation to allow JSONata expressions for Map maxConcurrency, aligning CDK behavior with the Step Functions specification.
Description of changes
This PR updates the Map state to support JSONata expressions for the maxConcurrency property.
A new option is introduced to allow maxConcurrency to be specified as a JSONata expression, in addition to a static numeric value.
This option is mutually exclusive with the existing numeric maxConcurrency configuration.
During synthesis, when a JSONata expression is provided, it is rendered directly into the CloudFormation template as the Map state's maxConcurrency value.
An alternative approach, such as introducing a new class or restructuring the existing API, was considered.
However, this was avoided to prevent breaking changes for existing users.
Describe any new or updated permissions being added
None
Description of how you validated changes
Added unit test and an integration test
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license