Awesome chip!!! I've a suggestion: To make automatic wrapping of apis and its usage you can use api discovery you can get a json (during build time or release time of the library against a running mgmt server) or can get it via processing commands.xml from tools/apidoc/target; this json will have all available apis with their command name, description, helpdoc, request and response params etc. (related api as well). I bet you can write a ruby code generator with this approach in less than 100 lines to create api boilerplate classes (the way marvin does it) :)
I'm doing that and more on cloudmonkey but for runtime and I'll cut a final stable version based on original design of cloudmonkey on http://pypi.python.org/pypi/cloudmonkey After which pypi channel would be only used for official/voted releases. Regards. PS. I created my own cloudmonkey distribution channel called clouddonkey (suggested by my brother, it carries the load :P) where I'll do my personal releases to share latest/snapshots; (and I checked clouddonkey is not copyrighted :P) http://pypi.python.org/pypi/clouddonkey/4.1.0 On Fri, Jan 25, 2013 at 10:53 AM, Chip Childers <[email protected]> wrote: > I'm pretty new to Ruby, but I just released a CloudStack ruby client: > https://rubygems.org/gems/cloudstack_ruby_client > > Code is here: https://github.com/chipchilders/cloudstack_ruby_client > > Comments and help welcome! > > To install: > gem install cloudstack_ruby_client > > > Basic usage (the creds are from my devcloud install): > require 'cloudstack_ruby_client' > URL = 'http://192.168.56.10:8080/client/api/' > APIKEY = > 'yy0sfCPpyKnvREhgpeIWzXORIIvyteq_iCgFpKXnqpdbnHuoYiK78nprSggG4hcx-hxwW897nU-XvGB0Tq8YFw' > SECKEY = > 'Pse4fqYNnr1xvoRXlAe8NQKCSXeK_VGdwUxUzyLEPVQ7B3cI1Q7B8jmZ42FQpz2jIICFax1foIzg2716lJFZVw' > client = CloudstackRubyClient::Client.new(URL, APIKEY, SECKEY, false) > puts client.listNetworkOfferings()
