amazon-ec2 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/License.txt +1 -1
- data/Manifest.txt +2 -0
- data/bin/ec2-gem-example.rb +1 -1
- data/bin/ec2sh +1 -1
- data/bin/setup.rb +1 -1
- data/lib/EC2.rb +2 -2
- data/lib/EC2/console.rb +1 -1
- data/lib/EC2/elastic_ips.rb +153 -0
- data/lib/EC2/exceptions.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/products.rb +1 -1
- data/lib/EC2/responses.rb +1 -1
- data/lib/EC2/security_groups.rb +1 -1
- data/lib/EC2/version.rb +2 -2
- data/script/destroy +0 -0
- data/script/generate +0 -0
- data/script/txt2html +0 -0
- data/test/test_EC2.rb +1 -1
- data/test/test_EC2_console.rb +1 -1
- data/test/test_EC2_elastic_ips.rb +144 -0
- data/test/test_EC2_image_attributes.rb +1 -1
- data/test/test_EC2_images.rb +1 -1
- data/test/test_EC2_instances.rb +1 -1
- data/test/test_EC2_keypairs.rb +1 -1
- data/test/test_EC2_products.rb +1 -1
- data/test/test_EC2_responses.rb +1 -1
- data/test/test_EC2_security_groups.rb +1 -1
- data/test/test_EC2_version.rb +2 -2
- data/test/test_helper.rb +1 -1
- data/website/index.html +6 -3
- data/website/index.txt +3 -1
- metadata +6 -3
data/History.txt
CHANGED
data/License.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -10,6 +10,7 @@ config/hoe.rb
|
|
10
10
|
config/requirements.rb
|
11
11
|
lib/EC2.rb
|
12
12
|
lib/EC2/console.rb
|
13
|
+
lib/EC2/elastic_ips.rb
|
13
14
|
lib/EC2/exceptions.rb
|
14
15
|
lib/EC2/image_attributes.rb
|
15
16
|
lib/EC2/images.rb
|
@@ -28,6 +29,7 @@ tasks/environment.rake
|
|
28
29
|
tasks/website.rake
|
29
30
|
test/test_EC2.rb
|
30
31
|
test/test_EC2_console.rb
|
32
|
+
test/test_EC2_elastic_ips.rb
|
31
33
|
test/test_EC2_image_attributes.rb
|
32
34
|
test/test_EC2_images.rb
|
33
35
|
test/test_EC2_instances.rb
|
data/bin/ec2-gem-example.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# Ruby Gem Name:: amazon-ec2
|
6
6
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
7
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
7
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
8
8
|
# License:: Distributes under the same terms as Ruby
|
9
9
|
# Home:: http://amazon-ec2.rubyforge.org
|
10
10
|
#++
|
data/bin/ec2sh
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# Ruby Gem Name:: amazon-ec2
|
6
6
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
7
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
7
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
8
8
|
# License:: Distributes under the same terms as Ruby
|
9
9
|
# Home:: http://amazon-ec2.rubyforge.org
|
10
10
|
#++
|
data/bin/setup.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# Ruby Gem Name:: amazon-ec2
|
6
6
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
7
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
7
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
8
8
|
# License:: Distributes under the same terms as Ruby
|
9
9
|
# Home:: http://amazon-ec2.rubyforge.org
|
10
10
|
#++
|
data/lib/EC2.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -22,7 +22,7 @@ module EC2
|
|
22
22
|
DEFAULT_HOST = 'ec2.amazonaws.com'
|
23
23
|
|
24
24
|
# This is the version of the API as defined by Amazon Web Services
|
25
|
-
API_VERSION = '
|
25
|
+
API_VERSION = '2008-02-01'
|
26
26
|
|
27
27
|
# This release version is passed in with each request as part
|
28
28
|
# of the HTTP 'User-Agent' header. Set this be the same value
|
data/lib/EC2/console.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -0,0 +1,153 @@
|
|
1
|
+
#--
|
2
|
+
# Amazon Web Services EC2 Query API Ruby library
|
3
|
+
#
|
4
|
+
# Ruby Gem Name:: amazon-ec2
|
5
|
+
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
|
+
# License:: Distributes under the same terms as Ruby
|
8
|
+
# Home:: http://amazon-ec2.rubyforge.org
|
9
|
+
#++
|
10
|
+
|
11
|
+
module EC2
|
12
|
+
|
13
|
+
class Base
|
14
|
+
|
15
|
+
|
16
|
+
#Amazon Developer Guide Docs:
|
17
|
+
#
|
18
|
+
# The AllocateAddress operation acquires an elastic IP address for use with your account.
|
19
|
+
#
|
20
|
+
#Required Arguments:
|
21
|
+
#
|
22
|
+
# none
|
23
|
+
#
|
24
|
+
#Optional Arguments:
|
25
|
+
#
|
26
|
+
# none
|
27
|
+
#
|
28
|
+
def allocate_address
|
29
|
+
|
30
|
+
return response_generator(:action => "AllocateAddress")
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
#Amazon Developer Guide Docs:
|
35
|
+
#
|
36
|
+
# The DescribeAddresses operation lists elastic IP addresses assigned to your account.
|
37
|
+
#
|
38
|
+
#Required Arguments:
|
39
|
+
#
|
40
|
+
# :public_ip => Array (default : [], can be empty)
|
41
|
+
#
|
42
|
+
#Optional Arguments:
|
43
|
+
#
|
44
|
+
# none
|
45
|
+
#
|
46
|
+
def describe_addresses( options = {} )
|
47
|
+
|
48
|
+
options = { :public_ip => [] }.merge(options)
|
49
|
+
|
50
|
+
params = pathlist("PublicIp", options[:public_ip])
|
51
|
+
|
52
|
+
return response_generator(:action => "DescribeAddresses", :params => params)
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
#Amazon Developer Guide Docs:
|
57
|
+
#
|
58
|
+
# The ReleaseAddress operation releases an elastic IP address associated with your account.
|
59
|
+
#
|
60
|
+
# If you run this operation on an elastic IP address that is already released, the address
|
61
|
+
# might be assigned to another account which will cause Amazon EC2 to return an error.
|
62
|
+
#
|
63
|
+
# Note : Releasing an IP address automatically disassociates it from any instance
|
64
|
+
# with which it is associated. For more information, see DisassociateAddress.
|
65
|
+
#
|
66
|
+
# Important! After releasing an elastic IP address, it is released to the IP
|
67
|
+
# address pool and might no longer be available to your account. Make sure
|
68
|
+
# to update your DNS records and any servers or devices that communicate
|
69
|
+
# with the address.
|
70
|
+
#
|
71
|
+
#Required Arguments:
|
72
|
+
#
|
73
|
+
# :public_ip => String (default : '')
|
74
|
+
#
|
75
|
+
#Optional Arguments:
|
76
|
+
#
|
77
|
+
# none
|
78
|
+
#
|
79
|
+
def release_address( options = {} )
|
80
|
+
|
81
|
+
options = { :public_ip => '' }.merge(options)
|
82
|
+
|
83
|
+
raise ArgumentError, "No ':public_ip' provided" if options[:public_ip].nil? || options[:public_ip].empty?
|
84
|
+
|
85
|
+
params = { "PublicIp" => options[:public_ip] }
|
86
|
+
|
87
|
+
return response_generator(:action => "ReleaseAddress", :params => params)
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
#Amazon Developer Guide Docs:
|
92
|
+
#
|
93
|
+
# The AssociateAddress operation associates an elastic IP address with an instance.
|
94
|
+
#
|
95
|
+
# If the IP address is currently assigned to another instance, the IP address
|
96
|
+
# is assigned to the new instance. This is an idempotent operation. If you enter
|
97
|
+
# it more than once, Amazon EC2 does not return an error.
|
98
|
+
#
|
99
|
+
#Required Arguments:
|
100
|
+
#
|
101
|
+
# :instance_id => String (default : '')
|
102
|
+
# :public_ip => String (default : '')
|
103
|
+
#
|
104
|
+
#Optional Arguments:
|
105
|
+
#
|
106
|
+
# none
|
107
|
+
#
|
108
|
+
def associate_address( options = {} )
|
109
|
+
|
110
|
+
options = { :instance_id => '', :public_ip => '' }.merge(options)
|
111
|
+
|
112
|
+
raise ArgumentError, "No ':instance_id' provided" if options[:instance_id].nil? || options[:instance_id].empty?
|
113
|
+
raise ArgumentError, "No ':public_ip' provided" if options[:public_ip].nil? || options[:public_ip].empty?
|
114
|
+
|
115
|
+
params = {
|
116
|
+
"InstanceId" => options[:instance_id],
|
117
|
+
"PublicIp" => options[:public_ip]
|
118
|
+
}
|
119
|
+
|
120
|
+
return response_generator(:action => "AssociateAddress", :params => params)
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
#Amazon Developer Guide Docs:
|
125
|
+
#
|
126
|
+
# The DisassociateAddress operation disassociates the specified elastic IP
|
127
|
+
# address from the instance to which it is assigned. This is an idempotent
|
128
|
+
# operation. If you enter it more than once, Amazon EC2 does not return
|
129
|
+
# an error.
|
130
|
+
#
|
131
|
+
#Required Arguments:
|
132
|
+
#
|
133
|
+
# :public_ip => String (default : '')
|
134
|
+
#
|
135
|
+
#Optional Arguments:
|
136
|
+
#
|
137
|
+
# none
|
138
|
+
#
|
139
|
+
def disassociate_address( options = {} )
|
140
|
+
|
141
|
+
options = { :public_ip => '' }.merge(options)
|
142
|
+
|
143
|
+
raise ArgumentError, "No ':public_ip' provided" if options[:public_ip].nil? || options[:public_ip].empty?
|
144
|
+
|
145
|
+
params = options[:public_ip]
|
146
|
+
|
147
|
+
return response_generator(:action => "DisassociateAddress", :params => params)
|
148
|
+
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
data/lib/EC2/exceptions.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/image_attributes.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/images.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/instances.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/keypairs.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/products.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/responses.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/security_groups.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/lib/EC2/version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -12,7 +12,7 @@ module EC2 #:nodoc:
|
|
12
12
|
module VERSION #:nodoc:
|
13
13
|
MAJOR = 0
|
14
14
|
MINOR = 2
|
15
|
-
TINY =
|
15
|
+
TINY = 9
|
16
16
|
STRING = [MAJOR, MINOR, TINY].join('.')
|
17
17
|
end
|
18
18
|
end
|
data/script/destroy
CHANGED
File without changes
|
data/script/generate
CHANGED
File without changes
|
data/script/txt2html
CHANGED
File without changes
|
data/test/test_EC2.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_console.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -0,0 +1,144 @@
|
|
1
|
+
#--
|
2
|
+
# Amazon Web Services EC2 Query API Ruby library
|
3
|
+
#
|
4
|
+
# Ruby Gem Name:: amazon-ec2
|
5
|
+
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
|
+
# License:: Distributes under the same terms as Ruby
|
8
|
+
# Home:: http://amazon-ec2.rubyforge.org
|
9
|
+
#++
|
10
|
+
|
11
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
12
|
+
|
13
|
+
context "EC2 elastic IP addresses " do
|
14
|
+
|
15
|
+
setup do
|
16
|
+
@ec2 = EC2::Base.new( :access_key_id => "not a key", :secret_access_key => "not a secret" )
|
17
|
+
|
18
|
+
@allocate_address_body = <<-RESPONSE
|
19
|
+
<AllocateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-02-01">
|
20
|
+
<publicIp>67.202.55.255</publicIp>
|
21
|
+
</AllocateAddressResponse>
|
22
|
+
RESPONSE
|
23
|
+
|
24
|
+
@describe_addresses_response_body = <<-RESPONSE
|
25
|
+
<DescribeAddressesResponse xmlns="http://ec2.amazonaws.com/doc/2008-02-01">
|
26
|
+
<addressesSet>
|
27
|
+
<item>
|
28
|
+
<instanceId>i-28a64341</instanceId>
|
29
|
+
<publicIp>67.202.55.255</publicIp>
|
30
|
+
</item>
|
31
|
+
</addressesSet>
|
32
|
+
</DescribeAddressesResponse>
|
33
|
+
RESPONSE
|
34
|
+
|
35
|
+
@release_address_response_body = <<-RESPONSE
|
36
|
+
<ReleaseAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-02-01">
|
37
|
+
<return>true</return>
|
38
|
+
</ReleaseAddressResponse>
|
39
|
+
RESPONSE
|
40
|
+
|
41
|
+
@associate_address_response_body = <<-RESPONSE
|
42
|
+
<AssociateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-02-01">
|
43
|
+
<return>true</return>
|
44
|
+
</AssociateAddressResponse>
|
45
|
+
RESPONSE
|
46
|
+
|
47
|
+
@disassociate_address_response_body = <<-RESPONSE
|
48
|
+
<DisassociateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-02-01">
|
49
|
+
<return>true</return>
|
50
|
+
</DisassociateAddressResponse>
|
51
|
+
RESPONSE
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
specify "should be able to be created" do
|
57
|
+
@ec2.stubs(:make_request).with('AllocateAddress', {}).
|
58
|
+
returns stub(:body => @allocate_address_body, :is_a? => true)
|
59
|
+
|
60
|
+
@ec2.allocate_address.should.be.an.instance_of EC2::Response
|
61
|
+
|
62
|
+
response = @ec2.allocate_address
|
63
|
+
response.publicIp.should.equal "67.202.55.255"
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
#specify "method create_keypair should reject bad arguments" do
|
68
|
+
# @ec2.stubs(:make_request).with('CreateKeyPair', {"KeyName"=>"example-key-name"}).
|
69
|
+
# returns stub(:body => @create_keypair_response_body, :is_a? => true)
|
70
|
+
#
|
71
|
+
# lambda { @ec2.create_keypair( :key_name => "example-key-name" ) }.should.not.raise(EC2::ArgumentError)
|
72
|
+
# lambda { @ec2.create_keypair() }.should.raise(EC2::ArgumentError)
|
73
|
+
# lambda { @ec2.create_keypair( :key_name => nil ) }.should.raise(EC2::ArgumentError)
|
74
|
+
# lambda { @ec2.create_keypair( :key_name => "" ) }.should.raise(EC2::ArgumentError)
|
75
|
+
#end
|
76
|
+
|
77
|
+
|
78
|
+
specify "should be able to be described with describe_addresses" do
|
79
|
+
@ec2.stubs(:make_request).with('DescribeAddresses', {"PublicIp.1"=>"67.202.55.255"}).
|
80
|
+
returns stub(:body => @describe_addresses_response_body, :is_a? => true)
|
81
|
+
|
82
|
+
@ec2.describe_addresses( :public_ip => "67.202.55.255" ).should.be.an.instance_of EC2::Response
|
83
|
+
|
84
|
+
response = @ec2.describe_addresses( :public_ip => "67.202.55.255" )
|
85
|
+
response.addressesSet.item[0].instanceId.should.equal "i-28a64341"
|
86
|
+
response.addressesSet.item[0].publicIp.should.equal "67.202.55.255"
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
specify "should be able to be released with release_address" do
|
91
|
+
@ec2.stubs(:make_request).with('ReleaseAddress', {"PublicIp" => "67.202.55.255"}).
|
92
|
+
returns stub(:body => @release_address_response_body, :is_a? => true)
|
93
|
+
|
94
|
+
@ec2.release_address( :public_ip => "67.202.55.255" ).should.be.an.instance_of EC2::Response
|
95
|
+
|
96
|
+
response = @ec2.release_address( :public_ip => "67.202.55.255" )
|
97
|
+
response.return.should.equal "true"
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
specify "should be able to be associated with an instance with associate_address" do
|
102
|
+
@ec2.stubs(:make_request).with('AssociateAddress', {"InstanceId" => "i-2ea64347", "PublicIp"=>"67.202.55.255"}).
|
103
|
+
returns stub(:body => @associate_address_response_body, :is_a? => true)
|
104
|
+
|
105
|
+
@ec2.associate_address( :instance_id => "i-2ea64347", :public_ip => "67.202.55.255" ).should.be.an.instance_of EC2::Response
|
106
|
+
|
107
|
+
response = @ec2.associate_address( :instance_id => "i-2ea64347", :public_ip => "67.202.55.255" )
|
108
|
+
response.return.should.equal "true"
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
specify "method associate_address should reject bad arguments" do
|
113
|
+
@ec2.stubs(:make_request).with('AssociateAddress', {"InstanceId" => "i-2ea64347", "PublicIp"=>"67.202.55.255"}).
|
114
|
+
returns stub(:body => @associate_address_response_body, :is_a? => true)
|
115
|
+
|
116
|
+
lambda { @ec2.associate_address( :instance_id => "i-2ea64347", :public_ip => "67.202.55.255" ) }.should.not.raise(EC2::ArgumentError)
|
117
|
+
lambda { @ec2.associate_address() }.should.raise(EC2::ArgumentError)
|
118
|
+
lambda { @ec2.associate_address( :instance_id => nil ) }.should.raise(EC2::ArgumentError)
|
119
|
+
lambda { @ec2.associate_address( :public_ip => "" ) }.should.raise(EC2::ArgumentError)
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
specify "should be able to be disassociated with an instance with disassociate_address" do
|
124
|
+
@ec2.stubs(:make_request).with('DisassociateAddress', "67.202.55.255").
|
125
|
+
returns stub(:body => @disassociate_address_response_body, :is_a? => true)
|
126
|
+
|
127
|
+
@ec2.disassociate_address( :public_ip => "67.202.55.255" ).should.be.an.instance_of EC2::Response
|
128
|
+
|
129
|
+
response = @ec2.disassociate_address( :public_ip => "67.202.55.255" )
|
130
|
+
response.return.should.equal "true"
|
131
|
+
end
|
132
|
+
|
133
|
+
|
134
|
+
specify "method disassociate_address should reject bad arguments" do
|
135
|
+
@ec2.stubs(:make_request).with('DisassociateAddress', "67.202.55.255").
|
136
|
+
returns stub(:body => @disassociate_address_response_body, :is_a? => true)
|
137
|
+
|
138
|
+
lambda { @ec2.disassociate_address( :public_ip => "67.202.55.255" ) }.should.not.raise(EC2::ArgumentError)
|
139
|
+
lambda { @ec2.disassociate_address() }.should.raise(EC2::ArgumentError)
|
140
|
+
lambda { @ec2.disassociate_address( :public_ip => "" ) }.should.raise(EC2::ArgumentError)
|
141
|
+
end
|
142
|
+
|
143
|
+
|
144
|
+
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_images.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_instances.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_keypairs.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_products.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_responses.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/test/test_EC2_version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
@@ -16,7 +16,7 @@ context "The EC2 Gem " do
|
|
16
16
|
setup do
|
17
17
|
@major = 0
|
18
18
|
@minor = 2
|
19
|
-
@tiny =
|
19
|
+
@tiny = 9
|
20
20
|
@string = [@major, @minor, @tiny].join('.')
|
21
21
|
end
|
22
22
|
|
data/test/test_helper.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-ec2
|
5
5
|
# Author:: Glenn Rempe (mailto:grempe@rubyforge.org)
|
6
|
-
# Copyright:: Copyright (c) 2007 Glenn Rempe
|
6
|
+
# Copyright:: Copyright (c) 2007-2008 Glenn Rempe
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
8
|
# Home:: http://amazon-ec2.rubyforge.org
|
9
9
|
#++
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>Amazon Web Services EC2 Ruby Gem</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/amazon-ec2"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/amazon-ec2" class="numbers">0.2.
|
36
|
+
<a href="http://rubyforge.org/projects/amazon-ec2" class="numbers">0.2.9</a>
|
37
37
|
</div>
|
38
38
|
<h2>→ ‘amazon-ec2’</h2>
|
39
39
|
|
@@ -50,7 +50,10 @@
|
|
50
50
|
<h2>What’s new?</h2>
|
51
51
|
|
52
52
|
|
53
|
-
<p>
|
53
|
+
<p>20080331 – Gem version 0.2.9 Updated with initial support of the new Amazon Web Services 2008-02-01 public <span class="caps">API</span>. So far support has been added for the new ‘Elastic IP’ functionality.</p>
|
54
|
+
|
55
|
+
|
56
|
+
<p>20080217 – This project’s source code now only available from our master Git repository at GitHub. The Subversion repository at Rubyforge will be cleared but we’ll still publish any new gem versions to Rubyforge so you can still easily install them. Unless you plan to work on the source code this should have no effect on you. Now you can browse, clone or fork from our Git repository at <a href="http://github.com/grempe/amazon-ec2">http://github.com/grempe/amazon-ec2</a>. Please let us know if you have patches you would like us to pull from your git repository.</p>
|
54
57
|
|
55
58
|
|
56
59
|
<p>This 0.2.0 + series represents a major re-write of this gem and contains contributions from several people who make use of this gem for their own applications. Trust us, its worth the pain of upgrading if you have been using an older version. Some of the major enhancements you will find are:</p>
|
@@ -545,7 +548,7 @@ For example, when you make a #describe_images call in ec2sh to <span class="caps
|
|
545
548
|
|
546
549
|
<p>Comments, patches, and bug reports are welcome. Send an email to the address below or use the RubyForge forum for this project.</p>
|
547
550
|
<p class="coda">
|
548
|
-
<a href="mailto:grempe-at-rubyforge-dot-org">Glenn Rempe</a>,
|
551
|
+
<a href="mailto:grempe-at-rubyforge-dot-org">Glenn Rempe</a>, 31st March 2008<br>
|
549
552
|
</p>
|
550
553
|
</div>
|
551
554
|
|
data/website/index.txt
CHANGED
@@ -11,7 +11,9 @@ This 'amazon-ec2' Ruby Gem is an interface library that can be used to interact
|
|
11
11
|
|
12
12
|
h2. What's new?
|
13
13
|
|
14
|
-
|
14
|
+
20080331 - Gem version 0.2.9 Updated with initial support of the new Amazon Web Services 2008-02-01 public API. So far support has been added for the new 'Elastic IP' functionality.
|
15
|
+
|
16
|
+
20080217 - This project's source code now only available from our master Git repository at GitHub. The Subversion repository at Rubyforge will be cleared but we'll still publish any new gem versions to Rubyforge so you can still easily install them. Unless you plan to work on the source code this should have no effect on you. Now you can browse, clone or fork from our Git repository at "http://github.com/grempe/amazon-ec2":http://github.com/grempe/amazon-ec2. Please let us know if you have patches you would like us to pull from your git repository.
|
15
17
|
|
16
18
|
This 0.2.0 + series represents a major re-write of this gem and contains contributions from several people who make use of this gem for their own applications. Trust us, its worth the pain of upgrading if you have been using an older version. Some of the major enhancements you will find are:
|
17
19
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amazon-ec2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Glenn Rempe
|
@@ -9,7 +9,7 @@ autorequire: EC2
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-03-31 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- config/requirements.rb
|
92
92
|
- lib/EC2.rb
|
93
93
|
- lib/EC2/console.rb
|
94
|
+
- lib/EC2/elastic_ips.rb
|
94
95
|
- lib/EC2/exceptions.rb
|
95
96
|
- lib/EC2/image_attributes.rb
|
96
97
|
- lib/EC2/images.rb
|
@@ -109,6 +110,7 @@ files:
|
|
109
110
|
- tasks/website.rake
|
110
111
|
- test/test_EC2.rb
|
111
112
|
- test/test_EC2_console.rb
|
113
|
+
- test/test_EC2_elastic_ips.rb
|
112
114
|
- test/test_EC2_image_attributes.rb
|
113
115
|
- test/test_EC2_images.rb
|
114
116
|
- test/test_EC2_instances.rb
|
@@ -153,13 +155,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
155
|
requirements: []
|
154
156
|
|
155
157
|
rubyforge_project: amazon-ec2
|
156
|
-
rubygems_version: 1.0
|
158
|
+
rubygems_version: 1.1.0
|
157
159
|
signing_key:
|
158
160
|
specification_version: 2
|
159
161
|
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.
|
160
162
|
test_files:
|
161
163
|
- test/test_EC2.rb
|
162
164
|
- test/test_EC2_console.rb
|
165
|
+
- test/test_EC2_elastic_ips.rb
|
163
166
|
- test/test_EC2_image_attributes.rb
|
164
167
|
- test/test_EC2_images.rb
|
165
168
|
- test/test_EC2_instances.rb
|