Class: DownloadSnapshot::InstanceLaunchedState

Inherits:
DownloadSnapshotState show all
Defined in:
lib/scripts/ec2/download_snapshot.rb

Overview

Instance Launched. Create a volume based on the snapshot.

Instance Attribute Summary

Attributes inherited from ScriptExecutionState

#context, #logger

Instance Method Summary collapse

Methods inherited from DownloadSnapshotState

load_state

Methods inherited from ScriptExecutionState

#done?, #end_state, #failed?, #initialize, #register_state_change_listener, #start_state_machine, #to_s

Methods included from StateTransitionHelper

#attach_volume, #connect, #copy_distribution, #create_fs, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_snapshot, #delete_volume, #detach_volume, #determine_file, #disconnect, #ec2_handler, #ec2_handler=, #launch_instance, #mount_fs, #register_snapshot, #remote_copy, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #shut_down_instance, #start_instance, #unmount_fs, #upload_file, #zip_volume

Constructor Details

This class inherits a constructor from ScriptExecutionState

Instance Method Details

#enterObject



93
94
95
96
97
98
99
100
# File 'lib/scripts/ec2/download_snapshot.rb', line 93

def enter
  @context[:source_volume_id] = create_volume_from_snapshot(@context[:snapshot_id], @context[:availability_zone])
  ec2_helper = Ec2Helper.new(@context[:ec2_api_handler])
  size = ec2_helper.volume_prop(@context[:source_volume_id], :size).to_i
  puts "retrieved volume size of #{size}"
  @context[:dest_volume_id] = create_volume(@context[:availability_zone], size)
  VolumesCreated.new(@context)
end