Thanks for the contribution @vpetersson ! It would be really nice to have this merged. There are a few generic things, though, that need to be addressed, to be aligned with the latest refactors done in jclouds 1.7.0-SNAPSHOT, regarding the removal of the asynchronous interfaces:
* We no longer have the asynchronous interface, so the `CloudSigma2AsyncClient` should be removed and all the annotations moved to the corresponding methods of the `CloudSigma2Client` class. * The convention is that api classes should be named like: `CloudSigma2Api`, so `CloudSigma2Client` should be renamed accordingly. * The `CloudSigma2ApiMetadata` should extend from [BaseHttpApiMetadata](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/rest/internal/BaseHttpApiMetadata.java), and its deprecated fields (the context token) should be removed as it is not used in 1.7. * The `CloudSigma2RestClientModule` should be renamed to `CloudSigma2HttpApiModule` and should extend from the [HttpApiModule](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/rest/config/HttpApiModule.java). Its annotation should be replaced by `@ConfiguresHttpApi`. Also, there are no tests in this API, and they should be added. We have two types of tests: * Expect tests: Unit tests that use mocks to verify that the API properly generates the requests and properly parses the responses. * Live tests: Integration tests that perform the real API calls to verify that the API works as expected. Both tests should be added for each method in the API since we rely a lot on them to be confident that everything is working. You can take a look at the projects (for example) in the [jclouds-labs-openstack](https://github.com/jclouds/jclouds-labs-openstack) repo (openstack-trove could be a good example). --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/12#issuecomment-20735022
