Class: CopyMsWindowsAmi::AmiRegisteredState
- Inherits:
-
CopyMsWindowsAmiState
- Object
- ScriptExecutionState
- CopyMsWindowsAmiState
- CopyMsWindowsAmi::AmiRegisteredState
- Defined in:
- lib/scripts/ec2/copy_mswindows_ami.rb
Overview
AMI is registered. Now only cleanup is missing, i.e. shut down instances and remote the volumes that were created. Start with cleaning the ressources in the local region. Steps:
- cleanup source region
- unmount temp volume
- detach source and temp volume
- terminate instance
- delete source and temp volume
- cleanup target region
- unmount temp volume
- detach temp volume
- terminate instance
- delete source and temp volume
Instance Attribute Summary
Attributes inherited from ScriptExecutionState
Instance Method Summary collapse
Methods inherited from CopyMsWindowsAmiState
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_labeled_fs, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_snapshot, #delete_volume, #detach_volume, #determine_file, #disable_ssh_tty, #disconnect, #ec2_handler, #ec2_handler=, #enable_ssh_tty, #get_aws_kernel_image_aki, #get_aws_region_from_endpoint, #get_partition_fs_type, #get_partition_fs_type_and_label, #get_partition_label, #get_root_device_name, #get_root_partition_fs_type, #get_root_partition_fs_type_and_label, #get_root_partition_label, #get_root_volume_id, #launch_instance, #local_decompress_and_dump_file_to_device, #local_dump_and_compress_device_to_file, #mount_fs, #mount_fs_old, #register_snapshot, #remote_copy, #remote_copy_old, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #shut_down_instance, #snapshot_accessible, #start_instance, #stop_instance, #unmount_fs, #upload_file, #zip_volume
Methods included from VCloudTransitionHelper
Constructor Details
This class inherits a constructor from ScriptExecutionState
Instance Method Details
#enter ⇒ Object
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 |
# File 'lib/scripts/ec2/copy_mswindows_ami.rb', line 472 def enter() ("Cleaning Source and Target Regions...") local_region() connect(@context[:source_dns_name], @context[:source_ssh_username], nil, @context[:source_ssh_keydata]) mount_point = "/mnt/tmp_#{@context[:source_temp_volume_id]}" unmount_fs(mount_point) disconnect() detach_volume(@context[:source_temp_volume_id], @context[:source_instance_id]) detach_volume(@context[:source_volume_id], @context[:source_instance_id]) shut_down_instance(@context[:source_instance_id]) delete_volume(@context[:source_temp_volume_id]) delete_volume(@context[:source_volume_id]) # remote_region() connect(@context[:target_dns_name], @context[:target_ssh_username], nil, @context[:target_ssh_keydata]) mount_point = "/mnt/tmp_#{@context[:target_temp_volume_id]}" unmount_fs(mount_point) disconnect() detach_volume(@context[:target_temp_volume_id], @context[:target_instance_id]) shut_down_instance(@context[:target_instance_id]) delete_volume(@context[:target_temp_volume_id]) #delete_volume(@context[:target_volume_id]) Done.new(@context) end |