cloudtools / troposphere

troposphere - Python library to create AWS CloudFormation descriptions
BSD 2-Clause "Simplified" License
4.93k stars 1.45k forks source link

Step Functions workflows -- integration -- rhodes #1523

Open mattsb42 opened 4 years ago

mattsb42 commented 4 years ago

As a user of Troposphere, I've always found it...jarring...to drop back into JSON whenever I want to define Step Functions state machines. I go from a relatively user-friendly interface for building my resources programmatically to once again hand-crafting JSON.

This makes me a sad panda. :(

With that in mind, I started work a little while ago on something that I hope will be a good solution to this: Rhodes[1][2].

My goal with Rhodes is to create an analogous experience for Step Functions state machines as Troposphere provides for CloudFormation templates and to integrate closely with Troposphere so that they can be used in conjunction to easily and simply define state machines as part of CloudFormation templates (this later is still a WIP).

It's still very much early days, but most of the additions that I have in mind at this point are creature comforts and I wanted to get some more eyes on this and I figure folks around here might be interested. I also realized as I was starting to build out some of the service integration helpers that while I have quite a bit of experience with Step Functions itself, there are a lot of corners that I have not yet tread, so all the more reason for me to get feedback from others who have used the service in other ways.

One of the many things I still have left to do is building out good documentation for the library, but anyone interested in seeing how it works can check out the examples[3] that I have put together.

Any comments or suggestions are welcome. :)

[1] https://github.com/mattsb42/rhodes [2] https://pypi.org/project/rhodes/ [3] https://github.com/mattsb42/rhodes/tree/master/examples/src

markpeek commented 4 years ago

Nice! I'm sure numerous people run into the same issue with using json for Step Functions. Thanks for sending a note to the mailing list letting us know about your project.

Mark

On Tue, Nov 19, 2019 at 12:22 AM Matt Bullock notifications@github.com wrote:

As a user of Troposphere, I've always found it...jarring...to drop back into JSON whenever I want to define Step Functions state machines. I go from a relatively user-friendly interface for building my resources programmatically to once again hand-crafting JSON.

This makes me a sad panda. :(

With that in mind, I started work a little while ago on something that I hope will be a good solution to this: Rhodes[1][2].

My goal with Rhodes is to create an analogous experience for Step Functions state machines as Troposphere provides for CloudFormation templates and to integrate closely with Troposphere so that they can be used in conjunction to easily and simply define state machines as part of CloudFormation templates (this later is still a WIP).

It's still very much early days, but most of the additions that I have in mind at this point are creature comforts and I wanted to get some more eyes on this and I figure folks around here might be interested. I also realized as I was starting to build out some of the service integration helpers that while I have quite a bit of experience with Step Functions itself, there are a lot of corners that I have not yet tread, so all the more reason for me to get feedback from others who have used the service in other ways.

One of the many things I still have left to do is building out good documentation for the library, but anyone interested in seeing how it works can check out the examples[3] that I have put together.

Any comments or suggestions are welcome. :)

[1] https://github.com/mattsb42/rhodes [2] https://pypi.org/project/rhodes/ [3] https://github.com/mattsb42/rhodes/tree/master/examples/src

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cloudtools/troposphere/issues/1523?email_source=notifications&email_token=AAE4ABVUDNBAT3Q3H2B7N5TQUOO4DA5CNFSM4JO7SK4KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H2IRJNA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAE4ABRAAT6ZSBS75NM2B6DQUOO4DANCNFSM4JO7SK4A .