aws-cloudformation / rain

A development workflow tool for working with AWS CloudFormation.
Apache License 2.0
757 stars 69 forks source link

Generate pkl classes based on registry schemas #318

Closed ericzbeard closed 3 months ago

ericzbeard commented 4 months ago

This PR adds some support for Apple's pkl configuration language.

See https://pkl-lang.org/index.html

You can now provide a file with a .pkl extension to rain commands such as rain deploy, and if the file can be successfully evaluated and serialized to YAML, it will be deployed as normal.

You can also import a new Pkl package that we are creating each time we do a rain release. The package will be on the release page with a name like cloudformation@1.8.2. This package has a class for every registry resource type, modules for things like template which you can amend, and higher level patterns (for now there's just a single pattern but we plan to add more)

This PR has a huge number of files because we are now including registry schemas in the binary, instead of downloading them each time we need them. And we are generating a pkl class for each of those json schema files.