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/providers/rackspace.rb

34 lines
993 B
Ruby
Raw Normal View History

2011-01-10 01:12:48 -05:00
require 'fog/core'
2010-12-16 14:24:52 -05:00
2009-10-10 22:05:17 -04:00
module Fog
module Rackspace
2011-01-07 20:02:41 -05:00
extend Fog::Provider
2011-01-07 20:02:41 -05:00
service(:cdn, 'cdn/rackspace')
2011-01-07 21:12:05 -05:00
service(:compute, 'compute/rackspace')
2011-01-07 18:34:20 -05:00
service(:storage, 'storage/rackspace')
def self.authenticate(options)
rackspace_auth_url = options[:rackspace_auth_url] || "auth.api.rackspacecloud.com"
connection = Fog::Connection.new("https://" + rackspace_auth_url)
@rackspace_api_key = options[:rackspace_api_key]
@rackspace_username = options[:rackspace_username]
response = connection.request({
:expects => 204,
:headers => {
'X-Auth-Key' => @rackspace_api_key,
'X-Auth-User' => @rackspace_username
},
:host => rackspace_auth_url,
:method => 'GET',
:path => 'v1.0'
})
response.headers.reject do |key, value|
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
2009-11-08 01:29:25 -05:00
end
2009-10-10 22:05:17 -04:00
end
end
end