dustMason-right_aws 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. data/History.txt +305 -0
  2. data/Manifest.txt +60 -0
  3. data/README.txt +165 -0
  4. data/Rakefile +112 -0
  5. data/lib/acf/right_acf_interface.rb +549 -0
  6. data/lib/acf/right_acf_invalidations.rb +144 -0
  7. data/lib/acf/right_acf_origin_access_identities.rb +230 -0
  8. data/lib/acf/right_acf_streaming_interface.rb +229 -0
  9. data/lib/acw/right_acw_interface.rb +248 -0
  10. data/lib/as/right_as_interface.rb +698 -0
  11. data/lib/awsbase/benchmark_fix.rb +39 -0
  12. data/lib/awsbase/right_awsbase.rb +1174 -0
  13. data/lib/awsbase/support.rb +35 -0
  14. data/lib/awsbase/version.rb +9 -0
  15. data/lib/ec2/right_ec2.rb +458 -0
  16. data/lib/ec2/right_ec2_ebs.rb +465 -0
  17. data/lib/ec2/right_ec2_images.rb +413 -0
  18. data/lib/ec2/right_ec2_instances.rb +785 -0
  19. data/lib/ec2/right_ec2_monitoring.rb +70 -0
  20. data/lib/ec2/right_ec2_placement_groups.rb +108 -0
  21. data/lib/ec2/right_ec2_reserved_instances.rb +174 -0
  22. data/lib/ec2/right_ec2_security_groups.rb +396 -0
  23. data/lib/ec2/right_ec2_spot_instances.rb +425 -0
  24. data/lib/ec2/right_ec2_tags.rb +139 -0
  25. data/lib/ec2/right_ec2_vpc.rb +583 -0
  26. data/lib/ec2/right_ec2_windows_mobility.rb +84 -0
  27. data/lib/elb/right_elb_interface.rb +571 -0
  28. data/lib/iam/right_iam_access_keys.rb +71 -0
  29. data/lib/iam/right_iam_groups.rb +195 -0
  30. data/lib/iam/right_iam_interface.rb +341 -0
  31. data/lib/iam/right_iam_mfa_devices.rb +67 -0
  32. data/lib/iam/right_iam_users.rb +251 -0
  33. data/lib/rds/right_rds_interface.rb +1309 -0
  34. data/lib/right_aws.rb +88 -0
  35. data/lib/route_53/right_route_53_interface.rb +630 -0
  36. data/lib/s3/right_s3.rb +1123 -0
  37. data/lib/s3/right_s3_interface.rb +1198 -0
  38. data/lib/sdb/active_sdb.rb +1107 -0
  39. data/lib/sdb/right_sdb_interface.rb +753 -0
  40. data/lib/sns/right_sns.rb +205 -0
  41. data/lib/sns/right_sns_interface.rb +343 -0
  42. data/lib/sqs/right_sqs.rb +387 -0
  43. data/lib/sqs/right_sqs_gen2.rb +342 -0
  44. data/lib/sqs/right_sqs_gen2_interface.rb +523 -0
  45. data/lib/sqs/right_sqs_interface.rb +593 -0
  46. data/right_aws.gemspec +91 -0
  47. data/test/acf/test_helper.rb +2 -0
  48. data/test/acf/test_right_acf.rb +138 -0
  49. data/test/awsbase/test_helper.rb +2 -0
  50. data/test/awsbase/test_right_awsbase.rb +12 -0
  51. data/test/ec2/test_helper.rb +2 -0
  52. data/test/ec2/test_right_ec2.rb +108 -0
  53. data/test/http_connection.rb +87 -0
  54. data/test/rds/test_helper.rb +2 -0
  55. data/test/rds/test_right_rds.rb +120 -0
  56. data/test/s3/test_helper.rb +2 -0
  57. data/test/s3/test_right_s3.rb +421 -0
  58. data/test/s3/test_right_s3_stubbed.rb +97 -0
  59. data/test/sdb/test_active_sdb.rb +357 -0
  60. data/test/sdb/test_batch_put_attributes.rb +54 -0
  61. data/test/sdb/test_helper.rb +3 -0
  62. data/test/sdb/test_right_sdb.rb +253 -0
  63. data/test/sns/test_helper.rb +2 -0
  64. data/test/sns/test_right_sns.rb +73 -0
  65. data/test/sqs/test_helper.rb +2 -0
  66. data/test/sqs/test_right_sqs.rb +285 -0
  67. data/test/sqs/test_right_sqs_gen2.rb +264 -0
  68. data/test/test_credentials.rb +37 -0
  69. data/test/ts_right_aws.rb +14 -0
  70. metadata +244 -0
@@ -0,0 +1,264 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestSqsGen2 < Test::Unit::TestCase
4
+
5
+ GRANTEE_EMAIL_ADDRESS = 'fester@example.com'
6
+ RIGHT_MESSAGE_TEXT = 'Right test message'
7
+
8
+
9
+ def setup
10
+ $stdout.sync = true
11
+ @grantee_aws_id = '100000000001'
12
+ @sqs = Rightscale::SqsGen2Interface.new(TestCredentials.aws_access_key_id, TestCredentials.aws_secret_access_key)
13
+ @queue_name = 'right_sqs_test_gen2_queue'
14
+ @queue2_name = @queue_name + '_2'
15
+ @queue3_name = @queue_name + '_3'
16
+ @queue4_name = @queue_name + '_4'
17
+ # for classes
18
+ @s = Rightscale::SqsGen2.new(TestCredentials.aws_access_key_id, TestCredentials.aws_secret_access_key)
19
+ end
20
+
21
+ # Wait for the queue to appear in the queues list.
22
+ # Amazon needs some time to after the queue creation to place
23
+ # it to the accessible queues list. If we dont want to get
24
+ # the additional faults then wait a bit...
25
+ def wait_for_queue_url(queue_name)
26
+ queue_url = nil
27
+ do_sleep(180) do
28
+ queue_url = @sqs.queue_url_by_name(queue_name)
29
+ end
30
+ sleep 30
31
+ queue_url
32
+ end
33
+
34
+ def do_sleep(delay, &block)
35
+ puts "sleeping #{block ? 'up to ' : ''}#{delay} seconds:"
36
+ wake_up_at = Time.now+delay
37
+ while Time.now < wake_up_at do
38
+ sleep 1
39
+ print '.'
40
+ break if block && block.call
41
+ end
42
+ puts
43
+ end
44
+
45
+ #---------------------------
46
+ # Rightscale::SqsInterface
47
+ #---------------------------
48
+
49
+ def test_01_create_queue
50
+ queue_url = @sqs.create_queue @queue_name
51
+ assert queue_url[/http.*#{@queue_name}/], 'New queue creation failed'
52
+ end
53
+
54
+ def test_02_list_queues
55
+ wait_for_queue_url(@queue_name)
56
+ queues = @sqs.list_queues('right_')
57
+ assert queues.size>0, 'Must more that 0 queues in list'
58
+ end
59
+
60
+ def test_03_set_and_get_queue_attributes
61
+ queue_url = @sqs.queue_url_by_name(@queue_name)
62
+ assert queue_url[/https.*#{@queue_name}/], "#{@queue_name} must exist!"
63
+ assert @sqs.set_queue_attributes(queue_url, 'VisibilityTimeout', 111), 'Set_queue_attributes fail'
64
+ do_sleep 60 # Amazon needs some time to change attribute
65
+ assert_equal '111', @sqs.get_queue_attributes(queue_url)['VisibilityTimeout'], 'New VisibilityTimeout must be equal to 111'
66
+ end
67
+
68
+ def test_04_get_queue_attributes_forms
69
+ queue_url = @sqs.queue_url_by_name(@queue_name)
70
+ all = nil
71
+ assert_nothing_raised do
72
+ all = @sqs.get_queue_attributes(queue_url, 'All')
73
+ end
74
+ assert_nothing_raised do
75
+ assert all, @sqs.get_queue_attributes(queue_url)
76
+ end
77
+ assert_nothing_raised do
78
+ attributes = @sqs.get_queue_attributes(queue_url, 'ApproximateNumberOfMessages', 'VisibilityTimeout')
79
+ assert_equal 2, attributes.size
80
+ end
81
+ assert_nothing_raised do
82
+ attributes = @sqs.get_queue_attributes(queue_url, ['ApproximateNumberOfMessages', 'VisibilityTimeout'])
83
+ assert_equal 2, attributes.size
84
+ end
85
+ end
86
+
87
+ def test_05_add_permissions
88
+ queue_url = @sqs.queue_url_by_name(@queue_name)
89
+ assert @sqs.add_permissions(queue_url, 'test01', @grantee_aws_id, 'SendMessage')
90
+ assert @sqs.add_permissions(queue_url, 'test02', @grantee_aws_id, ['DeleteMessage','ReceiveMessage'])
91
+ do_sleep 60
92
+ end
93
+
94
+ def test_06_test_permissions
95
+ queue_url = @sqs.queue_url_by_name(@queue_name)
96
+ permissions = @sqs.get_queue_attributes(queue_url, 'Policy')
97
+ assert !permissions.right_blank?
98
+ end
99
+
100
+ def test_07_revoke_permissions
101
+ queue_url = @sqs.queue_url_by_name(@queue_name)
102
+ assert @sqs.remove_permissions(queue_url, 'test01')
103
+ assert @sqs.remove_permissions(queue_url, 'test02')
104
+ end
105
+
106
+ def test_14_send_message
107
+ queue_url = @sqs.queue_url_by_name(@queue_name)
108
+ # send 5 messages for the tests below
109
+ assert @sqs.send_message(queue_url, RIGHT_MESSAGE_TEXT)
110
+ assert @sqs.send_message(queue_url, RIGHT_MESSAGE_TEXT)
111
+ assert @sqs.send_message(queue_url, RIGHT_MESSAGE_TEXT)
112
+ assert @sqs.send_message(queue_url, RIGHT_MESSAGE_TEXT)
113
+ assert @sqs.send_message(queue_url, RIGHT_MESSAGE_TEXT)
114
+ do_sleep 60
115
+ end
116
+
117
+ def test_15_get_queue_length
118
+ queue_url = @sqs.queue_url_by_name(@queue_name)
119
+ assert_equal 5, @sqs.get_queue_length(queue_url), 'Queue must have 5 messages'
120
+ end
121
+
122
+ def test_16_receive_message
123
+ queue_url = @sqs.queue_url_by_name(@queue_name)
124
+ r_message = @sqs.receive_message(queue_url, 1)[0]
125
+ assert r_message, "Receive returned no message(s), but this is not necessarily incorrect"
126
+ assert_equal RIGHT_MESSAGE_TEXT, r_message['Body'], 'Receive message got wrong message text'
127
+ end
128
+
129
+ def test_17_delete_message
130
+ queue_url = @sqs.queue_url_by_name(@queue_name)
131
+ message = @sqs.receive_message(queue_url)[0]
132
+ assert @sqs.delete_message(queue_url, message['ReceiptHandle']), 'Delete_message fail'
133
+ assert @sqs.pop_message(queue_url), 'Pop_message fail'
134
+ end
135
+
136
+ def test_18_clear_and_delete_queue
137
+ queue_url = @sqs.queue_url_by_name(@queue_name)
138
+ assert @sqs.delete_queue(queue_url)
139
+ end
140
+
141
+ #---------------------------
142
+ # Rightscale::Sqs classes
143
+ #---------------------------
144
+
145
+ def test_20_sqs_create_queue
146
+ assert @s, 'Rightscale::SqsGen2 must exist'
147
+ # get queues list
148
+ queues_size = @s.queues.size
149
+ # create new queue
150
+ queue = @s.queue(@queue2_name, true)
151
+ # check that it is created
152
+ assert queue.is_a?(Rightscale::SqsGen2::Queue)
153
+ wait_for_queue_url(queue.name)
154
+ # check that amount of queues has increased
155
+ assert_equal queues_size + 1, @s.queues.size
156
+ do_sleep 10
157
+ end
158
+
159
+ def test_21_sqs_delete_queue
160
+ queue = @s.queue(@queue2_name, false)
161
+ assert queue.delete
162
+ end
163
+
164
+ def test_22_queue_create
165
+ # create new queue
166
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue3_name, true)
167
+ # check that it is created
168
+ assert queue.is_a?(Rightscale::SqsGen2::Queue)
169
+ wait_for_queue_url("#{@queue_name}_21")
170
+ do_sleep 10
171
+ end
172
+
173
+ def test_23_queue_attributes
174
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue3_name, false)
175
+ # get a list of attrinutes
176
+ attributes = queue.get_attribute
177
+ assert attributes.is_a?(Hash) && attributes.size>0
178
+ # get attribute value and increase it by 10
179
+ v = (queue.get_attribute('VisibilityTimeout').to_i + 10).to_s
180
+ # set attribute
181
+ assert queue.set_attribute('VisibilityTimeout', v)
182
+ # wait a bit
183
+ do_sleep 60
184
+ # check that attribute has changed
185
+ assert_equal v, queue.get_attribute('VisibilityTimeout')
186
+ # get queue visibility timeout
187
+ assert_equal v, queue.visibility
188
+ # change it
189
+ queue.visibility = queue.visibility.to_i + 10
190
+ # make sure that it is changed
191
+ assert v.to_i + 10, queue.visibility
192
+ end
193
+
194
+ def test_24
195
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue3_name, false)
196
+ assert queue.delete
197
+ end
198
+
199
+ def test_25_send_size
200
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue4_name, true)
201
+ # send 5 messages
202
+ assert queue.push('a1')
203
+ assert queue.push('a2')
204
+ assert queue.push('a3')
205
+ assert queue.push('a4')
206
+ assert queue.push('a5')
207
+ #
208
+ do_sleep(300){ queue.size == 5 }
209
+ # check queue size
210
+ assert_equal 5, queue.size
211
+ # send one more
212
+ assert queue.push('a6')
213
+ #
214
+ do_sleep(300){ queue.size == 6 }
215
+ # check queue size again
216
+ assert_equal 6, queue.size
217
+ end
218
+
219
+ def test_26_message_receive_pop_delete
220
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue4_name, false)
221
+ # get queue size
222
+ size = queue.size
223
+ # get first message
224
+ m1 = queue.receive(10)
225
+ assert m1.is_a?(Rightscale::SqsGen2::Message)
226
+ # pop second message
227
+ m2 = queue.pop
228
+ assert m2.is_a?(Rightscale::SqsGen2::Message)
229
+ #
230
+ do_sleep 30
231
+ # make sure that queue size has decreased
232
+ assert_equal size-1, queue.size
233
+ # delete messsage
234
+ assert m1.delete
235
+ #
236
+ do_sleep 15
237
+ # make sure that queue size has decreased again
238
+ assert_equal size-2, queue.size
239
+ end
240
+
241
+ def test_27
242
+ queue = Rightscale::SqsGen2::Queue.create(@s, @queue4_name, false)
243
+ # lock message
244
+ queue.receive(100)
245
+ # clear queue
246
+ assert queue.clear
247
+ # queue size is greater than zero
248
+ assert queue.size>0
249
+ # delete queue
250
+ assert queue.delete
251
+ end
252
+
253
+ def test_28_set_amazon_problems
254
+ original_problems = Rightscale::SqsGen2Interface.amazon_problems
255
+ assert(original_problems.length > 0)
256
+ Rightscale::SqsGen2Interface.amazon_problems= original_problems << "A New Problem"
257
+ new_problems = Rightscale::SqsGen2Interface.amazon_problems
258
+ assert_equal(new_problems, original_problems)
259
+
260
+ Rightscale::SqsGen2Interface.amazon_problems= nil
261
+ assert_nil(Rightscale::SqsGen2Interface.amazon_problems)
262
+ end
263
+
264
+ end
@@ -0,0 +1,37 @@
1
+ class TestCredentials
2
+
3
+ @@aws_access_key_id = nil
4
+ @@aws_secret_access_key = nil
5
+ @@account_number = nil
6
+
7
+ def self.aws_access_key_id
8
+ @@aws_access_key_id
9
+ end
10
+ def self.aws_access_key_id=(newval)
11
+ @@aws_access_key_id = newval
12
+ end
13
+ def self.account_number
14
+ @@account_number
15
+ end
16
+ def self.account_number=(newval)
17
+ @@account_number = newval
18
+ end
19
+ def self.aws_secret_access_key
20
+ @@aws_secret_access_key
21
+ end
22
+ def self.aws_secret_access_key=(newval)
23
+ @@aws_secret_access_key = newval
24
+ end
25
+
26
+ def self.get_credentials
27
+ Dir.chdir do
28
+ begin
29
+ Dir.chdir('./.rightscale') do
30
+ require 'testcredentials'
31
+ end
32
+ rescue Exception => e
33
+ puts "Couldn't chdir to ~/.rightscale: #{e.message}"
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ require 'test/unit'
2
+ $: << File.dirname(__FILE__)
3
+ require 'test_credentials'
4
+ TestCredentials.get_credentials
5
+
6
+ require 'http_connection'
7
+ require 'awsbase/test_right_awsbase.rb'
8
+ require 'ec2/test_right_ec2.rb'
9
+ require 's3/test_right_s3.rb'
10
+ require 's3/test_right_s3_stubbed.rb'
11
+ require 'sqs/test_right_sqs.rb'
12
+ require 'sqs/test_right_sqs_gen2.rb'
13
+ require 'sdb/test_right_sdb.rb'
14
+ require 'acf/test_right_acf.rb'
metadata ADDED
@@ -0,0 +1,244 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dustMason-right_aws
3
+ version: !ruby/object:Gem::Version
4
+ hash: 11
5
+ prerelease:
6
+ segments:
7
+ - 2
8
+ - 1
9
+ - 0
10
+ version: 2.1.0
11
+ platform: ruby
12
+ authors:
13
+ - RightScale, Inc.
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-11 00:00:00 -07:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: right_http_connection
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 21
30
+ segments:
31
+ - 1
32
+ - 2
33
+ - 5
34
+ version: 1.2.5
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rcov
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :development
64
+ version_requirements: *id003
65
+ description: |
66
+ == DESCRIPTION:
67
+
68
+ The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront.
69
+ These gems have been used in production by RightScale since late 2006 and are being maintained to track enhancements made by Amazon.
70
+ The RightScale AWS gems comprise:
71
+
72
+ - RightAws::Ec2 -- interface to Amazon EC2 (Elastic Compute Cloud) and the
73
+ associated EBS (Elastic Block Store)
74
+ - RightAws::S3 and RightAws::S3Interface -- interface to Amazon S3 (Simple Storage Service)
75
+ - RightAws::Sqs and RightAws::SqsInterface -- interface to first-generation Amazon SQS (Simple Queue Service) (API version 2007-05-01)
76
+ - RightAws::SqsGen2 and RightAws::SqsGen2Interface -- interface to second-generation Amazon SQS (Simple Queue Service) (API version 2008-01-01)
77
+ - RightAws::SdbInterface and RightAws::ActiveSdb -- interface to Amazon SDB (SimpleDB)
78
+ - RightAws::AcfInterface -- interface to Amazon CloudFront, a content distribution service
79
+
80
+ == FEATURES:
81
+
82
+ - Full programmmatic access to EC2, EBS, S3, SQS, SDB, and CloudFront.
83
+ - Complete error handling: all operations check for errors and report complete
84
+ error information by raising an AwsError.
85
+ - Persistent HTTP connections with robust network-level retry layer using
86
+ RightHttpConnection). This includes socket timeouts and retries.
87
+ - Robust HTTP-level retry layer. Certain (user-adjustable) HTTP errors returned
88
+ by Amazon's services are classified as temporary errors.
89
+ These errors are automaticallly retried using exponentially increasing intervals.
90
+ The number of retries is user-configurable.
91
+ - Fast REXML-based parsing of responses (as fast as a pure Ruby solution allows).
92
+ - Uses libxml (if available) for faster response parsing.
93
+ - Support for large S3 list operations. Buckets and key subfolders containing
94
+ many (> 1000) keys are listed in entirety. Operations based on list (like
95
+ bucket clear) work on arbitrary numbers of keys.
96
+ - Support for streaming GETs from S3, and streaming PUTs to S3 if the data source is a file.
97
+ - Support for single-threaded usage, multithreaded usage, as well as usage with multiple
98
+ AWS accounts.
99
+ - Support for both first- and second-generation SQS (API versions 2007-05-01
100
+ and 2008-01-01). These versions of SQS are not compatible.
101
+ - Support for signature versions 0 and 1 on SQS, SDB, and EC2.
102
+ - Interoperability with any cloud running Eucalyptus (http://eucalyptus.cs.ucsb.edu)
103
+ - Test suite (requires AWS account to do "live" testing).
104
+
105
+ email: support@rightscale.com
106
+ executables: []
107
+
108
+ extensions: []
109
+
110
+ extra_rdoc_files:
111
+ - README.txt
112
+ files:
113
+ - History.txt
114
+ - Manifest.txt
115
+ - README.txt
116
+ - Rakefile
117
+ - lib/acf/right_acf_interface.rb
118
+ - lib/acf/right_acf_invalidations.rb
119
+ - lib/acf/right_acf_origin_access_identities.rb
120
+ - lib/acf/right_acf_streaming_interface.rb
121
+ - lib/acw/right_acw_interface.rb
122
+ - lib/as/right_as_interface.rb
123
+ - lib/awsbase/benchmark_fix.rb
124
+ - lib/awsbase/right_awsbase.rb
125
+ - lib/awsbase/support.rb
126
+ - lib/awsbase/version.rb
127
+ - lib/ec2/right_ec2.rb
128
+ - lib/ec2/right_ec2_ebs.rb
129
+ - lib/ec2/right_ec2_images.rb
130
+ - lib/ec2/right_ec2_instances.rb
131
+ - lib/ec2/right_ec2_monitoring.rb
132
+ - lib/ec2/right_ec2_placement_groups.rb
133
+ - lib/ec2/right_ec2_reserved_instances.rb
134
+ - lib/ec2/right_ec2_security_groups.rb
135
+ - lib/ec2/right_ec2_spot_instances.rb
136
+ - lib/ec2/right_ec2_tags.rb
137
+ - lib/ec2/right_ec2_vpc.rb
138
+ - lib/ec2/right_ec2_windows_mobility.rb
139
+ - lib/elb/right_elb_interface.rb
140
+ - lib/iam/right_iam_access_keys.rb
141
+ - lib/iam/right_iam_groups.rb
142
+ - lib/iam/right_iam_interface.rb
143
+ - lib/iam/right_iam_mfa_devices.rb
144
+ - lib/iam/right_iam_users.rb
145
+ - lib/rds/right_rds_interface.rb
146
+ - lib/right_aws.rb
147
+ - lib/route_53/right_route_53_interface.rb
148
+ - lib/s3/right_s3.rb
149
+ - lib/s3/right_s3_interface.rb
150
+ - lib/sdb/active_sdb.rb
151
+ - lib/sdb/right_sdb_interface.rb
152
+ - lib/sns/right_sns.rb
153
+ - lib/sns/right_sns_interface.rb
154
+ - lib/sqs/right_sqs.rb
155
+ - lib/sqs/right_sqs_gen2.rb
156
+ - lib/sqs/right_sqs_gen2_interface.rb
157
+ - lib/sqs/right_sqs_interface.rb
158
+ - right_aws.gemspec
159
+ - test/acf/test_helper.rb
160
+ - test/acf/test_right_acf.rb
161
+ - test/awsbase/test_helper.rb
162
+ - test/awsbase/test_right_awsbase.rb
163
+ - test/ec2/test_helper.rb
164
+ - test/ec2/test_right_ec2.rb
165
+ - test/http_connection.rb
166
+ - test/rds/test_helper.rb
167
+ - test/rds/test_right_rds.rb
168
+ - test/s3/test_helper.rb
169
+ - test/s3/test_right_s3.rb
170
+ - test/s3/test_right_s3_stubbed.rb
171
+ - test/sdb/test_active_sdb.rb
172
+ - test/sdb/test_batch_put_attributes.rb
173
+ - test/sdb/test_helper.rb
174
+ - test/sdb/test_right_sdb.rb
175
+ - test/sns/test_helper.rb
176
+ - test/sns/test_right_sns.rb
177
+ - test/sqs/test_helper.rb
178
+ - test/sqs/test_right_sqs.rb
179
+ - test/sqs/test_right_sqs_gen2.rb
180
+ - test/test_credentials.rb
181
+ - test/ts_right_aws.rb
182
+ has_rdoc: true
183
+ homepage:
184
+ licenses: []
185
+
186
+ post_install_message:
187
+ rdoc_options:
188
+ - --main
189
+ - README.txt
190
+ - --title
191
+ - ""
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ hash: 57
200
+ segments:
201
+ - 1
202
+ - 8
203
+ - 7
204
+ version: 1.8.7
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ hash: 3
211
+ segments:
212
+ - 0
213
+ version: "0"
214
+ requirements:
215
+ - libxml-ruby >= 0.5.2.0 is encouraged
216
+ rubyforge_project: rightaws
217
+ rubygems_version: 1.6.2
218
+ signing_key:
219
+ specification_version: 3
220
+ summary: Interface classes for the Amazon EC2, SQS, and S3 Web Services
221
+ test_files:
222
+ - test/acf/test_helper.rb
223
+ - test/acf/test_right_acf.rb
224
+ - test/awsbase/test_helper.rb
225
+ - test/awsbase/test_right_awsbase.rb
226
+ - test/ec2/test_helper.rb
227
+ - test/ec2/test_right_ec2.rb
228
+ - test/http_connection.rb
229
+ - test/rds/test_helper.rb
230
+ - test/rds/test_right_rds.rb
231
+ - test/s3/test_helper.rb
232
+ - test/s3/test_right_s3.rb
233
+ - test/s3/test_right_s3_stubbed.rb
234
+ - test/sdb/test_active_sdb.rb
235
+ - test/sdb/test_batch_put_attributes.rb
236
+ - test/sdb/test_helper.rb
237
+ - test/sdb/test_right_sdb.rb
238
+ - test/sns/test_helper.rb
239
+ - test/sns/test_right_sns.rb
240
+ - test/sqs/test_helper.rb
241
+ - test/sqs/test_right_sqs.rb
242
+ - test/sqs/test_right_sqs_gen2.rb
243
+ - test/test_credentials.rb
244
+ - test/ts_right_aws.rb