1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

basic support for multiple credential sets

This commit is contained in:
Wesley Beary 2009-12-08 22:30:50 -08:00
parent 63b87c77b7
commit c212af4afa
2 changed files with 13 additions and 5 deletions

12
bin/fog
View file

@ -5,7 +5,11 @@ require 'yaml'
module AWS
class << self
if Fog.credentials[:aws_access_key_id] && Fog.credentials[:aws_secret_access_key]
key = (ARGV.first && :"#{ARGV.first}") || :default
unless Fog.credentials(key)
raise ArgumentError.new("No credentials for :#{key}")
end
if Fog.credentials(key)[:aws_access_key_id] && Fog.credentials(key)[:aws_secret_access_key]
@@ec2 = Fog::AWS::EC2.new(
:aws_access_key_id => Fog.credentials[:aws_access_key_id],
@ -51,7 +55,11 @@ end
module Rackspace
class << self
if Fog.credentials[:rackspace_api_key] && Fog.credentials[:rackspace_username]
key = (ARGV.first && :"#{ARGV.first}") || :default
unless Fog.credentials(key)
raise ArgumentError.new("No credentials for :#{key}")
end
if Fog.credentials(key)[:rackspace_api_key] && Fog.credentials(key)[:rackspace_username]
@@servers = Fog::Rackspace::Servers.new(
:rackspace_api_key => Fog.credentials[:rackspace_api_key],

View file

@ -38,11 +38,11 @@ module Fog
load "fog/slicehost.rb"
end
def self.credentials(path = File.expand_path('~/.fog'))
def self.credentials(key = :default)
@credentials ||= begin
credentials = {}
File.open(path) do |file|
credentials = YAML.load(file.read)[:default]
File.open(File.expand_path('~/.fog')) do |file|
credentials = YAML.load(file.read)[key]
end
credentials
end