ec2-blackout 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/ec2-blackout/commands.rb +2 -0
- data/lib/ec2-blackout/ec2_instance.rb +4 -0
- data/lib/ec2-blackout/version.rb +1 -1
- data/spec/ec2-blackout/ec2_instance_spec.rb +25 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32705d8bf54ddb910f5d98659489ebf821f1168f
|
4
|
+
data.tar.gz: d53dc475da7f1c68e5743d1d3065b3ef3b72443f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc1dadcca1a007aab1ff5550574ed9c6575b2f6dadfc0200497669ddb1b5f1ddef420ff8c10cb1ab275052c5c4d2a329bb4a8c5d7f960fc92f26c22714cc3d4b
|
7
|
+
data.tar.gz: a69ffc6ef40007c0da599488dcf4f8ab769ff8f83c21fef8a70ee78b312e5b9d47646e09cbc2ace46dcb34de0963ea6442c67a0b8114d899ff7cc5ec0bb5aaad
|
data/Gemfile
CHANGED
@@ -29,6 +29,8 @@ command "off" do |c|
|
|
29
29
|
|
30
30
|
c.option '-r', '--regions region1,region2', Array, 'Comma separated list of regions to search. Defaults to all regions'
|
31
31
|
c.option '-f', '--force', 'Force start up regardless of who shut them dowm'
|
32
|
+
c.option '-x', '--exclude-by-tag tagname1=value,tagname2', Array, 'Comma separated list of name-value tags to exclude from the blackout off'
|
33
|
+
c.option '-i', '--include-by-tag tagname1=value,tagname2', Array, 'Comma separated list of name-value tags to include in the blackout off'
|
32
34
|
c.option '-d', '--dry-run', 'Find instances without starting them'
|
33
35
|
|
34
36
|
c.action do |args, options|
|
@@ -55,6 +55,10 @@ class Ec2::Blackout::Ec2Instance
|
|
55
55
|
true
|
56
56
|
elsif !tags[TIMESTAMP_TAG_NAME]
|
57
57
|
[false, "instance was not originally stopped by ec2-blackout"]
|
58
|
+
elsif @options.matches_exclude_tags?(tags)
|
59
|
+
[false, "matches exclude tags"]
|
60
|
+
elsif !@options.matches_include_tags?(tags)
|
61
|
+
[false, "does not match include tags"]
|
58
62
|
else
|
59
63
|
true
|
60
64
|
end
|
data/lib/ec2-blackout/version.rb
CHANGED
@@ -172,6 +172,31 @@ module Ec2::Blackout
|
|
172
172
|
startable, reason = instance.startable?
|
173
173
|
expect(startable).to be_true
|
174
174
|
end
|
175
|
+
|
176
|
+
it "returns false if the instance matches the exclude tags specified in the options" do
|
177
|
+
options = Ec2::Blackout::Options.new(:exclude_by_tag => ["foo=bar"])
|
178
|
+
instance = stubbed_startable_instance(aws_instance, options)
|
179
|
+
aws_instance.stub(:tags).and_return(ec2_tags("foo" => "bar", Ec2Instance::TIMESTAMP_TAG_NAME => '2014-02-13 02:35:52 UTC'))
|
180
|
+
startable, reason = instance.startable?
|
181
|
+
expect(startable).to be_false
|
182
|
+
end
|
183
|
+
|
184
|
+
it "returns true if the instance matches the include tags specified in the options" do
|
185
|
+
options = Ec2::Blackout::Options.new(:include_by_tag => ["foo=bar"])
|
186
|
+
instance = stubbed_startable_instance(aws_instance, options)
|
187
|
+
aws_instance.stub(:tags).and_return(ec2_tags("foo" => "bar", Ec2Instance::TIMESTAMP_TAG_NAME => '2014-02-13 02:35:52 UTC'))
|
188
|
+
startable, reason = instance.startable?
|
189
|
+
expect(startable).to be_true
|
190
|
+
end
|
191
|
+
|
192
|
+
it "returns false if the instance does not match the include tags specified in the options" do
|
193
|
+
options = Ec2::Blackout::Options.new(:include_by_tag => ["foo=bar"])
|
194
|
+
instance = stubbed_startable_instance(aws_instance, options)
|
195
|
+
aws_instance.stub(:tags).and_return(ec2_tags("bar" => "baz", Ec2Instance::TIMESTAMP_TAG_NAME => '2014-02-13 02:35:52 UTC'))
|
196
|
+
startable, reason = instance.startable?
|
197
|
+
expect(startable).to be_false
|
198
|
+
end
|
199
|
+
|
175
200
|
end
|
176
201
|
|
177
202
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ec2-blackout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Bartlett
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-06-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: commander
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.4.5
|
106
|
+
rubygems_version: 2.4.5.1
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: A command-line tool to shutdown EC2 instances.
|