we will need a choice within each branch.

{
"StartAt":"Build Decider Step Output",
"States":{
"Build Decider Step Output":{
"Type":"Pass",
"Result":{
"firstReq":true,
"secondReq":true,
"thridReq":false
},
"ResultPath":"$.decider",
"Next":"my-parallel"
},
"my-parallel":{
"Type":"Parallel",
"End":true,
"Branches":[
{
"StartAt":"should we run first step?",
"States":{
"should we run first step?":{
"Type":"Choice",
"Choices":[
{
"Variable":"$.decider.firstReq",
"BooleanEquals":true,
"Next":"First Requirement"
}
],
"Default":"First Req Skipped"
},
"First Req Skipped":{
"Type":"Pass",
"End":true
},
"First Requirement":{
"Type":"Pass",
"End":true
}
}
},
{
"StartAt":"should we run second step?",
"States":{
"should we run second step?":{
"Type":"Choice",
"Choices":[
{
"Variable":"$.decider.secondReq",
"BooleanEquals":true,
"Next":"Second Requirement"
}
],
"Default":"Second Req Skipped"
},
"Second Req Skipped":{
"Type":"Pass",
"End":true
},
"Second Requirement":{
"Type":"Pass",
"End":true
}
}
},
{
"StartAt":"should we run thrid step?",
"States":{
"should we run thrid step?":{
"Type":"Choice",
"Choices":[
{
"Variable":"$.decider.thridReq",
"BooleanEquals":true,
"Next":"Third Requirement"
}
],
"Default":"Third Req Skipped"
},
"Third Req Skipped":{
"Type":"Pass",
"End":true
},
"Third Requirement":{
"Type":"Pass",
"End":true
}
}
}
]
}
}
}
I mocked this json in first step output
{
"firstReq":true,
"secondReq":true,
"thridReq":false
}
and resulted in below, skipping third branch.
