roadworker 0.5.7 → 0.5.8.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|