aboisvert_aws 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +329 -0
- data/Manifest.txt +61 -0
- data/README.txt +163 -0
- data/Rakefile +130 -0
- data/lib/acf/right_acf_interface.rb +549 -0
- data/lib/acf/right_acf_invalidations.rb +144 -0
- data/lib/acf/right_acf_origin_access_identities.rb +230 -0
- data/lib/acf/right_acf_streaming_interface.rb +229 -0
- data/lib/acw/right_acw_interface.rb +248 -0
- data/lib/as/right_as_interface.rb +698 -0
- data/lib/awsbase/benchmark_fix.rb +39 -0
- data/lib/awsbase/right_awsbase.rb +1343 -0
- data/lib/awsbase/support.rb +35 -0
- data/lib/awsbase/version.rb +9 -0
- data/lib/ec2/right_ec2.rb +541 -0
- data/lib/ec2/right_ec2_ebs.rb +481 -0
- data/lib/ec2/right_ec2_images.rb +444 -0
- data/lib/ec2/right_ec2_instances.rb +788 -0
- data/lib/ec2/right_ec2_monitoring.rb +70 -0
- data/lib/ec2/right_ec2_placement_groups.rb +108 -0
- data/lib/ec2/right_ec2_reserved_instances.rb +184 -0
- data/lib/ec2/right_ec2_security_groups.rb +491 -0
- data/lib/ec2/right_ec2_spot_instances.rb +422 -0
- data/lib/ec2/right_ec2_tags.rb +139 -0
- data/lib/ec2/right_ec2_vpc.rb +590 -0
- data/lib/ec2/right_ec2_vpc2.rb +381 -0
- data/lib/ec2/right_ec2_windows_mobility.rb +84 -0
- data/lib/elb/right_elb_interface.rb +573 -0
- data/lib/emr/right_emr_interface.rb +727 -0
- data/lib/iam/right_iam_access_keys.rb +71 -0
- data/lib/iam/right_iam_groups.rb +195 -0
- data/lib/iam/right_iam_interface.rb +341 -0
- data/lib/iam/right_iam_mfa_devices.rb +67 -0
- data/lib/iam/right_iam_users.rb +251 -0
- data/lib/rds/right_rds_interface.rb +1384 -0
- data/lib/right_aws.rb +86 -0
- data/lib/route_53/right_route_53_interface.rb +640 -0
- data/lib/s3/right_s3.rb +1138 -0
- data/lib/s3/right_s3_interface.rb +1278 -0
- data/lib/sdb/active_sdb.rb +1107 -0
- data/lib/sdb/right_sdb_interface.rb +762 -0
- data/lib/sns/right_sns_interface.rb +286 -0
- data/lib/sqs/right_sqs.rb +387 -0
- data/lib/sqs/right_sqs_gen2.rb +342 -0
- data/lib/sqs/right_sqs_gen2_interface.rb +523 -0
- data/lib/sqs/right_sqs_interface.rb +593 -0
- data/right_aws.gemspec +90 -0
- data/test/README.mdown +39 -0
- data/test/acf/test_helper.rb +2 -0
- data/test/acf/test_right_acf.rb +138 -0
- data/test/awsbase/test_helper.rb +2 -0
- data/test/awsbase/test_right_awsbase.rb +11 -0
- data/test/ec2/test_helper.rb +2 -0
- data/test/ec2/test_right_ec2.rb +107 -0
- data/test/elb/test_helper.rb +2 -0
- data/test/elb/test_right_elb.rb +43 -0
- data/test/http_connection.rb +87 -0
- data/test/rds/test_helper.rb +2 -0
- data/test/rds/test_right_rds.rb +120 -0
- data/test/route_53/fixtures/a_record.xml +18 -0
- data/test/route_53/fixtures/alias_record.xml +18 -0
- data/test/route_53/test_helper.rb +2 -0
- data/test/route_53/test_right_route_53.rb +141 -0
- data/test/s3/test_helper.rb +2 -0
- data/test/s3/test_right_s3.rb +528 -0
- data/test/s3/test_right_s3_stubbed.rb +97 -0
- data/test/sdb/test_active_sdb.rb +357 -0
- data/test/sdb/test_batch_put_attributes.rb +54 -0
- data/test/sdb/test_helper.rb +3 -0
- data/test/sdb/test_right_sdb.rb +253 -0
- data/test/sns/test_helper.rb +2 -0
- data/test/sns/test_right_sns.rb +153 -0
- data/test/sqs/test_helper.rb +2 -0
- data/test/sqs/test_right_sqs.rb +285 -0
- data/test/sqs/test_right_sqs_gen2.rb +264 -0
- data/test/test_credentials.rb +37 -0
- data/test/ts_right_aws.rb +15 -0
- metadata +257 -0
data/History.txt
ADDED
@@ -0,0 +1,329 @@
|
|
1
|
+
== 1.1.0 2007-08-10
|
2
|
+
Initial release.
|
3
|
+
|
4
|
+
== 1.2.0 2007-09-12
|
5
|
+
|
6
|
+
* r1718, todd, 2007-09-12 15:34:37
|
7
|
+
* # 458, Extensive documentation review, rework, and expansion. Also added
|
8
|
+
coverage analysis to the test suite using RCov.
|
9
|
+
|
10
|
+
* r1690, todd, 2007-09-07 15:23:11
|
11
|
+
* # 447, Add support.rb to manifest
|
12
|
+
|
13
|
+
* r1688, todd, 2007-09-07 13:57:39
|
14
|
+
* # 447, Use Active Support if available, but don't require it. Load our own
|
15
|
+
extensions if it's not present. This keeps us from overloading ActiveSupport if
|
16
|
+
a user's already using it.
|
17
|
+
|
18
|
+
* r1687, todd, 2007-09-07 11:36:43
|
19
|
+
* # 447, Removed dependency on activesupport
|
20
|
+
|
21
|
+
* r1676, konstantin, 2007-09-06 01:27:09
|
22
|
+
* paid AMIs, small fix
|
23
|
+
|
24
|
+
* r1667, konstantin, 2007-09-05 12:58:10
|
25
|
+
* # 427, paid AMI support for ec2_instances
|
26
|
+
|
27
|
+
* r1658, konstantin, 2007-09-05 01:02:25
|
28
|
+
* params improvements for ec2.describe_xxx, now ones can use a String as well as an Array.
|
29
|
+
|
30
|
+
* r1653, konstantin, 2007-09-04 12:31:19
|
31
|
+
* libxml and paid AMI support added
|
32
|
+
|
33
|
+
* r1581, tve, 2007-08-24 16:21:45
|
34
|
+
* Improved RightAws documentation
|
35
|
+
|
36
|
+
== 1.3.0 2007-09-26
|
37
|
+
|
38
|
+
* r1754, todd, 2007-09-19 13:48:34
|
39
|
+
* # 487, # 488, Consolidate a lot of code that was repeated in three places.
|
40
|
+
Fix error handling path when using streaming GET interfaces with S3.
|
41
|
+
Also add a stub for RightHttpConnection which allows more control over the
|
42
|
+
unit tests. Expand the unit tests and coverage tests.
|
43
|
+
|
44
|
+
* r1755, todd, 2007-09-19 14:29:19
|
45
|
+
* # 487, RDoc fixes after code consolidation
|
46
|
+
|
47
|
+
* r1866, konstantin, 2007-10-05 06:17:36
|
48
|
+
* # 220, close connection on HTTP 5xx/4xx errors
|
49
|
+
|
50
|
+
== 1.4.0 2007-10-10
|
51
|
+
|
52
|
+
* r1868, konstantin, 2007-10-05 06:38:37
|
53
|
+
* # 220, inst_type branch merge into 1.3.0 release
|
54
|
+
|
55
|
+
* r1869, konstantin, 2007-10-05 07:32:34
|
56
|
+
* right_http_connection 1.1.1 requirements fixed
|
57
|
+
|
58
|
+
* r1879, konstantin, 2007-10-07 02:11:24
|
59
|
+
* # 524, blocks added to ec2_describe_xxx to support aws_cache
|
60
|
+
|
61
|
+
* r1924, konstantin, 2007-10-12 11:35:06
|
62
|
+
* # 536, user_data bug fix
|
63
|
+
|
64
|
+
* r1929, tve, 2007-10-15 00:00:11
|
65
|
+
* Fix libxml/rexml selection bug
|
66
|
+
|
67
|
+
* r1938, konstantin, 2007-10-16 10:53:56
|
68
|
+
* instance type support is set to default
|
69
|
+
|
70
|
+
== 1.4.3 2007-10-25
|
71
|
+
|
72
|
+
* r1983, konstantin, 2007-10-25 22:33:00 +0400
|
73
|
+
* Fixed ActiveSupport requirement bug (thanks to Toby)
|
74
|
+
* Fixed HttpConnection logging to stdout bug (thanks to Toby)
|
75
|
+
|
76
|
+
== 1.4.4
|
77
|
+
|
78
|
+
* r1999, tve, 2007-11-01 00:07:00 -0700
|
79
|
+
* Fixed escaping issue affecting key names in S3 gem
|
80
|
+
* Fixed duplicate marker in S3 incremental bucket listing
|
81
|
+
|
82
|
+
* r2001, konstantin, 2007-11-01 12:03:13 +0300
|
83
|
+
* Fixed multiple permissions assignment on Grantee#grant/revoke
|
84
|
+
* Fixed new grantee permissions set ingnore (Grantee#apply)
|
85
|
+
* S3::Grantee#exists? method added
|
86
|
+
|
87
|
+
* r2109, konstantin, 2007-11-12 21:49:36 +0300
|
88
|
+
* RightAwsBaseInterface: caching implemented.
|
89
|
+
(The Ec2 functions are being cached: describe_images, describe_instances,
|
90
|
+
describe_security_groups and describe_key_pairs)
|
91
|
+
|
92
|
+
== 1.4.5 - 1.4.6
|
93
|
+
* r 2619, konstantin, 01-17-08 16:18:36 +0300
|
94
|
+
* S3 Location constraints support added.
|
95
|
+
* Fixed bug with trailing '/' in the bucket name for 'EU' located buckets
|
96
|
+
* Added: S3Interface#bucket_location, S3::Bucket#location
|
97
|
+
|
98
|
+
== 1.4.7
|
99
|
+
* r 2622, konstantin, 01-18-08 13:52:20 +0300
|
100
|
+
* Virtual domains doc added
|
101
|
+
* S3 Query API fixed to support virtual domains.
|
102
|
+
|
103
|
+
== 1.4.8
|
104
|
+
* r 2650, konstantin, 01-24-08 11:12:00 +0300
|
105
|
+
* net_fix.rb moved to right_http_connection
|
106
|
+
|
107
|
+
== 1.5.0
|
108
|
+
* r 2688, konstantin, 02-30-08 15:42:00 +0300
|
109
|
+
* SDB support added.
|
110
|
+
* RightAws::S3::bucket and RightAws::S3::Bucket.create methods behaviour
|
111
|
+
changed: param +create+ is set to +false+ by default.
|
112
|
+
|
113
|
+
== 1.6.0
|
114
|
+
|
115
|
+
* r2780, todd, 2008-02-11 11:41:07 -0800 (Mon, 11 Feb 2008), 4 lines
|
116
|
+
* Some doc updates & tweaks: we now support ultra-large PUTs to S3, small SDB
|
117
|
+
cleanups, add SDB to the list of interfaces in RightAws, update some copyrights,
|
118
|
+
warn about loading attachment_fu AFTER right_aws (big no-no).
|
119
|
+
|
120
|
+
* r2784, todd, 2008-02-11 13:46:47 -0800 (Mon, 11 Feb 2008), 2 lines
|
121
|
+
* One final clarification: you may get a Net::HTTP bad monkey patch exception
|
122
|
+
|
123
|
+
* r2880, todd, 2008-02-25 18:06:22 -0800 (Mon, 25 Feb 2008), 2 lines
|
124
|
+
* Add SQS 'Gen 2' interface implementation
|
125
|
+
|
126
|
+
* r2913, todd, 2008-02-29 16:57:07 -0800 (Fri, 29 Feb 2008), 3 lines
|
127
|
+
* SqsGen2 (object interface), unit tests for both interfaces, documentation updates.
|
128
|
+
|
129
|
+
* r2922, todd, 2008-03-03 15:26:42 -0800 (Mon, 03 Mar 2008), 2 lines
|
130
|
+
* couple of documentation tweaks in prep for 1.6.0
|
131
|
+
|
132
|
+
== 1.6.1
|
133
|
+
|
134
|
+
* r2963, todd, 2008-03-06 19:10:23 -0800 (Thu, 06 Mar 2008), 3 lines
|
135
|
+
* (#950) Many minor fixes in incrementally_list_bucket to prevent a death loop
|
136
|
+
in certain rare conditions
|
137
|
+
|
138
|
+
== 1.7.0
|
139
|
+
|
140
|
+
* r3051, konstantin, 2008-03-14 21:26:12 +0300 (Fri, 14 Mar 2008), 1 line
|
141
|
+
* #897, ActiveSdb alpha release
|
142
|
+
|
143
|
+
== 1.7.1
|
144
|
+
|
145
|
+
Do not autoload right_sdb with the rest of the modules; it requires uuidtools.
|
146
|
+
We want the user to explicly request ActiveSdb, at least as long as it is
|
147
|
+
alpha/beta.
|
148
|
+
|
149
|
+
Fix escaping problem in SqsGen2Interface: POST bodies did not properly escape the '&' character
|
150
|
+
|
151
|
+
== 1.7.2
|
152
|
+
|
153
|
+
Release Notes:
|
154
|
+
|
155
|
+
RightAws includes some new features, including:
|
156
|
+
- Support in RightAws::S3 and RightAws::S3Interface for S3 key copy, move, and rename
|
157
|
+
- Support for signature version 0 request authentication to EC2, SQS, and SDB
|
158
|
+
- Enhanced S3 object meta-header read and update
|
159
|
+
- Interoperability with clouds running Eucalyptus (http://eucalyptus.cs.ucsb.edu)
|
160
|
+
[ Contributed by the Eucalyptus group ]
|
161
|
+
- Support for c1.medium and c1.xlarge instance types
|
162
|
+
|
163
|
+
Bug fixes include:
|
164
|
+
- Corrected the failure, under certain conditions, of retries of streaming PUTs to S3.
|
165
|
+
We now reset the seek pointer of the streaming IO object to its initial position.
|
166
|
+
- Removal of an accidental dependency on ActiveSupport in RightAws::S3Interface.get_link().
|
167
|
+
- Monkey-patch of the Ruby File class on Windows platforms to correct a problem in lstat.
|
168
|
+
The lstat bug was causing failure of very large file uploads on Windows [ Contributed by Benjamin Allfree ]
|
169
|
+
- Fixed parsing of the ETag field for S3 objects
|
170
|
+
|
171
|
+
== 1.7.3
|
172
|
+
|
173
|
+
Release Notes:
|
174
|
+
|
175
|
+
- Removed the 1.7.2 monkey-patch of the Ruby File class on Windows. This patch broke Rails 2.0.
|
176
|
+
The patch is now included in the README for anyone to use at their own risk.
|
177
|
+
|
178
|
+
== 1.8.0
|
179
|
+
|
180
|
+
Release Notes:
|
181
|
+
|
182
|
+
This release adds major new features to RightAws to support Amazon's new
|
183
|
+
Elastic Block Store (EBS). Via the RightAws::Ec2 module, users can create
|
184
|
+
and delete EBS volumes, attach and detach them from instances, snapshot
|
185
|
+
volumes, and list the available volumes and snapshots.
|
186
|
+
|
187
|
+
Bug fixes include correction of RightAws::S3 copy's failure to url-encode
|
188
|
+
the source key.
|
189
|
+
|
190
|
+
== 1.8.1
|
191
|
+
|
192
|
+
Release Notes:
|
193
|
+
|
194
|
+
RightScale::SdbInterface & ::ActiveSdb have several enhancements, including:
|
195
|
+
- RightAws::SdbInterface#last_query_expression added for debug puposes
|
196
|
+
- RightAws::ActiveSdb::Base#query :order and :auto_load options added to support query
|
197
|
+
result sorting and attributes auto loading
|
198
|
+
- RightAws::ActiveSdb::Base#find_all_by_ and find_by_ helpers improved to support
|
199
|
+
:order, :auto_load, :limit and :next_token options
|
200
|
+
- RightAws::SdbInterface#delete_attributes bug fixed
|
201
|
+
- SdbInterface allows specification of a string value to use for
|
202
|
+
representing Ruby nil in SDB.
|
203
|
+
- Sdb tests fixed and improved
|
204
|
+
|
205
|
+
The ::S3 interface now has support for S3's server access logging.
|
206
|
+
Amazon considers server access logging to be a beta or provisional feature.
|
207
|
+
|
208
|
+
=== 1.9.0
|
209
|
+
|
210
|
+
Release Notes:
|
211
|
+
- RightAws::Ec2 now supports Windows instances. Added:
|
212
|
+
- Ec2::get_initial_password
|
213
|
+
- Ec2::bundle_instance
|
214
|
+
- Ec2::describe_bundle_tasks
|
215
|
+
- Ec::cancel_bundle_task
|
216
|
+
|
217
|
+
- Full Amazon CloudFront support added with RightAws::AcfInterface
|
218
|
+
- Bug fixes to S3Interface::store_object_and_verify and
|
219
|
+
S3Interface::retrieve_object_and_verify (thanks to numerous user reports)
|
220
|
+
- Updates to caching for Ec2::describe_images_by methods
|
221
|
+
- Ec2 now has Ec2::last_request_id
|
222
|
+
|
223
|
+
=== 1.10.0
|
224
|
+
|
225
|
+
Release Notes:
|
226
|
+
- AwsBase: signature v2 support added
|
227
|
+
- Ec2: describe_availability_zones improved to support regions
|
228
|
+
- CloudFront: docs fixes
|
229
|
+
- SDB: added: SQL-like query, select and query_with_attributes support
|
230
|
+
- SDB: fixed no method error when searching for id that doesn't exist
|
231
|
+
|
232
|
+
=== 1.11.0
|
233
|
+
|
234
|
+
Release Notes:
|
235
|
+
- Full Amazon RDS instances support added with RightAws::RdsInterface
|
236
|
+
- Boot from EBS support added
|
237
|
+
- VPC support added
|
238
|
+
- Latest EC2 API 2009-10-31 support added
|
239
|
+
- Some of bugs fixed
|
240
|
+
|
241
|
+
=== 2.0.0
|
242
|
+
|
243
|
+
Release Notes:
|
244
|
+
- Added:
|
245
|
+
- Ruby 1.9 support
|
246
|
+
- Ec2:
|
247
|
+
- SpotInstances support
|
248
|
+
- m2.xlarge instances
|
249
|
+
- GetPasswordData API call (see get_password_data_v2)
|
250
|
+
- SecurityGroups support for Eucalyptus clouds
|
251
|
+
- EBS:
|
252
|
+
- :delete_on_termination field for volumes
|
253
|
+
- SimpleDB:
|
254
|
+
- BatchPutAttributes support
|
255
|
+
- ActiveSDB:
|
256
|
+
- Dynamic attribute accessors
|
257
|
+
- "Columns" support
|
258
|
+
- Simple Type Casting support
|
259
|
+
- ELB:
|
260
|
+
- API '2009-11-25' support (stickiness policies)
|
261
|
+
- ACF:
|
262
|
+
- API '2010-03-01' support (origin access policy and streaming distributions)
|
263
|
+
- Bunch of small issues were fixed
|
264
|
+
- Time objects were replaced by Strings (as Amazon returns them) to make the gem more consistent:
|
265
|
+
- :last_modified_time in:
|
266
|
+
RightAws::AcfInterface#incrementally_list_distributions,
|
267
|
+
RightAws::AcfInterface#create_distribution_by_config,
|
268
|
+
RightAws::AcfInterface#get_distribution,
|
269
|
+
RightAws::AcfInterface#get_distribution_config
|
270
|
+
- :timestamp in:
|
271
|
+
RightAws::AcwInterface#get_metric_statistics
|
272
|
+
- :aws_created_at in:
|
273
|
+
RightAws::Ec2#create_volume,
|
274
|
+
RightAws::Ec2#describe_volumes
|
275
|
+
- :aws_attached_at in:
|
276
|
+
RightAws::Ec2#attach_volume,
|
277
|
+
RightAws::Ec2#detach_volume,
|
278
|
+
RightAws::Ec2#describe_volumes
|
279
|
+
- :aws_started_at in:
|
280
|
+
RightAws::Ec2#describe_snapshots,
|
281
|
+
RightAws::Ec2#create_snapshot,
|
282
|
+
RightAws::Ec2#try_create_snapshot
|
283
|
+
- :created_time in:
|
284
|
+
RightAws::ElbInterface#describe_load_balancers
|
285
|
+
|
286
|
+
=== 2.1.0
|
287
|
+
Release Notes:
|
288
|
+
- Added:
|
289
|
+
- Route 53: API '2010-10-01'
|
290
|
+
- ACF: API '2010-11-01'
|
291
|
+
- EC2:
|
292
|
+
- API '2010-08-31'
|
293
|
+
- Port based group permissions support
|
294
|
+
- HPC Support
|
295
|
+
- Tags Suport
|
296
|
+
- ClientToken support added on instance launch
|
297
|
+
- RDS: API "2010-07-28"
|
298
|
+
- ELB: API '2010-07-01' (SSL support)
|
299
|
+
- IAM: API '2010-05-08' (AWS Identity and Access Management interface)
|
300
|
+
- 301 Redirect support added
|
301
|
+
- Removed:
|
302
|
+
- ActiveSupport dependency
|
303
|
+
- SDB: uuid gem dependency
|
304
|
+
- this gem requires right_http_connection 0bc3343232133bdb38c237d8285525d74495d3f5 or later
|
305
|
+
- "Raise On Timeout On Action" feature added to avoid duplicate resources creation if a timeout error occures and a retry is performed
|
306
|
+
|
307
|
+
=== 3.0.0
|
308
|
+
Release Notes:
|
309
|
+
- Fixed/Added:
|
310
|
+
- ClientToken (launch_instances, run_instances) is not used for Eucalyptus clouds
|
311
|
+
- VPC2, stage1. Next methods were updated:
|
312
|
+
- associate_address, modify_security_group, create_security_group, create_vpc, delete_security_group,
|
313
|
+
describe_addresses, describe_images, describe_instance_attribute, describe_regions, describe_reserved_instances_offerings,
|
314
|
+
describe_security_groups, describe_snapshots, describe_spot_instance_requests, describe_spot_price_history,
|
315
|
+
describe_vpcs, disassociate_address, modify_image_attribute, modify_snapshot_attribute, release_address,
|
316
|
+
request_spot_instances, stop_instances
|
317
|
+
- EC2: ClientToken (launch_instances, run_instances) is not used for Eucalyptus clouds
|
318
|
+
- RDS:
|
319
|
+
- RDS: API 2011-04-01
|
320
|
+
- Make :instance_class param more consistent: :db_instance_class --> :instance_class
|
321
|
+
- Issue 53: regression in latest master version of right_rds_interface
|
322
|
+
- Issue 73: Can't get list of instances with RdsInterface
|
323
|
+
- EBS: Issue 54: regression in right_ec2_ebs.rb
|
324
|
+
- Add the port number with server name in the v2 signature string if it is not the RFC standard number (author: unakatsuo).
|
325
|
+
- EMR (Elastic Map Reduce) support
|
326
|
+
- SNS (Simple Notification Service) support
|
327
|
+
- SDB: ConsistentRead support
|
328
|
+
- bunch of micro bugs
|
329
|
+
|
data/Manifest.txt
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
History.txt
|
2
|
+
Manifest.txt
|
3
|
+
README.txt
|
4
|
+
Rakefile
|
5
|
+
lib/awsbase/support.rb
|
6
|
+
lib/awsbase/benchmark_fix.rb
|
7
|
+
lib/awsbase/right_awsbase.rb
|
8
|
+
lib/ec2/right_ec2.rb
|
9
|
+
lib/ec2/right_ec2_images.rb
|
10
|
+
lib/ec2/right_ec2_instances.rb
|
11
|
+
lib/ec2/right_ec2_security_groups.rb
|
12
|
+
lib/ec2/right_ec2_spot_instances.rb
|
13
|
+
lib/ec2/right_ec2_ebs.rb
|
14
|
+
lib/ec2/right_ec2_reserved_instances.rb
|
15
|
+
lib/ec2/right_ec2_vpc.rb
|
16
|
+
lib/ec2/right_ec2_vpc2.rb
|
17
|
+
lib/ec2/right_ec2_monitoring.rb
|
18
|
+
lib/ec2/right_ec2_placement_groups.rb
|
19
|
+
lib/ec2/right_ec2_windows_mobility.rb
|
20
|
+
lib/ec2/right_ec2_tags.rb
|
21
|
+
lib/right_aws.rb
|
22
|
+
lib/s3/right_s3.rb
|
23
|
+
lib/acw/right_acw_interface.rb
|
24
|
+
lib/elb/right_elb_interface.rb
|
25
|
+
lib/as/right_as_interface.rb
|
26
|
+
lib/s3/right_s3_interface.rb
|
27
|
+
lib/sdb/active_sdb.rb
|
28
|
+
lib/sdb/right_sdb_interface.rb
|
29
|
+
lib/sqs/right_sqs.rb
|
30
|
+
lib/sqs/right_sqs_gen2.rb
|
31
|
+
lib/sqs/right_sqs_gen2_interface.rb
|
32
|
+
lib/sqs/right_sqs_interface.rb
|
33
|
+
lib/acf/right_acf_interface.rb
|
34
|
+
lib/acf/right_acf_streaming_interface.rb
|
35
|
+
lib/acf/right_acf_origin_access_identities.rb
|
36
|
+
lib/acf/right_acf_invalidations.rb
|
37
|
+
lib/rds/right_rds_interface.rb
|
38
|
+
lib/iam/right_iam_interface.rb
|
39
|
+
lib/iam/right_iam_groups.rb
|
40
|
+
lib/iam/right_iam_users.rb
|
41
|
+
lib/iam/right_iam_access_keys.rb
|
42
|
+
lib/iam/right_iam_mfa_devices.rb
|
43
|
+
lib/route_53/right_route_53_interface.rb
|
44
|
+
test/ec2/test_helper.rb
|
45
|
+
test/ec2/test_right_ec2.rb
|
46
|
+
test/http_connection.rb
|
47
|
+
test/s3/test_helper.rb
|
48
|
+
test/s3/test_right_s3.rb
|
49
|
+
test/s3/test_right_s3_stubbed.rb
|
50
|
+
test/sdb/test_active_sdb.rb
|
51
|
+
test/sdb/test_helper.rb
|
52
|
+
test/sdb/test_right_sdb.rb
|
53
|
+
test/sqs/test_helper.rb
|
54
|
+
test/sqs/test_right_sqs.rb
|
55
|
+
test/sqs/test_right_sqs_gen2.rb
|
56
|
+
test/test_credentials.rb
|
57
|
+
test/ts_right_aws.rb
|
58
|
+
test/acf/test_helper.rb
|
59
|
+
test/acf/test_right_acf.rb
|
60
|
+
test/rds/test_helper.rb
|
61
|
+
test/rds/test_right_rds.rb
|
data/README.txt
ADDED
@@ -0,0 +1,163 @@
|
|
1
|
+
= RightScale Amazon Web Services Ruby Gems
|
2
|
+
|
3
|
+
Published by RightScale, Inc. under the MIT License.
|
4
|
+
For information about RightScale, see http://www.rightscale.com
|
5
|
+
|
6
|
+
== DESCRIPTION:
|
7
|
+
|
8
|
+
The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront.
|
9
|
+
These gems have been used in production by RightScale since late 2006 and are being maintained to track enhancements made by Amazon.
|
10
|
+
The RightScale AWS gems comprise:
|
11
|
+
|
12
|
+
- RightAws::Ec2 -- interface to Amazon EC2 (Elastic Compute Cloud), VPC (Virtual Private Cloud) and the associated EBS (Elastic Block Store)
|
13
|
+
- RightAws::S3 and RightAws::S3Interface -- interface to Amazon S3 (Simple Storage Service)
|
14
|
+
- RightAws::Sqs and RightAws::SqsInterface -- interface to first-generation Amazon SQS (Simple Queue Service)
|
15
|
+
- RightAws::SqsGen2 and RightAws::SqsGen2Interface -- interface to second-generation Amazon SQS (Simple Queue Service)
|
16
|
+
- RightAws::SdbInterface and RightAws::ActiveSdb -- interface to Amazon SDB (SimpleDB)
|
17
|
+
- RightAws::AcfInterface -- interface to Amazon CloudFront, a content distribution service
|
18
|
+
- RightAws::AsInterface -- interface to Amazon Auto Scaling
|
19
|
+
- RightAws::AcwInterface -- interface to Amazon Cloud Watch
|
20
|
+
- RightAws::ElbInterface -- interface to Amazon Elastic Load Balancer
|
21
|
+
- RightAws::RdsInterface -- interface to Amazon RDS instances
|
22
|
+
|
23
|
+
== FEATURES:
|
24
|
+
|
25
|
+
- Full programmmatic access to EC2, EBS, S3, SQS, SDB, CloudFront, AS, ACW, ELB and RDS.
|
26
|
+
- Complete error handling: all operations check for errors and report complete
|
27
|
+
error information by raising an AwsError.
|
28
|
+
- Persistent HTTP connections with robust network-level retry layer using
|
29
|
+
RightHttpConnection). This includes socket timeouts and retries.
|
30
|
+
- Robust HTTP-level retry layer. Certain (user-adjustable) HTTP errors returned
|
31
|
+
by Amazon's services are classified as temporary errors.
|
32
|
+
These errors are automaticallly retried using exponentially increasing intervals.
|
33
|
+
The number of retries is user-configurable.
|
34
|
+
- Fast REXML-based parsing of responses (as fast as a pure Ruby solution allows).
|
35
|
+
- Uses libxml (if available) for faster response parsing.
|
36
|
+
- Support for large S3 list operations. Buckets and key subfolders containing
|
37
|
+
many (> 1000) keys are listed in entirety. Operations based on list (like
|
38
|
+
bucket clear) work on arbitrary numbers of keys.
|
39
|
+
- Support for streaming GETs from S3, and streaming PUTs to S3 if the data source is a file.
|
40
|
+
- Support for single-threaded usage, multithreaded usage, as well as usage with multiple
|
41
|
+
AWS accounts.
|
42
|
+
- Support for both first- and second-generation SQS (API versions 2007-05-01
|
43
|
+
and 2008-01-01). These versions of SQS are not compatible.
|
44
|
+
- Support for signature versions 0 and 1 on SQS, SDB, and EC2.
|
45
|
+
- Interoperability with any cloud running Eucalyptus (http://eucalyptus.cs.ucsb.edu)
|
46
|
+
- Test suite (requires AWS account to do "live" testing).
|
47
|
+
|
48
|
+
== THREADING:
|
49
|
+
|
50
|
+
All RightScale AWS interfaces offer two threading options:
|
51
|
+
1. Use a single persistent HTTP connection per process.
|
52
|
+
2. Use a persistent HTTP connection per Ruby thread.
|
53
|
+
|
54
|
+
Either way, it doesn't matter how many (for example) RightAws::S3 objects you create,
|
55
|
+
they all use the same per-program or per-thread
|
56
|
+
connection. The purpose of sharing the connection is to keep a single
|
57
|
+
persistent HTTP connection open to avoid paying connection
|
58
|
+
overhead on every request. However, if you have multiple concurrent
|
59
|
+
threads, you may want or need an HTTP connection per thread to enable
|
60
|
+
concurrent requests to AWS. The way this plays out in practice is:
|
61
|
+
1. If you have a non-multithreaded Ruby program, use the non-multithreaded setting.
|
62
|
+
2. If you have a multi-threaded Ruby program, use the multithreaded setting to enable
|
63
|
+
concurrent requests to S3 (or SQS, or SDB, or EC2).
|
64
|
+
3. For running under Mongrel/Rails, use the non-multithreaded setting even though
|
65
|
+
mongrel is multithreaded. This is because only one Rails handler is invoked at
|
66
|
+
time (i.e. it acts like a single-threaded program)
|
67
|
+
|
68
|
+
Note that due to limitations in the I/O of the Ruby interpreter you
|
69
|
+
may not get the degree of parallelism you may expect with the multi-threaded setting.
|
70
|
+
|
71
|
+
== GETTING STARTED:
|
72
|
+
|
73
|
+
* For EC2 read RightAws::Ec2 and consult the Amazon EC2 API documentation at
|
74
|
+
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=87
|
75
|
+
* For S3 read RightAws::S3 and consult the Amazon S3 API documentation at
|
76
|
+
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=48
|
77
|
+
* For first generation SQS read RightAws::Sqs and consult the Amazon SQS API documentation at
|
78
|
+
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=31
|
79
|
+
* For second generation SQS read RightAws::SqsGen2, RightAws::SqsGen2Interface, and consult the Amazon SQS API documentation at
|
80
|
+
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1214&categoryID=31
|
81
|
+
|
82
|
+
Amazon's Migration Guide for moving from first to second generation SQS is
|
83
|
+
avalable at:
|
84
|
+
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1148
|
85
|
+
* For SDB read RightAws::SdbInterface, RightAws::ActiveSdb, and consult the Amazon SDB API documentation at
|
86
|
+
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=141
|
87
|
+
* For CloudFront (ACF) read RightAws::AcfInterface and consult the Amazon CloudFront API documentation at
|
88
|
+
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=213
|
89
|
+
|
90
|
+
== KNOWN ISSUES:
|
91
|
+
|
92
|
+
- 7/08: A user has reported that uploads of large files on Windows may be broken on some
|
93
|
+
Win platforms due to a buggy File.lstat.size. Use the following monkey-patch at your own risk,
|
94
|
+
as it has been proven to break Rails 2.0 on Windows:
|
95
|
+
|
96
|
+
require 'win32/file'
|
97
|
+
class File
|
98
|
+
def lstat
|
99
|
+
self.stat
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
- Attempting to use the Gibberish plugin (used by the Beast forum app)
|
105
|
+
will break right_aws as well as lots of other code. Gibberish
|
106
|
+
changes the semantics of core Ruby (specifically, the String class) and thus presents a reliability
|
107
|
+
problem for most Ruby programs.
|
108
|
+
|
109
|
+
- 2/11/08: If you use RightAws in conjunction with attachment_fu, the
|
110
|
+
right_aws gem must be included (using the require statement) AFTER
|
111
|
+
attachment_fu. If right_aws is loaded before attachment_fu, you'll
|
112
|
+
encounter errors similar to:
|
113
|
+
|
114
|
+
s3.amazonaws.com temporarily unavailable: (wrong number of arguments (5 for 4))
|
115
|
+
|
116
|
+
or
|
117
|
+
|
118
|
+
'incompatible Net::HTTP monkey-patch'
|
119
|
+
|
120
|
+
This is due to a conflict between the right_http_connection gem and another
|
121
|
+
gem required by attachment_fu.
|
122
|
+
|
123
|
+
- 8/07: Amazon has changed the semantics of the SQS service. A
|
124
|
+
new queue may not be created within 60 seconds of the destruction of any
|
125
|
+
older queue with the same name. Certain methods of RightAws::Sqs and
|
126
|
+
RightAws::SqsInterface will fail with the message:
|
127
|
+
"AWS.SimpleQueueService.QueueDeletedRecently: You must wait 60 seconds after deleting a queue before you can create another with the same name."
|
128
|
+
|
129
|
+
== REQUIREMENTS:
|
130
|
+
|
131
|
+
RightAws requires REXML and the right_http_connection gem.
|
132
|
+
If libxml and its Ruby bindings (distributed in the libxml-ruby gem) are
|
133
|
+
present, RightAws can be configured to use them:
|
134
|
+
RightAws::RightAWSParser.xml_lib = 'libxml'
|
135
|
+
Any error with the libxml installation will result in RightAws failing-safe to
|
136
|
+
REXML parsing.
|
137
|
+
|
138
|
+
== INSTALL:
|
139
|
+
|
140
|
+
sudo gem install right_aws
|
141
|
+
|
142
|
+
== LICENSE:
|
143
|
+
|
144
|
+
Copyright (c) 2007-2009 RightScale, Inc.
|
145
|
+
|
146
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
147
|
+
a copy of this software and associated documentation files (the
|
148
|
+
'Software'), to deal in the Software without restriction, including
|
149
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
150
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
151
|
+
permit persons to whom the Software is furnished to do so, subject to
|
152
|
+
the following conditions:
|
153
|
+
|
154
|
+
The above copyright notice and this permission notice shall be
|
155
|
+
included in all copies or substantial portions of the Software.
|
156
|
+
|
157
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
158
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
159
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
160
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
161
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
162
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
163
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|