class Bosh::Clouds::Dummy::VMRepo

Public Class Methods

new(running_vms_dir) click to toggle source
# File lib/cloud/dummy.rb, line 619
def initialize(running_vms_dir)
  @running_vms_dir = running_vms_dir
  FileUtils.mkdir_p(@running_vms_dir)
end

Public Instance Methods

exists?(id) click to toggle source
# File lib/cloud/dummy.rb, line 629
def exists?(id)
  File.exists?(vm_file(id))
end
load(id) click to toggle source
# File lib/cloud/dummy.rb, line 624
def load(id)
  attrs = JSON.parse(File.read(vm_file(id)))
  VM.new(id, attrs.fetch('agent_id'), attrs.fetch('cloud_properties'), attrs.fetch('ips'))
end
save(vm) click to toggle source
# File lib/cloud/dummy.rb, line 633
def save(vm)
  serialized_vm = JSON.dump({
      'agent_id' => vm.agent_id,
      'cloud_properties' => vm.cloud_properties,
      'ips' => vm.ips,
    })

  File.write(vm_file(vm.id), serialized_vm)
end

Private Instance Methods

vm_file(vm_cid) click to toggle source
# File lib/cloud/dummy.rb, line 645
def vm_file(vm_cid)
  File.join(@running_vms_dir, vm_cid)
end