Sha256: 21c0dbb36bedd291ee9158aff589058b42b7c9bb45e2ea60bad92c0c42eda85f

Contents?: true

Size: 992 Bytes

Versions: 9

Compression:

Stored size: 992 Bytes

Contents

# coding: utf-8
require 'gaptool-api'

module Gaptool
  module API
    def self.client
      @client ||= new
    end

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

    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

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

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gaptool-client-0.8.2 lib/gaptool_client/api.rb
gaptool-client-0.8.1 lib/gaptool_client/api.rb
gaptool-client-0.8.0 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta5 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta4 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta3 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta2 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta1 lib/gaptool_client/api.rb
gaptool-client-0.8.0.pre.beta lib/gaptool_client/api.rb