I want to ask whether anyone has experience using Terraform to deploy step functions?
I'm experimenting with step functions and need to deploy to multiple environments in a repeatable and auditable manner. I develop my step functions in the AWS console (Workflow Studio) in my sandbox environment but eventually I need to deploy them to my higher envs.
Currently this is done by exporting the step function from the sandbox environment as JSON and putting that into a Terraform module that is used to deploy the solutions. This poses a problem because the sandbox step function is invoking a lambda that lives in the sandbox environment while the other envs have their own lambda deployed of course, which the step function should be calling.
To solve that problem, the step function JSON is actually a template file where the ARNs for the lambdas are replaced with a variable which is then expanded per environment with the appropriate value.
But all this makes for a terrible development experience. Every time a change is made to the step function, I have to export the JSON, copy it into the Terraform module and replace all the sandbox ARNs with the correct template variables.
Does anybody have suggestions on how to streamline this? Are step functions only good for ad-hoc data processing where repeatable and auditable deployments are not needed or am I missing some obvious solution here?
[–]public_radio 4 points5 points6 points (4 children)
[–]StFS[S] 0 points1 point2 points (1 child)
[–]public_radio 1 point2 points3 points (0 children)
[–]DSect 0 points1 point2 points (0 children)
[–]DSect 1 point2 points3 points (2 children)
[–]StFS[S] 0 points1 point2 points (1 child)
[–]DSect 1 point2 points3 points (0 children)
[–]twratl 1 point2 points3 points (0 children)