Module: Tapjoy::AutoscalingBootstrap::AWS::EC2
- Defined in:
- lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb
Overview
This class contains AWS methods for EC2
Class Method Summary collapse
- .client ⇒ Object
- .create_security_group(group) ⇒ Object
- .describe_instances_by_tag(config) ⇒ Object
- .describe_security_groups(group) ⇒ Object
- .terminate_instances(instance_ids) ⇒ Object
- .toggle_termination_protection(instance_id, state) ⇒ Object
Class Method Details
.client ⇒ Object
7 8 9 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 7 def client @client ||= Aws::EC2::Client.new end |
.create_security_group(group) ⇒ Object
15 16 17 18 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 15 def create_security_group(group) self.client.create_security_group(group_name: group, description: "Security group for #{Tapjoy::AutoscalingBootstrap.scaler_name}") end |
.describe_instances_by_tag(config) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 20 def describe_instances_by_tag(config) self.client.describe_instances(filters: [ {name: 'tag:Name', values: [config[:name]]}, {name: 'instance-state-name', values: %w(running)} ]) end |
.describe_security_groups(group) ⇒ Object
11 12 13 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 11 def describe_security_groups(group) self.client.describe_security_groups(group_names: [group]) end |
.terminate_instances(instance_ids) ⇒ Object
34 35 36 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 34 def terminate_instances(instance_ids) client.terminate_instances(instance_ids: instance_ids) end |
.toggle_termination_protection(instance_id, state) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/tapjoy/autoscaling_bootstrap/AWS/ec2.rb', line 27 def toggle_termination_protection(instance_id, state) client.modify_instance_attribute( instance_id: instance_id, attribute: 'disableApiTermination', value: state) end |