Class: CopySnapshot::TargetVolumeReadyState

Inherits:
CopySnapshotState show all
Defined in:
lib/scripts/ec2/copy_snapshot.rb

Overview

Storages are ready. Only thing missing: the key of the target region must be available on the instance in the source region to be able to perform a remote copy.

Instance Attribute Summary

Attributes inherited from ScriptExecutionState

#context, #logger

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, #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

#enterObject



141
142
143
144
145
146
147
# File 'lib/scripts/ec2/copy_snapshot.rb', line 141

def enter()
  post_message("upload key of target-instance to source-instance...")
  upload_file(@context[:source_dns_name], "root", @context[:source_ssh_keydata],
    @context[:target_ssh_keyfile], "/root/.ssh/#{@context[:target_key_name]}.pem")
  post_message("credentials are in place to connect source and target.")
  KeyInPlaceState.new(@context)
end