class EC2::Ec2ApiGateway
Attributes
client[R]
resource[R]
stub[R]
Public Class Methods
new()
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 7 def initialize aws_certificate @client = Aws::EC2::Client.new @resource = Aws::EC2::Resource.new(client: client) @stub = false end
Public Instance Methods
create_instances(image_id,min_count,max_count,key_pair_name,security_group,encoded_script,instance_type,config)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 74 def create_instances(image_id,min_count,max_count,key_pair_name,security_group,encoded_script,instance_type,config) @resource.create_instances({ image_id: image_id, min_count: min_count, max_count: max_count, key_name: key_pair_name, user_data: encoded_script, instance_type: instance_type, placement: { availability_zone: config.az }, network_interfaces: [ { device_index: 0, subnet_id: config.subnet_id, associate_public_ip_address: true, groups: [security_group.security_group_id], }, ], }) end
create_key_pairs(key_pair_name)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 68 def create_key_pairs(key_pair_name) @client.create_key_pair({ key_name: key_pair_name }) end
create_security_group(security_group)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 47 def create_security_group(security_group) resp = @resource.create_security_group(security_group) resp.id end
delete_key_pairs(key_pair_name)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 96 def delete_key_pairs(key_pair_name) @client.delete_key_pair({ key_name: key_pair_name }) end
delete_security_group(security_group_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 62 def delete_security_group(security_group_id) @client.delete_security_group({ group_id: security_group_id, }) end
find_instance_by_id(instance_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 43 def find_instance_by_id(instance_id) @resource.instance(instance_id) end
get_group_id(security_group)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 29 def get_group_id(security_group) group_id = nil @resource.security_groups.each do |sg| if sg.group_name == security_group[:group_name] group_id = sg.group_id end end group_id end
get_instance_collection(values)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 18 def get_instance_collection(values) instance_ids = [] resp = @client.describe_instances(filters: [{name: "tag:Name", values: values}]) resp.reservations.each do |reservation| reservation.instances.each do |instance| instance_ids << instance.instance_id end end instance_ids end
select_key_pairs()
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 39 def select_key_pairs @client.describe_key_pairs end
stub?()
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 14 def stub? @stub end
wait_for_instance_running(instance_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 110 def wait_for_instance_running(instance_id) @resource.client.wait_until(:instance_running, {instance_ids: [instance_id]}) unless stub? end
wait_for_instance_status_ok(instance_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 102 def wait_for_instance_status_ok(instance_id) @resource.client.wait_until(:instance_status_ok, {instance_ids: [instance_id]}) unless stub? end
wait_for_instance_stopped(instance_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 114 def wait_for_instance_stopped(instance_id) @resource.client.wait_until(:instance_stopped, {instance_ids: [instance_id]}) unless stub? end
wait_for_instance_terminated(instance_id)
click to toggle source
# File lib/etude_for_aws/ec2/ec2_api_gateway.rb, line 106 def wait_for_instance_terminated(instance_id) @resource.client.wait_until(:instance_terminated, {instance_ids: [instance_id]}) unless stub? end