Class: AWS

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

Class Method Summary collapse

Methods inherited from Fog::Bin

available?, collections

Class Method Details

.[](service) ⇒ Object



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/aws.rb', line 34

def [](service)
  @@connections ||= Hash.new do |hash, key|
    hash[key] = case key
    when :cdn
      Fog::CDN.new(:provider => 'AWS')
    when :cloud_formation
      Fog::AWS::CloudFormation.new
    when :compute
      Fog::Compute.new(:provider => 'AWS')
    when :dns
      Fog::DNS.new(:provider => 'AWS')
    when :elb
      Fog::AWS::ELB.new
    when :iam
      Fog::AWS::IAM.new
    when :rds
      Fog::AWS::RDS.new
    when :eu_storage
      Fog::Storage.new(:provider => 'AWS', :region => 'eu-west-1')
    when :sdb, :simpledb
      Fog::AWS::SimpleDB.new
    when :ses
      Fog::AWS::SES.new
    when :storage
      Fog::Storage.new(:provider => 'AWS')
    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
30
31
32
# File 'lib/fog/bin/aws.rb', line 4

def class_for(key)
  case key
  when :cdn
    Fog::AWS::CDN
  when :cloud_formation
    Fog::AWS::CloudFormation
  when :compute
    Fog::AWS::Compute
  when :dns
    Fog::AWS::DNS
  when :elb
    Fog::AWS::ELB
  when :iam
    Fog::AWS::IAM
  when :sdb, :simpledb
    Fog::AWS::SimpleDB
  when :ses
    Fog::AWS::SES
  when :eu_storage, :storage
    Fog::AWS::Storage
  when :rds
    Fog::AWS::RDS
  else
    # @todo Replace most instances of ArgumentError with NotImplementedError
    # @todo For a list of widely supported Exceptions, see:
    # => http://www.zenspider.com/Languages/Ruby/QuickRef.html#35
    raise ArgumentError, "Unsupported #{self} service: #{key}"
  end
end

.servicesObject



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

def services
  Fog::AWS.services
end