awscli 0.1.5 → 0.1.6
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.
- data/README.md +7 -2
- data/lib/awscli/cli/ec2/instances.rb +7 -0
- data/lib/awscli/ec2.rb +27 -1
- data/lib/awscli/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -19,7 +19,12 @@ More interfaces are in development.
|
|
19
19
|
|
20
20
|
To Install Use:
|
21
21
|
|
22
|
-
|
22
|
+
```
|
23
|
+
sudo gem install awscli
|
24
|
+
```
|
25
|
+
|
26
|
+
Note: `awscli` depends on nokogiri gem which needs to be compiled and dynamically linked against both libxml2 and libxslt, for installing dependencies follow this link:
|
27
|
+
<http://nokogiri.org/tutorials/installing_nokogiri.html>
|
23
28
|
|
24
29
|
For help using cli:
|
25
30
|
|
@@ -33,4 +38,4 @@ $ awscli <interface> help
|
|
33
38
|
|
34
39
|
Licence:
|
35
40
|
|
36
|
-
`awscli` is released under the terms of the MIT License, see the included LICENSE file.
|
41
|
+
`awscli` is released under the terms of the MIT License, see the included LICENSE file.
|
@@ -192,6 +192,13 @@ module AwsCli
|
|
192
192
|
@ec2.terminate_instance options[:instance_id]
|
193
193
|
end
|
194
194
|
|
195
|
+
desc "terminate_all", "terminate all running instances (causes data loss)"
|
196
|
+
method_option :delete_volumes, :aliases => "-v", :type => :boolean, :desc => "delete the ebs volumes attached to instance if any", :default => false
|
197
|
+
def terminate_all
|
198
|
+
create_ec2_object
|
199
|
+
@ec2.terminate_instances options[:delete_volumes]
|
200
|
+
end
|
201
|
+
|
195
202
|
desc "console_output", "Retrieve console output for specified instance"
|
196
203
|
method_option :instance_id, :aliases => "-i", :required => true, :banner => "ID", :desc => "instance id to get console output from"
|
197
204
|
def console_output
|
data/lib/awscli/ec2.rb
CHANGED
@@ -184,9 +184,35 @@ module Awscli
|
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
|
+
# terminates all the instances that are running
|
188
|
+
def terminate_instances(delete_attached_volumes = false)
|
189
|
+
block_mappings = []
|
190
|
+
if agree('Are you sure want to delete all the servers that are running ? ')
|
191
|
+
@conn.servers.all.each do |server|
|
192
|
+
server.destroy if server.state == 'running'
|
193
|
+
block_mappings << server.block_device_mapping
|
194
|
+
end
|
195
|
+
end
|
196
|
+
if delete_attached_volumes
|
197
|
+
if agree('Are you sure you want to delete the volumes attached to the instance as well? ')
|
198
|
+
unless block_mappings.length == 0
|
199
|
+
block_mappings.each do |server|
|
200
|
+
server.each do |map|
|
201
|
+
vol = @conn.volumes.get(map['volumeId'])
|
202
|
+
vol.wait_for { vol.state == 'available' }
|
203
|
+
vol.destroy if map['deleteOnTermination'] != 'true'
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
# get the console_output from instance
|
187
212
|
def get_console_output(instance_id)
|
188
213
|
response = @conn.get_console_output(instance_id)
|
189
|
-
|
214
|
+
output = response.data['output']
|
215
|
+
output.nil? ? puts('No console output attached yet!') : puts(output)
|
190
216
|
end
|
191
217
|
|
192
218
|
end # => EC2
|
data/lib/awscli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awscli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|