- 
                Notifications
    
You must be signed in to change notification settings  - Fork 220
 
Open
Description
This is a (Bug Report)
Description
States.Format() doesn't seem to work when used in the ErrorPath of a Fail task.
The following state is working as expected in the AWS console:
    "My Fail State": {
      "Type": "Fail",
      "Comment": "The comment.",
      "ErrorPath": "States.Format('job_id: {}, client_id: {}', $[0].detail.job_id, $[0].detail.client_id)",
      "Cause": "A string representing the cause"
    }
however, when translated to yaml we cannot package this - it raises an error.
The following state in yaml does not work with sls package
    My Fail State:
      Type: Fail
      Comment: "The comment."
      ErrorPath: "States.Format('job_id: {}, client_id: {}', $[0].detail.job_id, $[0].detail.client_id)"
      Cause: "A string representing the cause"
When I remove the ErrorPath sls package works correctly.
I cannot remove the double quotes around States.Format i.e.
ErrorPath: States.Format('job_id: {}, client_id: {}', $[0].detail.job_id, $[0].detail.client_id)
because then I get a cannot parse ... bad indentation of a mapping entry... error, presumably because of the curly braces.
I've also tried with:
ErrorPath: "$[0].detail.job_id"
and receive the same error
For bug reports:
- What went wrong?
The following error occurs when doingsls packagewhen using anErrorPathwithStates.Format() 
SCHEMA_VALIDATION_FAILED: /States/Fail - My Fail State. must match exactly one schema in oneOf
- What did you expect should have happened?
No error should have occurred 
Additional Data
- The Plugin Version you're using:
3.17.0 
ymulenll and henrydobson
Metadata
Metadata
Assignees
Labels
No labels