roadworker 0.5.6 → 0.5.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd9d533fd95da3d00de4f209a6642802942e8aac
4
- data.tar.gz: 4f027ff0221fd36e076a8e27093be368c746ac47
3
+ metadata.gz: df2616478603cce9612784bdc6632dcde6ea329f
4
+ data.tar.gz: 21b8701ffcdc6c4bef2c23d7f0d2947d848e6918
5
5
  SHA512:
6
- metadata.gz: 824f208791c633e945d2065f55b4fb51f671bff3d8747ce77ca19541d0a61249cc1f024d7c61e6bc0bc68c7a699b72d79b9ca084c57bae7d454af12529b31a13
7
- data.tar.gz: f8783015a66ba36b62cb9469e8b0205cf38f017d155140a4156fa3eb883138409b228282dd1591dd97519d2eb7d86a41dbe3c10bf4b761abc3820ca830313417
6
+ metadata.gz: 82872d5bfcf4fffdc5689c427dcc89a313776ad997cafaba8ae094739ea8479d4409e3c41f4d1ef65cfd1e21fb69356df99f8b19f9cf1218d4ddf6880e7dc735
7
+ data.tar.gz: 31144baa12f2f5eb32a43cf04c6ab360119fa733bbf07b20c2509ba21a606164418bd9667052d2a473506a4203f359eea7311e090e330d69b60c912007adb47c
data/README.md CHANGED
@@ -21,6 +21,9 @@ It defines the state of Route53 using DSL, and updates Route53 according to DSL.
21
21
  * Support Calculated Health Checks
22
22
  * Support New Health Check attributes
23
23
  * Add template feature
24
+ * `>= 0.5.7`
25
+ * Fix for `dualstack` prefix
26
+ * Use constant for CanonicalHostedZoneNameID
24
27
 
25
28
  ## Installation
26
29
 
@@ -111,7 +111,8 @@ begin
111
111
  client.export do |exported, converter|
112
112
  exported[:hosted_zones].each do |zone|
113
113
  route_file_basename = zone[:name].sub(/\.\Z/, '')
114
- route_file_basename << '.private' unless zone[:vpcs].empty?
114
+ route_file_basename << ".private" unless zone[:vpcs].empty?
115
+ route_file_basename << ".#{zone[:vpcs].first.vpc_id}" unless zone[:vpcs].empty?
115
116
  route_file_basename << '.route'
116
117
 
117
118
  route_file = File.join(File.dirname(output_file), route_file_basename)
@@ -5,20 +5,50 @@ module Aws
5
5
 
6
6
  # http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
7
7
  S3_WEBSITE_ENDPOINTS = {
8
- 's3-website-us-east-1.amazonaws.com' => 'z3AQBSTGFYJSTF',
9
- 's3-website-us-west-2.amazonaws.com' => 'z3BJ6K6RIION7M',
10
- 's3-website-us-west-1.amazonaws.com' => 'z2F56UZL2M1ACD',
11
- 's3-website-eu-west-1.amazonaws.com' => 'z1BKCTXD74EZPE',
12
- 's3-website.eu-central-1.amazonaws.com' => 'z21DNDUVLTQW6Q',
13
- 's3-website-ap-southeast-1.amazonaws.com' => 'z3O0J2DXBE1FTB',
14
- 's3-website-ap-southeast-2.amazonaws.com' => 'z1WCIGYICN2BYD',
15
- 's3-website-ap-northeast-1.amazonaws.com' => 'z2M4EHUR26P7ZW',
16
- 's3-website-sa-east-1.amazonaws.com' => 'z7KQH4QJS55SO',
17
- 's3-website-us-gov-west-1.amazonaws.com' => 'z31GFT0UA1I2HV',
8
+ 's3-website-ap-northeast-1.amazonaws.com' => 'Z2M4EHUR26P7ZW',
9
+ 's3-website.ap-northeast-2.amazonaws.com' => 'Z3W03O7B5YMIYP',
10
+ 's3-website.ap-south-1.amazonaws.com' => 'Z11RGJOFQNVJUP',
11
+ 's3-website-ap-southeast-1.amazonaws.com' => 'Z3O0J2DXBE1FTB',
12
+ 's3-website-ap-southeast-2.amazonaws.com' => 'Z1WCIGYICN2BYD',
13
+ 's3-website.eu-central-1.amazonaws.com' => 'Z21DNDUVLTQW6Q',
14
+ 's3-website-eu-west-1.amazonaws.com' => 'Z1BKCTXD74EZPE',
15
+ 's3-website-sa-east-1.amazonaws.com' => 'Z7KQH4QJS55SO',
16
+ 's3-website-us-east-1.amazonaws.com' => 'Z3AQBSTGFYJSTF',
17
+ 's3-website-us-gov-west-1.amazonaws.com' => 'Z31GFT0UA1I2HV',
18
+ 's3-website-us-west-1.amazonaws.com' => 'Z2F56UZL2M1ACD',
19
+ 's3-website-us-west-2.amazonaws.com' => 'Z3BJ6K6RIION7M',
18
20
  }
19
21
 
22
+ CANONICAL_HOSTED_ZONE_NAME_IDS = {
23
+ 'ap-northeast-1' => 'Z2YN17T5R711GT',
24
+ #'ap-northeast-2' => '',
25
+ #'ap-south-1' => '',
26
+ 'ap-southeast-1' => 'Z1WI8VXHPB1R38',
27
+ 'ap-southeast-2' => 'Z2999QAZ9SRTIC',
28
+ 'eu-central-1' => 'Z215JYRZR1TBD5',
29
+ 'eu-west-1' => 'Z3NF1Z3NOM5OY2',
30
+ 'sa-east-1' => 'Z2ES78Y61JGQKS',
31
+ 'us-east-1' => 'Z3DZXE0Q79N41H',
32
+ 'us-west-1' => 'Z1M58G0W56PQJA',
33
+ 'us-west-2' => 'Z33MTJ483KN6FU',
34
+ }
35
+
36
+ DUALSTACK_CANONICAL_HOSTED_ZONE_NAME_IDS = {
37
+ 'ap-northeast-1' => 'Z14GRHDCWA56QT',
38
+ 'ap-northeast-2' => 'ZWKZPGTI48KDX',
39
+ 'ap-south-1' => 'ZP97RAFLXTNZK',
40
+ 'ap-southeast-1' => 'Z1LMS91P8CMLE5',
41
+ 'ap-southeast-2' => 'Z1GM3OXH4ZPM65',
42
+ 'eu-central-1' => 'Z215JYRZR1TBD5',
43
+ 'eu-west-1' => 'Z32O12XQLNTSW2',
44
+ 'sa-east-1' => 'Z2P70J7HTTTPLU',
45
+ 'us-east-1' => 'Z35SXDOTRQ7X7K',
46
+ 'us-west-1' => 'Z368ELLRRE2KJ0',
47
+ 'us-west-2' => 'Z1H1FL5HABSF5',
48
+ }
49
+
20
50
  # http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html
21
- CF_HOSTED_zONE_ID = 'Z2FDTNDATAQYW2'
51
+ CF_HOSTED_ZONE_ID = 'Z2FDTNDATAQYW2'
22
52
 
23
53
  class << self
24
54
  def normalize_dns_name_options(src)
@@ -66,25 +96,21 @@ module Aws
66
96
  :evaluate_target_health => false, # XXX:
67
97
  }
68
98
  else
69
- elb = Aws::ElasticLoadBalancing::Client.new(:region => region)
70
-
71
- load_balancer = nil
72
- elb.describe_load_balancers.each do |page|
73
- page.load_balancer_descriptions.each do |lb|
74
- if lb.dns_name == name
75
- load_balancer = lb
76
- end
77
- end
78
- break if load_balancer
99
+ hosted_zone_id = nil
100
+
101
+ if name =~ /\Adualstack\./i
102
+ hosted_zone_id = DUALSTACK_CANONICAL_HOSTED_ZONE_NAME_IDS[region]
103
+ else
104
+ hosted_zone_id = CANONICAL_HOSTED_ZONE_NAME_IDS[region]
79
105
  end
80
106
 
81
- unless load_balancer
82
- raise "Cannot find ELB: #{name}"
107
+ unless hosted_zone_id
108
+ raise "Cannot find CanonicalHostedZoneNameID for `#{name}`. Please pass :hosted_zone_id"
83
109
  end
84
110
 
85
111
  {
86
- :hosted_zone_id => load_balancer.canonical_hosted_zone_name_id,
87
- :dns_name => load_balancer.dns_name,
112
+ :hosted_zone_id => hosted_zone_id,
113
+ :dns_name => name,
88
114
  :evaluate_target_health => false, # XXX:
89
115
  }
90
116
  end
@@ -100,7 +126,7 @@ module Aws
100
126
 
101
127
  def cf_dns_name_to_alias_target(name)
102
128
  {
103
- :hosted_zone_id => CF_HOSTED_zONE_ID,
129
+ :hosted_zone_id => CF_HOSTED_ZONE_ID,
104
130
  :dns_name => name,
105
131
  :evaluate_target_health => false, # XXX:
106
132
  }
@@ -225,6 +225,16 @@ module Roadworker
225
225
  when :dns_name
226
226
  expected[0] = expected[0].downcase.sub(/\.\z/, '')
227
227
  actual[0] = actual[0].downcase.sub(/\.\z/, '')
228
+
229
+ if actual[0] =~ /\Adualstack\./i
230
+ log(:warn, "`dualstack` prefix is used in the actual DNS name", :yellow) do
231
+ log_id = [self.name, self.type].join(' ')
232
+ rrset_setid = self.set_identifier
233
+ rrset_setid ? (log_id + " (#{rrset_setid})") : log_id
234
+ end
235
+
236
+ actual[0].sub!(/\Adualstack\./i, '')
237
+ end
228
238
  end
229
239
 
230
240
  (expected == actual)
@@ -1,3 +1,3 @@
1
1
  module Roadworker
2
- VERSION = "0.5.6"
2
+ VERSION = "0.5.7.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.6
4
+ version: 0.5.7.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-04-19 00:00:00.000000000 Z
11
+ date: 2016-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: 1.0.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: '0'
166
+ version: 1.0.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubydns
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -247,9 +247,9 @@ 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
255
  rubygems_version: 2.4.5.1