Module: Gaptool::API

Defined in:
lib/gaptool_client/api.rb

Class Method Summary collapse

Class Method Details

.clientObject



6
7
8
# File 'lib/gaptool_client/api.rb', line 6

def self.client
  @client ||= new
end

.get_host(node) ⇒ Object



38
39
40
# File 'lib/gaptool_client/api.rb', line 38

def self.get_host(node)
  "#{node['role']}-#{node['environment']}-#{node['instance']}"
end

.newObject



10
11
12
13
14
15
# File 'lib/gaptool_client/api.rb', line 10

def self.new
  GTAPI::GaptoolServer.new(
    ENV['GT_USER'], ENV['GT_KEY'],
    ENV['GT_URL'], ENV['GT_AWS_ZONE']
  )
end

.query_nodes(opts) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/gaptool_client/api.rb', line 17

def self.query_nodes(opts)
  instance = opts.delete(:instance)
  role = opts.delete(:role)
  environment = opts.delete(:environment)
  cl = opts.delete(:client) || client

  if instance
    puts Rainbow('Ignoring role and environment as instance is set').red \
      if role || environment
    [cl.getonenode(instance)]
  elsif role && environment
    cl.getenvroles(role, environment, opts)
  elsif role
    cl.getrolenodes(role, opts)
  elsif environment
    cl.getenvnodes(environment, opts)
  else
    cl.getallnodes(opts)
  end
end