awful 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 42a354d06ebef77565fd5bf054fee906cfd4488b
4
- data.tar.gz: b8aaae449e9ea0cd579afd8c001ca8f5778b687e
3
+ metadata.gz: 92b70a21086b26bd51cfa3ffc8b209921f18cf13
4
+ data.tar.gz: cdbfc2a8e6706e8b6376a10e690aa245d28fde79
5
5
  SHA512:
6
- metadata.gz: 76eaf426a7c1d0b7befcff6ec2edc727e089b674bfa385c77a29f7ebe33e8ff4a63dffd8c7aa308334f70a2727c61326e98d731fc33f303c516ac7ca12a477b4
7
- data.tar.gz: c921dfd44ef238a9851bb0917bfffa4943cebfc88845cf52fafc2ed3d33f60acfb5807a13219bc7c6a759da7928a2d549460a6116204295651655a3b0f5621ce
6
+ metadata.gz: 05746b80eee6cccabd29818777eb98b96af940102c394d1d0cfed12e0821ea76a6eb94b2f82436437db008307eae2f705ff691277edc7a7b286bfa7b18634ad4
7
+ data.tar.gz: 2b23230430ab531817edcf810b761f8749171082e815722c4a8c1443410932c3aeb80f5d3f2d9d8f951e8fa2ec3a399619366873ffe99fbc510164d8494a475d
@@ -117,6 +117,8 @@ module Awful
117
117
  end
118
118
 
119
119
  no_commands do
120
+
121
+ ## return array of instances in auto-scaling group sorted by age
120
122
  def oldest(name)
121
123
  instance_ids = autoscaling.describe_auto_scaling_instances.map(&:auto_scaling_instances).flatten.select do |instance|
122
124
  instance.auto_scaling_group_name == name
@@ -124,16 +126,20 @@ module Awful
124
126
  ec2.describe_instances(instance_ids: instance_ids).map(&:reservations).flatten.map(&:instances).flatten.sort_by(&:launch_time)
125
127
  end
126
128
 
129
+ ## return array of instances in auto-scaling group, reverse sorted by age, newest first
127
130
  def newest(name)
128
131
  oldest(name).reverse
129
132
  end
133
+
130
134
  end
131
135
 
132
136
  desc 'terminate NAME [NUMBER]', 'terminate NUMBER instances in group NAME'
133
137
  method_option :decrement, aliases: '-d', default: false, type: :boolean, desc: 'Decrement desired capacity for each terminated instance'
134
138
  method_option :newest, aliases: '-n', default: false, type: :boolean, desc: 'Delete newest instances instead of oldest'
139
+ method_option :all, aliases: '-a', default: false, type: :boolean, desc: 'Terminate all instances in group'
135
140
  def terminate(name, num = 1)
136
141
  ins = options[:newest] ? newest(name) : oldest(name)
142
+ num = ins.length if options[:all] # all instances if requested
137
143
 
138
144
  ins.first(num.to_i).map(&:instance_id).tap do |ids|
139
145
  if yes? "Really terminate #{num} instances: #{ids.join(',')}?", :yellow
data/lib/awful/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Awful
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ric Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-25 00:00:00.000000000 Z
11
+ date: 2015-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler