<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>Some thoughts,</div>
<div><br>
</div>
Using the binding to generate WADLs and XSDs would definitely be useful -- especially since a lot of the extensions are currently undocumented.  Certainly we can use these as a starting point for our documentation efforts.
<div><br>
</div>
<div>Keep in mind, though, that extensions are optional and the extensions your binding will encounter will vary from one deployment to the next.  You should be making a call to /extensions to auto detect what extensions are available on the server side and
 adjust accordingly.</div>
<div><br>
</div>
<div>Don't make the assumption that because an auto generated schema validates against a stock OpenStack install, that it will validate against all OpenStack deployments.  Vendors may choose to remove and add features, only the core API is guaranteed. </div>
<div><br>
</div>
<div>The schemas that we're currently publishing in </div>
<div><br>
</div>
<div><a href="https://github.com/openstack/compute-api">https://github.com/openstack/compute-api</a></div>
<div><br>
</div>
<div>have forward compatibility rules that keep them ticking in the presence of new extensions. Any schema's you produce should have similar rules.  See the</div>
<div><br>
</div>
<div>@XmlAnyElement and @XmlAnyAttribute</div>
<div><br>
</div>
<div>as a means of capturing and exposing these extra attributes with JAXB.</div>
<div><br>
</div>
<div>Once you produce these XSDs/WADLs  would you mind sending them to our Docs team?</div>
<div><br>
</div>
<div>Things like:</div>
<div><br>
</div>
<div><a href="http://api.openstack.org/">http://api.openstack.org/</a>    and </div>
<div><a href="http://docs.openstack.org/api/">http://docs.openstack.org/api/</a></div>
<div><br>
</div>
<div>are all driven by them.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>-jOrGe W.</div>
<div>
<div>
<div><br>
<div>
<div>On Feb 16, 2012, at 9:16 AM, Luis Gervaso wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">You can use schemagen to generate the XSD from the java classes. You can try, this it's working from now.
<br>
<br>
We have not published yet because the schemas are unstable. I have planned to publish them starting with Essex release.<br>
<br>
We will not publish any WADL since we are on the client side. I'm evaluating to create extra services for the server side regarding to the<br>
billing part and they will have WADL.<br>
<br>
Regards<br>
<br>
<div class="gmail_quote">On Thu, Feb 16, 2012 at 8:48 AM, Craig Vyvial <span dir="ltr">
<<a href="mailto:cp16net@gmail.com">cp16net@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Once you have the API implemented in with Jersey you can get the XSD like you said and also a valid up to date WADL. That could be very useful for docs and/or other devs.
<div><br>
</div>
<div>Great work!</div>
<span class="HOEnZb"><font color="#888888">
<div><br>
</div>
</font></span>
<div><span class="HOEnZb"><font color="#888888">-Craig Vyvial</font></span>
<div>
<div class="h5"><br>
<br>
<div class="gmail_quote">On Wed, Feb 15, 2012 at 8:19 PM, Luis Gervaso <span dir="ltr">
<<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Justin,<br>
<br>
Great!<br>
<br>
I have tried a variety of options to implement this in a clean way. As you can see Jersey afford it in the most clean way.<br>
<br>
My thoughts to make this are:<br>
<br>
1. Start with a handcoded JAXB annotations, since the schemas are out-of-date and then we will create the XSD super easy.<br>
2. I have seen than in servers endpoint the structure of XML and JSON are not the same (networks / addresses part). Then i decided<br>
to start the binding from XML in order to have as soon as posible the generated schemas and then apply any patch to make it work<br>
with JSON as well.<br>
3. For my point of view HATEOAS is a must. The Client API must be easy integrated with any business process or workflow. I know that<br>
this will be funny since we are on the cutting edge, I think the next version of Jersey have an early support for this.<br>
<br>
Cheers!<span><font color="#888888"><br>
<br>
Luis</font></span>
<div>
<div><br>
<br>
<br>
<div class="gmail_quote">On Thu, Feb 16, 2012 at 12:14 AM, Justin Santa Barbara <span dir="ltr">
<<a href="mailto:justin@fathomdb.com" target="_blank">justin@fathomdb.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is awesome.  I was working on a binding myself, but your use of jersey makes for much less code.
<div><br>
</div>
<div>I've extended your work in a github fork.  I added a CLI so that I could test it out; the few bits of functionality that I added work great and I'm going to try using it as my primary interface and fixing/adding things that aren't working.</div>
<div><br>
</div>
<div>One goal I have is to do extensions "right".  So we should allow people to code extensions without changing the core API code (equivalently, we shouldn't assume that we know all the extensions when we build the API).  I have an example of how this can
 be done where extra XML attributes are returned (which happens on an out-of-the-box server listing); I'm going to do more work on more advanced scenarios (extra elements, extra REST endpoints).  I would eventually like to use the (hand-coded) Java models to
 generate valid XSD files.</div>
<div><br>
</div>
<div>My fork is here:  <a href="https://github.com/justinsb/openstack-java-sdk" target="_blank">https://github.com/justinsb/openstack-java-sdk</a>  I'd like to work together on this!</div>
<div><br>
</div>
<div>Justin<br>
<br>
---<br>
<br>
Justin Santa Barbara<br>
Founder, FathomDB
<div>
<div><br>
<br>
<br>
<br>
<div class="gmail_quote">On Mon, Feb 13, 2012 at 8:53 AM, Luis Gervaso <span dir="ltr">
<<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The Dasein Arch is great and the code is very clean. Congrats for it.<br>
<br>
I can't find a fully implementation of OS API.<br>
<br>
are using EC2 API to talk with OS?<br>
<br>
Cheers!
<div>
<div><br>
<br>
<br>
<br>
<br>
<div class="gmail_quote">On Sat, Feb 11, 2012 at 8:15 PM, George Reese <span dir="ltr">
<<a href="mailto:george.reese@enstratus.com" target="_blank">george.reese@enstratus.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">There's also Dasein Cloud if you are interested at
<a href="http://dasein-cloud.sf.net/" target="_blank">http://dasein-cloud.sf.net</a>.
<div><br>
</div>
<div>-George</div>
<div>
<div>
<div><br>
<div>
<div>On Feb 11, 2012, at 12:28 AM, Monty Taylor wrote:</div>
<br>
<blockquote type="cite">
<div>Hi!<br>
<br>
Awesome, and thanks for the work!<br>
<br>
Just in case you didn't know about it:<br>
<br>
<a href="http://www.jclouds.org/" target="_blank">http://www.jclouds.org/</a><br>
<br>
Is a Java library with multi-cloud support, including OpenStack, which<br>
might be a fun place for you to hack - and I know Adrian loves contributors.<br>
<br>
On the other hand, any amount of Java story for OpenStack is good news.<br>
<br>
Thanks!<br>
Monty<br>
<br>
On 02/10/2012 12:08 PM, Luis Gervaso wrote:<br>
<blockquote type="cite">Till i know Nova 1.0 is deprecated, so it will not be implemented.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Nova 1.1 is almost implemented (working now with extensions : volumes /<br>
</blockquote>
<blockquote type="cite">snapshots / storagearrays)<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Nova 2.0 is a must<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Glance (working now on it, this is the most easy to implement API)<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Swift Java API from Rackspace is stable enough, so I will integrate at<br>
</blockquote>
<blockquote type="cite">the end.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Hope to hear about this roadmap.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Luis<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">On Fri, Feb 10, 2012 at 8:56 PM, Marton Kiss <<a href="mailto:marton.kiss@gmail.com" target="_blank">marton.kiss@gmail.com</a><br>
</blockquote>
<blockquote type="cite"><mailto:<a href="mailto:marton.kiss@gmail.com" target="_blank">marton.kiss@gmail.com</a>>> wrote:<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">   Hi,<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">   Nice start Luis. Do you have some plans to support different OS API<br>
</blockquote>
<blockquote type="cite">   versions? Anybody knows about a similar effort to write a PHP client?<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">   Regards,<br>
</blockquote>
<blockquote type="cite">    Márton Kiss, CTO<br>
</blockquote>
<blockquote type="cite">    Xemeti<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">   2012/2/10 Luis Gervaso <<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a> <mailto:<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>>>:<br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Hi,<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">My name is Luis Gervaso. I just upload a developer preview of<br>
</blockquote>
</blockquote>
<blockquote type="cite">   OpenStack Java<br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">SDK on<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><a href="https://github.com/woorea/openstack-java-sdk/" target="_blank">https://github.com/woorea/openstack-java-sdk/</a><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">I want to know if other development efforts have been done in this<br>
</blockquote>
</blockquote>
<blockquote type="cite">   way in<br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">order to contribute.<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Regards<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">--<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Luis Alberto Gervaso Martín<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Java EE Architect & Instructor<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">C/ Cuenca 4A, 2ºB<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Getafe (Madrid)<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">SPAIN<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a> <mailto:<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">_______________________________________________<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">
https://launchpad.net/~openstack</a><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">
openstack@lists.launchpad.net</a><br>
</blockquote>
</blockquote>
<blockquote type="cite">   <mailto:<a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>><br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">
https://launchpad.net/~openstack</a><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">
https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">-- <br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Luis Alberto Gervaso Martín<br>
</blockquote>
<blockquote type="cite">Java EE Architect & Instructor<br>
</blockquote>
<blockquote type="cite">C/ Cuenca 4A, 2ºB<br>
</blockquote>
<blockquote type="cite">Getafe (Madrid)<br>
</blockquote>
<blockquote type="cite">SPAIN<br>
</blockquote>
<blockquote type="cite">mobile: <a href="tel:%28%2B34%29%20627983344" value="+34627983344" target="_blank">
(+34) 627983344</a><br>
</blockquote>
<blockquote type="cite"><a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a> <mailto:<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">_______________________________________________<br>
</blockquote>
<blockquote type="cite">Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">
https://launchpad.net/~openstack</a><br>
</blockquote>
<blockquote type="cite">Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">
openstack@lists.launchpad.net</a><br>
</blockquote>
<blockquote type="cite">Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">
https://launchpad.net/~openstack</a><br>
</blockquote>
<blockquote type="cite">More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">
https://help.launchpad.net/ListHelp</a><br>
</blockquote>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<div><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">
<div style="word-wrap:break-word">
<div>--<br>
George Reese - Chief Technology Officer, enStratus<br>
e: <a href="mailto:george.reese@enstratus.com" target="_blank">george.reese@enstratus.com</a>    Skype: nspollution    t: @GeorgeReese    p:
<a href="tel:%2B1.207.956.0217" value="+12079560217" target="_blank">+1.207.956.0217</a><br>
enStratus: Enterprise Cloud Management - @enStratus - <a href="http://www.enstratus.com/" target="_blank">http://www.enstratus.com</a><br>
To schedule a meeting with me: <a href="http://tungle.me/GeorgeReese" target="_blank">http://tungle.me/GeorgeReese</a></div>
</div>
</span></span></div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</body>
</html>