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 +4 -4
- data/README.md +14 -0
- data/lib/roadworker/client.rb +12 -0
- data/lib/roadworker/dsl-tester.rb +1 -1
- data/lib/roadworker/dsl.rb +14 -0
- data/lib/roadworker/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96ce8fe624182e9f1359bda2e4859d01cc574066
|
4
|
+
data.tar.gz: 40dc9668ed72d8571d504a6b006ed90d12975c3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
data/lib/roadworker/client.rb
CHANGED
@@ -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".."
|
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
|
|
data/lib/roadworker/dsl.rb
CHANGED
@@ -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}"
|
data/lib/roadworker/version.rb
CHANGED
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.
|
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-
|
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:
|
252
|
+
version: 1.3.1
|
253
253
|
requirements: []
|
254
254
|
rubyforge_project:
|
255
|
-
rubygems_version: 2.
|
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.
|