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

57 lines
1.5 KiB
Ruby
Raw Normal View History

require 'yaml'
module Fog
class << self
def credential=(new_credential)
@credential = new_credential
@credentials = nil
end
def credential
@credential || :default
end
2010-05-13 14:50:34 -04:00
def config_path
ENV["FOG_RC"] || '~/.fog'
end
def credentials
@credentials ||= begin
2010-05-13 14:50:34 -04:00
path = File.expand_path(config_path)
credentials = if File.exists?(path)
File.open(path) do |file|
YAML.load(file.read)
end
else
nil
end
unless credentials && credentials[credential]
2010-05-13 14:50:34 -04:00
print("\n To run as '#{credential}', add the following to #{config_path}\n")
yml = <<-YML
:#{credential}:
:aws_access_key_id: INTENTIONALLY_LEFT_BLANK
:aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
2010-06-02 00:40:46 -04:00
:bluebox_api_key: INTENTIONALLY_LEFT_BLANK
:bluebox_customer_id: INTENTIONALLY_LEFT_BLANK
:local_root: INTENTIONALLY_LEFT_BLANK
:new_servers_password: INTENTIONALLY_LEFT_BLANK
:new_servers_username: INTENTIONALLY_LEFT_BLANK
2010-06-06 02:05:06 -04:00
:public_key_path: INTENTIONALLY_LEFT_BLANK
:private_key_path: INTENTIONALLY_LEFT_BLANK
:rackspace_api_key: INTENTIONALLY_LEFT_BLANK
:rackspace_username: INTENTIONALLY_LEFT_BLANK
:slicehost_password: INTENTIONALLY_LEFT_BLANK
:terremark_username: INTENTIONALLY_LEFT_BLANK
:terremark_password: INTENTIONALLY_LEFT_BLANK
YML
print(yml)
raise(ArgumentError.new("Missing Credentials"))
end
credentials[credential]
end
end
end
end