As I understand, correct me if I am wrong, JClouds *can* call an OpenStack API as one of its providers but JClouds also has other providers which JClouds call which do not necessarily operate through the OpenStack API when JClouds is used. So I want to write a provider to my Cloud which I can put inside JClouds as a provider, that is my own work which I will be doing. This will allow me to expose a JClouds API to my customers.
I want someone else to make an OpenStack API over JClouds so that I can ALSO expose an OpenStack API to customers, not just a JClouds API. My customers want an OpenStack API and a JClouds API.
I can imagine one problem with this is that the API's won't be a 1-1 mapping and also some information may be lost on API call, I mean JClouds API may be a smaller "set" of information than OpenStack API's "set". so I would want to have all of this done in Java (or Scala) so that down the call stack if some information was lost down the call stack it could be retrieved from a thread local variable or some other method at the bottom of the call stack so that I could get all the information I needed from the OpenStack API call.
Is the above all true?
Does this seems via-able?
Do you agree or disagree with the way I am suggesting?
As I know JClouds can connect to OpenStack so you may be thinking, why don't I just write an OpenStack API to my cloud, but at this moment I have a Java API to my cloud right now, so if I write my code as a provider in Java to JClouds then I don't need to deal with REST API calls, I only write Java code inside which JClouds calls to my Java API to my cloud. This is the reason why I don't want to write an OpenStack API to my cloud but to do it in this round-about way is that I have a full Java API to my cloud.