# Ruby API documentation / Tutorial

**URL:** <https://forum.opennebula.io/t/ruby-api-documentation-tutorial/1079>\
**Category:** Integration Support\
**Created:** [August 10, 2015, 2:45pm UTC](https://forum.opennebula.io/t/ruby-api-documentation-tutorial/1079 "2015-08-10T14:45:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![uo720am8ejlfqywb](https://avatars.discourse-cdn.com/v4/letter/u/f4b2a3/32.png) [@uo720am8ejlfqywb](https://forum.opennebula.io/u/uo720am8ejlfqywb)\
**Post date:** [August 10, 2015, 2:45pm UTC](https://forum.opennebula.io/t/ruby-api-documentation-tutorial/1079/1 "2015-08-10T14:45:29Z")

</div>

Hi,

I’m currently developing an application that has to communicate with OpenNebula,  
the official documentation that I found is very light and doesn’t really explain how to boot a VM from  
an image and a template, destroy it, etc.  
Can someone has a good source of documentation or explanation ?

Thanks 😄

Documentation I found:  
[http://docs.opennebula.org/4.10/integration/system\_interfaces/ruby.html](http://docs.opennebula.org/4.10/integration/system_interfaces/ruby.html)

> **[OpenNebula Cloud API 4.10](https://docs.opennebula.io/doc/4.10/oca/ruby/)**

And the github of the official RUBY API

---

<div class="post-metadata">

**Author:** ![ruben](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.opennebula.io/ruben/32/19_2.png) [@ruben](https://forum.opennebula.io/u/ruben)\
**Post date:** [August 12, 2015, 3:12pm UTC](https://forum.opennebula.io/t/ruby-api-documentation-tutorial/1079/2 "2015-08-12T15:12:19Z")

</div>

Apart from those you can take a look to the onevm command, but the examples  
in [http://docs.opennebula.org/4.12/integration/system\_interfaces/ruby.html](http://docs.opennebula.org/4.12/integration/system_interfaces/ruby.html)  
should be enough to start.

Just a tip to create a VirtualMachine object for specific VM use:

vm = OpenNebula::VirtualMachine.new\_with\_id(id, client)

Then you can use the virtual\_machine methods with the vm object.

---

<div class="post-metadata">

**Author:** ![uo720am8ejlfqywb](https://avatars.discourse-cdn.com/v4/letter/u/f4b2a3/32.png) [@uo720am8ejlfqywb](https://forum.opennebula.io/u/uo720am8ejlfqywb)\
**Post date:** [August 13, 2015, 6:25am UTC](https://forum.opennebula.io/t/ruby-api-documentation-tutorial/1079/3 "2015-08-13T06:25:35Z")

</div>

Thanks for the response, it helped a lot 🙂
