Class: Rackspace

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

Class Method Summary collapse

Methods inherited from Fog::Bin

available?, collections

Class Method Details

.[](service) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/fog/bin/rackspace.rb', line 31

def [](service)
  @@connections ||= Hash.new do |hash, key|
    hash[key] = case key
    when :cdn
      Fog::Logger.warning("Rackspace[:cdn] is not recommended, use CDN[:rackspace] for portability")
      Fog::CDN.new(:provider => 'Rackspace')
    when :compute
      Fog::Logger.warning("Rackspace[:compute] is not recommended, use Compute[:rackspace] for portability")
      Fog::Compute.new(:provider => 'Rackspace')
    when :compute_v2
      Fog::Logger.warning("Rackspace[:compute] is not recommended, use Compute[:rackspace] for portability")
      Fog::Compute.new(:provider => 'Rackspace', :version => 'v2')
    when :dns
      Fog::DNS.new(:provider => 'Rackspace')
    when :load_balancers
      Fog::Rackspace::LoadBalancers.new
    when :storage
      Fog::Logger.warning("Rackspace[:storage] is not recommended, use Storage[:rackspace] for portability")
      Fog::Storage.new(:provider => 'Rackspace')
    when :identity
      Fog::Logger.warning("Rackspace[:identity] is not recommended, use Identity[:rackspace] for portability")
      Fog::Identity.new(:provider => 'Rackspace')
    when :databases
      Fog::Rackspace::Databases.new
    when :block_storage
      Fog::Rackspace::BlockStorage.new
    when :monitoring
      Fog::Rackspace::Monitoring.new
    else
      raise ArgumentError, "Unrecognized service: #{key.inspect}"
    end
  end
  @@connections[service]
end

.class_for(key) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/fog/bin/rackspace.rb', line 4

def class_for(key)
  case key
  when :block_storage
    Fog::Rackspace::BlockStorage 
  when :cdn
    Fog::CDN::Rackspace
  when :compute
    Fog::Compute::Rackspace
  when :compute_v2
    Fog::Compute::RackspaceV2
  when :storage
    Fog::Storage::Rackspace
  when :load_balancers
    Fog::Rackspace::LoadBalancers
  when :dns
    Fog::DNS::Rackspace
  when :identity
    Fog::Rackspace::Identity
  when :databases
    Fog::Rackspace::Databases
  when :monitoring
    Fog::Rackspace::Monitoring
  else
    raise ArgumentError, "Unrecognized service: #{key}"
  end
end

.servicesObject



66
67
68
# File 'lib/fog/bin/rackspace.rb', line 66

def services
  Fog::Rackspace.services
end