class FogClient

Attributes

access_key_id[R]
config[R]
secret_access_key[R]
type[R]

Public Class Methods

new(type, config) click to toggle source
# File lib/fog-pry/fog_client.rb, line 6
def initialize(type, config)
  @type, @config = type, config

  creds = config.credentials
  @secret_access_key, @access_key_id = creds.secret_access_key, creds.access_key_id
end

Public Instance Methods

compute() click to toggle source
# File lib/fog-pry/fog_client.rb, line 63
def compute
  Fog::Compute.new(credentials(:compute))
end
credentials(op) click to toggle source
# File lib/fog-pry/fog_client.rb, line 13
def credentials(op)
  if op == :elb || op == :iam
    return {
        :aws_secret_access_key=>secret_access_key,
        :aws_access_key_id=>access_key_id,
        :connection_options => {
            :ssl_verify_peer => false
        }
    }.merge(uri_params(op_endpoint(op)))
  end

  endpoint = op_endpoint(op)

  {
      :provider=>'AWS',
      :aws_secret_access_key=>secret_access_key,
      :aws_access_key_id=>access_key_id,
      :connection_options=>{:ssl_verify_peer=>false}.merge(uri_params(endpoint))
  }.merge(endpoint_params(endpoint))
end
dns() click to toggle source
# File lib/fog-pry/fog_client.rb, line 59
def dns
  Fog::DNS.new(credentials(:dns))
end
elb() click to toggle source
# File lib/fog-pry/fog_client.rb, line 71
def elb
  Fog::AWS::ELB.new(credentials(:elb))
end
endpoint_params(url) click to toggle source
# File lib/fog-pry/fog_client.rb, line 38
def endpoint_params(url)
  if url
    {:endpoint=>url}
  else
    {}
  end
end
iam() click to toggle source
# File lib/fog-pry/fog_client.rb, line 67
def iam
  Fog::AWS::IAM.new(credentials(:iam))
end
op_endpoint(op) click to toggle source
# File lib/fog-pry/fog_client.rb, line 34
def op_endpoint(op)
  config.respond_to?(op) ? config.send(op) : nil
end
uri_params(url) click to toggle source
# File lib/fog-pry/fog_client.rb, line 46
def uri_params(url)
  if url
    uri = URI.parse url
    {:scheme => uri.scheme,
     :host => uri.host,
     :port => uri.port,
     :path => uri.path,
    }
  else
    {}
  end
end