gcloud 0.11.0 → 0.12.0
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 +8 -8
- data/AUTHENTICATION.md +3 -3
- data/CHANGELOG.md +92 -0
- data/OVERVIEW.md +3 -3
- data/lib/gcloud.rb +75 -25
- data/lib/gcloud/backoff.rb +5 -1
- data/lib/gcloud/bigquery.rb +25 -43
- data/lib/gcloud/bigquery/copy_job.rb +13 -13
- data/lib/gcloud/bigquery/data.rb +20 -16
- data/lib/gcloud/bigquery/dataset.rb +202 -177
- data/lib/gcloud/bigquery/dataset/access.rb +118 -104
- data/lib/gcloud/bigquery/dataset/list.rb +14 -18
- data/lib/gcloud/bigquery/extract_job.rb +12 -12
- data/lib/gcloud/bigquery/insert_response.rb +12 -14
- data/lib/gcloud/bigquery/job.rb +45 -57
- data/lib/gcloud/bigquery/job/list.rb +18 -24
- data/lib/gcloud/bigquery/load_job.rb +35 -27
- data/lib/gcloud/bigquery/project.rb +53 -73
- data/lib/gcloud/bigquery/query_data.rb +28 -35
- data/lib/gcloud/bigquery/query_job.rb +18 -18
- data/lib/gcloud/bigquery/schema.rb +359 -0
- data/lib/gcloud/bigquery/service.rb +506 -0
- data/lib/gcloud/bigquery/table.rb +185 -266
- data/lib/gcloud/bigquery/table/list.rb +15 -19
- data/lib/gcloud/bigquery/view.rb +126 -81
- data/lib/gcloud/datastore.rb +39 -27
- data/lib/gcloud/datastore/commit.rb +2 -2
- data/lib/gcloud/datastore/dataset.rb +8 -19
- data/lib/gcloud/datastore/dataset/lookup_results.rb +2 -4
- data/lib/gcloud/datastore/dataset/query_results.rb +0 -2
- data/lib/gcloud/datastore/entity.rb +7 -1
- data/lib/gcloud/datastore/errors.rb +5 -27
- data/lib/gcloud/datastore/grpc_utils.rb +4 -3
- data/lib/gcloud/datastore/key.rb +6 -0
- data/lib/gcloud/datastore/service.rb +18 -12
- data/lib/gcloud/datastore/transaction.rb +0 -10
- data/lib/gcloud/dns.rb +29 -19
- data/lib/gcloud/dns/change.rb +10 -15
- data/lib/gcloud/dns/change/list.rb +4 -4
- data/lib/gcloud/dns/importer.rb +1 -1
- data/lib/gcloud/dns/project.rb +32 -49
- data/lib/gcloud/dns/record.rb +8 -2
- data/lib/gcloud/dns/record/list.rb +4 -4
- data/lib/gcloud/dns/service.rb +167 -0
- data/lib/gcloud/dns/zone.rb +33 -52
- data/lib/gcloud/dns/zone/list.rb +12 -16
- data/lib/gcloud/errors.rb +31 -19
- data/lib/gcloud/logging.rb +50 -39
- data/lib/gcloud/logging/entry.rb +197 -24
- data/lib/gcloud/logging/entry/list.rb +0 -2
- data/lib/gcloud/logging/logger.rb +1 -1
- data/lib/gcloud/logging/metric.rb +3 -9
- data/lib/gcloud/logging/metric/list.rb +0 -2
- data/lib/gcloud/logging/project.rb +58 -54
- data/lib/gcloud/logging/resource_descriptor.rb +2 -2
- data/lib/gcloud/logging/resource_descriptor/list.rb +0 -2
- data/lib/gcloud/logging/service.rb +32 -23
- data/lib/gcloud/logging/sink.rb +8 -14
- data/lib/gcloud/logging/sink/list.rb +0 -2
- data/lib/gcloud/pubsub.rb +21 -16
- data/lib/gcloud/pubsub/policy.rb +204 -0
- data/lib/gcloud/pubsub/project.rb +26 -38
- data/lib/gcloud/pubsub/service.rb +39 -31
- data/lib/gcloud/pubsub/subscription.rb +56 -59
- data/lib/gcloud/pubsub/subscription/list.rb +4 -4
- data/lib/gcloud/pubsub/topic.rb +69 -66
- data/lib/gcloud/pubsub/topic/list.rb +0 -2
- data/lib/gcloud/pubsub/topic/{batch.rb → publisher.rb} +15 -2
- data/lib/gcloud/resource_manager.rb +27 -26
- data/lib/gcloud/resource_manager/manager.rb +19 -39
- data/lib/gcloud/resource_manager/policy.rb +211 -0
- data/lib/gcloud/resource_manager/project.rb +97 -121
- data/lib/gcloud/resource_manager/project/list.rb +7 -7
- data/lib/gcloud/resource_manager/project/updater.rb +4 -9
- data/lib/gcloud/resource_manager/service.rb +127 -0
- data/lib/gcloud/storage.rb +24 -42
- data/lib/gcloud/storage/bucket.rb +104 -192
- data/lib/gcloud/storage/bucket/acl.rb +47 -143
- data/lib/gcloud/storage/bucket/cors.rb +55 -11
- data/lib/gcloud/storage/bucket/list.rb +14 -14
- data/lib/gcloud/storage/errors.rb +3 -43
- data/lib/gcloud/storage/file.rb +114 -111
- data/lib/gcloud/storage/file/acl.rb +27 -113
- data/lib/gcloud/storage/file/list.rb +21 -21
- data/lib/gcloud/storage/project.rb +49 -59
- data/lib/gcloud/storage/service.rb +347 -0
- data/lib/gcloud/translate.rb +24 -14
- data/lib/gcloud/translate/api.rb +12 -21
- data/lib/gcloud/translate/detection.rb +5 -5
- data/lib/gcloud/translate/language.rb +1 -1
- data/lib/gcloud/translate/service.rb +80 -0
- data/lib/gcloud/translate/translation.rb +6 -6
- data/lib/gcloud/version.rb +1 -1
- data/lib/gcloud/vision.rb +24 -15
- data/lib/gcloud/vision/annotate.rb +24 -21
- data/lib/gcloud/vision/annotation.rb +9 -9
- data/lib/gcloud/vision/annotation/entity.rb +11 -11
- data/lib/gcloud/vision/annotation/face.rb +25 -25
- data/lib/gcloud/vision/annotation/properties.rb +8 -8
- data/lib/gcloud/vision/annotation/safe_search.rb +4 -4
- data/lib/gcloud/vision/annotation/text.rb +7 -7
- data/lib/gcloud/vision/annotation/vertex.rb +1 -1
- data/lib/gcloud/vision/image.rb +11 -11
- data/lib/gcloud/vision/location.rb +5 -2
- data/lib/gcloud/vision/project.rb +14 -16
- data/lib/gcloud/vision/service.rb +66 -0
- data/lib/google/api_client.rb +0 -0
- metadata +27 -24
- data/lib/gcloud/bigquery/connection.rb +0 -624
- data/lib/gcloud/bigquery/errors.rb +0 -68
- data/lib/gcloud/bigquery/table/schema.rb +0 -234
- data/lib/gcloud/dns/connection.rb +0 -173
- data/lib/gcloud/dns/errors.rb +0 -68
- data/lib/gcloud/resource_manager/connection.rb +0 -134
- data/lib/gcloud/resource_manager/errors.rb +0 -68
- data/lib/gcloud/storage/connection.rb +0 -444
- data/lib/gcloud/translate/connection.rb +0 -85
- data/lib/gcloud/translate/errors.rb +0 -68
- data/lib/gcloud/upload.rb +0 -95
- data/lib/gcloud/vision/connection.rb +0 -63
- data/lib/gcloud/vision/errors.rb +0 -69
|
@@ -201,8 +201,6 @@ module Gcloud
|
|
|
201
201
|
lookup_res = service.lookup(*Array(keys).flatten.map(&:to_grpc),
|
|
202
202
|
transaction: @id)
|
|
203
203
|
LookupResults.from_grpc lookup_res, service, nil, @id
|
|
204
|
-
rescue GRPC::BadStatus => e
|
|
205
|
-
raise Gcloud::Error.from_error(e)
|
|
206
204
|
end
|
|
207
205
|
alias_method :lookup, :find_all
|
|
208
206
|
|
|
@@ -237,8 +235,6 @@ module Gcloud
|
|
|
237
235
|
query_res = service.run_query query.to_grpc, namespace,
|
|
238
236
|
transaction: @id
|
|
239
237
|
QueryResults.from_grpc query_res, service, namespace, query.to_grpc.dup
|
|
240
|
-
rescue GRPC::BadStatus => e
|
|
241
|
-
raise Gcloud::Error.from_error(e)
|
|
242
238
|
end
|
|
243
239
|
alias_method :run_query, :run
|
|
244
240
|
|
|
@@ -251,8 +247,6 @@ module Gcloud
|
|
|
251
247
|
ensure_service!
|
|
252
248
|
tx_res = service.begin_transaction
|
|
253
249
|
@id = tx_res.transaction
|
|
254
|
-
rescue GRPC::BadStatus => e
|
|
255
|
-
raise Gcloud::Error.from_error(e)
|
|
256
250
|
end
|
|
257
251
|
alias_method :begin_transaction, :start
|
|
258
252
|
|
|
@@ -319,8 +313,6 @@ module Gcloud
|
|
|
319
313
|
# Make sure all entity keys are frozen so all show as persisted
|
|
320
314
|
entities.each { |e| e.key.freeze unless e.persisted? }
|
|
321
315
|
true
|
|
322
|
-
rescue GRPC::BadStatus => e
|
|
323
|
-
raise Gcloud::Error.from_error(e)
|
|
324
316
|
end
|
|
325
317
|
|
|
326
318
|
##
|
|
@@ -356,8 +348,6 @@ module Gcloud
|
|
|
356
348
|
ensure_service!
|
|
357
349
|
service.rollback @id
|
|
358
350
|
true
|
|
359
|
-
rescue GRPC::BadStatus => e
|
|
360
|
-
raise Gcloud::Error.from_error(e)
|
|
361
351
|
end
|
|
362
352
|
|
|
363
353
|
##
|
data/lib/gcloud/dns.rb
CHANGED
|
@@ -36,6 +36,9 @@ module Gcloud
|
|
|
36
36
|
# The default scope is:
|
|
37
37
|
#
|
|
38
38
|
# * `https://www.googleapis.com/auth/ndev.clouddns.readwrite`
|
|
39
|
+
# @param [Integer] retries Number of times to retry requests on server error.
|
|
40
|
+
# The default value is `3`. Optional.
|
|
41
|
+
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
|
39
42
|
#
|
|
40
43
|
# @return [Gcloud::Dns::Project]
|
|
41
44
|
#
|
|
@@ -47,14 +50,21 @@ module Gcloud
|
|
|
47
50
|
#
|
|
48
51
|
# zone = dns.zone "example-com"
|
|
49
52
|
#
|
|
50
|
-
def self.dns project = nil, keyfile = nil, scope: nil
|
|
53
|
+
def self.dns project = nil, keyfile = nil, scope: nil, retries: nil,
|
|
54
|
+
timeout: nil
|
|
51
55
|
project ||= Gcloud::Dns::Project.default_project
|
|
56
|
+
project = project.to_s # Always cast to a string
|
|
57
|
+
fail ArgumentError, "project is missing" if project.empty?
|
|
58
|
+
|
|
52
59
|
if keyfile.nil?
|
|
53
60
|
credentials = Gcloud::Dns::Credentials.default scope: scope
|
|
54
61
|
else
|
|
55
62
|
credentials = Gcloud::Dns::Credentials.new keyfile, scope: scope
|
|
56
63
|
end
|
|
57
|
-
|
|
64
|
+
|
|
65
|
+
Gcloud::Dns::Project.new(
|
|
66
|
+
Gcloud::Dns::Service.new(
|
|
67
|
+
project, credentials, retries: retries, timeout: timeout))
|
|
58
68
|
end
|
|
59
69
|
|
|
60
70
|
##
|
|
@@ -67,8 +77,8 @@ module Gcloud
|
|
|
67
77
|
# relied upon by Google. To learn more, read [What is Google Cloud
|
|
68
78
|
# DNS?](https://cloud.google.com/dns/what-is-cloud-dns).
|
|
69
79
|
#
|
|
70
|
-
#
|
|
71
|
-
# Rubyists. Authentication is handled by {Gcloud#dns}. You can provide the
|
|
80
|
+
# The goal of gcloud-ruby is to provide an API that is comfortable
|
|
81
|
+
# to Rubyists. Authentication is handled by {Gcloud#dns}. You can provide the
|
|
72
82
|
# project and credential information to connect to the Cloud DNS service, or
|
|
73
83
|
# if you are running on Google Compute Engine this configuration is taken care
|
|
74
84
|
# of for you. You can read more about the options for connecting in the
|
|
@@ -164,9 +174,10 @@ module Gcloud
|
|
|
164
174
|
#
|
|
165
175
|
# Whenever you change the set of records belonging to a zone, the zone's start
|
|
166
176
|
# of authority (SOA) record should be updated with a higher serial number. The
|
|
167
|
-
# gcloud library automates this update for you, deleting the old SOA
|
|
168
|
-
# and adding an updated one, as shown in the example above. You can
|
|
169
|
-
# modify this behavior, of course. See {Gcloud::Dns::Zone#update}
|
|
177
|
+
# gcloud-ruby library automates this update for you, deleting the old SOA
|
|
178
|
+
# record and adding an updated one, as shown in the example above. You can
|
|
179
|
+
# disable or modify this behavior, of course. See {Gcloud::Dns::Zone#update}
|
|
180
|
+
# for details.
|
|
170
181
|
#
|
|
171
182
|
# You can retrieve records by name and type. The name argument can be a
|
|
172
183
|
# subdomain (e.g., `www`) fragment for convenience, but notice that the
|
|
@@ -301,24 +312,23 @@ module Gcloud
|
|
|
301
312
|
# zone.export "path/to/db.example.com"
|
|
302
313
|
# ```
|
|
303
314
|
#
|
|
304
|
-
# ## Configuring
|
|
315
|
+
# ## Configuring retries and timeout
|
|
305
316
|
#
|
|
306
|
-
#
|
|
307
|
-
#
|
|
308
|
-
#
|
|
309
|
-
# `
|
|
317
|
+
# You can configure how many times API requests may be automatically retried.
|
|
318
|
+
# When an API request fails, the response will be inspected to see if the
|
|
319
|
+
# request meets criteria indicating that it may succeed on retry, such as
|
|
320
|
+
# `500` and `503` status codes or a specific internal error code such as
|
|
321
|
+
# `rateLimitExceeded`. If it meets the criteria, the request will be retried
|
|
322
|
+
# after a delay. If another error occurs, the delay will be increased before a
|
|
323
|
+
# subsequent attempt, until the `retries` limit is reached.
|
|
310
324
|
#
|
|
311
|
-
#
|
|
312
|
-
# should be retried. If the response matches the criteria, then the request
|
|
313
|
-
# will be retried after a delay. If another error occurs, the delay will be
|
|
314
|
-
# increased incrementally before a subsequent attempt. The first retry will be
|
|
315
|
-
# delayed one second, the second retry two seconds, and so on.
|
|
325
|
+
# You can also set the request `timeout` value in seconds.
|
|
316
326
|
#
|
|
317
327
|
# ```ruby
|
|
318
328
|
# require "gcloud"
|
|
319
|
-
# require "gcloud/backoff"
|
|
320
329
|
#
|
|
321
|
-
#
|
|
330
|
+
# gcloud = Gcloud.new
|
|
331
|
+
# dns = gcloud.dns retries: 10, timeout: 120
|
|
322
332
|
# ```
|
|
323
333
|
#
|
|
324
334
|
module Dns
|
data/lib/gcloud/dns/change.rb
CHANGED
|
@@ -57,28 +57,28 @@ module Gcloud
|
|
|
57
57
|
# Unique identifier for the resource; defined by the server.
|
|
58
58
|
#
|
|
59
59
|
def id
|
|
60
|
-
@gapi
|
|
60
|
+
@gapi.id
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
##
|
|
64
64
|
# The records added in this change request.
|
|
65
65
|
#
|
|
66
66
|
def additions
|
|
67
|
-
Array(@gapi
|
|
67
|
+
Array(@gapi.additions).map { |gapi| Record.from_gapi gapi }
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
##
|
|
71
71
|
# The records removed in this change request.
|
|
72
72
|
#
|
|
73
73
|
def deletions
|
|
74
|
-
Array(@gapi
|
|
74
|
+
Array(@gapi.deletions).map { |gapi| Record.from_gapi gapi }
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
##
|
|
78
78
|
# Status of the operation. Values are `"done"` and `"pending"`.
|
|
79
79
|
#
|
|
80
80
|
def status
|
|
81
|
-
@gapi
|
|
81
|
+
@gapi.status
|
|
82
82
|
end
|
|
83
83
|
|
|
84
84
|
##
|
|
@@ -99,7 +99,7 @@ module Gcloud
|
|
|
99
99
|
# The time that this operation was started by the server.
|
|
100
100
|
#
|
|
101
101
|
def started_at
|
|
102
|
-
Time.parse @gapi
|
|
102
|
+
Time.parse @gapi.start_time
|
|
103
103
|
rescue
|
|
104
104
|
nil
|
|
105
105
|
end
|
|
@@ -107,13 +107,8 @@ module Gcloud
|
|
|
107
107
|
##
|
|
108
108
|
# Reloads the change with updated status from the DNS service.
|
|
109
109
|
def reload!
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if resp.success?
|
|
113
|
-
@gapi = resp.data
|
|
114
|
-
else
|
|
115
|
-
fail ApiError.from_response(resp)
|
|
116
|
-
end
|
|
110
|
+
ensure_service!
|
|
111
|
+
@gapi = zone.service.get_change @zone.id, id
|
|
117
112
|
end
|
|
118
113
|
alias_method :refresh!, :reload!
|
|
119
114
|
|
|
@@ -154,9 +149,9 @@ module Gcloud
|
|
|
154
149
|
protected
|
|
155
150
|
|
|
156
151
|
##
|
|
157
|
-
# Raise an error unless an active
|
|
158
|
-
def
|
|
159
|
-
fail "Must have active connection" unless zone && zone.
|
|
152
|
+
# Raise an error unless an active service is available.
|
|
153
|
+
def ensure_service!
|
|
154
|
+
fail "Must have active connection" unless zone && zone.service
|
|
160
155
|
end
|
|
161
156
|
end
|
|
162
157
|
end
|
|
@@ -149,11 +149,11 @@ module Gcloud
|
|
|
149
149
|
|
|
150
150
|
##
|
|
151
151
|
# @private New Changes::List from a response object.
|
|
152
|
-
def self.
|
|
153
|
-
changes = new(Array(
|
|
154
|
-
Change.from_gapi
|
|
152
|
+
def self.from_gapi gapi, zone, max = nil, order = nil
|
|
153
|
+
changes = new(Array(gapi.changes).map do |g|
|
|
154
|
+
Change.from_gapi g, zone
|
|
155
155
|
end)
|
|
156
|
-
changes.instance_variable_set "@token",
|
|
156
|
+
changes.instance_variable_set "@token", gapi.next_page_token
|
|
157
157
|
changes.instance_variable_set "@zone", zone
|
|
158
158
|
changes.instance_variable_set "@max", max
|
|
159
159
|
changes.instance_variable_set "@order", order
|
data/lib/gcloud/dns/importer.rb
CHANGED
|
@@ -83,7 +83,7 @@ module Gcloud
|
|
|
83
83
|
type = r.first
|
|
84
84
|
type = :aaaa if type == :a4
|
|
85
85
|
r.last.each do |zf_record|
|
|
86
|
-
name =
|
|
86
|
+
name = Service.fqdn(zf_record[:name], @zonefile.origin)
|
|
87
87
|
key = [name, type]
|
|
88
88
|
(@merged_zf_records[key] ||= []) << zf_record
|
|
89
89
|
end
|
data/lib/gcloud/dns/project.rb
CHANGED
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
require "gcloud/errors"
|
|
16
17
|
require "gcloud/gce"
|
|
17
|
-
require "gcloud/dns/
|
|
18
|
+
require "gcloud/dns/service"
|
|
18
19
|
require "gcloud/dns/credentials"
|
|
19
20
|
require "gcloud/dns/zone"
|
|
20
|
-
require "gcloud/dns/errors"
|
|
21
21
|
|
|
22
22
|
module Gcloud
|
|
23
23
|
module Dns
|
|
@@ -41,21 +41,19 @@ module Gcloud
|
|
|
41
41
|
# See {Gcloud#dns}
|
|
42
42
|
class Project
|
|
43
43
|
##
|
|
44
|
-
# @private The
|
|
45
|
-
attr_accessor :
|
|
44
|
+
# @private The Service object.
|
|
45
|
+
attr_accessor :service
|
|
46
46
|
|
|
47
47
|
##
|
|
48
48
|
# @private The Google API Client object.
|
|
49
49
|
attr_accessor :gapi
|
|
50
50
|
|
|
51
51
|
##
|
|
52
|
-
# @private Creates a new
|
|
52
|
+
# @private Creates a new Service instance.
|
|
53
53
|
#
|
|
54
54
|
# See {Gcloud.dns}
|
|
55
|
-
def initialize
|
|
56
|
-
|
|
57
|
-
fail ArgumentError, "project is missing" if project.empty?
|
|
58
|
-
@connection = Connection.new project, credentials
|
|
55
|
+
def initialize service
|
|
56
|
+
@service = service
|
|
59
57
|
@gapi = nil
|
|
60
58
|
end
|
|
61
59
|
|
|
@@ -71,7 +69,7 @@ module Gcloud
|
|
|
71
69
|
# dns.project #=> "my-todo-project"
|
|
72
70
|
#
|
|
73
71
|
def project
|
|
74
|
-
|
|
72
|
+
service.project
|
|
75
73
|
end
|
|
76
74
|
alias_method :id, :project
|
|
77
75
|
|
|
@@ -79,49 +77,49 @@ module Gcloud
|
|
|
79
77
|
# The project number.
|
|
80
78
|
def number
|
|
81
79
|
reload! if @gapi.nil?
|
|
82
|
-
@gapi
|
|
80
|
+
@gapi.number
|
|
83
81
|
end
|
|
84
82
|
|
|
85
83
|
##
|
|
86
84
|
# Maximum allowed number of zones in the project.
|
|
87
85
|
def zones_quota
|
|
88
86
|
reload! if @gapi.nil?
|
|
89
|
-
@gapi
|
|
87
|
+
@gapi.quota.managed_zones if @gapi.quota
|
|
90
88
|
end
|
|
91
89
|
|
|
92
90
|
##
|
|
93
91
|
# Maximum allowed number of data entries per record.
|
|
94
92
|
def data_per_record
|
|
95
93
|
reload! if @gapi.nil?
|
|
96
|
-
@gapi
|
|
94
|
+
@gapi.quota.resource_records_per_rrset if @gapi.quota
|
|
97
95
|
end
|
|
98
96
|
|
|
99
97
|
##
|
|
100
98
|
# Maximum allowed number of records to add per change.
|
|
101
99
|
def additions_per_change
|
|
102
100
|
reload! if @gapi.nil?
|
|
103
|
-
@gapi
|
|
101
|
+
@gapi.quota.rrset_additions_per_change if @gapi.quota
|
|
104
102
|
end
|
|
105
103
|
|
|
106
104
|
##
|
|
107
105
|
# Maximum allowed number of records to delete per change.
|
|
108
106
|
def deletions_per_change
|
|
109
107
|
reload! if @gapi.nil?
|
|
110
|
-
@gapi
|
|
108
|
+
@gapi.quota.rrset_deletions_per_change if @gapi.quota
|
|
111
109
|
end
|
|
112
110
|
|
|
113
111
|
##
|
|
114
112
|
# Maximum allowed number of records per zone in the project.
|
|
115
113
|
def records_per_zone
|
|
116
114
|
reload! if @gapi.nil?
|
|
117
|
-
@gapi
|
|
115
|
+
@gapi.quota.rrsets_per_managed_zone if @gapi.quota
|
|
118
116
|
end
|
|
119
117
|
|
|
120
118
|
##
|
|
121
119
|
# Maximum allowed total bytes size for all the data in one change.
|
|
122
120
|
def total_data_per_change
|
|
123
121
|
reload! if @gapi.nil?
|
|
124
|
-
@gapi
|
|
122
|
+
@gapi.quota.total_rrdata_size_per_change if @gapi.quota
|
|
125
123
|
end
|
|
126
124
|
|
|
127
125
|
##
|
|
@@ -150,13 +148,11 @@ module Gcloud
|
|
|
150
148
|
# puts zone.name
|
|
151
149
|
#
|
|
152
150
|
def zone zone_id
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
nil
|
|
159
|
-
end
|
|
151
|
+
ensure_service!
|
|
152
|
+
gapi = service.get_zone zone_id
|
|
153
|
+
Zone.from_gapi gapi, service
|
|
154
|
+
rescue Gcloud::NotFoundError
|
|
155
|
+
nil
|
|
160
156
|
end
|
|
161
157
|
alias_method :find_zone, :zone
|
|
162
158
|
alias_method :get_zone, :zone
|
|
@@ -191,13 +187,9 @@ module Gcloud
|
|
|
191
187
|
# end
|
|
192
188
|
#
|
|
193
189
|
def zones token: nil, max: nil
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
Zone::List.from_response resp, connection, max
|
|
198
|
-
else
|
|
199
|
-
fail ApiError.from_response(resp)
|
|
200
|
-
end
|
|
190
|
+
ensure_service!
|
|
191
|
+
gapi = service.list_zones token: token, max: max
|
|
192
|
+
Zone::List.from_gapi gapi, service, max
|
|
201
193
|
end
|
|
202
194
|
alias_method :find_zones, :zones
|
|
203
195
|
|
|
@@ -228,27 +220,18 @@ module Gcloud
|
|
|
228
220
|
#
|
|
229
221
|
def create_zone zone_name, zone_dns, description: nil,
|
|
230
222
|
name_server_set: nil
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
Zone.from_gapi resp.data, connection
|
|
237
|
-
else
|
|
238
|
-
fail ApiError.from_response(resp)
|
|
239
|
-
end
|
|
223
|
+
ensure_service!
|
|
224
|
+
gapi = service.create_zone zone_name, zone_dns,
|
|
225
|
+
description: description,
|
|
226
|
+
name_server_set: name_server_set
|
|
227
|
+
Zone.from_gapi gapi, service
|
|
240
228
|
end
|
|
241
229
|
|
|
242
230
|
##
|
|
243
231
|
# Reloads the change with updated status from the DNS service.
|
|
244
232
|
def reload!
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if resp.success?
|
|
248
|
-
@gapi = resp.data
|
|
249
|
-
else
|
|
250
|
-
fail ApiError.from_response(resp)
|
|
251
|
-
end
|
|
233
|
+
ensure_service!
|
|
234
|
+
@gapi = service.get_project
|
|
252
235
|
end
|
|
253
236
|
alias_method :refresh!, :reload!
|
|
254
237
|
|
|
@@ -256,8 +239,8 @@ module Gcloud
|
|
|
256
239
|
|
|
257
240
|
##
|
|
258
241
|
# Raise an error unless an active connection is available.
|
|
259
|
-
def
|
|
260
|
-
fail "Must have active connection" unless
|
|
242
|
+
def ensure_service!
|
|
243
|
+
fail "Must have active connection" unless service
|
|
261
244
|
end
|
|
262
245
|
end
|
|
263
246
|
end
|
data/lib/gcloud/dns/record.rb
CHANGED
|
@@ -127,13 +127,19 @@ module Gcloud
|
|
|
127
127
|
##
|
|
128
128
|
# @private New Record from a Google API Client object.
|
|
129
129
|
def self.from_gapi gapi
|
|
130
|
-
new gapi
|
|
130
|
+
new gapi.name, gapi.type, gapi.ttl, gapi.rrdatas
|
|
131
131
|
end
|
|
132
132
|
|
|
133
133
|
##
|
|
134
134
|
# @private Convert the record object to a Google API hash.
|
|
135
135
|
def to_gapi
|
|
136
|
-
|
|
136
|
+
Google::Apis::DnsV1::ResourceRecordSet.new(
|
|
137
|
+
kind: "dns#resourceRecordSet",
|
|
138
|
+
name: name,
|
|
139
|
+
rrdatas: data,
|
|
140
|
+
ttl: ttl,
|
|
141
|
+
type: type
|
|
142
|
+
)
|
|
137
143
|
end
|
|
138
144
|
|
|
139
145
|
# @private
|
|
@@ -149,11 +149,11 @@ module Gcloud
|
|
|
149
149
|
|
|
150
150
|
##
|
|
151
151
|
# @private New Records::List from a response object.
|
|
152
|
-
def self.
|
|
153
|
-
records = new(Array(
|
|
154
|
-
Record.from_gapi
|
|
152
|
+
def self.from_gapi gapi, zone, name = nil, type = nil, max = nil
|
|
153
|
+
records = new(Array(gapi.rrsets).map do |g|
|
|
154
|
+
Record.from_gapi g
|
|
155
155
|
end)
|
|
156
|
-
records.instance_variable_set "@token",
|
|
156
|
+
records.instance_variable_set "@token", gapi.next_page_token
|
|
157
157
|
records.instance_variable_set "@zone", zone
|
|
158
158
|
records.instance_variable_set "@name", name
|
|
159
159
|
records.instance_variable_set "@type", type
|