{"repo":"mbj/stratosphere","free":true,"listed":false,"github":"https://github.com/mbj/stratosphere","clone":"git clone https://github.com/mbj/stratosphere.git","description":"Haskell EDSL and type-checker for AWS CloudFormation templates","language":"Haskell","stars":169,"topics":["haskell","aws","cloudformation"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Stratosphere: AWS CloudFormation in Haskell AWS CloudFormation is a system that provisions and updates Amazon Web Services (AWS) resources based on declarative templates. Common criticisms of CloudFormation include the use of JSON as the template language and limited error-checking, often only available in the form of run-time errors and stack rollbacks. By wrapping templates in Haskell, it is possible to easily construct them and help ensure correctness. The goals of stratosphere are to: Build a Haskell EDSL to specify CloudFormation templates. Since it is embedded in Haskell, it is type-checked and generally much easier to work with than raw JSON/YAML. Have a simple checking/linting system outside of the types that can find common errors in templates. Funding / Sponsoring This library is maintained by mbj and any pledge is greatly apprechiated. Example Here is an example of a Template that creates an EC2 instance, along with the JSON output: Please see the examples directory for more in-depth examples (including this one). The stratosphere-example package produces a same named binary with a minimal CLI for exploration. Its encouraged to use it as a playground while exploring this library. Value Types CloudFormation resource parameters can be literals (strings, integers, etc), references to another resource or a Parameter, or the result of some function call. We encapsulate all of these possibilities in the Value a type. It is recommend using the OverloadedStrings and Overlo","default_branch":null,"files":null,"tree":[],"storefront":"/r/mbj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mbj/stratosphere/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}