On Fri, Jan 25, 2013 at 4:35 PM, Rohit Yadav <[email protected]> wrote:
> 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)
> :)

Indeed - I could look at that.  Honestly though, I simply add ruby
support to the CS client generator [1], and then wrapped the result up
in a gem (including a base client class).

[1] https://github.com/jasonhancock/cloudstack-client-generator

> 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()
>

Reply via email to