<div dir="ltr">ok this works.<br><br>docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \<br>    -i /local/swagger.json \<br>    -c /local/config.json \<br>    -l python \<br>    -o /local/out/<br><br><br>where config looks like <br><br>{&quot;packageName&quot;: &quot;overt&quot;,<br> &quot;packageVersion&quot;: &quot;0.9&quot;<br>}<br><br><br><br><br><br><br>On 28 April 2017 at 20:11, Ben De Luca &lt;<a href="mailto:bdeluca@gmail.com">bdeluca@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; I wrote too soon! oops generated the wrong api!<br>&gt;<br>&gt; On 28 April 2017 at 20:09, Ben De Luca &lt;<a href="mailto:bdeluca@gmail.com">bdeluca@gmail.com</a>&gt; wrote:<br>&gt;&gt;<br>&gt;&gt; I just generated the python API with the cmdline tools.<br>&gt;&gt;<br>&gt;&gt; I tend to use docker with random things like this from the internet, but with docker installed this will generate a python version of the api.<br>&gt;&gt;<br>&gt;&gt; docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \<br>&gt;&gt;     -c /local/swagger.json \<br>&gt;&gt;     -l python \<br>&gt;&gt;     -o /local/out/<br>&gt;&gt;<br>&gt;&gt; to a folder called local/out<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; On 28 April 2017 at 20:01, Juan Hernández &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt; wrote:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; On 04/28/2017 06:00 PM, Ben De Luca wrote:<br>&gt;&gt;&gt; &gt; before people go writing yet another api client wouldn&#39;t it make sense<br>&gt;&gt;&gt; &gt; to just define the api client in terms of some thing like swagger<br>&gt;&gt;&gt; &gt; ? <a href="http://swagger.io/">http://swagger.io/</a><br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; The oVirt API has a formal specification, defined in this project:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;   <a href="https://github.com/oVirt/ovirt-engine-api-model">https://github.com/oVirt/ovirt-engine-api-model</a><br>&gt;&gt;&gt;<br>&gt;&gt;&gt; The skeleton of the server, the documentation, and the SDKs are<br>&gt;&gt;&gt; automatically generated from that specification.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; There is also an experimental Swagger/OpenAPI specification, available here:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;   <a href="https://jhernand.fedorapeople.org/ovirt-engine-api-model/swagger.json">https://jhernand.fedorapeople.org/ovirt-engine-api-model/swagger.json</a><br>&gt;&gt;&gt;<br>&gt;&gt;&gt; However this seems to be too big for Swagger tools (1 MiB, 17000 lines).<br>&gt;&gt;&gt; Every time I tried to load it into Swagger editor or Swagger UI it just<br>&gt;&gt;&gt; burns the CPU of the browser and never finishes loading. If you have<br>&gt;&gt;&gt; some Swagger expertise would be nice if you can take a look and pinpoint<br>&gt;&gt;&gt; what is the problem.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt; On 28 April 2017 at 18:57, Alexander Wels &lt;<a href="mailto:awels@redhat.com">awels@redhat.com</a><br>&gt;&gt;&gt; &gt; &lt;mailto:<a href="mailto:awels@redhat.com">awels@redhat.com</a>&gt;&gt; wrote:<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;     On Friday, April 28, 2017 11:41:03 AM EDT Ben De Luca wrote:<br>&gt;&gt;&gt; &gt;     &gt; does ovirt have a restful api?<br>&gt;&gt;&gt; &gt;     &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;     Yes,<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;     Its available at https://&lt;engine_url&gt;/ovirt-engine/api<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;     In fact the python/java/ruby sdk are just wrappers to calling this api.<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; On 28 April 2017 at 13:43, Fabrice Bacchella<br>&gt;&gt;&gt; &gt;     &lt;<a href="mailto:fabrice.bacchella@orange.fr">fabrice.bacchella@orange.fr</a> &lt;mailto:<a href="mailto:fabrice.bacchella@orange.fr">fabrice.bacchella@orange.fr</a>&gt;&gt;<br>&gt;&gt;&gt; &gt;     &gt;<br>&gt;&gt;&gt; &gt;     &gt; wrote:<br>&gt;&gt;&gt; &gt;     &gt; &gt; I have started to write a custom sdk/cli in python for Ovirt 4. It<br>&gt;&gt;&gt; &gt;     &gt; &gt; provides helpers and wrapper for the rather raw level sdk4 provided.<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; It&#39;s still a work in progress, but a big improvement from my<br>&gt;&gt;&gt; &gt;     previous<br>&gt;&gt;&gt; &gt;     &gt; &gt; version, made for ovirt 3.<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; It allows to write simple commands on shell :<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; $ ./ovcmd host -n hostname maintenance<br>&gt;&gt;&gt; &gt;     &gt; &gt; $ ./ovcmd host -n hostname activate<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; It also allows to do fine exports:<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; $ ./ovcmd vm -n vmname export os type<br>&gt;&gt;&gt; &gt;     &gt; &gt; rhel_6x64<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; $ ./ovcmd capabilities -n 4.1 export cpu_types name<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Conroe Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Penryn Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Nehalem Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Westmere Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel SandyBridge Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Haswell-noTSX Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Haswell Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Broadwell-noTSX Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Broadwell Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; Intel Skylake Family<br>&gt;&gt;&gt; &gt;     &gt; &gt; AMD Opteron G1<br>&gt;&gt;&gt; &gt;     &gt; &gt; AMD Opteron G2<br>&gt;&gt;&gt; &gt;     &gt; &gt; AMD Opteron G3<br>&gt;&gt;&gt; &gt;     &gt; &gt; AMD Opteron G4<br>&gt;&gt;&gt; &gt;     &gt; &gt; AMD Opteron G5<br>&gt;&gt;&gt; &gt;     &gt; &gt; IBM POWER8<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; Or to get a display console on a mac os:<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; $open $(./ovcmd vm -n vmname console )<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; It can be found at<br>&gt;&gt;&gt; &gt;     <a href="https://github.com/fbacchella/ovirtcmd/tree/sdk4">https://github.com/fbacchella/ovirtcmd/tree/sdk4</a><br>&gt;&gt;&gt; &gt;     &lt;<a href="https://github.com/fbacchella/ovirtcmd/tree/sdk4">https://github.com/fbacchella/ovirtcmd/tree/sdk4</a>&gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; It&#39;s still works in progress, I need to finish to remove sdk3 code.<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; Some example of object written to sdk4 can be found at:<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     <a href="https://github.com/fbacchella/ovirtcmd/blob/sdk4/ovlib/vms/__init__.py">https://github.com/fbacchella/ovirtcmd/blob/sdk4/ovlib/vms/__init__.py</a><br>&gt;&gt;&gt; &gt;     &lt;<a href="https://github.com/fbacchella/ovirtcmd/blob/sdk4/ovlib/vms/__init__.py">https://github.com/fbacchella/ovirtcmd/blob/sdk4/ovlib/vms/__init__.py</a>&gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; _______________________________________________<br>&gt;&gt;&gt; &gt;     &gt; &gt; Users mailing list<br>&gt;&gt;&gt; &gt;     &gt; &gt; <a href="mailto:Users@ovirt.org">Users@ovirt.org</a> &lt;mailto:<a href="mailto:Users@ovirt.org">Users@ovirt.org</a>&gt;<br>&gt;&gt;&gt; &gt;     &gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br>&gt;&gt;&gt; &gt;     &lt;<a href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>&gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt; &gt; _______________________________________________<br>&gt;&gt;&gt; &gt; Users mailing list<br>&gt;&gt;&gt; &gt; <a href="mailto:Users@ovirt.org">Users@ovirt.org</a><br>&gt;&gt;&gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br>&gt;&gt;&gt; &gt;<br>&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;<br></div>