Class: Vcloud::Launcher::IndependentDiskOrchestrator

Inherits:
Object
  • Object
show all
Defined in:
lib/vcloud/launcher/independent_disk_orchestrator.rb

Instance Method Summary collapse

Constructor Details

#initialize(vm) ⇒ IndependentDiskOrchestrator

Returns a new instance of IndependentDiskOrchestrator.



5
6
7
# File 'lib/vcloud/launcher/independent_disk_orchestrator.rb', line 5

def initialize(vm)
  @vm = vm
end

Instance Method Details

#attach(independent_disks_config) ⇒ Object



9
10
11
12
# File 'lib/vcloud/launcher/independent_disk_orchestrator.rb', line 9

def attach(independent_disks_config)
  disk_list = find_disks(independent_disks_config)
  @vm.attach_independent_disks(disk_list)
end

#find_disks(independent_disks_config) ⇒ Object



21
22
23
24
25
# File 'lib/vcloud/launcher/independent_disk_orchestrator.rb', line 21

def find_disks(independent_disks_config)
  independent_disks_config.map do |disk|
    Vcloud::Core::IndependentDisk.get_by_name_and_vdc_name(disk[:name], vdc_name)
  end
end

#vdc_nameObject



14
15
16
17
18
19
# File 'lib/vcloud/launcher/independent_disk_orchestrator.rb', line 14

def vdc_name
  return @vdc_name if @vdc_name
  parent_vapp = Vcloud::Core::Vapp.get_by_child_vm_id(@vm.id)
  parent_vdc = Vcloud::Core::Vdc.new(parent_vapp.vdc_id)
  @vdc_name = parent_vdc.name
end