Class: CopyAmi::AmiRegisteredState
- Inherits:
-
CopyAmiState
- Object
- ScriptExecutionState
- CopyAmiState
- CopyAmi::AmiRegisteredState
- Defined in:
- lib/scripts/ec2/copy_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 both regions.
Instance Attribute Summary
Attributes inherited from ScriptExecutionState
Instance Method Summary collapse
Methods inherited from CopyAmiState
load_state, #local_region, #remote_region
Methods inherited from ScriptExecutionState
#done?, #end_state, #failed?, #get_superclass_name, #initialize, #register_state_change_listener, #start_state_machine, #to_s
Methods included from StateTransitionHelper
#attach_volume, #connect, #copy_distribution, #create_fs, #create_image_from_instance, #create_labeled_fs, #create_security_group_with_rules, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_security_group, #delete_snapshot, #delete_volume, #describe_instance, #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_count, #get_partition_fs_type, #get_partition_fs_type_and_label, #get_partition_label, #get_partition_table, #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, #local_dump_device_to_file, #local_dump_file_to_device, #mount_fs, #mount_fs_old, #register_snapshot, #remote_copy, #remote_copy_old, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #set_partition_table, #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
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 |
# File 'lib/scripts/ec2/copy_ami.rb', line 384 def enter() ("Cleaning Source and Target Regions...") error = [] local_region() begin shut_down_instance(@context[:source_instance_id]) rescue Exception => e error << e ("Unable to shutdown instance '#{@context[:source_instance_id]}' in source region: #{e.to_s}") end begin delete_volume(@context[:source_volume_id]) rescue Exception => e error << e ("Unable to delete volume '#{@context[:source_volume_id]}' in source region: #{e.to_s}") end begin delete_snapshot(@context[:snapshot_id]) rescue Exception => e error << e ("Unable to delete snapshot '#{@context[:snapshot_id]}' in source region: #{e.to_s}") end #XXX: delete Security Group according to its name if @context[:source_security_group].eql?(Ec2Script::CS_SEC_GRP_NAME) begin delete_security_group(@context[:source_security_group]) rescue Exception => e error << e ("Unable to delete Security Group '#{@context[:source_security_group]}' in source region: #{e.to_s}") end end # remote_region() begin shut_down_instance(@context[:target_instance_id]) rescue Exception => e error << e ("Unable to shutdown instance '#{@context[:target_instance_id]}' in target region: #{e.to_s}") end begin delete_volume(@context[:target_volume_id]) rescue Exception => e error << e ("Unable to delete volume '#{@context[:target_volume_id]}' in target region: #{e.to_s}") end #XXX: delete Security Group according to its name if @context[:target_security_group].eql?(Ec2Script::CS_SEC_GRP_NAME) begin delete_security_group(@context[:target_security_group]) rescue error << e ("Unable to delete Security Group '#{@context[:target_security_group]}' in target region: #{e.to_s}") end end if error.size() > 0 raise Exception.new("Cleanup error(s)") end Done.new(@context) end |