in aws/hhvm1/state-machine/generate.hack [249:290]
function states_for_activity(
keyset<P> $params_to_preserve,
A $activity,
string $next,
string $failure_state,
): dict<string, State> {
$params_to_preserve[] = P::BuildInput;
return dict[
S::PrepareTo.$activity => dict[
F::Type => T::Task,
F::Resource => Config::ARN[S::PrepareTo],
F::Parameters => params_with($params_to_preserve, P::Activity, $activity),
F::ResultPath => path(P::Results, $activity),
F::Catch => vec[
dict[
'ErrorEquals' => vec['States.ALL'],
'ResultPath' => path(P::Results, $activity, 'failure'),
'Next' => $failure_state,
],
],
],
S::Should.$activity => dict[
F::Type => T::Choice,
F::Choices => vec[
dict[
'Variable' => path(P::Results, $activity, 'skip'),
'BooleanEquals' => true,
'Next' => $next,
],
],
F::Default => $activity,
],
$activity => dict[
F::Type => T::Task,
F::Resource => Config::ARN[$activity],
F::InputPath => path(P::Results, $activity, 'taskInput'),
F::TimeoutSeconds => Config::TIMEOUT_SEC[$activity],
F::Retry => Config::ACTIVITY_RETRY_POLICY,
F::Next => $next,
],
];
}