<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Interfaces on</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/</link><description>Recent content in System Interfaces on</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 17 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/overview/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/overview/</guid><description>&lt;p&gt;&lt;a id="introapis"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Overview --&gt;
&lt;p&gt;OpenNebula has been designed to be easily adapted to any infrastructure and easily extended with new components. The result is a modular system that can implement a variety of cloud architectures and can interface with multiple data center services. In this Guide we review the main interfaces of OpenNebula and their.&lt;/p&gt;
&lt;div class="td-image-wrapper" style="margin-left: auto; margin-right: auto; width: 90%; margin-bottom: 20px;"&gt;
 &lt;img src="https://docs.opennebula.io/7.2/images/overview_architecture.svg" alt="OpenNebula Components Following a Modular Approach" class="roundBorderImage shadowImage td-img-light td-img-always" &gt;&lt;/div&gt;
&lt;h2 id="how-should-i-read-this-chapter"&gt;How Should I Read This Chapter&lt;/h2&gt;
&lt;p&gt;You should be reading this Chapter if you are trying to automate tasks in your deployed OpenNebula cloud, and you have already read all of the previous guides.&lt;/p&gt;</description></item><item><title>XML-RPC API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/</guid><description>&lt;p&gt;&lt;a id="api"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# XML-RPC API --&gt;
&lt;p&gt;This reference documentation describes the xml-rpc methods exposed by OpenNebula. Each description consists of the method name and the input and output values.&lt;/p&gt;
&lt;p&gt;All xml-rpc responses share a common structure.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Data Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;OUT&lt;/td&gt;
 &lt;td&gt;Boolean&lt;/td&gt;
 &lt;td&gt;True or false whenever is successful or not.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OUT&lt;/td&gt;
 &lt;td&gt;String&lt;/td&gt;
 &lt;td&gt;If an error occurs this is the error message.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OUT&lt;/td&gt;
 &lt;td&gt;Int&lt;/td&gt;
 &lt;td&gt;Error code.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The output will always consist of three values. The first and third ones are fixed, but the second one will contain the String error message only in case of failure. If the method is successful, the returned value may be of another Data Type.&lt;/p&gt;</description></item><item><title>Ruby OpenNebula Cloud API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/ruby/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/ruby/</guid><description>&lt;p&gt;&lt;a id="ruby"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Ruby OpenNebula Cloud API --&gt;
&lt;p&gt;This page contains the OpenNebula Cloud API Specification for Ruby. It has been designed as a wrapper for the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC methods&lt;/a&gt;, with some basic helpers. This means that you should be familiar with the XML-RPC API and the XML formats returned by the OpenNebula core. As stated in the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC documentation&lt;/a&gt;, you can download the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api-xsd-reference"&gt;XML Schemas (XSD) here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="api-documentation"&gt;API Documentation&lt;/h2&gt;
&lt;p&gt;You can consult the &lt;a href="https://docs.opennebula.io/doc/7.2/oca/ruby/"&gt;doc online&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Python OpenNebula Cloud API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/python/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/python/</guid><description>&lt;p&gt;&lt;a id="python"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# PyONE: OpenNebula Python Bindings --&gt;
&lt;p&gt;PyONE is an implementation of OpenNebula XML-RPC bindings in Python. It has been designed as a wrapper for the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC methods&lt;/a&gt;, with some basic helpers. This means that you should be familiar with the XML-RPC API and the XML formats returned by the OpenNebula core. As stated in the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC documentation&lt;/a&gt;, you can download the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api-xsd-reference"&gt;XML Schemas (XSD) here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;PyONE also supports &lt;a href="https://docs.opennebula.io/7.2/product/control_plane_configuration/large-scale_deployment/grpc/"&gt;gRPC&lt;/a&gt; as a high-performance, alternative transport mechanism, while keeping the same public API as for XML-RPC.&lt;/p&gt;</description></item><item><title>Java OpenNebula Cloud API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/java/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/java/</guid><description>&lt;p&gt;&lt;a id="java"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Java OpenNebula Cloud API --&gt;
&lt;p&gt;This page contains the OpenNebula Cloud API Specification for Java. It has been designed as a wrapper for the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC methods&lt;/a&gt;, with some basic helpers. This means that you should be familiar with the XML-RPC API and the XML formats returned by the OpenNebula core. As stated in the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC documentation&lt;/a&gt;, you can download the &lt;a href="https://github.com/OpenNebula/one/tree/master/share/doc/xsd"&gt;XML Schemas (XSD) here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="download"&gt;Download&lt;/h2&gt;
&lt;p&gt;You can download the &lt;code&gt;.jar&lt;/code&gt; file compiled using Java 11, the required libraries, and the javadoc packaged in a tar.gz file &lt;a href="http://downloads.opennebula.io/packages"&gt;following this link&lt;/a&gt; in the OpenNebula version you have installed.&lt;/p&gt;</description></item><item><title>Go OpenNebula Cloud API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/go/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/go/</guid><description>&lt;p&gt;&lt;a id="go"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Go OpenNebula Cloud API --&gt;
&lt;p&gt;This page contains the OpenNebula Cloud API Specification for Go. It has been designed as a wrapper for the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC methods&lt;/a&gt;, with some basic helpers. This means that you should be familiar with the XML-RPC API and the XML formats returned by the OpenNebula core. As stated in the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api"&gt;XML-RPC documentation&lt;/a&gt;, you can download the &lt;a href="https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/api/#api-xsd-reference"&gt;XML Schemas (XSD) here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Go OpenNebula Cloud API covers the resources lists below:&lt;/p&gt;</description></item><item><title>OneFlow Server API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/appflow_api/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/appflow_api/</guid><description>&lt;!--# It hides the tablist nav, remove this css rule if more oneflow api version are added --&gt;
&lt;style&gt;ul.nav.nav-tabs[role="tablist"] &gt; li { display: none; }&lt;/style&gt;
&lt;p&gt;&lt;a id="appflow-api"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# OneFlow Specification --&gt;
&lt;p&gt;The OpenNebula OneFlow API is a RESTful service to create, control and monitor services composed of interconnected Virtual Machines (VMs) with deployment dependencies among them. Each group of VMs is deployed and managed as a single entity, and it is completely integrated with the advanced OpenNebula user and group management. There are two kinds of resources: service templates and services. All data is sent and received as JSON.&lt;/p&gt;</description></item><item><title>OneForm Server API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/oneform_api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/oneform_api/</guid><description>&lt;p&gt;The OpenNebula OneForm API is a RESTful service designed to register, configure, and orchestrate infrastructure provisioning workflows across multiple Providers. It enables users to define and create Providers and launch full provisioning cycles, each consisting of one or more cloud resources such as Hosts, networks, and datastores. All data is sent and received in JSON format.&lt;/p&gt;
&lt;p&gt;This guide is intended for developers and integrators. For other purposes, OneForm is accessible via its own &lt;a href="https://docs.opennebula.io/7.2/product/operation_references/command_line_interface/cli/#oneform-commands"&gt;OneForm Command Line Interface&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>OneGate API</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/onegate_api/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/onegate_api/</guid><description>&lt;p&gt;&lt;a id="onegate-api"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# OneGate API --&gt;
&lt;p&gt;OneGate provides a REST API. To use this API you will need to get some data from the &lt;code&gt;CONTEXT&lt;/code&gt; file. The contextualization cdrom should contain the &lt;code&gt;context.sh&lt;/code&gt; and &lt;code&gt;token.txt&lt;/code&gt; files.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-default" data-lang="default"&gt;# mkdir /mnt/context
# mount /dev/hdb /mnt/context
# cd /mnt/context
# ls
context.sh token.txt
# cat context.sh
# Context variables generated by OpenNebula
DISK_ID=&amp;#39;1&amp;#39;
ONEGATE_ENDPOINT=&amp;#39;http://192.168.0.1:5030&amp;#39;
VMID=&amp;#39;0&amp;#39;
TARGET=&amp;#39;hdb&amp;#39;
TOKEN=&amp;#39;yes&amp;#39;

# cat token.txt
yCxieDUS7kra7Vn9ILA0+g==
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;With that data, you can obtain the headers required for all the ONEGATE API methods:&lt;/p&gt;</description></item><item><title>Using Hooks</title><link>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/hook_driver/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/product/integration_references/system_interfaces/hook_driver/</guid><description>&lt;p&gt;&lt;a id="hooks"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Using Hooks --&gt;
&lt;p&gt;The Hook subsystem enables the execution of custom scripts tied to a change in state in a particular resource or API call. This opens a wide area of automation for system administrators to tailor their cloud infrastructures. It also features a logging mechanism that allows a convenient way to query the execution history or to retry the execution of a given hook.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The hook subsystem has two main components:&lt;/p&gt;</description></item></channel></rss>