in src/stepfunctions/steps/states.py [0:0]
def visit(self, state):
if state.state_id in self.states:
raise ValueError("Each state in a workflow must have a unique state id. Found duplicate state id '{}' in workflow.".format(state.state_id))
self.states[state.state_id] = state.to_dict()
if state.next_step is None:
return
if not hasattr(state.next_step, 'fields') or Field.Parameters.value not in state.next_step.fields:
return
params = state.next_step.fields[Field.Parameters.value]
valid, invalid_param_name = self._validate_next_step_params(params, state.step_output)
if not valid:
raise ValueError('State \'{state_name}\' is using an illegal placeholder for the \'{param_name}\' parameter.'.format(state_name=state.next_step.state_id, param_name=invalid_param_name))