awsum 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. data/.autotest +1 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +15 -0
  5. data/Gemfile.lock +44 -0
  6. data/LICENSE +19 -0
  7. data/README.rdoc +42 -0
  8. data/Rakefile +75 -0
  9. data/awsum.gemspec +199 -0
  10. data/lib/awsum.rb +20 -0
  11. data/lib/awsum/ec2.rb +741 -0
  12. data/lib/awsum/ec2/address.rb +67 -0
  13. data/lib/awsum/ec2/availability_zone.rb +16 -0
  14. data/lib/awsum/ec2/image.rb +62 -0
  15. data/lib/awsum/ec2/instance.rb +57 -0
  16. data/lib/awsum/ec2/keypair.rb +16 -0
  17. data/lib/awsum/ec2/parsers/address_parser.rb +61 -0
  18. data/lib/awsum/ec2/parsers/availability_zone_parser.rb +57 -0
  19. data/lib/awsum/ec2/parsers/image_parser.rb +74 -0
  20. data/lib/awsum/ec2/parsers/instance_parser.rb +90 -0
  21. data/lib/awsum/ec2/parsers/keypair_parser.rb +64 -0
  22. data/lib/awsum/ec2/parsers/purchase_reserved_instances_offering_parser.rb +34 -0
  23. data/lib/awsum/ec2/parsers/region_parser.rb +56 -0
  24. data/lib/awsum/ec2/parsers/register_image_parser.rb +34 -0
  25. data/lib/awsum/ec2/parsers/reserved_instance_parser.rb +64 -0
  26. data/lib/awsum/ec2/parsers/reserved_instances_offering_parser.rb +63 -0
  27. data/lib/awsum/ec2/parsers/security_group_parser.rb +106 -0
  28. data/lib/awsum/ec2/parsers/snapshot_parser.rb +64 -0
  29. data/lib/awsum/ec2/parsers/volume_parser.rb +77 -0
  30. data/lib/awsum/ec2/region.rb +54 -0
  31. data/lib/awsum/ec2/reserved_instance.rb +24 -0
  32. data/lib/awsum/ec2/reserved_instances_offering.rb +20 -0
  33. data/lib/awsum/ec2/security_group.rb +74 -0
  34. data/lib/awsum/ec2/snapshot.rb +23 -0
  35. data/lib/awsum/ec2/volume.rb +65 -0
  36. data/lib/awsum/error.rb +53 -0
  37. data/lib/awsum/net_fix.rb +100 -0
  38. data/lib/awsum/parser.rb +18 -0
  39. data/lib/awsum/requestable.rb +216 -0
  40. data/lib/awsum/s3.rb +220 -0
  41. data/lib/awsum/s3/bucket.rb +28 -0
  42. data/lib/awsum/s3/headers.rb +24 -0
  43. data/lib/awsum/s3/object.rb +138 -0
  44. data/lib/awsum/s3/parsers/bucket_parser.rb +43 -0
  45. data/lib/awsum/support.rb +94 -0
  46. data/spec/fixtures/ec2/addresses.xml +10 -0
  47. data/spec/fixtures/ec2/allocate_address.xml +5 -0
  48. data/spec/fixtures/ec2/associate_address.xml +5 -0
  49. data/spec/fixtures/ec2/attach_volume.xml +9 -0
  50. data/spec/fixtures/ec2/authorize_ip_access.xml +5 -0
  51. data/spec/fixtures/ec2/authorize_owner_group_access.xml +5 -0
  52. data/spec/fixtures/ec2/authorize_owner_group_access_error.xml +2 -0
  53. data/spec/fixtures/ec2/availability_zones.xml +16 -0
  54. data/spec/fixtures/ec2/available_volume.xml +14 -0
  55. data/spec/fixtures/ec2/create_key_pair.xml +29 -0
  56. data/spec/fixtures/ec2/create_security_group.xml +5 -0
  57. data/spec/fixtures/ec2/create_snapshot.xml +9 -0
  58. data/spec/fixtures/ec2/create_volume.xml +10 -0
  59. data/spec/fixtures/ec2/delete_key_pair.xml +5 -0
  60. data/spec/fixtures/ec2/delete_security_group.xml +5 -0
  61. data/spec/fixtures/ec2/delete_snapshot.xml +5 -0
  62. data/spec/fixtures/ec2/delete_volume.xml +5 -0
  63. data/spec/fixtures/ec2/deregister_image.xml +5 -0
  64. data/spec/fixtures/ec2/detach_volume.xml +9 -0
  65. data/spec/fixtures/ec2/disassociate_address.xml +5 -0
  66. data/spec/fixtures/ec2/image.xml +15 -0
  67. data/spec/fixtures/ec2/images.xml +77 -0
  68. data/spec/fixtures/ec2/instance.xml +36 -0
  69. data/spec/fixtures/ec2/instances.xml +88 -0
  70. data/spec/fixtures/ec2/internal_error.xml +2 -0
  71. data/spec/fixtures/ec2/invalid_amiid_error.xml +2 -0
  72. data/spec/fixtures/ec2/invalid_request_error.xml +2 -0
  73. data/spec/fixtures/ec2/key_pairs.xml +10 -0
  74. data/spec/fixtures/ec2/purchase_reserved_instances_offering.xml +5 -0
  75. data/spec/fixtures/ec2/purchase_reserved_instances_offerings.xml +6 -0
  76. data/spec/fixtures/ec2/regions.xml +14 -0
  77. data/spec/fixtures/ec2/register_image.xml +5 -0
  78. data/spec/fixtures/ec2/release_address.xml +5 -0
  79. data/spec/fixtures/ec2/reserved_instances.xml +18 -0
  80. data/spec/fixtures/ec2/reserved_instances_offering.xml +15 -0
  81. data/spec/fixtures/ec2/reserved_instances_offerings.xml +276 -0
  82. data/spec/fixtures/ec2/revoke_ip_access.xml +5 -0
  83. data/spec/fixtures/ec2/revoke_owner_group_access.xml +5 -0
  84. data/spec/fixtures/ec2/run_instances.xml +30 -0
  85. data/spec/fixtures/ec2/security_groups.xml +159 -0
  86. data/spec/fixtures/ec2/snapshots.xml +13 -0
  87. data/spec/fixtures/ec2/terminate_instances.xml +17 -0
  88. data/spec/fixtures/ec2/unassociated_address.xml +10 -0
  89. data/spec/fixtures/ec2/volumes.xml +23 -0
  90. data/spec/fixtures/errors/invalid_parameter_value.xml +2 -0
  91. data/spec/fixtures/s3/buckets.xml +2 -0
  92. data/spec/fixtures/s3/copy_failure.xml +23 -0
  93. data/spec/fixtures/s3/invalid_request_signature.xml +5 -0
  94. data/spec/fixtures/s3/keys.xml +2 -0
  95. data/spec/lib/awsum/ec2/address_spec.rb +149 -0
  96. data/spec/lib/awsum/ec2/availability_zones_spec.rb +21 -0
  97. data/spec/lib/awsum/ec2/image_spec.rb +92 -0
  98. data/spec/lib/awsum/ec2/instance_spec.rb +125 -0
  99. data/spec/lib/awsum/ec2/keypair_spec.rb +55 -0
  100. data/spec/lib/awsum/ec2/parsers/address_parser_spec.rb +51 -0
  101. data/spec/lib/awsum/ec2/parsers/availability_zone_parser_spec.rb +28 -0
  102. data/spec/lib/awsum/ec2/parsers/image_parser_spec.rb +66 -0
  103. data/spec/lib/awsum/ec2/parsers/instance_parser_spec.rb +75 -0
  104. data/spec/lib/awsum/ec2/parsers/keypair_parser_spec.rb +74 -0
  105. data/spec/lib/awsum/ec2/parsers/purchase_reserved_instances_offering_parser_spec.rb +14 -0
  106. data/spec/lib/awsum/ec2/parsers/region_parser_spec.rb +27 -0
  107. data/spec/lib/awsum/ec2/parsers/register_image_parser_spec.rb +15 -0
  108. data/spec/lib/awsum/ec2/parsers/reserved_instance_parser_spec.rb +35 -0
  109. data/spec/lib/awsum/ec2/parsers/reserved_instances_offering_parser_spec.rb +32 -0
  110. data/spec/lib/awsum/ec2/parsers/security_group_parser_spec.rb +78 -0
  111. data/spec/lib/awsum/ec2/parsers/snapshot_parser_spec.rb +30 -0
  112. data/spec/lib/awsum/ec2/parsers/volume_parser_spec.rb +35 -0
  113. data/spec/lib/awsum/ec2/region_spec.rb +73 -0
  114. data/spec/lib/awsum/ec2/reserved_instance_spec.rb +61 -0
  115. data/spec/lib/awsum/ec2/reserved_instances_offering_spec.rb +33 -0
  116. data/spec/lib/awsum/ec2/security_group_spec.rb +179 -0
  117. data/spec/lib/awsum/ec2/snapshots_spec.rb +69 -0
  118. data/spec/lib/awsum/ec2/volume_spec.rb +107 -0
  119. data/spec/lib/awsum/ec2_spec.rb +6 -0
  120. data/spec/lib/awsum/error_spec.rb +31 -0
  121. data/spec/lib/awsum/requestable_spec.rb +126 -0
  122. data/spec/lib/awsum/s3/bucket_spec.rb +95 -0
  123. data/spec/lib/awsum/s3/object_spec.rb +128 -0
  124. data/spec/lib/awsum/s3/parsers/bucket_parser_spec.rb +41 -0
  125. data/spec/lib/awsum/s3/parsers/object_parser_spec.rb +41 -0
  126. data/spec/spec_helper.rb +16 -0
  127. metadata +240 -0
@@ -0,0 +1,95 @@
1
+ require 'spec_helper'
2
+
3
+ module Awsum
4
+ describe S3 do
5
+
6
+ subject { S3.new('abc', 'xyz') }
7
+ let(:s3) { subject }
8
+
9
+ describe "naming a bucket" do
10
+ it "should not have an ip address style name" do
11
+ expect { s3.create_bucket('192.168.2.1') }.to raise_error
12
+ end
13
+
14
+ it "should not start with punctuation" do
15
+ expect { s3.create_bucket('-name') }.to raise_error
16
+ expect { s3.create_bucket('.name') }.to raise_error
17
+ expect { s3.create_bucket('_name') }.to raise_error
18
+ end
19
+
20
+ it "should not end with a dash" do
21
+ expect { s3.create_bucket('name-') }.to raise_error
22
+ end
23
+
24
+ it "should not have a dash to the left of a period" do
25
+ expect { s3.create_bucket('name-.test') }.to raise_error
26
+ end
27
+
28
+ it "should not have a dash to the right of a period" do
29
+ expect { s3.create_bucket('name.-test') }.to raise_error
30
+ end
31
+
32
+ it "should not be shorter than 3 characters" do
33
+ expect { s3.create_bucket('ab') }.to raise_error
34
+ end
35
+
36
+ it "should not be longer than 63 characters" do
37
+ expect { s3.create_bucket((0..63).collection{'a'}.join) }.to raise_error
38
+ end
39
+
40
+ it "should be able to start with a number" do
41
+ FakeWeb.register_uri(:put, 'https://2name.s3.amazonaws.com/', :body => '', :status => 200)
42
+
43
+ expect { s3.create_bucket('2name') }.should_not raise_error
44
+ end
45
+
46
+ it "should otherwise succeed" do
47
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/', :body => '', :status => 200)
48
+
49
+ expect { s3.create_bucket('test') }.should_not raise_error
50
+ end
51
+ end
52
+
53
+ describe "retrieving a list of buckets" do
54
+ before do
55
+ FakeWeb.register_uri(:get, 'https://s3.amazonaws.com/', :body => fixture('s3/buckets'), :status => 200)
56
+ end
57
+
58
+ let(:buckets) { s3.buckets }
59
+
60
+ it "should return an array of buckets" do
61
+ buckets.first.should be_a(Awsum::S3::Bucket)
62
+ end
63
+ end
64
+
65
+ describe "deleting a bucket" do
66
+ before do
67
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/', :body => '', :status => 200)
68
+ end
69
+
70
+ it "should return true" do
71
+ s3.delete_bucket('test').should be_true
72
+ end
73
+ end
74
+
75
+ describe "a bucket" do
76
+ let(:bucket) { Awsum::S3::Bucket.new(s3, 'test', Time.now) }
77
+
78
+ it "should be able to delete itself" do
79
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/', :body => '', :status => 200)
80
+
81
+ bucket.delete.should be_true
82
+ end
83
+
84
+ it "should be able to delete itself even if it contains objects" do
85
+ FakeWeb.register_uri(:get, 'https://test.s3.amazonaws.com/', :body => fixture('s3/keys'), :status => 200)
86
+ ['test/photo1.jpg', 'test/photo2.jpg'].each do |key|
87
+ FakeWeb.register_uri(:delete, "https://test.s3.amazonaws.com/#{key}", :body => '', :status => 200)
88
+ end
89
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/', :body => '', :status => 200)
90
+
91
+ bucket.delete!.should be_true
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,128 @@
1
+ require 'spec_helper'
2
+
3
+ module Awsum
4
+ describe S3 do
5
+
6
+ subject { S3.new('abc', 'xyz') }
7
+ let(:s3) { subject }
8
+
9
+ describe "creating an object" do
10
+ it "should be possible with a string" do
11
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
12
+
13
+ s3.create_object('test', 'test.txt', 'Some text').should be_true
14
+ end
15
+
16
+ it "should be possible with a IO object" do
17
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
18
+
19
+ s3.create_object('test', 'test.txt', StringIO.new('Some text')).should be_true
20
+ end
21
+ end
22
+
23
+ describe "deleting an object" do
24
+ it "should return true" do
25
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
26
+
27
+ s3.delete_object('test', 'test.txt').should be_true
28
+ end
29
+ end
30
+
31
+ describe "copying an object" do
32
+ it "should be possible to a different bucket with the same key" do
33
+ s3.should_receive(:send_s3_request).with("PUT", {:bucket=>"test2", :headers=>{"x-amz-copy-source"=>"/test/test.txt", "x-amz-metadata-directive"=>"COPY"}, :data=>nil, :key=>"test.txt"})
34
+
35
+ s3.copy_object('test', 'test.txt', 'test2')
36
+ end
37
+
38
+ it "should be possible within the same bucket with a different key" do
39
+ s3.should_receive(:send_s3_request).with("PUT", {:bucket=>"test", :headers=>{"x-amz-copy-source"=>"/test/test.txt", "x-amz-metadata-directive"=>"COPY"}, :data=>nil, :key=>"test2.txt"})
40
+
41
+ s3.copy_object('test', 'test.txt', nil, 'test2.txt')
42
+ end
43
+
44
+ it "should allow replacing headers and meta-data" do
45
+ s3.should_receive(:send_s3_request).with("PUT", {:bucket=>"test", :headers=>{"x-amz-copy-source"=>"/test/test.txt", "New-Header"=>"two", "x-amz-metadata-directive"=>"REPLACE"}, :data=>nil, :key=>"test.txt"})
46
+
47
+ s3.copy_object('test', 'test.txt', nil, nil, {'New-Header' => 'two'})
48
+ end
49
+
50
+ it "should not allow within the same bucket, with the same key name and no changed headers" do
51
+ expect { s3.copy_object('test', 'test.txt') }.to raise_error
52
+ end
53
+
54
+ it "should raise an error if the copy fails" do
55
+ FakeWeb.register_uri(:put, 'https://test2.s3.amazonaws.com/test.txt', :body => fixture('s3/copy_failure'), :status => 200)
56
+
57
+ expect { s3.copy_object('test', 'test.txt', 'test2') }.to raise_error(Awsum::Error)
58
+ end
59
+ end
60
+
61
+ describe "an object" do
62
+ let(:object) { Awsum::S3::Object.new(s3, 'test', 'test.txt', Time.now, 'XXXXX', 234, 'AAAAAA', 'STANDARD') }
63
+
64
+ it "should be able to delete itself" do
65
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
66
+
67
+ object.delete.should be_true
68
+ end
69
+
70
+ it "should be able to copy itself to a different key" do
71
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/test2.txt', :body => '', :status => 200)
72
+
73
+ object.copy('test2.txt').should be_true
74
+ end
75
+
76
+ it "should be able to rename itself" do
77
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/test2.txt', :body => '', :status => 200)
78
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
79
+
80
+ object.rename('test2.txt').should be_true
81
+ end
82
+
83
+ it "should be able to move itself" do
84
+ FakeWeb.register_uri(:put, 'https://test.s3.amazonaws.com/test2.txt', :body => '', :status => 200)
85
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
86
+
87
+ object.move('test2.txt').should be_true
88
+ end
89
+
90
+ it "should be able to copy itself to another bucket" do
91
+ FakeWeb.register_uri(:put, 'https://another.s3.amazonaws.com/test.txt', :body => '', :status => 200)
92
+
93
+ object.copy_to('another').should be_true
94
+ end
95
+
96
+ it "should be able to move itself to another bucket" do
97
+ FakeWeb.register_uri(:put, 'https://another.s3.amazonaws.com/test.txt', :body => '', :status => 200)
98
+ FakeWeb.register_uri(:delete, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
99
+
100
+ object.move_to('another').should be_true
101
+ end
102
+
103
+ #TODO: Provide better specs on headers
104
+ it "should be able to return it's headers" do
105
+ FakeWeb.register_uri(:head, 'https://test.s3.amazonaws.com/test.txt', :body => '', :status => 200)
106
+
107
+ object.headers.should be_a(Awsum::S3::Headers)
108
+ end
109
+
110
+ it "should be able to return it's data" do
111
+ FakeWeb.register_uri(:get, 'https://test.s3.amazonaws.com/test.txt', :body => 'The data', :status => 200)
112
+
113
+ object.data.should == 'The data'
114
+ end
115
+
116
+ it "should be able to return it's data in chunks" do
117
+ FakeWeb.register_uri(:get, 'https://test.s3.amazonaws.com/test.txt', :body => 'The data', :status => 200)
118
+
119
+ data = ''
120
+ object.data do |chunk|
121
+ data << chunk
122
+ end
123
+
124
+ data.should == 'The data'
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ module Awsum
4
+ describe S3::BucketParser do
5
+
6
+ subject { S3.new('abc', 'xyz') }
7
+ let(:s3) { subject }
8
+ let(:parser) { Awsum::S3::BucketParser.new(s3) }
9
+ let(:result) { parser.parse(fixture('s3/buckets')) }
10
+
11
+ it "should return an array of buckets" do
12
+ result.should be_a(Array)
13
+ end
14
+
15
+ context "the first bucket" do
16
+ let(:bucket) { result.first }
17
+
18
+ {
19
+ :name => 'test-bucket',
20
+ :creation_date => Time.parse('2008-12-04T16:08:03.000Z')
21
+ }.each do |key, value|
22
+ it "should have the correct #{key}" do
23
+ bucket.send(key).should == value
24
+ end
25
+ end
26
+ end
27
+
28
+ context "the second bucket" do
29
+ let(:bucket) { result[1] }
30
+
31
+ {
32
+ :name => 'another-test-bucket',
33
+ :creation_date => Time.parse('2009-01-02T08:25:27.000Z')
34
+ }.each do |key, value|
35
+ it "should have the correct #{key}" do
36
+ bucket.send(key).should == value
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ module Awsum
4
+ describe S3::ObjectParser do
5
+
6
+ subject { S3.new('abc', 'xyz') }
7
+ let(:s3) { subject }
8
+ let(:parser) { Awsum::S3::ObjectParser.new(s3) }
9
+ let(:result) { parser.parse(fixture('s3/keys')) }
10
+
11
+ it "should return an array of object" do
12
+ result.should be_a(Array)
13
+ end
14
+
15
+ context "the first object" do
16
+ let(:object) { result.first }
17
+
18
+ {
19
+ :key => 'test/photo1.jpg',
20
+ :last_modified => Time.parse('2008-12-07T13:47:59.000Z'),
21
+ :etag => '"03bde534951a1c099724f569a53acb1e"',
22
+ :size => 203841,
23
+ :storage_class => 'STANDARD'
24
+ }.each do |key, value|
25
+ it "should have the correct #{key}" do
26
+ object.send(key).should == value
27
+ end
28
+ end
29
+
30
+ #TODO: This should be object.owner.name
31
+ it "should have the correct owner name" do
32
+ object.owner['name'].should == 'AAAAAA'
33
+ end
34
+
35
+ #TODO: This should be object.owner.id
36
+ it "should have the correct owner id" do
37
+ object.owner['id'].should == '1111111111111111111111111111111111111111111111111111111111111111'
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,16 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ require 'awsum/ec2'
3
+ require 'awsum/s3'
4
+ require 'fakeweb'
5
+
6
+ FakeWeb.allow_net_connect = false
7
+
8
+ RSpec.configure do |config|
9
+ config.before do
10
+ FakeWeb.clean_registry
11
+ end
12
+ end
13
+
14
+ def fixture(path)
15
+ File.read(File.join(File.dirname(__FILE__), 'fixtures', "#{path}.xml"))
16
+ end
metadata ADDED
@@ -0,0 +1,240 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: awsum
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 5
9
+ version: "0.5"
10
+ platform: ruby
11
+ authors:
12
+ - Andrew Timberlake
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-09-19 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 62196431
27
+ segments:
28
+ - 2
29
+ - 0
30
+ - 0
31
+ - beta
32
+ - 22
33
+ version: 2.0.0.beta.22
34
+ requirement: *id001
35
+ prerelease: false
36
+ type: :development
37
+ name: rspec
38
+ description:
39
+ email: andrew@andrewtimberlake.com
40
+ executables: []
41
+
42
+ extensions: []
43
+
44
+ extra_rdoc_files:
45
+ - LICENSE
46
+ - README.rdoc
47
+ files:
48
+ - .autotest
49
+ - .gitignore
50
+ - .rspec
51
+ - Gemfile
52
+ - Gemfile.lock
53
+ - LICENSE
54
+ - README.rdoc
55
+ - Rakefile
56
+ - awsum.gemspec
57
+ - lib/awsum.rb
58
+ - lib/awsum/ec2.rb
59
+ - lib/awsum/ec2/address.rb
60
+ - lib/awsum/ec2/availability_zone.rb
61
+ - lib/awsum/ec2/image.rb
62
+ - lib/awsum/ec2/instance.rb
63
+ - lib/awsum/ec2/keypair.rb
64
+ - lib/awsum/ec2/parsers/address_parser.rb
65
+ - lib/awsum/ec2/parsers/availability_zone_parser.rb
66
+ - lib/awsum/ec2/parsers/image_parser.rb
67
+ - lib/awsum/ec2/parsers/instance_parser.rb
68
+ - lib/awsum/ec2/parsers/keypair_parser.rb
69
+ - lib/awsum/ec2/parsers/purchase_reserved_instances_offering_parser.rb
70
+ - lib/awsum/ec2/parsers/region_parser.rb
71
+ - lib/awsum/ec2/parsers/register_image_parser.rb
72
+ - lib/awsum/ec2/parsers/reserved_instance_parser.rb
73
+ - lib/awsum/ec2/parsers/reserved_instances_offering_parser.rb
74
+ - lib/awsum/ec2/parsers/security_group_parser.rb
75
+ - lib/awsum/ec2/parsers/snapshot_parser.rb
76
+ - lib/awsum/ec2/parsers/volume_parser.rb
77
+ - lib/awsum/ec2/region.rb
78
+ - lib/awsum/ec2/reserved_instance.rb
79
+ - lib/awsum/ec2/reserved_instances_offering.rb
80
+ - lib/awsum/ec2/security_group.rb
81
+ - lib/awsum/ec2/snapshot.rb
82
+ - lib/awsum/ec2/volume.rb
83
+ - lib/awsum/error.rb
84
+ - lib/awsum/net_fix.rb
85
+ - lib/awsum/parser.rb
86
+ - lib/awsum/requestable.rb
87
+ - lib/awsum/s3.rb
88
+ - lib/awsum/s3/bucket.rb
89
+ - lib/awsum/s3/headers.rb
90
+ - lib/awsum/s3/object.rb
91
+ - lib/awsum/s3/parsers/bucket_parser.rb
92
+ - lib/awsum/support.rb
93
+ - spec/fixtures/ec2/addresses.xml
94
+ - spec/fixtures/ec2/allocate_address.xml
95
+ - spec/fixtures/ec2/associate_address.xml
96
+ - spec/fixtures/ec2/attach_volume.xml
97
+ - spec/fixtures/ec2/authorize_ip_access.xml
98
+ - spec/fixtures/ec2/authorize_owner_group_access.xml
99
+ - spec/fixtures/ec2/authorize_owner_group_access_error.xml
100
+ - spec/fixtures/ec2/availability_zones.xml
101
+ - spec/fixtures/ec2/available_volume.xml
102
+ - spec/fixtures/ec2/create_key_pair.xml
103
+ - spec/fixtures/ec2/create_security_group.xml
104
+ - spec/fixtures/ec2/create_snapshot.xml
105
+ - spec/fixtures/ec2/create_volume.xml
106
+ - spec/fixtures/ec2/delete_key_pair.xml
107
+ - spec/fixtures/ec2/delete_security_group.xml
108
+ - spec/fixtures/ec2/delete_snapshot.xml
109
+ - spec/fixtures/ec2/delete_volume.xml
110
+ - spec/fixtures/ec2/deregister_image.xml
111
+ - spec/fixtures/ec2/detach_volume.xml
112
+ - spec/fixtures/ec2/disassociate_address.xml
113
+ - spec/fixtures/ec2/image.xml
114
+ - spec/fixtures/ec2/images.xml
115
+ - spec/fixtures/ec2/instance.xml
116
+ - spec/fixtures/ec2/instances.xml
117
+ - spec/fixtures/ec2/internal_error.xml
118
+ - spec/fixtures/ec2/invalid_amiid_error.xml
119
+ - spec/fixtures/ec2/invalid_request_error.xml
120
+ - spec/fixtures/ec2/key_pairs.xml
121
+ - spec/fixtures/ec2/purchase_reserved_instances_offering.xml
122
+ - spec/fixtures/ec2/purchase_reserved_instances_offerings.xml
123
+ - spec/fixtures/ec2/regions.xml
124
+ - spec/fixtures/ec2/register_image.xml
125
+ - spec/fixtures/ec2/release_address.xml
126
+ - spec/fixtures/ec2/reserved_instances.xml
127
+ - spec/fixtures/ec2/reserved_instances_offering.xml
128
+ - spec/fixtures/ec2/reserved_instances_offerings.xml
129
+ - spec/fixtures/ec2/revoke_ip_access.xml
130
+ - spec/fixtures/ec2/revoke_owner_group_access.xml
131
+ - spec/fixtures/ec2/run_instances.xml
132
+ - spec/fixtures/ec2/security_groups.xml
133
+ - spec/fixtures/ec2/snapshots.xml
134
+ - spec/fixtures/ec2/terminate_instances.xml
135
+ - spec/fixtures/ec2/unassociated_address.xml
136
+ - spec/fixtures/ec2/volumes.xml
137
+ - spec/fixtures/errors/invalid_parameter_value.xml
138
+ - spec/fixtures/s3/buckets.xml
139
+ - spec/fixtures/s3/copy_failure.xml
140
+ - spec/fixtures/s3/invalid_request_signature.xml
141
+ - spec/fixtures/s3/keys.xml
142
+ - spec/lib/awsum/ec2/address_spec.rb
143
+ - spec/lib/awsum/ec2/availability_zones_spec.rb
144
+ - spec/lib/awsum/ec2/image_spec.rb
145
+ - spec/lib/awsum/ec2/instance_spec.rb
146
+ - spec/lib/awsum/ec2/keypair_spec.rb
147
+ - spec/lib/awsum/ec2/parsers/address_parser_spec.rb
148
+ - spec/lib/awsum/ec2/parsers/availability_zone_parser_spec.rb
149
+ - spec/lib/awsum/ec2/parsers/image_parser_spec.rb
150
+ - spec/lib/awsum/ec2/parsers/instance_parser_spec.rb
151
+ - spec/lib/awsum/ec2/parsers/keypair_parser_spec.rb
152
+ - spec/lib/awsum/ec2/parsers/purchase_reserved_instances_offering_parser_spec.rb
153
+ - spec/lib/awsum/ec2/parsers/region_parser_spec.rb
154
+ - spec/lib/awsum/ec2/parsers/register_image_parser_spec.rb
155
+ - spec/lib/awsum/ec2/parsers/reserved_instance_parser_spec.rb
156
+ - spec/lib/awsum/ec2/parsers/reserved_instances_offering_parser_spec.rb
157
+ - spec/lib/awsum/ec2/parsers/security_group_parser_spec.rb
158
+ - spec/lib/awsum/ec2/parsers/snapshot_parser_spec.rb
159
+ - spec/lib/awsum/ec2/parsers/volume_parser_spec.rb
160
+ - spec/lib/awsum/ec2/region_spec.rb
161
+ - spec/lib/awsum/ec2/reserved_instance_spec.rb
162
+ - spec/lib/awsum/ec2/reserved_instances_offering_spec.rb
163
+ - spec/lib/awsum/ec2/security_group_spec.rb
164
+ - spec/lib/awsum/ec2/snapshots_spec.rb
165
+ - spec/lib/awsum/ec2/volume_spec.rb
166
+ - spec/lib/awsum/ec2_spec.rb
167
+ - spec/lib/awsum/error_spec.rb
168
+ - spec/lib/awsum/requestable_spec.rb
169
+ - spec/lib/awsum/s3/bucket_spec.rb
170
+ - spec/lib/awsum/s3/object_spec.rb
171
+ - spec/lib/awsum/s3/parsers/bucket_parser_spec.rb
172
+ - spec/lib/awsum/s3/parsers/object_parser_spec.rb
173
+ - spec/spec_helper.rb
174
+ has_rdoc: true
175
+ homepage: http://andrewtimberlake.com/projects/awsum
176
+ licenses: []
177
+
178
+ post_install_message:
179
+ rdoc_options:
180
+ - --charset=UTF-8
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ none: false
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ hash: 3
189
+ segments:
190
+ - 0
191
+ version: "0"
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ hash: 3
198
+ segments:
199
+ - 0
200
+ version: "0"
201
+ requirements: []
202
+
203
+ rubyforge_project:
204
+ rubygems_version: 1.3.7
205
+ signing_key:
206
+ specification_version: 3
207
+ summary: A library for working with Amazon Web Services in the most natural rubyish way
208
+ test_files:
209
+ - spec/lib/awsum/s3/parsers/object_parser_spec.rb
210
+ - spec/lib/awsum/s3/parsers/bucket_parser_spec.rb
211
+ - spec/lib/awsum/s3/object_spec.rb
212
+ - spec/lib/awsum/s3/bucket_spec.rb
213
+ - spec/lib/awsum/ec2/reserved_instance_spec.rb
214
+ - spec/lib/awsum/ec2/region_spec.rb
215
+ - spec/lib/awsum/ec2/availability_zones_spec.rb
216
+ - spec/lib/awsum/ec2/parsers/register_image_parser_spec.rb
217
+ - spec/lib/awsum/ec2/parsers/security_group_parser_spec.rb
218
+ - spec/lib/awsum/ec2/parsers/image_parser_spec.rb
219
+ - spec/lib/awsum/ec2/parsers/snapshot_parser_spec.rb
220
+ - spec/lib/awsum/ec2/parsers/region_parser_spec.rb
221
+ - spec/lib/awsum/ec2/parsers/availability_zone_parser_spec.rb
222
+ - spec/lib/awsum/ec2/parsers/reserved_instance_parser_spec.rb
223
+ - spec/lib/awsum/ec2/parsers/address_parser_spec.rb
224
+ - spec/lib/awsum/ec2/parsers/purchase_reserved_instances_offering_parser_spec.rb
225
+ - spec/lib/awsum/ec2/parsers/volume_parser_spec.rb
226
+ - spec/lib/awsum/ec2/parsers/reserved_instances_offering_parser_spec.rb
227
+ - spec/lib/awsum/ec2/parsers/keypair_parser_spec.rb
228
+ - spec/lib/awsum/ec2/parsers/instance_parser_spec.rb
229
+ - spec/lib/awsum/ec2/image_spec.rb
230
+ - spec/lib/awsum/ec2/address_spec.rb
231
+ - spec/lib/awsum/ec2/keypair_spec.rb
232
+ - spec/lib/awsum/ec2/snapshots_spec.rb
233
+ - spec/lib/awsum/ec2/volume_spec.rb
234
+ - spec/lib/awsum/ec2/instance_spec.rb
235
+ - spec/lib/awsum/ec2/security_group_spec.rb
236
+ - spec/lib/awsum/ec2/reserved_instances_offering_spec.rb
237
+ - spec/lib/awsum/ec2_spec.rb
238
+ - spec/lib/awsum/error_spec.rb
239
+ - spec/lib/awsum/requestable_spec.rb
240
+ - spec/spec_helper.rb