poolparty 1.6.6 → 1.6.7

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 (67) hide show
  1. data/VERSION.yml +2 -3
  2. data/lib/poolparty/chef_solo.rb +0 -1
  3. metadata +12 -69
  4. data/vendor/gems/amazon-ec2/ChangeLog +0 -304
  5. data/vendor/gems/amazon-ec2/LICENSE +0 -66
  6. data/vendor/gems/amazon-ec2/README.rdoc +0 -359
  7. data/vendor/gems/amazon-ec2/README_dev.rdoc +0 -10
  8. data/vendor/gems/amazon-ec2/Rakefile +0 -70
  9. data/vendor/gems/amazon-ec2/VERSION +0 -1
  10. data/vendor/gems/amazon-ec2/amazon-ec2.gemspec +0 -142
  11. data/vendor/gems/amazon-ec2/bin/ec2-gem-example.rb +0 -137
  12. data/vendor/gems/amazon-ec2/bin/ec2-gem-profile.rb +0 -10
  13. data/vendor/gems/amazon-ec2/bin/ec2sh +0 -62
  14. data/vendor/gems/amazon-ec2/bin/setup.rb +0 -29
  15. data/vendor/gems/amazon-ec2/deps.rip +0 -1
  16. data/vendor/gems/amazon-ec2/lib/AWS/Autoscaling/autoscaling.rb +0 -273
  17. data/vendor/gems/amazon-ec2/lib/AWS/Autoscaling.rb +0 -70
  18. data/vendor/gems/amazon-ec2/lib/AWS/Cloudwatch/monitoring.rb +0 -80
  19. data/vendor/gems/amazon-ec2/lib/AWS/Cloudwatch.rb +0 -32
  20. data/vendor/gems/amazon-ec2/lib/AWS/EC2/availability_zones.rb +0 -29
  21. data/vendor/gems/amazon-ec2/lib/AWS/EC2/console.rb +0 -25
  22. data/vendor/gems/amazon-ec2/lib/AWS/EC2/devpay.rb +0 -18
  23. data/vendor/gems/amazon-ec2/lib/AWS/EC2/elastic_ips.rb +0 -86
  24. data/vendor/gems/amazon-ec2/lib/AWS/EC2/image_attributes.rb +0 -133
  25. data/vendor/gems/amazon-ec2/lib/AWS/EC2/images.rb +0 -117
  26. data/vendor/gems/amazon-ec2/lib/AWS/EC2/instances.rb +0 -249
  27. data/vendor/gems/amazon-ec2/lib/AWS/EC2/keypairs.rb +0 -47
  28. data/vendor/gems/amazon-ec2/lib/AWS/EC2/products.rb +0 -21
  29. data/vendor/gems/amazon-ec2/lib/AWS/EC2/security_groups.rb +0 -164
  30. data/vendor/gems/amazon-ec2/lib/AWS/EC2/snapshots.rb +0 -80
  31. data/vendor/gems/amazon-ec2/lib/AWS/EC2/volumes.rb +0 -100
  32. data/vendor/gems/amazon-ec2/lib/AWS/EC2.rb +0 -33
  33. data/vendor/gems/amazon-ec2/lib/AWS/ELB/load_balancers.rb +0 -178
  34. data/vendor/gems/amazon-ec2/lib/AWS/ELB.rb +0 -71
  35. data/vendor/gems/amazon-ec2/lib/AWS/RDS/rds.rb +0 -522
  36. data/vendor/gems/amazon-ec2/lib/AWS/RDS.rb +0 -73
  37. data/vendor/gems/amazon-ec2/lib/AWS/exceptions.rb +0 -200
  38. data/vendor/gems/amazon-ec2/lib/AWS/responses.rb +0 -21
  39. data/vendor/gems/amazon-ec2/lib/AWS.rb +0 -304
  40. data/vendor/gems/amazon-ec2/perftools/ec2prof +0 -0
  41. data/vendor/gems/amazon-ec2/perftools/ec2prof-results.dot +0 -132
  42. data/vendor/gems/amazon-ec2/perftools/ec2prof-results.txt +0 -100
  43. data/vendor/gems/amazon-ec2/perftools/ec2prof.symbols +0 -102
  44. data/vendor/gems/amazon-ec2/test/test_Autoscaling_groups.rb +0 -337
  45. data/vendor/gems/amazon-ec2/test/test_EC2.rb +0 -68
  46. data/vendor/gems/amazon-ec2/test/test_EC2_availability_zones.rb +0 -49
  47. data/vendor/gems/amazon-ec2/test/test_EC2_console.rb +0 -54
  48. data/vendor/gems/amazon-ec2/test/test_EC2_elastic_ips.rb +0 -144
  49. data/vendor/gems/amazon-ec2/test/test_EC2_image_attributes.rb +0 -238
  50. data/vendor/gems/amazon-ec2/test/test_EC2_images.rb +0 -229
  51. data/vendor/gems/amazon-ec2/test/test_EC2_instances.rb +0 -611
  52. data/vendor/gems/amazon-ec2/test/test_EC2_keypairs.rb +0 -123
  53. data/vendor/gems/amazon-ec2/test/test_EC2_products.rb +0 -48
  54. data/vendor/gems/amazon-ec2/test/test_EC2_responses.rb +0 -53
  55. data/vendor/gems/amazon-ec2/test/test_EC2_s3_xmlsimple.rb +0 -80
  56. data/vendor/gems/amazon-ec2/test/test_EC2_security_groups.rb +0 -205
  57. data/vendor/gems/amazon-ec2/test/test_EC2_snapshots.rb +0 -83
  58. data/vendor/gems/amazon-ec2/test/test_EC2_volumes.rb +0 -142
  59. data/vendor/gems/amazon-ec2/test/test_ELB_load_balancers.rb +0 -239
  60. data/vendor/gems/amazon-ec2/test/test_RDS.rb +0 -354
  61. data/vendor/gems/amazon-ec2/test/test_helper.rb +0 -23
  62. data/vendor/gems/amazon-ec2/wsdl/2007-08-29.ec2.wsdl +0 -1269
  63. data/vendor/gems/amazon-ec2/wsdl/2008-02-01.ec2.wsdl +0 -1614
  64. data/vendor/gems/amazon-ec2/wsdl/2008-05-05.ec2.wsdl +0 -2052
  65. data/vendor/gems/amazon-ec2/wsdl/2008-12-01.ec2.wsdl +0 -2354
  66. data/vendor/gems/amazon-ec2/wsdl/2009-10-31.ec2.wsdl +0 -4261
  67. data/vendor/gems/amazon-ec2/wsdl/2009-11-30.ec2.wsdl +0 -4668
@@ -1,611 +0,0 @@
1
- #--
2
- # Amazon Web Services EC2 Query API Ruby library
3
- #
4
- # Ruby Gem Name:: amazon-ec2
5
- # Author:: Glenn Rempe (mailto:glenn@rempe.us)
6
- # Copyright:: Copyright (c) 2007-2008 Glenn Rempe
7
- # License:: Distributes under the same terms as Ruby
8
- # Home:: http://github.com/grempe/amazon-ec2/tree/master
9
- #++
10
-
11
- require File.dirname(__FILE__) + '/test_helper.rb'
12
-
13
- context "EC2 instances " do
14
-
15
- before do
16
- @ec2 = AWS::EC2::Base.new( :access_key_id => "not a key", :secret_access_key => "not a secret" )
17
-
18
- @run_instances_response_body = <<-RESPONSE
19
- <RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2007-08-29">
20
- <reservationId>r-47a5402e</reservationId>
21
- <ownerId>495219933132</ownerId>
22
- <groupSet>
23
- <item>
24
- <groupId>default</groupId>
25
- </item>
26
- </groupSet>
27
- <instancesSet>
28
- <item>
29
- <instanceId>i-2ba64342</instanceId>
30
- <imageId>ami-60a54009</imageId>
31
- <instanceState>
32
- <code>0</code>
33
- <name>pending</name>
34
- </instanceState>
35
- <privateDnsName></privateDnsName>
36
- <dnsName></dnsName>
37
- <keyName>example-key-name</keyName>
38
- <amiLaunchIndex>0</amiLaunchIndex>
39
- <instanceType>m1.small</instanceType>
40
- <launchTime>2007-08-07T11:51:50.000Z</launchTime>
41
- </item>
42
- <item>
43
- <instanceId>i-2bc64242</instanceId>
44
- <imageId>ami-60a54009</imageId>
45
- <instanceState>
46
- <code>0</code>
47
- <name>pending</name>
48
- </instanceState>
49
- <privateDnsName></privateDnsName>
50
- <dnsName></dnsName>
51
- <keyName>example-key-name</keyName>
52
- <amiLaunchIndex>1</amiLaunchIndex>
53
- <instanceType>m1.small</instanceType>
54
- <launchTime>2007-08-07T11:51:50.000Z</launchTime>
55
- </item>
56
- <item>
57
- <instanceId>i-2be64332</instanceId>
58
- <imageId>ami-60a54009</imageId>
59
- <instanceState>
60
- <code>0</code>
61
- <name>pending</name>
62
- </instanceState>
63
- <privateDnsName></privateDnsName>
64
- <dnsName></dnsName>
65
- <keyName>example-key-name</keyName>
66
- <amiLaunchIndex>2</amiLaunchIndex>
67
- <instanceType>m1.small</instanceType>
68
- <launchTime>2007-08-07T11:51:50.000Z</launchTime>
69
- </item>
70
- </instancesSet>
71
- </RunInstancesResponse>
72
- RESPONSE
73
-
74
- @describe_instances_response_body = <<-RESPONSE
75
- <DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2007-08-29">
76
- <reservationSet>
77
- <item>
78
- <reservationId>r-44a5402d</reservationId>
79
- <ownerId>UYY3TLBUXIEON5NQVUUX6OMPWBZIQNFM</ownerId>
80
- <groupSet>
81
- <item>
82
- <groupId>default</groupId>
83
- </item>
84
- </groupSet>
85
- <instancesSet>
86
- <item>
87
- <instanceId>i-28a64341</instanceId>
88
- <imageId>ami-6ea54007</imageId>
89
- <instanceState>
90
- <code>0</code>
91
- <name>running</name>
92
- </instanceState>
93
- <privateDnsName>domU-12-31-35-00-1E-01.z-2.compute-1.internal</privateDnsName>
94
- <dnsName>ec2-72-44-33-4.z-2.compute-1.amazonaws.com</dnsName>
95
- <keyName>example-key-name</keyName>
96
- <productCodesSet>
97
- <item><productCode>774F4FF8</productCode></item>
98
- </productCodesSet>
99
- <instanceType>m1.small</instanceType>
100
- <launchTime>2007-08-07T11:54:42.000Z</launchTime>
101
- </item>
102
- </instancesSet>
103
- </item>
104
- </reservationSet>
105
- </DescribeInstancesResponse>
106
- RESPONSE
107
-
108
- @reboot_instances_response_body = <<-RESPONSE
109
- <RebootInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2007-03-01">
110
- <return>true</return>
111
- </RebootInstancesResponse>
112
- RESPONSE
113
-
114
- @start_instances_response_body = <<-RESPONSE
115
- <StartInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2009-10-31/">
116
- <instancesSet>
117
- <item>
118
- <instanceId>i-10a64379</instanceId>
119
- <currentState>
120
- <code>0</code>
121
- <name>pending</name>
122
- </currentState>
123
- <previousState>
124
- <code>80</code>
125
- <name>stopped</name>
126
- </previousState>
127
- </item>
128
- </instancesSet>
129
- </StartInstancesResponse>
130
- RESPONSE
131
-
132
-
133
- @stop_instances_response_body = <<-RESPONSE
134
- <StopInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2009-10-31/">
135
- <instancesSet>
136
- <item>
137
- <instanceId>i-28a64341</instanceId>
138
- <currentState>
139
- <code>64</code>
140
- <name>stopping</name>
141
- </currentState>
142
- <previousState>
143
- <code>16</code>
144
- <name>running</name>
145
- </previousState>
146
- </item>
147
- </instancesSet>
148
- </StopInstancesResponse>
149
- RESPONSE
150
-
151
- @terminate_instances_response_body = <<-RESPONSE
152
- <TerminateInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2007-03-01">
153
- <instancesSet>
154
- <item>
155
- <instanceId>i-28a64341</instanceId>
156
- <shutdownState>
157
- <code>32</code>
158
- <name>shutting-down</name>
159
- </shutdownState>
160
- <previousState>
161
- <code>0</code>
162
- <name>pending</name>
163
- </previousState>
164
- </item>
165
- <item>
166
- <instanceId>i-21a64348</instanceId>
167
- <shutdownState>
168
- <code>32</code>
169
- <name>shutting-down</name>
170
- </shutdownState>
171
- <previousState>
172
- <code>0</code>
173
- <name>pending</name>
174
- </previousState>
175
- </item>
176
- </instancesSet>
177
- </TerminateInstancesResponse>
178
- RESPONSE
179
-
180
- @monitor_instances_response_body = <<-RESPONSE
181
- <MonitorInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2009-07-15/">
182
- <requestId>fe62a64c-49fb-4a3c-8d9b-61aba146d390</requestId>
183
- <instancesSet>
184
- <item>
185
- <instanceId>i-138fc47a</instanceId>
186
- <monitoring>
187
- <state>pending</state>
188
- </monitoring>
189
- </item>
190
- <item>
191
- <instanceId>i-33457a5a</instanceId>
192
- <monitoring>
193
- <state>pending</state>
194
- </monitoring>
195
- </item>
196
- </instancesSet>
197
- </MonitorInstancesResponse>
198
- RESPONSE
199
-
200
- @unmonitor_instances_response_body = <<-RESPONSE
201
- <UnmonitorInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2009-07-15/">
202
- <requestId>7dbc5095-f3ae-46d8-a5b1-19df118ceb05</requestId>
203
- <instancesSet>
204
- <item>
205
- <instanceId>i-138fc47a</instanceId>
206
- <monitoring>
207
- <state>disabling</state>
208
- </monitoring>
209
- </item>
210
- <item>
211
- <instanceId>i-33457a5a</instanceId>
212
- <monitoring>
213
- <state>disabling</state>
214
- </monitoring>
215
- </item>
216
- </instancesSet>
217
- </UnmonitorInstancesResponse>
218
-
219
- RESPONSE
220
- end
221
-
222
-
223
- specify "should be able to be run" do
224
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1').
225
- returns stub(:body => @run_instances_response_body, :is_a? => true)
226
-
227
- @ec2.run_instances( :image_id => "ami-60a54009" ).should.be.an.instance_of Hash
228
-
229
- response = @ec2.run_instances( :image_id => "ami-60a54009" )
230
-
231
- response.reservationId.should.equal "r-47a5402e"
232
- response.ownerId.should.equal "495219933132"
233
-
234
- response.instancesSet.item.length.should.equal 3
235
-
236
- response.instancesSet.item[0].instanceId.should.equal "i-2ba64342"
237
- response.instancesSet.item[0].imageId.should.equal "ami-60a54009"
238
- response.instancesSet.item[0].instanceState.code.should.equal "0"
239
- response.instancesSet.item[0].instanceState.name.should.equal "pending"
240
- response.instancesSet.item[0].privateDnsName
241
- response.instancesSet.item[0].dnsName.should.be.nil
242
- response.instancesSet.item[0].keyName.should.equal "example-key-name"
243
- response.instancesSet.item[0].instanceType.should.equal "m1.small"
244
- response.instancesSet.item[0].launchTime.should.equal "2007-08-07T11:51:50.000Z"
245
-
246
- response.instancesSet.item[1].instanceId.should.equal "i-2bc64242"
247
- response.instancesSet.item[1].imageId.should.equal "ami-60a54009"
248
- response.instancesSet.item[1].instanceState.code.should.equal "0"
249
- response.instancesSet.item[1].instanceState.name.should.equal "pending"
250
- response.instancesSet.item[1].privateDnsName
251
- response.instancesSet.item[1].dnsName.should.be.nil
252
- response.instancesSet.item[1].keyName.should.equal "example-key-name"
253
- response.instancesSet.item[1].instanceType.should.equal "m1.small"
254
- response.instancesSet.item[1].launchTime.should.equal "2007-08-07T11:51:50.000Z"
255
-
256
- response.instancesSet.item[2].instanceId.should.equal "i-2be64332"
257
- response.instancesSet.item[2].imageId.should.equal "ami-60a54009"
258
- response.instancesSet.item[2].instanceState.code.should.equal "0"
259
- response.instancesSet.item[2].instanceState.name.should.equal "pending"
260
- response.instancesSet.item[2].privateDnsName
261
- response.instancesSet.item[2].dnsName.should.be.nil
262
- response.instancesSet.item[2].keyName.should.equal "example-key-name"
263
- response.instancesSet.item[2].instanceType.should.equal "m1.small"
264
- response.instancesSet.item[2].launchTime.should.equal "2007-08-07T11:51:50.000Z"
265
- end
266
-
267
-
268
- specify "method 'run_instances' should reject invalid arguments" do
269
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1').
270
- returns stub(:body => @run_instances_response_body, :is_a? => true)
271
-
272
- lambda { @ec2.run_instances() }.should.raise(AWS::ArgumentError)
273
-
274
- # :addressing_type is deprecated
275
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :addressing_type => nil ) }.should.not.raise(AWS::ArgumentError)
276
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :addressing_type => "" ) }.should.raise(AWS::ArgumentError)
277
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :addressing_type => "foo" ) }.should.raise(AWS::ArgumentError)
278
-
279
- # :group_id is deprecated
280
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :group_id => nil ) }.should.not.raise(AWS::ArgumentError)
281
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :group_id => "" ) }.should.raise(AWS::ArgumentError)
282
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :group_id => "foo" ) }.should.raise(AWS::ArgumentError)
283
-
284
- # :image_id
285
- lambda { @ec2.run_instances( :image_id => nil ) }.should.raise(AWS::ArgumentError)
286
- lambda { @ec2.run_instances( :image_id => "" ) }.should.raise(AWS::ArgumentError)
287
-
288
- # :min_count
289
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 1 ) }.should.not.raise(AWS::ArgumentError)
290
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 0 ) }.should.raise(AWS::ArgumentError)
291
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => nil ) }.should.raise(AWS::ArgumentError)
292
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => "" ) }.should.raise(AWS::ArgumentError)
293
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => "foo" ) }.should.raise(AWS::ArgumentError)
294
-
295
- # :max_count
296
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :max_count => 1 ) }.should.not.raise(AWS::ArgumentError)
297
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :max_count => 0 ) }.should.raise(AWS::ArgumentError)
298
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :max_count => nil ) }.should.raise(AWS::ArgumentError)
299
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :max_count => "" ) }.should.raise(AWS::ArgumentError)
300
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :max_count => "foo" ) }.should.raise(AWS::ArgumentError)
301
-
302
- # :min_count & :max_count
303
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 1, :max_count => 1 ) }.should.not.raise(AWS::ArgumentError)
304
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 2, :max_count => 1 ) }.should.raise(AWS::ArgumentError)
305
-
306
- # :instance_type
307
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceType" => 'm1.small').
308
- returns stub(:body => @run_instances_response_body, :is_a? => true)
309
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_type => "m1.small" ) }.should.not.raise(AWS::ArgumentError)
310
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_type => "m1.notarealsize" ) }.should.raise(AWS::ArgumentError)
311
-
312
- # :monitoring_enabled
313
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "Monitoring.Enabled" => 'true').
314
- returns stub(:body => @run_instances_response_body, :is_a? => true)
315
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :monitoring_enabled => true ) }.should.not.raise(AWS::ArgumentError)
316
-
317
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "Monitoring.Enabled" => 'false').
318
- returns stub(:body => @run_instances_response_body, :is_a? => true)
319
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :monitoring_enabled => false ) }.should.not.raise(AWS::ArgumentError)
320
-
321
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "Monitoring.Enabled" => 'false').
322
- returns stub(:body => @run_instances_response_body, :is_a? => true)
323
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :monitoring_enabled => "foo" ) }.should.raise(AWS::ArgumentError)
324
-
325
- # :disable_api_termination
326
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "DisableApiTermination" => 'true').
327
- returns stub(:body => @run_instances_response_body, :is_a? => true)
328
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :disable_api_termination => true ) }.should.not.raise(AWS::ArgumentError)
329
-
330
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "DisableApiTermination" => 'false').
331
- returns stub(:body => @run_instances_response_body, :is_a? => true)
332
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :disable_api_termination => false ) }.should.not.raise(AWS::ArgumentError)
333
-
334
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "DisableApiTermination" => 'false').
335
- returns stub(:body => @run_instances_response_body, :is_a? => true)
336
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :disable_api_termination => "foo" ) }.should.raise(AWS::ArgumentError)
337
-
338
- # :instance_initiated_shutdown_behavior
339
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceInitiatedShutdownBehavior" => 'stop').
340
- returns stub(:body => @run_instances_response_body, :is_a? => true)
341
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_initiated_shutdown_behavior => 'stop' ) }.should.not.raise(AWS::ArgumentError)
342
-
343
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceInitiatedShutdownBehavior" => 'terminate').
344
- returns stub(:body => @run_instances_response_body, :is_a? => true)
345
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_initiated_shutdown_behavior => 'terminate' ) }.should.not.raise(AWS::ArgumentError)
346
-
347
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceInitiatedShutdownBehavior" => 'stop').
348
- returns stub(:body => @run_instances_response_body, :is_a? => true)
349
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_initiated_shutdown_behavior => "foo" ) }.should.raise(AWS::ArgumentError)
350
-
351
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceInitiatedShutdownBehavior" => 'stop').
352
- returns stub(:body => @run_instances_response_body, :is_a? => true)
353
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :instance_initiated_shutdown_behavior => true ) }.should.raise(AWS::ArgumentError)
354
-
355
- # :base64_encoded
356
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :base64_encoded => true ) }.should.not.raise(AWS::ArgumentError)
357
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :base64_encoded => false ) }.should.not.raise(AWS::ArgumentError)
358
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :base64_encoded => nil ) }.should.raise(AWS::ArgumentError)
359
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :base64_encoded => "" ) }.should.raise(AWS::ArgumentError)
360
- lambda { @ec2.run_instances( :image_id => "ami-60a54009", :base64_encoded => "foo" ) }.should.raise(AWS::ArgumentError)
361
- end
362
-
363
- specify "should be able specify a key_name" do
364
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "KeyName" => 'foo').
365
- returns stub(:body => @run_instances_response_body, :is_a? => true)
366
- @ec2.run_instances( :image_id => "ami-60a54009", :key_name => "foo" ).should.be.an.instance_of Hash
367
- end
368
-
369
- specify "should be able specify a security_group" do
370
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "SecurityGroup.1" => 'foo', "SecurityGroup.2" => 'bar').
371
- returns stub(:body => @run_instances_response_body, :is_a? => true)
372
- @ec2.run_instances( :image_id => "ami-60a54009", :security_group => ["foo","bar"] ).should.be.an.instance_of Hash
373
- end
374
-
375
- specify "should be able specify additional_info" do
376
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "AdditionalInfo" => 'foo').
377
- returns stub(:body => @run_instances_response_body, :is_a? => true)
378
- @ec2.run_instances( :image_id => "ami-60a54009", :additional_info => "foo" ).should.be.an.instance_of Hash
379
- end
380
-
381
- specify "should be able to call run_instances with :user_data and :base64_encoded => true (default is false)" do
382
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "UserData" => "Zm9v").
383
- returns stub(:body => @run_instances_response_body, :is_a? => true)
384
- @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 1, :max_count => 1, :user_data => "foo", :base64_encoded => true ).should.be.an.instance_of Hash
385
- end
386
-
387
- specify "should be able to call run_instances with :user_data and :base64_encoded => false" do
388
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "UserData" => "foo").
389
- returns stub(:body => @run_instances_response_body, :is_a? => true)
390
- @ec2.run_instances( :image_id => "ami-60a54009", :min_count => 1, :max_count => 1, :user_data => "foo", :base64_encoded => false ).should.be.an.instance_of Hash
391
- end
392
-
393
- specify "should be able specify instance_type" do
394
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "InstanceType" => 'm1.small').
395
- returns stub(:body => @run_instances_response_body, :is_a? => true)
396
- @ec2.run_instances( :image_id => "ami-60a54009", :instance_type => "m1.small" ).should.be.an.instance_of Hash
397
- end
398
-
399
- specify "should be able specify an availability_zone (Placement.AvailabilityZone)" do
400
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', "Placement.AvailabilityZone" => "zone123").
401
- returns stub(:body => @run_instances_response_body, :is_a? => true)
402
- @ec2.run_instances( :image_id => "ami-60a54009", :availability_zone => "zone123" ).should.be.an.instance_of Hash
403
- end
404
-
405
- specify "should be able specify an kernel_id" do
406
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'KernelId' => 'kernfoo').
407
- returns stub(:body => @run_instances_response_body, :is_a? => true)
408
- @ec2.run_instances( :image_id => "ami-60a54009", :kernel_id => 'kernfoo' ).should.be.an.instance_of Hash
409
- end
410
-
411
- specify "should be able specify an ramdisk_id" do
412
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'RamdiskId' => 'foo').
413
- returns stub(:body => @run_instances_response_body, :is_a? => true)
414
- @ec2.run_instances( :image_id => "ami-60a54009", :ramdisk_id => 'foo' ).should.be.an.instance_of Hash
415
- end
416
-
417
- specify "should be able specify monitoring_enabled" do
418
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'Monitoring.Enabled' => 'true').
419
- returns stub(:body => @run_instances_response_body, :is_a? => true)
420
- @ec2.run_instances( :image_id => "ami-60a54009", :monitoring_enabled => true ).should.be.an.instance_of Hash
421
- end
422
-
423
- specify "should be able specify an subnet_id" do
424
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'SubnetId' => 'foo').
425
- returns stub(:body => @run_instances_response_body, :is_a? => true)
426
- @ec2.run_instances( :image_id => "ami-60a54009", :subnet_id => 'foo' ).should.be.an.instance_of Hash
427
- end
428
-
429
- specify "should be able specify disable_api_termination" do
430
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'DisableApiTermination' => 'true').
431
- returns stub(:body => @run_instances_response_body, :is_a? => true)
432
- @ec2.run_instances( :image_id => "ami-60a54009", :disable_api_termination => true ).should.be.an.instance_of Hash
433
- end
434
-
435
- specify "should be able specify instance_initiated_shutdown_behavior" do
436
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'InstanceInitiatedShutdownBehavior' => 'stop').
437
- returns stub(:body => @run_instances_response_body, :is_a? => true)
438
- @ec2.run_instances( :image_id => "ami-60a54009", :instance_initiated_shutdown_behavior => 'stop' ).should.be.an.instance_of Hash
439
- end
440
-
441
- specify "should be able specify block_device_mapping" do
442
- @ec2.stubs(:make_request).with('RunInstances', "ImageId" => "ami-60a54009", "MinCount" => '1', "MaxCount" => '1', 'BlockDeviceMapping.1.DeviceName' => '/dev/sdh', 'BlockDeviceMapping.1.VirtualName' => 'foo', 'BlockDeviceMapping.1.Ebs.SnapshotId' => 'foosnap', 'BlockDeviceMapping.1.Ebs.VolumeSize' => 'foovolsize', 'BlockDeviceMapping.1.Ebs.DeleteOnTermination' => 'true', 'BlockDeviceMapping.2.DeviceName' => '/dev/sdi', 'BlockDeviceMapping.2.VirtualName' => 'foo2', 'BlockDeviceMapping.2.Ebs.SnapshotId' => 'foosnap2', 'BlockDeviceMapping.2.Ebs.VolumeSize' => 'foovolsize2', 'BlockDeviceMapping.2.Ebs.DeleteOnTermination' => 'false').
443
- returns stub(:body => @run_instances_response_body, :is_a? => true)
444
- @ec2.run_instances( :image_id => "ami-60a54009", :block_device_mapping => [{:device_name => '/dev/sdh', :virtual_name => 'foo', :ebs_snapshot_id => 'foosnap', :ebs_volume_size => 'foovolsize', :ebs_delete_on_termination => true},{:device_name => '/dev/sdi', :virtual_name => 'foo2', :ebs_snapshot_id => 'foosnap2', :ebs_volume_size => 'foovolsize2', :ebs_delete_on_termination => false}] ).should.be.an.instance_of Hash
445
- end
446
-
447
- specify "should get no user data for when options has no user_data key" do
448
- @ec2.extract_user_data({}).should == nil
449
- end
450
-
451
- specify "should get plain string user data when options has user_data and no base64 key" do
452
- @ec2.extract_user_data({:user_data => "foo\nbar"}).should == "foo\nbar"
453
- end
454
-
455
- specify "should strip new lines and base64 encode when options has both user_data and base64" do
456
- @ec2.extract_user_data({:user_data => "binary\ndata\nhere\n", :base64_encoded => true}).should == "YmluYXJ5CmRhdGEKaGVyZQo="
457
- end
458
-
459
-
460
- specify "should be able to be described and return the correct Ruby response class" do
461
- @ec2.stubs(:make_request).with('DescribeInstances', {}).
462
- returns stub(:body => @describe_instances_response_body, :is_a? => true)
463
- @ec2.describe_instances.should.be.an.instance_of Hash
464
- response = @ec2.describe_instances
465
- response.reservationSet.item[0].reservationId.should.equal "r-44a5402d"
466
- end
467
-
468
-
469
- specify "should be able to be described with no params and return an array of Items" do
470
- @ec2.stubs(:make_request).with('DescribeInstances', {}).
471
- returns stub(:body => @describe_instances_response_body, :is_a? => true)
472
- @ec2.describe_instances.reservationSet.item.length.should.equal 1
473
- response = @ec2.describe_instances
474
- response.reservationSet.item[0].reservationId.should.equal "r-44a5402d"
475
- response.reservationSet.item[0].ownerId.should.equal "UYY3TLBUXIEON5NQVUUX6OMPWBZIQNFM"
476
- response.reservationSet.item[0].instancesSet.item[0].instanceId.should.equal "i-28a64341"
477
- response.reservationSet.item[0].instancesSet.item[0].imageId.should.equal "ami-6ea54007"
478
- response.reservationSet.item[0].instancesSet.item[0].instanceState.code.should.equal "0"
479
- response.reservationSet.item[0].instancesSet.item[0].instanceState.name.should.equal "running"
480
- response.reservationSet.item[0].instancesSet.item[0].privateDnsName.should.equal "domU-12-31-35-00-1E-01.z-2.compute-1.internal"
481
- response.reservationSet.item[0].instancesSet.item[0].dnsName.should.equal "ec2-72-44-33-4.z-2.compute-1.amazonaws.com"
482
- response.reservationSet.item[0].instancesSet.item[0].keyName.should.equal "example-key-name"
483
- response.reservationSet.item[0].instancesSet.item[0].productCodesSet.item[0].productCode.should.equal "774F4FF8"
484
- end
485
-
486
-
487
- specify "should be able to be described with params of Array of :instance_id's and return an array of Items" do
488
- @ec2.stubs(:make_request).with('DescribeInstances', {"InstanceId.1" => "i-28a64341"}).
489
- returns stub(:body => @describe_instances_response_body, :is_a? => true)
490
- @ec2.describe_instances( :instance_id => "i-28a64341" ).reservationSet.item.length.should.equal 1
491
- response = @ec2.describe_instances( :instance_id => "i-28a64341" )
492
- response.reservationSet.item[0].reservationId.should.equal "r-44a5402d"
493
- response.reservationSet.item[0].ownerId.should.equal "UYY3TLBUXIEON5NQVUUX6OMPWBZIQNFM"
494
- response.reservationSet.item[0].instancesSet.item[0].instanceId.should.equal "i-28a64341"
495
- response.reservationSet.item[0].instancesSet.item[0].imageId.should.equal "ami-6ea54007"
496
- response.reservationSet.item[0].instancesSet.item[0].instanceState.code.should.equal "0"
497
- response.reservationSet.item[0].instancesSet.item[0].instanceState.name.should.equal "running"
498
- response.reservationSet.item[0].instancesSet.item[0].privateDnsName.should.equal "domU-12-31-35-00-1E-01.z-2.compute-1.internal"
499
- response.reservationSet.item[0].instancesSet.item[0].dnsName.should.equal "ec2-72-44-33-4.z-2.compute-1.amazonaws.com"
500
- response.reservationSet.item[0].instancesSet.item[0].keyName.should.equal "example-key-name"
501
- response.reservationSet.item[0].instancesSet.item[0].productCodesSet.item[0].productCode.should.equal "774F4FF8"
502
- end
503
-
504
-
505
- specify "method reboot_instances should raise an exception when called without nil/empty string arguments" do
506
- lambda { @ec2.reboot_instances() }.should.raise(AWS::ArgumentError)
507
- lambda { @ec2.reboot_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
508
- lambda { @ec2.reboot_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
509
- end
510
-
511
-
512
- specify "should be able to be rebooted when provided with an :instance_id" do
513
- @ec2.expects(:make_request).with('RebootInstances', {"InstanceId.1"=>"i-2ea64347", "InstanceId.2"=>"i-21a64348"}).
514
- returns stub(:body => @reboot_instances_response_body, :is_a? => true)
515
- @ec2.reboot_instances( :instance_id => ["i-2ea64347", "i-21a64348"] ).class.should.equal Hash
516
- end
517
-
518
-
519
- specify "method start_instances should raise an exception when called without nil/empty string arguments" do
520
- lambda { @ec2.start_instances() }.should.raise(AWS::ArgumentError)
521
- lambda { @ec2.start_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
522
- lambda { @ec2.start_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
523
- end
524
-
525
-
526
- specify "should be able to be started when provided with an :instance_id" do
527
- @ec2.stubs(:make_request).with('StartInstances', {"InstanceId.1"=>"i-28a64341", "InstanceId.2"=>"i-21a64348"}).
528
- returns stub(:body => @start_instances_response_body, :is_a? => true)
529
- @ec2.start_instances( :instance_id => ["i-28a64341", "i-21a64348"] ).class.should.equal Hash
530
- end
531
-
532
-
533
- specify "method stop_instances should raise an exception when called without nil/empty string arguments" do
534
- lambda { @ec2.stop_instances() }.should.raise(AWS::ArgumentError)
535
- lambda { @ec2.stop_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
536
- lambda { @ec2.stop_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
537
- end
538
-
539
- specify "should be able to be stopped when provided with an :instance_id" do
540
- @ec2.stubs(:make_request).with('StopInstances', {"InstanceId.1"=>"i-28a64341", "InstanceId.2"=>"i-21a64348"}).
541
- returns stub(:body => @stop_instances_response_body, :is_a? => true)
542
- @ec2.stop_instances( :instance_id => ["i-28a64341", "i-21a64348"] ).class.should.equal Hash
543
- end
544
-
545
- specify "method terminate_instances should raise an exception when called without nil/empty string arguments" do
546
- lambda { @ec2.terminate_instances() }.should.raise(AWS::ArgumentError)
547
- lambda { @ec2.terminate_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
548
- lambda { @ec2.terminate_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
549
- end
550
-
551
- specify "should be able to be terminated when provided with an :instance_id" do
552
- @ec2.stubs(:make_request).with('TerminateInstances', {"InstanceId.1"=>"i-28a64341", "InstanceId.2"=>"i-21a64348"}).
553
- returns stub(:body => @terminate_instances_response_body, :is_a? => true)
554
- @ec2.terminate_instances( :instance_id => ["i-28a64341", "i-21a64348"] ).class.should.equal Hash
555
-
556
- @response = @ec2.terminate_instances( :instance_id => ["i-28a64341", "i-21a64348"] )
557
-
558
- @response.instancesSet.item[0].instanceId.should.equal "i-28a64341"
559
- @response.instancesSet.item[0].shutdownState.code.should.equal "32"
560
- @response.instancesSet.item[0].shutdownState.name.should.equal "shutting-down"
561
- @response.instancesSet.item[0].previousState.code.should.equal "0"
562
- @response.instancesSet.item[0].previousState.name.should.equal "pending"
563
-
564
- @response.instancesSet.item[1].instanceId.should.equal "i-21a64348"
565
- @response.instancesSet.item[1].shutdownState.code.should.equal "32"
566
- @response.instancesSet.item[1].shutdownState.name.should.equal "shutting-down"
567
- @response.instancesSet.item[1].previousState.code.should.equal "0"
568
- @response.instancesSet.item[1].previousState.name.should.equal "pending"
569
- end
570
-
571
- specify "method monitor_instances should raise an exception when called without nil/empty string arguments" do
572
- lambda { @ec2.monitor_instances() }.should.raise(AWS::ArgumentError)
573
- lambda { @ec2.monitor_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
574
- lambda { @ec2.monitor_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
575
- end
576
-
577
- specify "should be able to be monitored when provided with an :instance_id" do
578
- @ec2.stubs(:make_request).with('MonitorInstances', {"InstanceId.1"=>"i-138fc47a", "InstanceId.2"=>"i-33457a5a"}).
579
- returns stub(:body => @monitor_instances_response_body, :is_a? => true)
580
- @ec2.monitor_instances( :instance_id => ["i-138fc47a", "i-33457a5a"] ).class.should.equal Hash
581
-
582
- @response = @ec2.monitor_instances( :instance_id => ["i-138fc47a", "i-33457a5a"] )
583
-
584
- @response.instancesSet.item[0].instanceId.should.equal "i-138fc47a"
585
- @response.instancesSet.item[0].monitoring.state.should.equal "pending"
586
-
587
- @response.instancesSet.item[1].instanceId.should.equal "i-33457a5a"
588
- @response.instancesSet.item[1].monitoring.state.should.equal "pending"
589
- end
590
-
591
- specify "method unmonitor_instances should raise an exception when called without nil/empty string arguments" do
592
- lambda { @ec2.unmonitor_instances() }.should.raise(AWS::ArgumentError)
593
- lambda { @ec2.unmonitor_instances( :instance_id => nil ) }.should.raise(AWS::ArgumentError)
594
- lambda { @ec2.unmonitor_instances( :instance_id => "" ) }.should.raise(AWS::ArgumentError)
595
- end
596
-
597
- specify "should be able to be unmonitored when provided with an :instance_id" do
598
- @ec2.stubs(:make_request).with('UnmonitorInstances', {"InstanceId.1"=>"i-138fc47a", "InstanceId.2"=>"i-33457a5a"}).
599
- returns stub(:body => @unmonitor_instances_response_body, :is_a? => true)
600
- @ec2.unmonitor_instances( :instance_id => ["i-138fc47a", "i-33457a5a"] ).class.should.equal Hash
601
-
602
- @response = @ec2.unmonitor_instances( :instance_id => ["i-138fc47a", "i-33457a5a"] )
603
-
604
- @response.instancesSet.item[0].instanceId.should.equal "i-138fc47a"
605
- @response.instancesSet.item[0].monitoring.state.should.equal "disabling"
606
-
607
- @response.instancesSet.item[1].instanceId.should.equal "i-33457a5a"
608
- @response.instancesSet.item[1].monitoring.state.should.equal "disabling"
609
- end
610
-
611
- end