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:
parent
63b87c77b7
commit
c212af4afa
2 changed files with 13 additions and 5 deletions
12
bin/fog
12
bin/fog
|
@ -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],
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue