ex-aws / ex_aws

A flexible, easy to use set of clients AWS APIs for Elixir
https://hex.pm/packages/ex_aws
MIT License
1.28k stars 527 forks source link

Generating ExAws clients from AWS API JSON spec files #677

Open seanedwards opened 4 years ago

seanedwards commented 4 years ago

I don't know if this is anywhere on your roadmap, but I wanted to share a weekend project here to give the ExAws team a chance to comment and for me to gauge enthusiasm.

ExAws.Boto is a library that generates ExAws clients from the same JSON specification files that are used to generate the other AWS SDKs. It's driven by macros, and produces API model objects as structs, typespecs for dialyzer, and ex-docs at compile time. (Screenshot of the documentation it produces is included below.) I started on this this weekend, and got to the point where a few basic API requests appear to be working. Lots more ahead before it can be considered production ready.

Some thoughts I have about this project:

Feedback is welcome, and any comments or suggestions about the best way for this to fit in with the ExAws vision would be greatly appreciated.

image

bernardd commented 3 years ago

Hi @seanedwards - are you still working on this? It's exactly the kind of thing I'd like to start using to ease the maintenance of service modules (as well as simplify the creation of new ones). Cheers.