CloudStack has its own API. Cloud wrappers like libcloud and jclouds work well with this native API, but CloudStack does not expose any standard API like OCCI and CIMI. We (Isaac Chiang really, I just tested and pointed him in the right direction) started working on a CloudStack backend for rOCCI using our CloudStack ruby gem. The choice of rOCCI was made due to the existence of an existing Opennebula backend and the adoption of OCCI in the European Grid Initiative Federated cloud testbed.
Let's get started with installing the rOCCI server, this work has not yet been merged upstream so you will need to work from Isaac Chiang's fork.
git clone https://github.com/isaacchiang/rOCCI-server.git bundle install cd etc/backend cp cloudstack/cloudstack.json default.json
Edit the defautl.json file to contain the information about your CloudStack cloud (e.g apikey, secretkey, endpoint). Start the rOCCI server:
bundle exec passenger start
The server should be running on http://0.0.0.0:3000 and run the tests:
bundle exec rspec
This was tested with the CloudStack simulator and a basic zone configuration, help us test it in production clouds....