Class: DownloadSnapshot::InitialState
- Inherits:
-
DownloadSnapshotState
- Object
- ScriptExecutionState
- DownloadSnapshotState
- DownloadSnapshot::InitialState
- Defined in:
- lib/scripts/ec2/download_snapshot.rb
Overview
Start state. First thing to do is to launch the instance.
Instance Attribute Summary
Attributes inherited from ScriptExecutionState
Instance Method Summary collapse
Methods inherited from DownloadSnapshotState
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
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/scripts/ec2/download_snapshot.rb', line 112 def enter #XXX: create a CloudyScripts Security Group with TCP port 22 publicly opened if @context[:security_group_name] == nil @context[:security_group_name] = Ec2Script::CS_SEC_GRP_NAME create_security_group_with_rules(@context[:security_group_name], Ec2Script::CS_SEC_GRP_DESC, [{:ip_protocol => "tcp", :from_port => 22, :to_port => 22, :cidr_ip => "0.0.0.0/0"}, {:ip_protocol => "tcp", :from_port => 80, :to_port => 80, :cidr_ip => "0.0.0.0/0"}]) ("'#{@context[:security_group_name]}' Security Group created with TCP port 22 and 80 publicly opened.") end result = launch_instance(@context[:ami_id], @context[:key_name], @context[:security_group_name]) @context[:instance_id] = result.first @context[:dns_name] = result[1] @context[:availability_zone] = result[2] InstanceLaunchedState.new(context) end |