I've been using these bindings internally for about a year, so the kinks have been worked out. A few more data types need to be supported by the code generator (in particular, the map type), and then it should have full service coverage.
The reason for each step is documented in the bash snippet. At the time of development, zarith (a transitive dependency) hard coded the GCC dependency in its build process. Perhaps it shouldn't, but it definitely did and continues to require the symlink on systems without GCC. I submitted a patch to fix this in zarith, but it has not made it to opam yet. See The patch here:
I've used this (thanks seliopou!) to convert my bash-based (Mirage) deployment scripts over to OCaml, and am significantly happier with the end result.
https://github.com/inhabitedtype/ocaml-aws
I've been using these bindings internally for about a year, so the kinks have been worked out. A few more data types need to be supported by the code generator (in particular, the map type), and then it should have full service coverage.