<div dir="ltr">I recently migrated some infrastructure from AWS to Google Cloud and needed a way to upload a file to a storage bucket. For AWS there's an awesome Haskell library (aws), but I couldn't find anything comparable for interacting with the Google Cloud APIs.<div><br></div><div>While it wouldn't be difficult to write a standalone function for that simple task, I decided to package it up in a library. Currently implemented is uploading a ByteString to a bucket and some metadata server queries. That's all I need currently, but I may add a few more selected APIs in the near future (mostly around managing compute instances).</div><div><br></div><div>Adding support for new APIs should be relatively easy, even without having to change the library itself. All the internals are exposed to users of the library. There is nothing private or hidden. The library gives you access to convenience functions to send HTTP requests. That, coupled with a bit of JSON/aeson parsing, should cover most use cases.</div><div><br></div><div><a href="http://hackage.haskell.org/package/google-cloud">http://hackage.haskell.org/package/google-cloud</a><br></div><div><a href="https://github.com/wereHamster/google-cloud#readme">https://github.com/wereHamster/google-cloud#readme</a><br></div></div>