class DBus::Systemd::Machined::Manager

Constants

IMAGE_INDICES

image array index map as returned by ListImages

INTERFACE

machined manager dbus interface

MACHINE_INDICES

machine array index map as returned by ListMachines

NODE

machined manager dbus object node path

Attributes

service[R]

@return [DBus::Service] @api private

Public Class Methods

new(bus = Systemd::Helpers.system_bus) click to toggle source

Create machined Manager dbus proxy object

@param bus [DBus::SystemBus, DBus::SessionBus] dbus instance

# File lib/dbus/systemd/machined/manager.rb, line 69
def initialize(bus = Systemd::Helpers.system_bus)
  @service = bus.service(Machined::SERVICE)
  @object = @service.object(NODE)
  @object.default_iface = INTERFACE
  @object.introspect
end

Public Instance Methods

get_image_by_path(path) click to toggle source

get image dbus proxy object by dbus node path

@param path [String] image dbus node path @return [DBus::Systemd::Machined::Image] image dbus proxy object

# File lib/dbus/systemd/machined/manager.rb, line 135
def get_image_by_path(path)
  obj = @service.object(path)
                .tap(&:introspect)
  Image.new(obj.Get(Image::INTERFACE, 'Name').first, self)
end
get_machine_by_path(path) click to toggle source

get machine dbus proxy object by dbus node path

@param path [String] machine dbus node path @return [DBus::Systemd::Machined::Machine] machine instance

# File lib/dbus/systemd/machined/manager.rb, line 98
def get_machine_by_path(path)
  obj = @service.object(path)
                .tap(&:introspect)
  Machine.new(obj.Get(Machine::INTERFACE, 'Name').first, self)
end
image(name) click to toggle source

get image proxy object by name

@param name [String] image name @return [DBus::Systemd::Machined::Machine] image dbus proxy object

# File lib/dbus/systemd/machined/manager.rb, line 126
def image(name)
  Image.new(name, self)
end
images() click to toggle source

get mapped array of images

@return [Array] array of mapped image property hashes

# File lib/dbus/systemd/machined/manager.rb, line 117
def images
  self.ListImages.first.map { |i| map_image(i) }
end
machine(name) click to toggle source

get machine dbus proxy object by machine name

@param name [String] machine name @return [DBus::Systemd::Machined::Machine] machine instance

# File lib/dbus/systemd/machined/manager.rb, line 89
def machine(name)
  Machine.new(name, self)
end
machines() click to toggle source

array of machines with mapped properties

@return [Array] array of machine property hashes

# File lib/dbus/systemd/machined/manager.rb, line 80
def machines
  self.ListMachines.first.map { |m| map_machine(m) }
end
map_image(image_array) click to toggle source

map image array as returned by ListImages to property hash

@param image_array [Array] image property array as returned by ListImages @return [Hash] image property hash

# File lib/dbus/systemd/machined/manager.rb, line 146
def map_image(image_array)
  Systemd::Helpers.map_array(image_array, IMAGE_INDICES)
end
map_machine(machine_array) click to toggle source

map machine property array from ListMachines to indexed property hash

@param machine_array [Array] machine property array as returned by ListMachines @return [Hash] hash containing mapped machine properties

# File lib/dbus/systemd/machined/manager.rb, line 109
def map_machine(machine_array)
  Systemd::Helpers.map_array(machine_array, MACHINE_INDICES)
end