Class: VCloudCloud::Steps::CreateOrUpdateAgentEnv
Instance Attribute Summary
#client, #state
Class Method Summary
collapse
Instance Method Summary
collapse
#cleanup, #initialize, #rollback
Class Method Details
.update_network_env(env, vm, networks) ⇒ Object
53
54
55
|
# File 'lib/cloud/vcloud/steps/create_update_agent_env.rb', line 53
def self.update_network_env(env, vm, networks)
env['networks'] = generate_network_env vm.hardware_section.nics, networks
end
|
.update_persistent_disk(env, vm, disk_id, previous_disks_list) ⇒ Object
57
58
59
60
61
62
63
|
# File 'lib/cloud/vcloud/steps/create_update_agent_env.rb', line 57
def self.update_persistent_disk(env, vm, disk_id, previous_disks_list)
env['disks'] ||= {}
env['disks']['persistent'] ||= {}
persistent_disk = get_newly_added_disk(vm, previous_disks_list)
env['disks']['persistent'][disk_id] = persistent_disk.disk_id
end
|
Instance Method Details
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/cloud/vcloud/steps/create_update_agent_env.rb', line 4
def perform(networks, environment, agent_properties, &block)
vm = state[:vm] = client.reload state[:vm]
system_disk = state[:disks][0]
ephemeral_disk = CreateOrUpdateAgentEnv.get_newly_added_disk vm, state[:disks]
state[:env] = {
'vm' => { 'name' => vm.name, 'id' => vm.urn },
'agent_id' => vm.name,
'disks' => {
'system' => system_disk.disk_id,
'ephemeral' => ephemeral_disk.disk_id,
'persistent' => {}
},
'networks' => CreateOrUpdateAgentEnv.generate_network_env(vm.hardware_section.nics, networks),
'env' => environment || {}
}.merge! agent_properties
end
|