Rusoto maintainer here: The different AWS services are added to Rusoto through code generation based on service definitions from the Python project botocore. We're in the process of moving our code generation from Python to Rust, and once that's in place, we'll be adding remaining services pretty quickly.
It's too bad that compiler plugins / libmacro are still so experimental. Once they're stable, the kind of code generation you're doing as a separate step could be done entirely at compile time. I did some preliminary tests with an eye towards an AWS crate, but decided that a crate that only works with nightly and frequently breaks is of dubious value. Still, it's cool that the Rust compiler will eventually be extensible enough to compile json directly.
Anyways, thanks for Rusoto. It's going to make a project I'm starting next month significantly simpler!
Yes, I've been following this issue closely. Nick Cameron is working on a revamped macro system that will replace the current compiler plugin system for the purposes of syntax extensions. It's probably still gonna be a while, unfortunately, since it'll take some time to get that kind of stuff vetted and baked into the language.
Here are some recent posts by Nick on his experiments and progress (in order of publication):
Go lacks an elegant and predictable syntax, unlike Python and Rust. Also, Rust is more potent as a language, it's safer, and it has crates - I prefer a centralized package management as it helps discovery, rating, analytics, and other things we know work great with RubyGems, PyPI, and NPM.