Class: CopySnapshot::TargetInstanceLaunchedState
- Inherits:
-
CopySnapshotState
- Object
- ScriptExecutionState
- CopySnapshotState
- CopySnapshot::TargetInstanceLaunchedState
- Defined in:
- lib/scripts/ec2/copy_snapshot.rb
Overview
Destination instance is started. Now configure storage.
Instance Attribute Summary
Attributes inherited from ScriptExecutionState
Instance Method Summary collapse
Methods inherited from CopySnapshotState
load_state, #local_region, #remote_region
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=, #shut_down_instance, #unmount_fs, #upload_file, #zip_volume
Constructor Details
This class inherits a constructor from ScriptExecutionState
Instance Method Details
#enter ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/scripts/ec2/copy_snapshot.rb', line 119 def enter() local_region() ec2_helper = Ec2Helper.new(@context[:ec2_api_handler]) volume_size = ec2_helper.snapshot_prop(@context[:snapshot_id], :volumeSize).to_i # remote_region() @context[:target_volume_id] = create_volume(@context[:target_availability_zone], volume_size) device = "/dev/sdj" #TODO: make device configurable mount_point = "/mnt/tmp_#{@context[:target_volume_id]}" attach_volume(@context[:target_volume_id], @context[:target_instance_id], device) connect(@context[:target_dns_name], @context[:target_ssh_username], nil, @context[:target_ssh_keydata]) create_fs(@context[:target_dns_name], device) mount_fs(mount_point, device) disconnect() TargetVolumeReadyState.new(@context) end |