Class: Terremark

Inherits:
Fog::Bin show all
Defined in:
lib/fog/bin/terremark.rb

Class Method Summary collapse

Methods inherited from Fog::Bin

collections

Class Method Details

.[](service) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/fog/bin/terremark.rb', line 20

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

.available?Boolean

Returns:

  • (Boolean)


4
5
6
7
# File 'lib/fog/bin/terremark.rb', line 4

def available?
  Fog::Terremark::ECLOUD_OPTIONS.all? {|requirement| Fog.credentials.include?(requirement)} ||
  Fog::Terremark::VCLOUD_OPTIONS.all? {|requirement| Fog.credentials.include?(requirement)}
end

.terremark_service(service) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/fog/bin/terremark.rb', line 9

def terremark_service(service)
  case service
  when :ecloud
    Fog::Terremark::Ecloud
  when :vcloud
    Fog::Terremark::Vcloud
  else
    raise "Unsupported Terremark Service"
  end
end