brendanhay / amazonka

A comprehensive Amazon Web Services SDK for Haskell.
https://amazonka.brendanhay.nz
Other
599 stars 227 forks source link

Botocore library #971

Closed endgame closed 3 months ago

endgame commented 8 months ago

As part of #872, this PR adds a library to parse botocore service-2.json, waiters-2.json and paginators-1.json files. They use a hand-written parser based on the new Data.Aeson.Decoding.Tokens provided by recent versions of aeson.

Because the generator currently smooshes the aeson Values of these three together before attempting parsing, this PR also includes separate parsers for Service, Waiters, and Paginators, so that we can load each type of file individually and then marshal them into the types currently used by gen.

Future work:

endgame commented 3 months ago

After discussions with Brendan and also internally, this code has been published at https://github.com/bellroy/hs-botocore .

This prevents the copyright situation of files in this repo from becoming too complicated, and ensures that Bellroy gets appropriate credit for the work it paid for in developing this library. It also means that should the JSON parser become interesting enough for further development, it's clearly available under BSD3.

Brendan has been invited as a maintainer to ensure that he still has control of his project.