Class: Elba::Client

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/elba/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ Client

Returns a new instance of Client.



11
12
13
14
# File 'lib/elba/client.rb', line 11

def initialize(config = {})
  raise "Missing AWS credentials" unless valid_config?(config)
  @connection = Fog::AWS::ELB.new(config)
end

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



9
10
11
# File 'lib/elba/client.rb', line 9

def connection
  @connection
end

Instance Method Details

#attach(instance, load_balancer, callbacks = {}) ⇒ Object



18
19
20
21
22
23
# File 'lib/elba/client.rb', line 18

def attach(instance, load_balancer, callbacks = {})
  load_balancer = load_balancer.register_instances instance
  callbacks[:on_success].call if callbacks[:on_success]
rescue Exception => ex
  callbacks[:on_failure].call(ex) if callbacks[:on_failure]
end

#detach(instances, load_balancer, callbacks = {}) ⇒ Object



25
26
27
28
29
30
# File 'lib/elba/client.rb', line 25

def detach(instances, load_balancer, callbacks = {})
  load_balancer = load_balancer.deregister_instances instances
  callbacks[:on_success].call if callbacks[:on_success]
rescue Exception => ex
  callbacks[:on_failure].call(ex) if callbacks[:on_failure]
end