amazon-ec2 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +115 -2
- data/License.txt +20 -0
- data/Manifest.txt +10 -6
- data/Rakefile +87 -12
- data/examples/ec2-example.rb +3 -0
- data/lib/EC2.rb +1 -1
- data/lib/EC2/image_attributes.rb +1 -1
- data/lib/EC2/images.rb +1 -1
- data/lib/EC2/instances.rb +1 -1
- data/lib/EC2/keypairs.rb +1 -1
- data/lib/EC2/responses.rb +1 -1
- data/lib/EC2/security_groups.rb +1 -1
- data/lib/EC2/version.rb +1 -1
- data/scripts/txt2html +67 -0
- data/test/{test_ec2.rb → test_EC2.rb} +3 -1
- data/test/test_helper.rb +6 -4
- data/test/test_responses.rb +1 -0
- data/website/index.html +260 -0
- data/website/index.txt +173 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +129 -0
- data/website/template.rhtml +55 -0
- metadata +19 -20
- data/CHANGELOG.txt +0 -116
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: amazon-ec2
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.0.8
|
7
|
+
date: 2007-05-30 00:00:00 -07:00
|
8
8
|
summary: An interface library that allows Ruby or Ruby on Rails applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate server instances.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,12 +30,12 @@ authors:
|
|
30
30
|
- Amazon Web Services LLC
|
31
31
|
- Glenn Rempe
|
32
32
|
files:
|
33
|
+
- examples/ec2-example.rb
|
33
34
|
- History.txt
|
35
|
+
- License.txt
|
34
36
|
- Manifest.txt
|
35
37
|
- README.txt
|
36
|
-
- CHANGELOG.txt
|
37
38
|
- Rakefile
|
38
|
-
- setup.rb
|
39
39
|
- lib/EC2.rb
|
40
40
|
- lib/EC2/version.rb
|
41
41
|
- lib/EC2/responses.rb
|
@@ -44,16 +44,24 @@ files:
|
|
44
44
|
- lib/EC2/keypairs.rb
|
45
45
|
- lib/EC2/image_attributes.rb
|
46
46
|
- lib/EC2/security_groups.rb
|
47
|
-
-
|
47
|
+
- scripts/txt2html
|
48
|
+
- setup.rb
|
49
|
+
- test/test_EC2.rb
|
50
|
+
- test/test_helper.rb
|
51
|
+
- test/test_responses.rb
|
52
|
+
- website/index.html
|
53
|
+
- website/index.txt
|
54
|
+
- website/javascripts/rounded_corners_lite.inc.js
|
55
|
+
- website/stylesheets/screen.css
|
56
|
+
- website/template.rhtml
|
57
|
+
test_files:
|
58
|
+
- test/test_EC2.rb
|
48
59
|
- test/test_helper.rb
|
49
60
|
- test/test_responses.rb
|
50
|
-
- examples/ec2-example.rb
|
51
|
-
test_files: []
|
52
|
-
|
53
61
|
rdoc_options:
|
54
62
|
- --quiet
|
55
63
|
- --title
|
56
|
-
-
|
64
|
+
- Amazon EC2 documentation
|
57
65
|
- --opname
|
58
66
|
- index.html
|
59
67
|
- --line-numbers
|
@@ -63,20 +71,11 @@ rdoc_options:
|
|
63
71
|
extra_rdoc_files:
|
64
72
|
- README.txt
|
65
73
|
- History.txt
|
66
|
-
- CHANGELOG.txt
|
67
74
|
executables: []
|
68
75
|
|
69
76
|
extensions: []
|
70
77
|
|
71
78
|
requirements: []
|
72
79
|
|
73
|
-
dependencies:
|
74
|
-
|
75
|
-
name: hoe
|
76
|
-
version_requirement:
|
77
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: 1.2.0
|
82
|
-
version:
|
80
|
+
dependencies: []
|
81
|
+
|
data/CHANGELOG.txt
DELETED
@@ -1,116 +0,0 @@
|
|
1
|
-
=CHANGELOG.txt : Amazon Elastic Compute Cloud (EC2) Ruby Gem
|
2
|
-
|
3
|
-
|
4
|
-
===0.0.7 (03/15/2007)
|
5
|
-
* Applied patch from Kevin Clark which does the following:
|
6
|
-
* New method to the instances.rb to allow for issuing a reboot command to an EC2 instance.
|
7
|
-
* New Mocha based tests (Mocha test suite must be installed to run tests. 'sudo gem install mocha')
|
8
|
-
* Cleanup of the test directory.
|
9
|
-
* Applied patch from Randy Bias related to CGI escaping error. From his notes:
|
10
|
-
|
11
|
-
I finally figured out what was going on. It was a compound problem. The first being that you can't CGI::encode the UserData early. You have to just Base64 encode it. Unfortunately, when you Base64 encode it, it means that some encodings will be padded with extra chars, specifically the '=', but &, ? and = get stripped by EC2.canonial_string. So if a Base64 encoding has trailing ='s for padding, these get stripped and then you sign the UserData Base64 payload sans the padding. But it looks like Amazon's side is doing the right thing and is signing the padding. So, the signatures mis-match.
|
12
|
-
|
13
|
-
I've got the complete patch here and it's about as elegant/clean as I could make it in a short period of time. It's a little tough to strip those equal signs when there are so many in the URI. I think this works pretty well, though. I'm splitting the URI on '&', then for each field ripping out all '&' and '?' and only the first '='. Then stitching it back together.
|
14
|
-
|
15
|
-
|
16
|
-
===0.0.6 (03/02/2007)
|
17
|
-
* Patched instances.rb with a bugfix and patch provided by Randy Bias (Thanks Randy!).
|
18
|
-
Only minimally tested so please let me know if this causes any problems for anyone.
|
19
|
-
|
20
|
-
From his notes:
|
21
|
-
I wanted to let you know that there appears to be a bug in how user data is passed. In
|
22
|
-
instances.rb the line that creates the base64 encoded package of user data is as follows:
|
23
|
-
|
24
|
-
userData = CGI::escape(Base64.encode64(in_params[:userData]).strip())
|
25
|
-
|
26
|
-
This may have worked prior, but at least right now the
|
27
|
-
CGI::escape appears to cause a breakage. More specifically it
|
28
|
-
turns something like this (the actual base64 encoded string):
|
29
|
-
|
30
|
-
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
|
31
|
-
eHh4eHh4eHh4eHh4eHh4eHh4eHgg
|
32
|
-
|
33
|
-
Into this:
|
34
|
-
|
35
|
-
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh%
|
36
|
-
0AeHh4eHh4eHh4eHh4eHh4eHh4eHgg
|
37
|
-
|
38
|
-
And it looks like EC2 chokes on the %0, which is CGI::escape's
|
39
|
-
way for handling an EOL. Unfortunately, the Base64.encode64 (at
|
40
|
-
least in my 1.8.5 version of Ruby) inserts a EOL at every 47 chars,
|
41
|
-
no matter what:
|
42
|
-
|
43
|
-
---
|
44
|
-
[randyb@master randyb] cat /tmp/foo.rb
|
45
|
-
#!/usr/bin/env ruby
|
46
|
-
#
|
47
|
-
require 'rubygems'
|
48
|
-
require_gem 'amazon-ec2'
|
49
|
-
require 'getoptlong'
|
50
|
-
puts Base64.encode64
|
51
|
-
("012345678901234567890123456789012345678901234567890123456789")
|
52
|
-
|
53
|
-
[randyb@master randyb] /tmp/foo.rb
|
54
|
-
MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0
|
55
|
-
NTY3ODkwMTIzNDU2Nzg5
|
56
|
-
---
|
57
|
-
|
58
|
-
The best way to handle this is to strip the CRLFs/EOLs before passing to CGI.escape.
|
59
|
-
|
60
|
-
|
61
|
-
===0.0.5 (12/21/2006)
|
62
|
-
* Changes to home page documentation and example files to indicate that you
|
63
|
-
should use 'require_gem' instead of a simple require. Not sure if this
|
64
|
-
is a result of something I am doing in the packaging of the gem that is
|
65
|
-
incorrect or if this is right and proper. I will investigate further.
|
66
|
-
* Patched instances.rb run_instances method to allow for submission of
|
67
|
-
user data with the command to start an instance. Patch submitted
|
68
|
-
anonymously on RubyForge. This had not been functionally implemented
|
69
|
-
in the Amazon Web Services sample library prior to this patch.
|
70
|
-
* Added simple framework for adding unit tests for the library under test dir.
|
71
|
-
No functional unit tests exist yet.
|
72
|
-
|
73
|
-
===0.0.4 (12/21/2006)
|
74
|
-
* Applied patch from Kevin Clark to svn version 7. Thanks for the
|
75
|
-
patch and the description Kevin! Please report if you
|
76
|
-
encounter any issues with this patched version. Here is Kevin's
|
77
|
-
description which I requested : "It helps me to think of modules as boxes full of classes and
|
78
|
-
methods. REXML is a module which holds various classes related to parsing XML
|
79
|
-
including REXML::Node, REXML::Document and REXML::XPath. When you
|
80
|
-
include a module it takes everything out of the box and places it in
|
81
|
-
the local context. So, when you include REXML in the global namespace
|
82
|
-
on line 27 of EC2.rb, it includes classes called Node, Document and XPath in the
|
83
|
-
global object space. This means that I can't have a class called Node
|
84
|
-
in my own project (which I do). The library would be a much better
|
85
|
-
neighbor if it instead accessed the REXML::Document and REXML::XPath
|
86
|
-
classes explicitly through the module."
|
87
|
-
|
88
|
-
===0.0.3 (12/16/2006)
|
89
|
-
* API CHANGE : Changed method name 'authorize' to 'authorize_security_group_ingress' to ensure consistent
|
90
|
-
naming of Ruby library methods to match AWS EC2 API actions. Alias to 'authorize' for backwards compatibility.
|
91
|
-
* API CHANGE : Changed method name 'revoke' to 'revoke_security_group_ingress' to ensure consistent
|
92
|
-
naming of Ruby library methods to match AWS EC2 API actions. Alias to 'revoke' for backwards compatibility.
|
93
|
-
* API CHANGE : Changed method name 'delete_securitygroup' to 'delete_security_group' to ensure consistent
|
94
|
-
naming of Ruby library methods to match AWS EC2 API actions. Alias to 'delete_securitygroup' for backwards compatibility.
|
95
|
-
* API CHANGE : Changed method name 'describe_securitygroups' to 'describe_security_group' to ensure consistent
|
96
|
-
naming of Ruby library methods to match AWS EC2 API actions. Alias to 'describe_securitygroups' for backwards compatibility.
|
97
|
-
* API CHANGE : Changed method name 'create_securitygroup' to 'create_security_group' to ensure consistent
|
98
|
-
naming of Ruby library methods to match AWS EC2 API actions. Alias to 'create_securitygroup' for backwards compatibility.
|
99
|
-
* Added many API rdoc's, some method descriptions copied from Amazon Query API Developer Guide.
|
100
|
-
* Extracted some parts of the formerly monolithic EC2 library out into separate files for manageability.
|
101
|
-
* Changed the HTTP 'User-Agent' string used for each request so that we have our own user agent
|
102
|
-
to identify this library's calls. Now set the version # in the user agent string based on the
|
103
|
-
master version number for this library which is stored in lib/EC2/version.rb and should only
|
104
|
-
be defined in one place.
|
105
|
-
* Set @http.verify_mode = OpenSSL::SSL::VERIFY_NONE to avoid seeing SSL Cert warning
|
106
|
-
"warning: peer certificate won't be verified in this SSL session". File EC2.rb:96
|
107
|
-
* Make 'pathlist' utility method a private method (EC2.rb:111). No reason I can see for this to be exposed.
|
108
|
-
|
109
|
-
===0.0.2 (12/14/2006)
|
110
|
-
* Bugfix in run_instances method. Method works now. Patch submitted by Stephen Caudill on AWS forums. Thanks!
|
111
|
-
|
112
|
-
===0.0.1 (12/13/2006)
|
113
|
-
* Initial release of the Ruby Gem. This includes the version of the library exactly as provided by
|
114
|
-
Amazon Web Services as example code. No changes or enhancements to that code were made other than
|
115
|
-
packaging it as a Ruby Gem.
|
116
|
-
* RubyForge project created. http://amazon-ec2.rubyforge.org
|