google-cloud-dns 0.27.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +2 -2
- data/lib/google-cloud-dns.rb +27 -2
- data/lib/google/cloud/dns.rb +62 -11
- data/lib/google/cloud/dns/change.rb +5 -5
- data/lib/google/cloud/dns/change/list.rb +3 -3
- data/lib/google/cloud/dns/credentials.rb +9 -8
- data/lib/google/cloud/dns/importer.rb +28 -20
- data/lib/google/cloud/dns/project.rb +9 -19
- data/lib/google/cloud/dns/record.rb +7 -10
- data/lib/google/cloud/dns/record/list.rb +3 -3
- data/lib/google/cloud/dns/service.rb +3 -3
- data/lib/google/cloud/dns/version.rb +3 -3
- data/lib/google/cloud/dns/zone.rb +11 -11
- data/lib/google/cloud/dns/zone/list.rb +3 -3
- data/lib/google/cloud/dns/zone/transaction.rb +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e8272d440a9dc2b377529facd35cc0383a896b2bcee3d5b66c9f8d20f67f528
|
4
|
+
data.tar.gz: 903d26ed7c8451264513f34a183a6b849e1c4379f14927661b4449ce911590a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 905ca17843ed70325d936bcc03a5d8ae1c735e24b015500f2d1d5a8b586bbe5aa9b45faabb800cae74dc94cde7388d48676ca3ab661dd60d293509811d38416c
|
7
|
+
data.tar.gz: 4ac52e9a95892a6fb7c33d3e238a563b9ac0b83f169f37f8d84ce44d9725049a122b130fcceb37abe1588cf96e0c1bf26ca4921f58f683b8baea7f40a983e593
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Apache License
|
2
2
|
Version 2.0, January 2004
|
3
|
-
|
3
|
+
https://www.apache.org/licenses/
|
4
4
|
|
5
5
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
6
|
|
@@ -192,7 +192,7 @@
|
|
192
192
|
you may not use this file except in compliance with the License.
|
193
193
|
You may obtain a copy of the License at
|
194
194
|
|
195
|
-
|
195
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
196
196
|
|
197
197
|
Unless required by applicable law or agreed to in writing, software
|
198
198
|
distributed under the License is distributed on an "AS IS" BASIS,
|
data/lib/google-cloud-dns.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
gem "google-cloud-core"
|
22
22
|
require "google/cloud"
|
23
|
+
require "google/cloud/config"
|
24
|
+
require "googleauth"
|
23
25
|
|
24
26
|
module Google
|
25
27
|
module Cloud
|
@@ -108,3 +110,26 @@ module Google
|
|
108
110
|
end
|
109
111
|
end
|
110
112
|
end
|
113
|
+
|
114
|
+
# Set the default dns configuration
|
115
|
+
Google::Cloud.configure.add_config! :dns do |config|
|
116
|
+
default_project = Google::Cloud::Config.deferred do
|
117
|
+
ENV["DNS_PROJECT"]
|
118
|
+
end
|
119
|
+
default_creds = Google::Cloud::Config.deferred do
|
120
|
+
Google::Cloud::Config.credentials_from_env(
|
121
|
+
"DNS_CREDENTIALS", "DNS_CREDENTIALS_JSON",
|
122
|
+
"DNS_KEYFILE", "DNS_KEYFILE_JSON"
|
123
|
+
)
|
124
|
+
end
|
125
|
+
|
126
|
+
config.add_field! :project_id, default_project, match: String, allow_nil: true
|
127
|
+
config.add_alias! :project, :project_id
|
128
|
+
config.add_field! :credentials, default_creds,
|
129
|
+
match: [String, Hash, Google::Auth::Credentials],
|
130
|
+
allow_nil: true
|
131
|
+
config.add_alias! :keyfile, :credentials
|
132
|
+
config.add_field! :scope, nil, match: [String, Array]
|
133
|
+
config.add_field! :retries, nil, match: Integer
|
134
|
+
config.add_field! :timeout, nil, match: Integer
|
135
|
+
end
|
data/lib/google/cloud/dns.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -15,6 +15,8 @@
|
|
15
15
|
|
16
16
|
require "google-cloud-dns"
|
17
17
|
require "google/cloud/dns/project"
|
18
|
+
require "google/cloud/config"
|
19
|
+
require "google/cloud/env"
|
18
20
|
|
19
21
|
module Google
|
20
22
|
module Cloud
|
@@ -29,11 +31,12 @@ module Google
|
|
29
31
|
# Cloud DNS?](https://cloud.google.com/dns/what-is-cloud-dns).
|
30
32
|
#
|
31
33
|
# The goal of google-cloud is to provide an API that is comfortable to
|
32
|
-
# Rubyists.
|
33
|
-
#
|
34
|
-
#
|
35
|
-
#
|
36
|
-
# connecting in the
|
34
|
+
# Rubyists. Your authentication credentials are detected automatically in
|
35
|
+
# Google Cloud Platform environments such as Google Compute Engine, Google
|
36
|
+
# App Engine and Google Kubernetes Engine. In other environments you can
|
37
|
+
# configure authentication easily, either directly in your code or via
|
38
|
+
# environment variables. Read more about the options for connecting in the
|
39
|
+
# [Authentication
|
37
40
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
38
41
|
#
|
39
42
|
# ## Creating Zones
|
@@ -312,18 +315,66 @@ module Google
|
|
312
315
|
#
|
313
316
|
def self.new project_id: nil, credentials: nil, scope: nil, retries: nil,
|
314
317
|
timeout: nil, project: nil, keyfile: nil
|
315
|
-
project_id ||= (project ||
|
318
|
+
project_id ||= (project || default_project_id)
|
316
319
|
project_id = project_id.to_s # Always cast to a string
|
317
|
-
|
320
|
+
raise ArgumentError, "project_id is missing" if project_id.empty?
|
318
321
|
|
319
|
-
|
322
|
+
scope ||= configure.scope
|
323
|
+
retries ||= configure.retries
|
324
|
+
timeout ||= configure.timeout
|
325
|
+
|
326
|
+
credentials ||= (keyfile || default_credentials(scope: scope))
|
320
327
|
unless credentials.is_a? Google::Auth::Credentials
|
321
328
|
credentials = Dns::Credentials.new credentials, scope: scope
|
322
329
|
end
|
323
330
|
|
324
331
|
Dns::Project.new(
|
325
332
|
Dns::Service.new(
|
326
|
-
project_id, credentials, retries: retries, timeout: timeout
|
333
|
+
project_id, credentials, retries: retries, timeout: timeout
|
334
|
+
)
|
335
|
+
)
|
336
|
+
end
|
337
|
+
|
338
|
+
##
|
339
|
+
# Configure the Google Cloud DNS library.
|
340
|
+
#
|
341
|
+
# The following DNS configuration parameters are supported:
|
342
|
+
#
|
343
|
+
# * `project_id` - (String) Identifier for a DNS project. (The
|
344
|
+
# parameter `project` is considered deprecated, but may also be used.)
|
345
|
+
# * `credentials` - (String, Hash, Google::Auth::Credentials) The path to
|
346
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
347
|
+
# Google::Auth::Credentials object. (See {Dns::Credentials}) (The
|
348
|
+
# parameter `keyfile` is considered deprecated, but may also be used.)
|
349
|
+
# * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
|
350
|
+
# the set of resources and operations that the connection can access.
|
351
|
+
# * `retries` - (Integer) Number of times to retry requests on server
|
352
|
+
# error.
|
353
|
+
# * `timeout` - (Integer) Default timeout to use in requests.
|
354
|
+
#
|
355
|
+
# @return [Google::Cloud::Config] The configuration object the
|
356
|
+
# Google::Cloud::Dns library uses.
|
357
|
+
#
|
358
|
+
def self.configure
|
359
|
+
yield Google::Cloud.configure.dns if block_given?
|
360
|
+
|
361
|
+
Google::Cloud.configure.dns
|
362
|
+
end
|
363
|
+
|
364
|
+
##
|
365
|
+
# @private Default project.
|
366
|
+
def self.default_project_id
|
367
|
+
Google::Cloud.configure.dns.project_id ||
|
368
|
+
Google::Cloud.configure.project_id ||
|
369
|
+
Google::Cloud.env.project_id
|
370
|
+
end
|
371
|
+
|
372
|
+
##
|
373
|
+
# @private Default credentials.
|
374
|
+
def self.default_credentials scope: nil
|
375
|
+
Google::Cloud.configure.dns.credentials ||
|
376
|
+
Google::Cloud.configure.credentials ||
|
377
|
+
Dns::Credentials.default(scope: scope)
|
327
378
|
end
|
328
379
|
end
|
329
380
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -100,7 +100,7 @@ module Google
|
|
100
100
|
#
|
101
101
|
def started_at
|
102
102
|
Time.parse @gapi.start_time
|
103
|
-
rescue
|
103
|
+
rescue StandardError
|
104
104
|
nil
|
105
105
|
end
|
106
106
|
|
@@ -110,7 +110,7 @@ module Google
|
|
110
110
|
ensure_service!
|
111
111
|
@gapi = zone.service.get_change @zone.id, id
|
112
112
|
end
|
113
|
-
|
113
|
+
alias refresh! reload!
|
114
114
|
|
115
115
|
##
|
116
116
|
# Refreshes the change until the status is `done`.
|
@@ -150,7 +150,7 @@ module Google
|
|
150
150
|
##
|
151
151
|
# Raise an error unless an active service is available.
|
152
152
|
def ensure_service!
|
153
|
-
|
153
|
+
raise "Must have active connection" unless zone && zone.service
|
154
154
|
end
|
155
155
|
end
|
156
156
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -162,7 +162,7 @@ module Google
|
|
162
162
|
##
|
163
163
|
# Raise an error unless an active connection is available.
|
164
164
|
def ensure_zone!
|
165
|
-
|
165
|
+
raise "Must have active connection" unless @zone
|
166
166
|
end
|
167
167
|
end
|
168
168
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -38,19 +38,20 @@ module Google
|
|
38
38
|
# dns.project_id #=> "my-project"
|
39
39
|
#
|
40
40
|
class Credentials < Google::Auth::Credentials
|
41
|
-
SCOPE =
|
42
|
-
|
41
|
+
SCOPE =
|
42
|
+
["https://www.googleapis.com/auth/ndev.clouddns.readwrite"].freeze
|
43
|
+
PATH_ENV_VARS = %w[DNS_CREDENTIALS
|
43
44
|
DNS_KEYFILE
|
44
45
|
GOOGLE_CLOUD_CREDENTIALS
|
45
46
|
GOOGLE_CLOUD_KEYFILE
|
46
|
-
GCLOUD_KEYFILE
|
47
|
-
JSON_ENV_VARS = %w
|
47
|
+
GCLOUD_KEYFILE].freeze
|
48
|
+
JSON_ENV_VARS = %w[DNS_CREDENTIALS_JSON
|
48
49
|
DNS_KEYFILE_JSON
|
49
50
|
GOOGLE_CLOUD_CREDENTIALS_JSON
|
50
51
|
GOOGLE_CLOUD_KEYFILE_JSON
|
51
|
-
GCLOUD_KEYFILE_JSON
|
52
|
+
GCLOUD_KEYFILE_JSON].freeze
|
52
53
|
DEFAULT_PATHS = \
|
53
|
-
["~/.config/gcloud/application_default_credentials.json"]
|
54
|
+
["~/.config/gcloud/application_default_credentials.json"].freeze
|
54
55
|
end
|
55
56
|
end
|
56
57
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -123,54 +123,62 @@ module Google
|
|
123
123
|
end
|
124
124
|
|
125
125
|
# rubocop:disable all
|
126
|
+
|
127
|
+
##
|
126
128
|
# Rubocop's line-length and branch condition restrictions prevent
|
127
129
|
# the most straightforward approach to converting zonefile's records
|
128
130
|
# to our own. So disable rubocop for this operation.
|
129
|
-
|
130
131
|
def data_from_zonefile_record type, zf_record
|
131
132
|
case type.to_s.upcase
|
132
133
|
when "A"
|
133
|
-
|
134
|
+
String zf_record[:host]
|
134
135
|
when "AAAA"
|
135
|
-
|
136
|
+
String zf_record[:host]
|
136
137
|
when "CNAME"
|
137
|
-
|
138
|
+
String zf_record[:host]
|
138
139
|
when "MX"
|
139
140
|
"#{zf_record[:pri]} #{zf_record[:host]}"
|
140
141
|
when "NAPTR"
|
141
|
-
"#{zf_record[:order]} #{zf_record[:preference]}
|
142
|
+
"#{zf_record[:order]} #{zf_record[:preference]} " \
|
143
|
+
"#{zf_record[:flags]} #{zf_record[:service]} " \
|
144
|
+
"#{zf_record[:regexp]} #{zf_record[:replacement]}"
|
142
145
|
when "NS"
|
143
|
-
|
146
|
+
String zf_record[:host]
|
144
147
|
when "PTR"
|
145
|
-
|
148
|
+
String zf_record[:host]
|
146
149
|
when "SOA"
|
147
|
-
"#{zf_record[:primary]} #{zf_record[:email]}
|
150
|
+
"#{zf_record[:primary]} #{zf_record[:email]} " \
|
151
|
+
"#{zf_record[:serial]} #{zf_record[:refresh]} " \
|
152
|
+
"#{zf_record[:retry]} #{zf_record[:expire]} " \
|
153
|
+
"#{zf_record[:minimumTTL]}"
|
148
154
|
when "SPF"
|
149
|
-
|
155
|
+
String zf_record[:data]
|
150
156
|
when "SRV"
|
151
|
-
"#{zf_record[:pri]} #{zf_record[:weight]}
|
157
|
+
"#{zf_record[:pri]} #{zf_record[:weight]} " \
|
158
|
+
"#{zf_record[:port]} #{zf_record[:host]}"
|
152
159
|
when "TXT"
|
153
|
-
|
160
|
+
String zf_record[:text]
|
154
161
|
else
|
155
|
-
|
162
|
+
raise ArgumentError, "record type '#{type}' is not supported"
|
156
163
|
end
|
157
164
|
end
|
158
165
|
|
159
166
|
# rubocop:enable all
|
160
167
|
|
161
|
-
|
162
|
-
|
168
|
+
##
|
169
|
+
# @private
|
170
|
+
MULTIPLIER = { "s" => 1,
|
171
|
+
"m" => 60,
|
163
172
|
"h" => (60 * 60),
|
164
173
|
"d" => (60 * 60 * 24),
|
165
|
-
"w" => (60 * 60 * 24 * 7) } # :nodoc:
|
174
|
+
"w" => (60 * 60 * 24 * 7) }.freeze # :nodoc:
|
166
175
|
|
167
176
|
def ttl_to_i ttl
|
168
177
|
if ttl.respond_to?(:to_int) || ttl.to_s =~ /\A\d+\z/
|
169
|
-
|
178
|
+
ttl.to_i
|
170
179
|
elsif (m = /\A(\d+)(w|d|h|m|s)\z/.match ttl)
|
171
|
-
|
180
|
+
m[1].to_i * MULTIPLIER[m[2]].to_i
|
172
181
|
end
|
173
|
-
nil
|
174
182
|
end
|
175
183
|
|
176
184
|
def create_zonefile path_or_io # :nodoc:
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -14,7 +14,6 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
require "google/cloud/errors"
|
17
|
-
require "google/cloud/env"
|
18
17
|
require "google/cloud/dns/service"
|
19
18
|
require "google/cloud/dns/credentials"
|
20
19
|
require "google/cloud/dns/zone"
|
@@ -73,8 +72,8 @@ module Google
|
|
73
72
|
def project_id
|
74
73
|
service.project
|
75
74
|
end
|
76
|
-
|
77
|
-
|
75
|
+
alias project project_id
|
76
|
+
alias id project_id
|
78
77
|
|
79
78
|
##
|
80
79
|
# The project number.
|
@@ -125,15 +124,6 @@ module Google
|
|
125
124
|
@gapi.quota.total_rrdata_size_per_change if @gapi.quota
|
126
125
|
end
|
127
126
|
|
128
|
-
##
|
129
|
-
# @private Default project.
|
130
|
-
def self.default_project_id
|
131
|
-
ENV["DNS_PROJECT"] ||
|
132
|
-
ENV["GOOGLE_CLOUD_PROJECT"] ||
|
133
|
-
ENV["GCLOUD_PROJECT"] ||
|
134
|
-
Google::Cloud.env.project_id
|
135
|
-
end
|
136
|
-
|
137
127
|
##
|
138
128
|
# Retrieves an existing zone by name or id.
|
139
129
|
#
|
@@ -156,8 +146,8 @@ module Google
|
|
156
146
|
rescue Google::Cloud::NotFoundError
|
157
147
|
nil
|
158
148
|
end
|
159
|
-
|
160
|
-
|
149
|
+
alias find_zone zone
|
150
|
+
alias get_zone zone
|
161
151
|
|
162
152
|
##
|
163
153
|
# Retrieves the list of zones belonging to the project.
|
@@ -192,7 +182,7 @@ module Google
|
|
192
182
|
gapi = service.list_zones token: token, max: max
|
193
183
|
Zone::List.from_gapi gapi, service, max
|
194
184
|
end
|
195
|
-
|
185
|
+
alias find_zones zones
|
196
186
|
|
197
187
|
##
|
198
188
|
# Creates a new zone.
|
@@ -233,14 +223,14 @@ module Google
|
|
233
223
|
ensure_service!
|
234
224
|
@gapi = service.get_project
|
235
225
|
end
|
236
|
-
|
226
|
+
alias refresh! reload!
|
237
227
|
|
238
228
|
protected
|
239
229
|
|
240
230
|
##
|
241
231
|
# Raise an error unless an active connection is available.
|
242
232
|
def ensure_service!
|
243
|
-
|
233
|
+
raise "Must have active connection" unless service
|
244
234
|
end
|
245
235
|
end
|
246
236
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -95,10 +95,10 @@ module Google
|
|
95
95
|
# For example: ["10 mail.example.com.", "20 mail2.example.com."].
|
96
96
|
#
|
97
97
|
def initialize name, type, ttl, data
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
98
|
+
raise ArgumentError, "name is required" unless name
|
99
|
+
raise ArgumentError, "type is required" unless type
|
100
|
+
raise ArgumentError, "ttl is required" unless ttl
|
101
|
+
raise ArgumentError, "data is required" unless data
|
102
102
|
@name = name.to_s
|
103
103
|
@type = type.to_s.upcase
|
104
104
|
@ttl = Integer(ttl)
|
@@ -154,11 +154,8 @@ module Google
|
|
154
154
|
name == other.name && type == other.type &&
|
155
155
|
ttl == other.ttl && data == other.data
|
156
156
|
end
|
157
|
-
|
158
157
|
# @private
|
159
|
-
|
160
|
-
self.eql? other
|
161
|
-
end
|
158
|
+
alias == eql?
|
162
159
|
|
163
160
|
# @private
|
164
161
|
def <=> other
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -163,7 +163,7 @@ module Google
|
|
163
163
|
##
|
164
164
|
# Raise an error unless an active connection is available.
|
165
165
|
def ensure_zone!
|
166
|
-
|
166
|
+
raise "Must have active connection" unless @zone
|
167
167
|
end
|
168
168
|
end
|
169
169
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -137,7 +137,7 @@ module Google
|
|
137
137
|
# Fully Qualified Domain Name
|
138
138
|
def self.fqdn name, origin_dns
|
139
139
|
name = name.to_s.strip
|
140
|
-
return name if
|
140
|
+
return name if ip_addr? name
|
141
141
|
name = origin_dns if name.empty?
|
142
142
|
name = origin_dns if name == "@"
|
143
143
|
name = "#{name}.#{origin_dns}" unless name.include? "."
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -16,7 +16,7 @@
|
|
16
16
|
module Google
|
17
17
|
module Cloud
|
18
18
|
module Dns
|
19
|
-
VERSION = "0.
|
19
|
+
VERSION = "0.28.0".freeze
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -112,7 +112,7 @@ module Google
|
|
112
112
|
#
|
113
113
|
def created_at
|
114
114
|
Time.parse @gapi.creation_time
|
115
|
-
rescue
|
115
|
+
rescue StandardError
|
116
116
|
nil
|
117
117
|
end
|
118
118
|
|
@@ -159,7 +159,7 @@ module Google
|
|
159
159
|
# zone.clear!
|
160
160
|
#
|
161
161
|
def clear!
|
162
|
-
non_essential = records.all.reject { |r| %w
|
162
|
+
non_essential = records.all.reject { |r| %w[SOA NS].include?(r.type) }
|
163
163
|
change = update [], non_essential
|
164
164
|
change.wait_until_done! unless change.nil?
|
165
165
|
end
|
@@ -189,8 +189,8 @@ module Google
|
|
189
189
|
rescue Google::Cloud::NotFoundError
|
190
190
|
nil
|
191
191
|
end
|
192
|
-
|
193
|
-
|
192
|
+
alias find_change change
|
193
|
+
alias get_change change
|
194
194
|
|
195
195
|
##
|
196
196
|
# Retrieves the list of changes belonging to the zone.
|
@@ -245,7 +245,7 @@ module Google
|
|
245
245
|
order: order, sort: sort
|
246
246
|
Change::List.from_gapi gapi, self, max, order
|
247
247
|
end
|
248
|
-
|
248
|
+
alias find_changes changes
|
249
249
|
|
250
250
|
##
|
251
251
|
# Retrieves the list of records belonging to the zone. Records can be
|
@@ -302,7 +302,7 @@ module Google
|
|
302
302
|
gapi = service.list_records id, name, type, token: token, max: max
|
303
303
|
Record::List.from_gapi gapi, self, name, type, max
|
304
304
|
end
|
305
|
-
|
305
|
+
alias find_records records
|
306
306
|
|
307
307
|
##
|
308
308
|
# Creates a new, unsaved Record that can be added to a Zone. See
|
@@ -321,7 +321,7 @@ module Google
|
|
321
321
|
def record name, type, ttl, data
|
322
322
|
Google::Cloud::Dns::Record.new fqdn(name), type, ttl, data
|
323
323
|
end
|
324
|
-
|
324
|
+
alias new_record record
|
325
325
|
|
326
326
|
##
|
327
327
|
# Exports the zone to a local [DNS zone
|
@@ -396,7 +396,7 @@ module Google
|
|
396
396
|
#
|
397
397
|
def import path_or_io, only: nil, except: nil,
|
398
398
|
skip_soa: nil, soa_serial: nil
|
399
|
-
except = (Array(except).map(&:to_s).map(&:upcase) + %w
|
399
|
+
except = (Array(except).map(&:to_s).map(&:upcase) + %w[SOA NS]).uniq
|
400
400
|
importer = Google::Cloud::Dns::Importer.new self, path_or_io
|
401
401
|
additions = importer.records only: only, except: except
|
402
402
|
update additions, [], skip_soa: skip_soa, soa_serial: soa_serial
|
@@ -696,7 +696,7 @@ module Google
|
|
696
696
|
##
|
697
697
|
# Raise an error unless an active connection is available.
|
698
698
|
def ensure_service!
|
699
|
-
|
699
|
+
raise "Must have active connection" unless service
|
700
700
|
end
|
701
701
|
|
702
702
|
def create_change additions, deletions
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -156,7 +156,7 @@ module Google
|
|
156
156
|
##
|
157
157
|
# Raise an error unless an active connection is available.
|
158
158
|
def ensure_service!
|
159
|
-
|
159
|
+
raise "Must have active connection" unless @service
|
160
160
|
end
|
161
161
|
end
|
162
162
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2015 Google
|
1
|
+
# Copyright 2015 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-dns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-02-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -17,28 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '1.
|
20
|
+
version: '1.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '1.
|
27
|
+
version: '1.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: google-api-client
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.19.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.
|
41
|
+
version: 0.19.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: googleauth
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,16 +141,16 @@ dependencies:
|
|
141
141
|
name: rubocop
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- - "
|
144
|
+
- - "~>"
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 0.
|
146
|
+
version: 0.50.0
|
147
147
|
type: :development
|
148
148
|
prerelease: false
|
149
149
|
version_requirements: !ruby/object:Gem::Requirement
|
150
150
|
requirements:
|
151
|
-
- - "
|
151
|
+
- - "~>"
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 0.
|
153
|
+
version: 0.50.0
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
155
|
name: simplecov
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
238
|
version: '0'
|
239
239
|
requirements: []
|
240
240
|
rubyforge_project:
|
241
|
-
rubygems_version: 2.7.
|
241
|
+
rubygems_version: 2.7.6
|
242
242
|
signing_key:
|
243
243
|
specification_version: 4
|
244
244
|
summary: API Client library for Google Cloud DNS
|