Class: Breeze::Elb

Inherits:
Veur
  • Object
show all
Defined in:
lib/breeze/tasks/elb.rb

Instance Method Summary collapse

Methods inherited from Veur

inherited

Instance Method Details

#add_instances(name, *instance_ids) ⇒ Object



17
18
19
# File 'lib/breeze/tasks/elb.rb', line 17

def add_instances(name, *instance_ids)
  elb.register_instances(instance_ids, name)
end

#create(name, cname = nil, dns_zone_id = nil) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/breeze/tasks/elb.rb', line 7

def create(name, cname=nil, dns_zone_id=nil)
  conf = CONFIGURATION[:elb]
  response = elb.create_load_balancer(conf[:availability_zones], name, conf[:listeners], conf[:options])
  if cname
    thor("dns:record:create #{dns_zone_id} #{cname}. CNAME #{response.body['CreateLoadBalancerResult']['DNSName']} #{options[:dns_ttl]}")
  end
  elb.configure_health_check(name, conf[:health_check])
end

#destroy(name, cname = nil, dns_zone_id = nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/breeze/tasks/elb.rb', line 28

def destroy(name, cname=nil, dns_zone_id=nil)
  load_balancer = elb.load_balancers.get(name)
  if force_or_accept?("Destroy load balancer #{name}?")
    load_balancer.destroy
    if cname
      thor("dns:record:destroy #{dns_zone_id} #{cname}. CNAME --force")
    end
    load_balancer.reload
  end
end

#remove_instances(name, *instance_ids) ⇒ Object



22
23
24
# File 'lib/breeze/tasks/elb.rb', line 22

def remove_instances(name, *instance_ids)
  elb.deregister_instances(instance_ids, name)
end