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



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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/fog/bin/rackspace.rb', line 40

def [](service)
  @@connections ||= Hash.new do |hash, key|
    hash[key] = case key
    when :auto_scale
      Fog::Rackspace::AutoScale.new
    when :cdn
      Fog::Logger.warning("Rackspace[:cdn] is not recommended, use CDN[:rackspace] for portability")
      Fog::CDN.new(:provider => 'Rackspace')
    when :cdn_v2
      Fog::Rackspace::CDNV2.new
    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
    when :queues
      Fog::Rackspace::Queues.new
    when :networking
      Fog::Rackspace::Networking.new
    when :networking_v2
      Fog::Rackspace::NetworkingV2.new
    else
      raise ArgumentError, "Unrecognized service: #{key.inspect}"
    end
  end
  @@connections[service]
end

.class_for(key) ⇒ Object



3
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
30
31
32
33
34
35
36
37
38
# File 'lib/fog/bin/rackspace.rb', line 3

def class_for(key)
  case key
  when :auto_scale
    Fog::Rackspace::AutoScale
  when :block_storage
    Fog::Rackspace::BlockStorage
  when :cdn
    Fog::CDN::Rackspace
  when :cdn_v2
    Fog::Rackspace::CDNV2
  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
  when :queues
    Fog::Rackspace::Queues
  when :networking
    Fog::Rackspace::Networking
  when :networking_v2
    Fog::Rackspace::NetworkingV2
  else
    raise ArgumentError, "Unrecognized service: #{key}"
  end
end

.servicesObject



85
86
87
# File 'lib/fog/bin/rackspace.rb', line 85

def services
  Fog::Rackspace.services
end