0

With this smallest example I could come up with:

from aws_cdk import aws_stepfunctions_tasks as tasks
from aws_cdk import aws_stepfunctions as sfn

states = tasks.GlueStartJobRun.jsonata(  # actual type does not matter, this is just have something to catch errors on
    self,
    "Start_job",
    glue_job_name="{% $states.input %}",
).add_catch(
    sfn.Fail.jsonata(self, "boom"),
    errors=["States.ALL"],
    outputs="a string",  # Not appearing!
)

sfn.StateMachine(
    self,
    "State_machine",
    query_language=sfn.QueryLanguage.JSON_PATH,
    definition_body=sfn.ChainDefinitionBody.from_chainable(states),
)

After having deploying with cdk, the catcher of the "Start Job" step does not have any output defined. I can see that even the cloudformation template does not have it. It is not a syntax error, though, and this is documented. Trying with a string or any other data type does not change the issue.

As I am using the latest aws-cdk-lib (2.178.1 at time of writing), I think this is a bug.

I think it should be possible to "manually" override this, with something like add_property_override but I cannot find a way.

How can I have the outputs I define in the the catcher?

1 Answer 1

0

This was a bug in the cdk, now fixed. It works as expected.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.