roadworker 0.5.7 → 0.5.8.beta

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: 6fe9d5b0776331837b7cf6bd2ebbf040295fa597
4
- data.tar.gz: 483e6c270f29fa43125663b8fe20c840f67d43e6
3
+ metadata.gz: 96ce8fe624182e9f1359bda2e4859d01cc574066
4
+ data.tar.gz: 40dc9668ed72d8571d504a6b006ed90d12975c3a
5
5
  SHA512:
6
- metadata.gz: 5e6fc9d11b4b10d25a84c5aa5d10784640f950cae23f7ddd5740b157fcc0a5c8b57bebc5d99f0115e6d00f606cf5a39d6fbbacd1a7d62a061d02e356955d99a8
7
- data.tar.gz: ae9b8d24576843ae3d36691e71603ce0919d4e6c9a07815013f6bb78291a135ec5742d460f105eda7fe01cd031907ee2917d2a6c5ff8373600dfdd3afa0cda8d
6
+ metadata.gz: feef75736ca96beae549fecf6edeee7daf4df51f21beaf176d6c4e1d780e5aa7e1aa1c2b7ae11836038dee3114769b3c10f4dffc94a4a941b22af440076d08bc
7
+ data.tar.gz: 29dcbb331bd6a942f812aec98812632d860b13c5c5ad9ab62a29435f8e62184fb000eec55d111eb582fc824e72d28393f619a76a3e08ca5a575e62f19c7a030f
data/README.md CHANGED
@@ -197,6 +197,20 @@ hosted_zone "winebarrel.jp." do
197
197
  end
198
198
  ```
199
199
 
200
+ ### Exclude specific records from management under Roadworker
201
+
202
+ Use this if your zone contains rrsets managed by other tools, and you want to ignore them in Roadworker.
203
+
204
+ ```ruby
205
+ hosted_zone "winebarrel.jp." do
206
+ ignore "ignore.winebarrel.jp"
207
+ ignore /^regexp-ignore/
208
+
209
+ # *.ignore2.winebarrel.jp and ignore2.winebarrel.jp
210
+ ignore_under "ignore2.winebarrel.jp"
211
+ end
212
+ ```
213
+
200
214
  ## Test
201
215
 
202
216
  Routefile compares the results of a query to the DNS and DSL in the test mode.
@@ -122,6 +122,13 @@ module Roadworker
122
122
  actual_record = actual.delete([name, actual_type, set_identifier])
123
123
  end
124
124
 
125
+ if expected_zone.ignore_patterns.any? { |pattern| pattern === name }
126
+ log(:warn, "Ignoring defined record in DSL, because it is ignored record", :yellow) do
127
+ "#{name} #{type}" + (set_identifier ? " (#{set_identifier})" : '')
128
+ end
129
+ next
130
+ end
131
+
125
132
  if actual_record
126
133
  unless actual_record.eql?(expected_record)
127
134
  actual_record.update(expected_record)
@@ -132,6 +139,11 @@ module Roadworker
132
139
  end
133
140
 
134
141
  actual.each do |keys, record|
142
+ name = keys[0]
143
+ if expected_zone.ignore_patterns.any? { |pattern| pattern === name }
144
+ next
145
+ end
146
+
135
147
  record.delete
136
148
  end
137
149
  end
@@ -298,7 +298,7 @@ module Roadworker
298
298
  end
299
299
 
300
300
  def asterisk_to_anyname(name)
301
- rand_str = (("a".."z").to_a + ("A".."z").to_a + (0..9).to_a).shuffle[0..7].join
301
+ rand_str = (("a".."z").to_a + ("A".."Z").to_a + (0..9).to_a).shuffle[0..7].join
302
302
  name.gsub('*', "#{ASTERISK_PREFIX}-#{rand_str}")
303
303
  end
304
304
 
@@ -68,6 +68,7 @@ module Roadworker
68
68
  :vpcs => [],
69
69
  :resource_record_sets => rrsets,
70
70
  :rrsets => rrsets,
71
+ :ignore_patterns => [],
71
72
  })
72
73
 
73
74
  instance_eval(&block)
@@ -93,6 +94,19 @@ module Roadworker
93
94
  @result.vpcs << vpc_h
94
95
  end
95
96
 
97
+ def ignore(rrset_name)
98
+ @result.ignore_patterns << case rrset_name
99
+ when Regexp
100
+ rrset_name
101
+ else
102
+ rrset_name.to_s.sub(/\.\z/, '')
103
+ end
104
+ end
105
+
106
+ def ignore_under(rrset_name)
107
+ ignore /(\A|\.)#{Regexp.escape(rrset_name.to_s.sub(/\.\z/, ''))}\z/
108
+ end
109
+
96
110
  def resource_record_set(rrset_name, type, &block)
97
111
  if rrset_name.sub(/\.\z/, '') !~ /#{Regexp.escape(@name.sub(/\.\Z/, ''))}\Z/i
98
112
  raise "Invalid ResourceRecordSet Name: #{rrset_name}"
@@ -1,3 +1,3 @@
1
1
  module Roadworker
2
- VERSION = "0.5.7"
2
+ VERSION = "0.5.8.beta"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-09 00:00:00.000000000 Z
11
+ date: 2016-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -247,12 +247,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
247
247
  version: '0'
248
248
  required_rubygems_version: !ruby/object:Gem::Requirement
249
249
  requirements:
250
- - - ">="
250
+ - - ">"
251
251
  - !ruby/object:Gem::Version
252
- version: '0'
252
+ version: 1.3.1
253
253
  requirements: []
254
254
  rubyforge_project:
255
- rubygems_version: 2.4.5.1
255
+ rubygems_version: 2.5.1
256
256
  signing_key:
257
257
  specification_version: 4
258
258
  summary: Roadworker is a tool to manage Route53.