<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"https://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
 <interface name="org.freedesktop.DBus.Peer">
  <method name="Ping"/>
  <method name="GetMachineId">
   <arg type="s" name="machine_uuid" direction="out"/>
  </method>
 </interface>
 <interface name="org.freedesktop.DBus.Introspectable">
  <method name="Introspect">
   <arg name="xml_data" type="s" direction="out"/>
  </method>
 </interface>
 <interface name="org.freedesktop.DBus.Properties">
  <method name="Get">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="property_name" direction="in" type="s"/>
   <arg name="value" direction="out" type="v"/>
  </method>
  <method name="GetAll">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="props" direction="out" type="a{sv}"/>
  </method>
  <method name="Set">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="property_name" direction="in" type="s"/>
   <arg name="value" direction="in" type="v"/>
  </method>
  <signal name="PropertiesChanged">
   <arg type="s" name="interface_name"/>
   <arg type="a{sv}" name="changed_properties"/>
   <arg type="as" name="invalidated_properties"/>
  </signal>
 </interface>
 <interface name="org.freedesktop.machine1.Manager">
  <property name="PoolPath" type="s" access="read">
   <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
  </property>
  <property name="PoolUsage" type="t" access="read">
   <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
  </property>
  <property name="PoolLimit" type="t" access="read">
   <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
  </property>
  <method name="GetMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="o" name="machine" direction="out"/>
  </method>
  <method name="GetImage">
   <arg type="s" name="name" direction="in"/>
   <arg type="o" name="image" direction="out"/>
  </method>
  <method name="GetMachineByPID">
   <arg type="u" name="pid" direction="in"/>
   <arg type="o" name="machine" direction="out"/>
  </method>
  <method name="ListMachines">
   <arg type="a(ssso)" name="machines" direction="out"/>
  </method>
  <method name="ListImages">
   <arg type="a(ssbttto)" name="images" direction="out"/>
  </method>
  <method name="CreateMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="ay" name="id" direction="in"/>
   <arg type="s" name="service" direction="in"/>
   <arg type="s" name="class" direction="in"/>
   <arg type="u" name="leader" direction="in"/>
   <arg type="s" name="root_directory" direction="in"/>
   <arg type="a(sv)" name="scope_properties" direction="in"/>
   <arg type="o" name="path" direction="out"/>
  </method>
  <method name="CreateMachineWithNetwork">
   <arg type="s" name="name" direction="in"/>
   <arg type="ay" name="id" direction="in"/>
   <arg type="s" name="service" direction="in"/>
   <arg type="s" name="class" direction="in"/>
   <arg type="u" name="leader" direction="in"/>
   <arg type="s" name="root_directory" direction="in"/>
   <arg type="ai" name="ifindices" direction="in"/>
   <arg type="a(sv)" name="scope_properties" direction="in"/>
   <arg type="o" name="path" direction="out"/>
  </method>
  <method name="RegisterMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="ay" name="id" direction="in"/>
   <arg type="s" name="service" direction="in"/>
   <arg type="s" name="class" direction="in"/>
   <arg type="u" name="leader" direction="in"/>
   <arg type="s" name="root_directory" direction="in"/>
   <arg type="o" name="path" direction="out"/>
  </method>
  <method name="RegisterMachineWithNetwork">
   <arg type="s" name="name" direction="in"/>
   <arg type="ay" name="id" direction="in"/>
   <arg type="s" name="service" direction="in"/>
   <arg type="s" name="class" direction="in"/>
   <arg type="u" name="leader" direction="in"/>
   <arg type="s" name="root_directory" direction="in"/>
   <arg type="ai" name="ifindices" direction="in"/>
   <arg type="o" name="path" direction="out"/>
  </method>
  <method name="UnregisterMachine">
   <arg type="s" name="name" direction="in"/>
  </method>
  <method name="TerminateMachine">
   <arg type="s" name="id" direction="in"/>
  </method>
  <method name="KillMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="whom" direction="in"/>
   <arg type="i" name="signal" direction="in"/>
  </method>
  <method name="GetMachineAddresses">
   <arg type="s" name="name" direction="in"/>
   <arg type="a(iay)" name="addresses" direction="out"/>
  </method>
  <method name="GetMachineSSHInfo">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="ssh_address" direction="out"/>
   <arg type="s" name="ssh_private_key_path" direction="out"/>
  </method>
  <method name="GetMachineOSRelease">
   <arg type="s" name="name" direction="in"/>
   <arg type="a{ss}" name="fields" direction="out"/>
  </method>
  <method name="OpenMachinePTY">
   <arg type="s" name="name" direction="in"/>
   <arg type="h" name="pty" direction="out"/>
   <arg type="s" name="pty_path" direction="out"/>
  </method>
  <method name="OpenMachineLogin">
   <arg type="s" name="name" direction="in"/>
   <arg type="h" name="pty" direction="out"/>
   <arg type="s" name="pty_path" direction="out"/>
  </method>
  <method name="OpenMachineShell">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="user" direction="in"/>
   <arg type="s" name="path" direction="in"/>
   <arg type="as" name="args" direction="in"/>
   <arg type="as" name="environment" direction="in"/>
   <arg type="h" name="pty" direction="out"/>
   <arg type="s" name="pty_path" direction="out"/>
  </method>
  <method name="BindMountMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="source" direction="in"/>
   <arg type="s" name="destination" direction="in"/>
   <arg type="b" name="read_only" direction="in"/>
   <arg type="b" name="mkdir" direction="in"/>
  </method>
  <method name="CopyFromMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="source" direction="in"/>
   <arg type="s" name="destination" direction="in"/>
  </method>
  <method name="CopyToMachine">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="source" direction="in"/>
   <arg type="s" name="destination" direction="in"/>
  </method>
  <method name="CopyFromMachineWithFlags">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="source" direction="in"/>
   <arg type="s" name="destination" direction="in"/>
   <arg type="t" name="flags" direction="in"/>
  </method>
  <method name="CopyToMachineWithFlags">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="source" direction="in"/>
   <arg type="s" name="destination" direction="in"/>
   <arg type="t" name="flags" direction="in"/>
  </method>
  <method name="OpenMachineRootDirectory">
   <arg type="s" name="name" direction="in"/>
   <arg type="h" name="fd" direction="out"/>
  </method>
  <method name="GetMachineUIDShift">
   <arg type="s" name="name" direction="in"/>
   <arg type="u" name="shift" direction="out"/>
  </method>
  <method name="RemoveImage">
   <arg type="s" name="name" direction="in"/>
  </method>
  <method name="RenameImage">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="new_name" direction="in"/>
  </method>
  <method name="CloneImage">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="new_name" direction="in"/>
   <arg type="b" name="read_only" direction="in"/>
  </method>
  <method name="MarkImageReadOnly">
   <arg type="s" name="name" direction="in"/>
   <arg type="b" name="read_only" direction="in"/>
  </method>
  <method name="GetImageHostname">
   <arg type="s" name="name" direction="in"/>
   <arg type="s" name="hostname" direction="out"/>
  </method>
  <method name="GetImageMachineID">
   <arg type="s" name="name" direction="in"/>
   <arg type="ay" name="id" direction="out"/>
  </method>
  <method name="GetImageMachineInfo">
   <arg type="s" name="name" direction="in"/>
   <arg type="a{ss}" name="machine_info" direction="out"/>
  </method>
  <method name="GetImageOSRelease">
   <arg type="s" name="name" direction="in"/>
   <arg type="a{ss}" name="os_release" direction="out"/>
  </method>
  <method name="SetPoolLimit">
   <arg type="t" name="size" direction="in"/>
  </method>
  <method name="SetImageLimit">
   <arg type="s" name="name" direction="in"/>
   <arg type="t" name="size" direction="in"/>
  </method>
  <method name="CleanPool">
   <arg type="s" name="mode" direction="in"/>
   <arg type="a(st)" name="images" direction="out"/>
  </method>
  <method name="MapFromMachineUser">
   <arg type="s" name="name" direction="in"/>
   <arg type="u" name="uid_inner" direction="in"/>
   <arg type="u" name="uid_outer" direction="out"/>
  </method>
  <method name="MapToMachineUser">
   <arg type="u" name="uid_outer" direction="in"/>
   <arg type="s" name="machine_name" direction="out"/>
   <arg type="o" name="machine_path" direction="out"/>
   <arg type="u" name="uid_inner" direction="out"/>
  </method>
  <method name="MapFromMachineGroup">
   <arg type="s" name="name" direction="in"/>
   <arg type="u" name="gid_inner" direction="in"/>
   <arg type="u" name="gid_outer" direction="out"/>
  </method>
  <method name="MapToMachineGroup">
   <arg type="u" name="gid_outer" direction="in"/>
   <arg type="s" name="machine_name" direction="out"/>
   <arg type="o" name="machine_path" direction="out"/>
   <arg type="u" name="gid_inner" direction="out"/>
  </method>
  <signal name="MachineNew">
   <arg type="s" name="machine"/>
   <arg type="o" name="path"/>
  </signal>
  <signal name="MachineRemoved">
   <arg type="s" name="machine"/>
   <arg type="o" name="path"/>
  </signal>
 </interface>
 <node name="machine"/>
 <node name="image"/>
</node>
