roadworker 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjI3MjBjYzIzMmY0OWNiZDNmMjhjNmVlNmQzYzM1ZGQ4MDZhYTkwNw==
5
- data.tar.gz: !binary |-
6
- OGYyYTk0ZGYyOWY1NDM2MDM1ZjBmMGY1YzdiNTFjN2QwNzZkZmYwYQ==
2
+ SHA1:
3
+ metadata.gz: 6f694d04bb0eda4bc71551dd53e709123d8d7f81
4
+ data.tar.gz: 3970732f55fc1f556cd65f1393480bd996feac05
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MGY2MDMzZTJlYjlmM2UxMzZiMjFiY2QzNzAzZTAyNDI0ODA2NDA4YjI0N2Ni
10
- NTgzZTcwMmI4ZDg1YzBkNDQxYmI4ZmFjNjQwMjg1ZTdjYWRkMjM3YWI0NGEz
11
- N2U0Yjc4MWU0Mjc2NTE5NDY2NGM5NDdjYTM1OWE5MmY3MTM2MzU=
12
- data.tar.gz: !binary |-
13
- Yjc2OThlOWM2N2EyNWQ4NzllNWQxMDkyOGVmZTZjOTk5ZTAxOGE4YzRhZGQy
14
- MGI2MWZjM2VhNGNjYjI2MDJhMGYzNjljMjI1YmY5ODAzYTJjODljZTZkZDgx
15
- ZmYyZWIwMjlhMTI3ZjRiYzAyYjdkM2IyYjU4OTg1OTA1YWJlNjg=
6
+ metadata.gz: c4133a0c6f348ac2dc5fbeaaf0150f446400af9c5f68ca65b4731eaf56d2d0b290c2ee40267cf0bbd77343de16742da877becdfbb3a6f981534863e49445ff97
7
+ data.tar.gz: a2deb137b51610117ef0792a71d5e72ab97525f85d0a29c95f038cc2e89528b9839b700f0c84f6672048470f26896ca4c85ef72f3d9a8f930d5d44b1364fcd42
data/README.md CHANGED
@@ -68,7 +68,9 @@ hosted_zone "info.winebarrel.jp." do
68
68
  rrset "zzz.info.winebarrel.jp", "A" do
69
69
  set_identifier "Primary"
70
70
  failover "PRIMARY"
71
- health_check "http://192.0.43.10:80/path", :host => "example.com", :search_string => "ANY_RESPONSE_STRING", :request_interval => 30, :failure_threshold => 3
71
+ health_check "http://example.com:80/path", :search_string => "ANY_RESPONSE_STRING", :request_interval => 30, :failure_threshold => 3
72
+ # If you want to specify the IP address:
73
+ #health_check "http://192.0.43.10:80/path", :host => "example.com",...
72
74
  ttl 456
73
75
  resource_records(
74
76
  "127.0.0.1",
@@ -1,6 +1,45 @@
1
1
  require 'aws-sdk'
2
2
 
3
3
  module AWS
4
+ module Core
5
+ class Client
6
+
7
+ # PTF:
8
+ class << self
9
+ alias load_api_config_orig load_api_config
10
+
11
+ def load_api_config(api_version)
12
+ yaml = load_api_config_orig(api_version)
13
+
14
+ if service_name == 'Route53'
15
+ rewrite_api(yaml)
16
+ end
17
+
18
+ return yaml
19
+ end
20
+
21
+ private
22
+
23
+ def rewrite_api(value)
24
+ case value
25
+ when Array
26
+ value.each {|v| rewrite_api(v) }
27
+ when Hash
28
+ value.each do |k, v|
29
+ case k
30
+ when :health_check_config
31
+ v[:members][:ip_address][:required] = false
32
+ end
33
+
34
+ rewrite_api(v)
35
+ end
36
+ end
37
+ end
38
+ end # of class method
39
+
40
+ end # Client
41
+ end # Core
42
+
4
43
  class Route53
5
44
 
6
45
  # http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
@@ -24,7 +24,15 @@ module Roadworker
24
24
  request_interval = config[:request_interval]
25
25
  failure_threshold = config[:failure_threshold]
26
26
 
27
- url = "#{type}://#{ipaddr}:#{port}"
27
+ ulr = nil
28
+
29
+ if ipaddr
30
+ url = "#{type}://#{ipaddr}:#{port}"
31
+ else
32
+ url = "#{type}://#{fqdn}:#{port}"
33
+ fqdn = nil
34
+ end
35
+
28
36
  url << path if path && path != '/'
29
37
 
30
38
  {
@@ -47,7 +55,6 @@ module Roadworker
47
55
  config = {}
48
56
 
49
57
  {
50
- :ip_address => url.host,
51
58
  :port => url.port,
52
59
  :type => url.scheme.upcase,
53
60
  :resource_path => path,
@@ -55,6 +62,12 @@ module Roadworker
55
62
  config[key] = value if value
56
63
  }
57
64
 
65
+ if url.host =~ /\A\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\Z/
66
+ config[:ip_address] = url.host
67
+ else
68
+ config[:fully_qualified_domain_name] = url.host
69
+ end
70
+
58
71
  return config
59
72
  end
60
73
  end # of class method
@@ -1,5 +1,5 @@
1
1
  module Roadworker
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.4"
3
3
  end
4
4
 
5
5
  Version = Roadworker::VERSION
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-08 00:00:00.000000000 Z
11
+ date: 2014-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.36.0
19
+ version: 1.39.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.36.0
26
+ version: 1.39.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: term-ansicolor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,28 +56,28 @@ dependencies:
56
56
  name: uuid
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: systemu
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
@@ -98,14 +98,14 @@ dependencies:
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
@@ -126,14 +126,14 @@ dependencies:
126
126
  name: rspec-instafail
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: Roadworker is a tool to manage Route53. It defines the state of Route53
@@ -170,17 +170,17 @@ require_paths:
170
170
  - lib
171
171
  required_ruby_version: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - ! '>='
173
+ - - '>='
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ! '>='
178
+ - - '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  requirements: []
182
182
  rubyforge_project:
183
- rubygems_version: 2.1.11
183
+ rubygems_version: 2.0.14
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: Roadworker is a tool to manage Route53.