Class: AsgDetailer::Infra

Inherits:
Object
  • Object
show all
Defined in:
lib/asg-detailer/infra.rb

Instance Method Summary collapse

Constructor Details

#initializeInfra

Returns a new instance of Infra.



7
8
9
# File 'lib/asg-detailer/infra.rb', line 7

def initialize
  @asg = nil
end

Instance Method Details

#query_asg(name) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/asg-detailer/infra.rb', line 11

def query_asg(name)
  # we save the asg because it's used more than once
  @asg = Aws::AutoScaling::Client.new
  @asg.describe_auto_scaling_groups ({
    auto_scaling_group_names: [
      name,
    ],
  })
end

#query_instance_health(name) ⇒ Object



29
30
31
32
# File 'lib/asg-detailer/infra.rb', line 29

def query_instance_health(name)
  elb = Aws::ElasticLoadBalancing::Client.new
  elb.describe_instance_health({load_balancer_name: name})
end

#query_instances(ids) ⇒ Object



34
35
36
37
# File 'lib/asg-detailer/infra.rb', line 34

def query_instances(ids)
  ec2 = Aws::EC2::Client.new
  ec2.describe_instances({ instance_ids: ids })
end

#query_lc(name) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/asg-detailer/infra.rb', line 21

def query_lc(name)
  @asg.describe_launch_configurations({
    launch_configuration_names: [
      name,
    ],
  })
end