mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-28 11:21:44 +03:00
871f231ea0
We still point to git repositories hosted on libvirt.org in various places. Replace the links to their gitlab.com equivalents. Note that GitLab is trying to be smart here and https://gitlab.com/libvirt/libvirt redirects to https://gitlab.com/libvirt/libvirt.git when doing a 'git clone' and vice-versa when visiting from the browser, so I only kept the .git suffix in places that explicitly mentioned 'git clone'. Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
95 lines
2.7 KiB
XML
95 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<body>
|
|
<h1>D-Bus API bindings</h1>
|
|
|
|
<ul id="toc"></ul>
|
|
|
|
<h2><a id="description">Description</a></h2>
|
|
|
|
<p>
|
|
libvirt-dbus wraps libvirt API to provide a high-level object-oriented
|
|
API better suited for dbus-based applications.
|
|
</p>
|
|
|
|
<h2><a id="git">GIT source repository</a></h2>
|
|
<p>
|
|
The D-Bus bindings source code is maintained in a
|
|
<a href="https://git-scm.com/">git</a> repository available on
|
|
<a href="https://gitlab.com/libvirt/libvirt-dbus">gitlab.com</a>:
|
|
</p>
|
|
|
|
<pre>
|
|
git clone https://gitlab.com/libvirt/libvirt-dbus.git
|
|
</pre>
|
|
|
|
<h2><a id="usage">Usage</a></h2>
|
|
|
|
<p>
|
|
libvirt-dbus exports libvirt API using D-Bus objects with methods and
|
|
properties described by interfaces. Currently only local connection
|
|
to libvirt is exported and the list of supported drivers depends
|
|
on the type of the bus connection (session or system).
|
|
</p>
|
|
|
|
<p>
|
|
The name of the libvirt-dbus service is <code>org.libvirt</code>.
|
|
libvirt-dbus distributes an interface XML descriptions which can be
|
|
usually found at <code>/usr/share/dbus-1/interfaces/</code>.
|
|
</p>
|
|
|
|
<p>
|
|
By default unprivileged user has access only to the session D-Bus
|
|
connection. In order to allow specific user "foo" to access the system
|
|
D-Bus connection you need to create a file
|
|
<code>/etc/dbus-1/system.d/org.libvirt.conf</code> that contains:
|
|
</p>
|
|
|
|
<pre>
|
|
<?xml version="1.0"?>
|
|
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
|
|
|
<busconfig>
|
|
|
|
<policy user="foo">
|
|
<allow send_destination="org.libvirt"/>
|
|
</policy>
|
|
|
|
</busconfig>
|
|
</pre>
|
|
|
|
<p>
|
|
To get a list of supported drivers for the specific bus connection
|
|
you can run these commands (not all drivers may be available on
|
|
the host):
|
|
</p>
|
|
|
|
<pre>
|
|
gdbus introspect --xml --session --dest org.libvirt --object-path /org/libvirt
|
|
gdbus introspect --xml --system --dest org.libvirt --object-path /org/libvirt
|
|
</pre>
|
|
|
|
<p>
|
|
Every object is introspectable so you can get a list of available
|
|
interfaces with methods, signals and properties running this command:
|
|
</p>
|
|
|
|
<pre>
|
|
gdbus introspect --xml --system --dest org.libvirt --object-path /org/libvirt/QEMU
|
|
</pre>
|
|
|
|
<p>
|
|
To get a list of domains for specific connection driver you can run
|
|
this command:
|
|
</p>
|
|
|
|
<pre>
|
|
gdbus call --system --dest org.libvirt --object-path /org/libvirt/QEMU \
|
|
--method org.libvirt.Connect.ListDomains 0
|
|
</pre>
|
|
|
|
</body>
|
|
</html>
|