builderator 0.3.14 → 0.3.15

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: 6901f377be29e89f633b17b166ce6d2fc6198dfa
4
- data.tar.gz: 9e8740901203c73291eaa3987a00216c94d4473f
3
+ metadata.gz: 1a2651a58b8b6c3d5d29079de1515bc01afba62d
4
+ data.tar.gz: c82cee97be2d711914d987c159d00ccdea1e04c5
5
5
  SHA512:
6
- metadata.gz: 2014b58d27b7c2d851a20b68c18e5a046f6bfcfbd11caa6fd4e85a41b3b6221d25794ad17260d51a0155ec733a301e4da59bebf5005b0e57372f06cf89de377e
7
- data.tar.gz: 82e74ba6e5e1fd372125399a96f931b1986bf8b2a313d58fc74cdcda05526878f8d3acc78f2733a1f988a42864cc1b97dc8493715a16c832677a10dd1e3524f0
6
+ metadata.gz: 9530719cd0a0f67c3be8a89e4b0e19f296b1a8e814276000118f51d6a4d0b2e4e4940d255ea3214ccf6caff62134ac79a8bc238b9fb3bc79ba387714d947148f
7
+ data.tar.gz: a24489f1eb8a3efef522962f703795208503ed3461ec96cebc4d9175fa161b532fdd635b73149bd9b55d1d99390e855be3301563c87a460949244bfbdb9b3129
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.14
1
+ 0.3.15
@@ -13,6 +13,7 @@ module Builderator
13
13
  module Owners
14
14
  SELF = 'self'.freeze
15
15
  UBUNTU = '099720109477'.freeze
16
+ AMAZON = 'amazon'.freeze
16
17
  end
17
18
 
18
19
  ## Filter fields defined in http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Builderator::Util.ec2.html#describe_images-instance_method
@@ -32,6 +32,16 @@ module Builderator
32
32
  'virtualization-type' => options['virtualization_type'],
33
33
  'architecture' => options['architecture'] }.merge(Hash[*args])).image_id
34
34
  end
35
+
36
+ desc 'windows SEARCH', 'Print the latest AMI ID for a Windows image matching the SEARCH string'
37
+ def windows(search = 'Windows_Server-2012-R2_RTM-English-64Bit-Base*')
38
+ puts Control::AMI.latest(:owner => Builderator::Control::AMI::Owners::AMAZON,
39
+ 'root-device-type' => options['root_device_type'],
40
+ 'virtualization-type' => options['virtualization_type'],
41
+ 'architecture' => options['architecture'],
42
+ 'name' => search).image_id
43
+ end
44
+
35
45
  end
36
46
  end
37
47
  end
@@ -88,6 +88,9 @@ module Builderator
88
88
  Control::Clean.exceptions.each do |e|
89
89
  say_status(*e.status)
90
90
  end
91
+
92
+ ## Mark the Jenkins job as fail if there were errors.
93
+ exit(1)
91
94
  end
92
95
  end
93
96
  end
@@ -13,19 +13,13 @@ module Builderator
13
13
 
14
14
  def filter(resources, filters = {})
15
15
  resources.select do |_, r|
16
- filters.reduce(true) do |memo, (k, v)|
17
- memo && r[:properties].include?(k.to_s) &&
18
- r[:properties][k.to_s] == v
19
- end
16
+ _filter_reduce(r, filters)
20
17
  end
21
18
  end
22
19
 
23
20
  def filter!(resources, filters = {})
24
21
  resources.select! do |_, r|
25
- filters.reduce(true) do |memo, (k, v)|
26
- memo && r[:properties].include?(k.to_s) &&
27
- r[:properties][k.to_s] == v
28
- end
22
+ _filter_reduce(r, filters)
29
23
  end
30
24
 
31
25
  resources
@@ -47,6 +41,19 @@ module Builderator
47
41
  def working_dir(relative = '.')
48
42
  Pathname.pwd.join(relative).expand_path
49
43
  end
44
+
45
+ private
46
+
47
+ def _filter_reduce(resource, filters)
48
+ filters.reduce(true) do |memo, (k, v)|
49
+ ## Allow for negation with a leading `~`
50
+ if v[0] == '~'
51
+ memo && (!resource[:properties].include?(k.to_s) || resource[:properties][k.to_s] != v[1..-1])
52
+ else
53
+ memo && resource[:properties].include?(k.to_s) && resource[:properties][k.to_s] == v
54
+ end
55
+ end
56
+ end
50
57
  end
51
58
  end
52
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: builderator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.14
4
+ version: 0.3.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-21 00:00:00.000000000 Z
11
+ date: 2015-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake