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/terremark/bin.rb

36 lines
940 B
Ruby

class Terremark < Fog::Bin
class << self
def available?
Fog::Terremark::ECLOUD_OPTIONS.all? {|requirement| Fog.credentials.include?(requirement)} ||
Fog::Terremark::VCLOUD_OPTIONS.all? {|requirement| Fog.credentials.include?(requirement)}
end
def terremark_service(service)
case service
when :ecloud
Fog::Terremark::Ecloud
when :vcloud
Fog::Terremark::Vcloud
else
raise "Unsupported Terremark Service"
end
end
def [](service)
@@connections ||= Hash.new do |hash, key|
credentials = Fog.credentials.reject do |k,v|
case key
when :ecloud
!Fog::Terremark::ECLOUD_OPTIONS.include?(k)
when :vcloud
!Fog::Terremark::VCLOUD_OPTIONS.include?(k)
end
end
hash[key] = terremark_service(key).new(credentials)
end
@@connections[service]
end
end
end