CloudFormation is a system that provisions and updates Amazon Web Services(AWS) resources based on declarative templates. Common criticisms ofCloudFormation include the use of JSON as the template language and limitederror-checking, often only available in the form of run-time errors and stackrollbacks. By wrapping templates in Haskell, we are able to easily constructthem and help ensure correctness.The goals of stratosphere are to:- Build a Haskell EDSL to specify CloudFormation templates. Since it isembedded in Haskell, it is type-checked and generally much easier to workwith than raw JSON.- Have a simple checking/linting system outside of the types that can findcommon errors in templates.- Be able to also read valid CloudFormation JSON templates so they can betype-checked. This also gives us free integration tests by using the hugeamount of example templates available in the AWS docs.Most of the commonly used CloudFormation resources are implemented, and addingnew resources is very straightforward. (We created a web scraper that generatesa JSON file from a given CloudFormation documentation page URL, and from thatwe generate a Haskell module.) So far, we have implemented resources we use atFront Row Education, and we will add more resources over time.The library is very much in a usable state as-is. However, we want to make anysweeping changes while it is still young. If you have any suggestions at all,you want us to add your favorite resource, or if you find a bug, please file anissue on Github!Also, we want to give a huge thanks to Brendan Hay, the author of amazonka, forhis ideas and feedback on the project.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe