Cloud modules may seem daunting because there are so many components that are required to make a cohesive piece of code. But if you work on the module with bite-sized chunks, it will be a lot easier to handle.
Whenever I write a new cloud module, the first thing I do is get some sample code working that makes a small query. Because images and sizes are critical to the creation of a VM, and because those calls tend to be very simple, they are usually the easiest to get working.
Once you have one of those functions working, break it out into a _query()
function (if you didn't start that way) and a function that calls it. Then write another function that calls it. You may find yourself tweaking _query()
for each of the first few functions, but then it will stabilize and require few, if any, changes.