Class: NexusSW::LXD::Driver

Inherits:
Object
  • Object
show all
Defined in:
lib/nexussw/lxd/driver.rb,
lib/nexussw/lxd/driver/cli.rb,
lib/nexussw/lxd/driver/rest.rb,
lib/nexussw/lxd/driver/mixins/cli.rb,
lib/nexussw/lxd/driver/mixins/rest.rb,
lib/nexussw/lxd/driver/mixins/helpers/wait.rb

Direct Known Subclasses

CLI, Rest

Defined Under Namespace

Modules: Mixins Classes: CLI, Rest

Constant Summary collapse

STATUS_CODES =
{
  100  => "created",
  101  => "started",
  102  => "stopped",
  103  => "running",
  104  => "cancelling",
  105  => "pending",
  106  => "starting",
  107  => "stopping",
  108  => "aborting",
  109  => "freezing",
  110  => "frozen",
  111  => "thawed",
  200  => "success",
  400  => "failure",
  401  => "cancelled",
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.convert_bools(oldhash) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
# File 'lib/nexussw/lxd/driver.rb', line 64

def self.convert_bools(oldhash)
  {}.tap do |retval|
    oldhash.each do |k, v|
      retval[k] = case v
                  when "true" then true
                  when "false" then false
                  else v.is_a?(Hash) ? convert_bools(v) : v
                  end
    end
  end
end

Instance Method Details

#container(_container_id) ⇒ Object



48
49
50
# File 'lib/nexussw/lxd/driver.rb', line 48

def container(_container_id)
  raise "#{self.class}#container not implemented"
end

#container_state(_container_id) ⇒ Object



52
53
54
# File 'lib/nexussw/lxd/driver.rb', line 52

def container_state(_container_id)
  raise "#{self.class}#container_state not implemented"
end

#container_status(_container_id) ⇒ Object



44
45
46
# File 'lib/nexussw/lxd/driver.rb', line 44

def container_status(_container_id)
  raise "#{self.class}#container_status not implemented"
end

#create_container(_container_name, _container_options) ⇒ Object



24
25
26
# File 'lib/nexussw/lxd/driver.rb', line 24

def create_container(_container_name, _container_options)
  raise "#{self.class}#create_container not implemented"
end

#delete_container(_container_id) ⇒ Object



36
37
38
# File 'lib/nexussw/lxd/driver.rb', line 36

def delete_container(_container_id)
  raise "#{self.class}#delete_container not implemented"
end

#start_container(_container_id) ⇒ Object



28
29
30
# File 'lib/nexussw/lxd/driver.rb', line 28

def start_container(_container_id)
  raise "#{self.class}#start_container not implemented"
end

#stop_container(_container_id, _options = {}) ⇒ Object



32
33
34
# File 'lib/nexussw/lxd/driver.rb', line 32

def stop_container(_container_id, _options = {})
  raise "#{self.class}#stop_container not implemented"
end

#transport_for(_container_name) ⇒ Object



60
61
62
# File 'lib/nexussw/lxd/driver.rb', line 60

def transport_for(_container_name)
  raise "#{self.class}#transport_for not implemented"
end

#update_container(_container_name, _container_options) ⇒ Object



40
41
42
# File 'lib/nexussw/lxd/driver.rb', line 40

def update_container(_container_name, _container_options)
  raise "#{self.class}#update_container not implemented"
end

#wait_for(_container_name, _what, _timeout = 60) ⇒ Object



56
57
58
# File 'lib/nexussw/lxd/driver.rb', line 56

def wait_for(_container_name, _what, _timeout = 60)
  raise "#{self.class}#wait_for not implemented"
end