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
|
@@ -266,7 +266,7 @@ module Gcloud
|
|
|
266
266
|
protected
|
|
267
267
|
|
|
268
268
|
##
|
|
269
|
-
# @private Write a log entry to
|
|
269
|
+
# @private Write a log entry to the Stackdriver Logging service.
|
|
270
270
|
def write_entry severity, message
|
|
271
271
|
entry = logging.entry.tap do |e|
|
|
272
272
|
e.severity = gcloud_severity(severity)
|
|
@@ -104,9 +104,7 @@ module Gcloud
|
|
|
104
104
|
def save
|
|
105
105
|
ensure_service!
|
|
106
106
|
@grpc = service.update_metric name, description, filter
|
|
107
|
-
|
|
108
|
-
rescue GRPC::BadStatus => e
|
|
109
|
-
raise Gcloud::Error.from_error(e)
|
|
107
|
+
true
|
|
110
108
|
end
|
|
111
109
|
|
|
112
110
|
##
|
|
@@ -126,9 +124,7 @@ module Gcloud
|
|
|
126
124
|
def reload!
|
|
127
125
|
ensure_service!
|
|
128
126
|
@grpc = service.get_metric name
|
|
129
|
-
|
|
130
|
-
rescue GRPC::BadStatus => e
|
|
131
|
-
raise Gcloud::Error.from_error(e)
|
|
127
|
+
true
|
|
132
128
|
end
|
|
133
129
|
alias_method :refresh!, :reload!
|
|
134
130
|
|
|
@@ -148,9 +144,7 @@ module Gcloud
|
|
|
148
144
|
def delete
|
|
149
145
|
ensure_service!
|
|
150
146
|
service.delete_metric name
|
|
151
|
-
|
|
152
|
-
rescue GRPC::BadStatus => e
|
|
153
|
-
raise Gcloud::Error.from_error(e)
|
|
147
|
+
true
|
|
154
148
|
end
|
|
155
149
|
|
|
156
150
|
##
|
|
@@ -30,7 +30,7 @@ module Gcloud
|
|
|
30
30
|
#
|
|
31
31
|
# Projects are top-level containers in Google Cloud Platform. They store
|
|
32
32
|
# information about billing and authorized users, and they control access to
|
|
33
|
-
#
|
|
33
|
+
# Stackdriver Logging resources. Each project has a friendly name and a
|
|
34
34
|
# unique ID. Projects can be created only in the [Google Developers
|
|
35
35
|
# Console](https://console.developers.google.com). See {Gcloud#logging}.
|
|
36
36
|
#
|
|
@@ -49,10 +49,8 @@ module Gcloud
|
|
|
49
49
|
|
|
50
50
|
##
|
|
51
51
|
# @private Creates a new Connection instance.
|
|
52
|
-
def initialize
|
|
53
|
-
|
|
54
|
-
fail ArgumentError, "project is missing" if project.empty?
|
|
55
|
-
@service = Service.new project, credentials
|
|
52
|
+
def initialize service
|
|
53
|
+
@service = service
|
|
56
54
|
end
|
|
57
55
|
|
|
58
56
|
##
|
|
@@ -149,16 +147,35 @@ module Gcloud
|
|
|
149
147
|
order: order, token: token, max: max
|
|
150
148
|
Entry::List.from_grpc list_grpc, service, projects: projects, max: max,
|
|
151
149
|
filter: filter, order: order
|
|
152
|
-
rescue GRPC::BadStatus => e
|
|
153
|
-
raise Gcloud::Error.from_error(e)
|
|
154
150
|
end
|
|
155
151
|
alias_method :find_entries, :entries
|
|
156
152
|
|
|
157
153
|
##
|
|
158
154
|
# Creates an new Entry instance that may be populated and written to the
|
|
159
|
-
#
|
|
160
|
-
# with a new {Gcloud::Logging::Resource} instance.
|
|
161
|
-
# `Gcloud::Logging::Entry.new`.
|
|
155
|
+
# Stackdriver Logging service. The {Entry#resource} attribute is
|
|
156
|
+
# pre-populated with a new {Gcloud::Logging::Resource} instance.
|
|
157
|
+
# Equivalent to calling `Gcloud::Logging::Entry.new`.
|
|
158
|
+
#
|
|
159
|
+
# @param [String] log_name The resource name of the log to which this log
|
|
160
|
+
# entry belongs. See also {Entry#log_name=}.
|
|
161
|
+
# @param [Resource] resource The monitored resource associated with this
|
|
162
|
+
# log entry. See also {Entry#resource}.
|
|
163
|
+
# @param [Time] timestamp The time the event described by the log entry
|
|
164
|
+
# occurred. If omitted, Stackdriver Logging will use the time the log
|
|
165
|
+
# entry is written. See also {Entry#timestamp}.
|
|
166
|
+
# @param [Symbol] severity The severity level of the log entry. The
|
|
167
|
+
# default value is `DEFAULT`. See also {Entry#severity}.
|
|
168
|
+
# @param [String] insert_id A unique ID for the log entry. If you provide
|
|
169
|
+
# this field, the logging service considers other log entries in the
|
|
170
|
+
# same log with the same ID as duplicates which can be removed. If
|
|
171
|
+
# omitted, Stackdriver Logging will generate a unique ID for this log
|
|
172
|
+
# entry. See also {Entry#insert_id}.
|
|
173
|
+
# @param [Hash{Symbol,String => String}] labels A hash of user-defined
|
|
174
|
+
# `key:value` pairs that provide additional information about the log
|
|
175
|
+
# entry. See also {Entry#labels=}.
|
|
176
|
+
# @param [String, Hash] payload The log entry payload, represented as
|
|
177
|
+
# either a string, a hash (JSON), or a hash (protocol buffer). See also
|
|
178
|
+
# {Entry#payload}.
|
|
162
179
|
#
|
|
163
180
|
# @return [Gcloud::Logging::Entry] a new Entry instance
|
|
164
181
|
#
|
|
@@ -168,19 +185,26 @@ module Gcloud
|
|
|
168
185
|
# gcloud = Gcloud.new
|
|
169
186
|
# logging = gcloud.logging
|
|
170
187
|
#
|
|
171
|
-
# entry = logging.entry
|
|
172
|
-
# entry.severity = :INFO
|
|
173
|
-
# entry.payload = "Job started."
|
|
188
|
+
# entry = logging.entry severity: :INFO, payload: "Job started."
|
|
174
189
|
#
|
|
175
190
|
# logging.write_entries entry
|
|
176
191
|
#
|
|
177
|
-
def entry
|
|
178
|
-
|
|
192
|
+
def entry log_name: nil, resource: nil, timestamp: nil, severity: nil,
|
|
193
|
+
insert_id: nil, labels: nil, payload: nil
|
|
194
|
+
e = Entry.new
|
|
195
|
+
e.log_name = log_name if log_name
|
|
196
|
+
e.resource = resource if resource
|
|
197
|
+
e.timestamp = timestamp if timestamp
|
|
198
|
+
e.severity = severity if severity
|
|
199
|
+
e.insert_id = insert_id if insert_id
|
|
200
|
+
e.labels = labels if labels
|
|
201
|
+
e.payload = payload if payload
|
|
202
|
+
e
|
|
179
203
|
end
|
|
180
204
|
alias_method :new_entry, :entry
|
|
181
205
|
|
|
182
206
|
##
|
|
183
|
-
# Writes log entries to the
|
|
207
|
+
# Writes log entries to the Stackdriver Logging service.
|
|
184
208
|
#
|
|
185
209
|
# If you write a collection of log entries, you can provide the log name,
|
|
186
210
|
# resource, and/or labels hash to be used for all of the entries, and omit
|
|
@@ -208,9 +232,7 @@ module Gcloud
|
|
|
208
232
|
# gcloud = Gcloud.new
|
|
209
233
|
# logging = gcloud.logging
|
|
210
234
|
#
|
|
211
|
-
# entry = logging.entry
|
|
212
|
-
# entry.payload = "Job started."
|
|
213
|
-
# entry.log_name = "my_app_log"
|
|
235
|
+
# entry = logging.entry payload: "Job started.", log_name: "my_app_log"
|
|
214
236
|
# entry.resource.type = "gae_app"
|
|
215
237
|
# entry.resource.labels[:module_id] = "1"
|
|
216
238
|
# entry.resource.labels[:version_id] = "20150925t173233"
|
|
@@ -223,12 +245,10 @@ module Gcloud
|
|
|
223
245
|
# gcloud = Gcloud.new
|
|
224
246
|
# logging = gcloud.logging
|
|
225
247
|
#
|
|
226
|
-
# entry1 = logging.entry
|
|
227
|
-
#
|
|
228
|
-
# entry2 = logging.entry
|
|
229
|
-
# entry2.payload = "Job completed."
|
|
230
|
-
# labels = { job_size: "large", job_code: "red" }
|
|
248
|
+
# entry1 = logging.entry payload: "Job started."
|
|
249
|
+
# entry2 = logging.entry payload: "Job completed."
|
|
231
250
|
#
|
|
251
|
+
# labels = { job_size: "large", job_code: "red" }
|
|
232
252
|
# resource = logging.resource "gae_app",
|
|
233
253
|
# "module_id" => "1",
|
|
234
254
|
# "version_id" => "20150925t173233"
|
|
@@ -243,9 +263,7 @@ module Gcloud
|
|
|
243
263
|
service.write_entries Array(entries).map(&:to_grpc),
|
|
244
264
|
log_name: log_name, resource: resource,
|
|
245
265
|
labels: labels
|
|
246
|
-
|
|
247
|
-
rescue GRPC::BadStatus => e
|
|
248
|
-
raise Gcloud::Error.from_error(e)
|
|
266
|
+
true
|
|
249
267
|
end
|
|
250
268
|
|
|
251
269
|
##
|
|
@@ -302,14 +320,12 @@ module Gcloud
|
|
|
302
320
|
def delete_log name
|
|
303
321
|
ensure_service!
|
|
304
322
|
service.delete_log name
|
|
305
|
-
|
|
306
|
-
rescue GRPC::BadStatus => e
|
|
307
|
-
raise Gcloud::Error.from_error(e)
|
|
323
|
+
true
|
|
308
324
|
end
|
|
309
325
|
|
|
310
326
|
##
|
|
311
327
|
# Retrieves the list of monitored resource descriptors that are used by
|
|
312
|
-
#
|
|
328
|
+
# Stackdriver Logging.
|
|
313
329
|
#
|
|
314
330
|
# @see https://cloud.google.com/logging/docs/api/introduction_v2#monitored_resources
|
|
315
331
|
# Monitored Resources
|
|
@@ -347,8 +363,6 @@ module Gcloud
|
|
|
347
363
|
ensure_service!
|
|
348
364
|
list_grpc = service.list_resource_descriptors token: token, max: max
|
|
349
365
|
ResourceDescriptor::List.from_grpc list_grpc, service, max
|
|
350
|
-
rescue GRPC::BadStatus => e
|
|
351
|
-
raise Gcloud::Error.from_error(e)
|
|
352
366
|
end
|
|
353
367
|
alias_method :find_resource_descriptors, :resource_descriptors
|
|
354
368
|
|
|
@@ -410,15 +424,13 @@ module Gcloud
|
|
|
410
424
|
ensure_service!
|
|
411
425
|
list_grpc = service.list_sinks token: token, max: max
|
|
412
426
|
Sink::List.from_grpc list_grpc, service, max
|
|
413
|
-
rescue GRPC::BadStatus => e
|
|
414
|
-
raise Gcloud::Error.from_error(e)
|
|
415
427
|
end
|
|
416
428
|
alias_method :find_sinks, :sinks
|
|
417
429
|
|
|
418
430
|
##
|
|
419
431
|
# Creates a new project sink. When you create a sink, only new log entries
|
|
420
|
-
# that match the sink's filter are exported.
|
|
421
|
-
# previously-ingested log entries to the sink's destination.
|
|
432
|
+
# that match the sink's filter are exported. Stackdriver Logging does not
|
|
433
|
+
# send previously-ingested log entries to the sink's destination.
|
|
422
434
|
#
|
|
423
435
|
# Before creating the sink, ensure that you have granted
|
|
424
436
|
# `cloud-logs@google.com` permission to write logs to the destination. See
|
|
@@ -446,12 +458,12 @@ module Gcloud
|
|
|
446
458
|
# that defines the log entries to be exported. The filter must be
|
|
447
459
|
# consistent with the log entry format designed by the `version`
|
|
448
460
|
# parameter, regardless of the format of the log entry that was
|
|
449
|
-
# originally written to
|
|
461
|
+
# originally written to Stackdriver Logging.
|
|
450
462
|
# @param [Symbol] version The log entry version used when exporting log
|
|
451
463
|
# entries from this sink. This version does not have to correspond to
|
|
452
|
-
# the version of the log entry when it was written to
|
|
453
|
-
# Accepted values are `:unspecified`, `:v2`, and `:v1`. Version
|
|
454
|
-
# currently the preferred format. An unspecified version format
|
|
464
|
+
# the version of the log entry when it was written to Stackdriver
|
|
465
|
+
# Logging. Accepted values are `:unspecified`, `:v2`, and `:v1`. Version
|
|
466
|
+
# 2 is currently the preferred format. An unspecified version format
|
|
455
467
|
# currently defaults to V2 in the service. The default value is
|
|
456
468
|
# `:unspecified`.
|
|
457
469
|
#
|
|
@@ -466,7 +478,7 @@ module Gcloud
|
|
|
466
478
|
#
|
|
467
479
|
# bucket = storage.create_bucket "my-logs-bucket"
|
|
468
480
|
#
|
|
469
|
-
# # Grant owner permission to
|
|
481
|
+
# # Grant owner permission to Stackdriver Logging service
|
|
470
482
|
# email = "cloud-logs@google.com"
|
|
471
483
|
# bucket.acl.add_owner "group-#{email}"
|
|
472
484
|
#
|
|
@@ -478,8 +490,6 @@ module Gcloud
|
|
|
478
490
|
ensure_service!
|
|
479
491
|
grpc = service.create_sink name, destination, filter, version
|
|
480
492
|
Sink.from_grpc grpc, service
|
|
481
|
-
rescue GRPC::BadStatus => e
|
|
482
|
-
raise Gcloud::Error.from_error(e)
|
|
483
493
|
end
|
|
484
494
|
alias_method :new_sink, :create_sink
|
|
485
495
|
|
|
@@ -509,9 +519,8 @@ module Gcloud
|
|
|
509
519
|
ensure_service!
|
|
510
520
|
grpc = service.get_sink sink_name
|
|
511
521
|
Sink.from_grpc grpc, service
|
|
512
|
-
rescue
|
|
513
|
-
|
|
514
|
-
raise Gcloud::Error.from_error(e)
|
|
522
|
+
rescue Gcloud::NotFoundError
|
|
523
|
+
nil
|
|
515
524
|
end
|
|
516
525
|
alias_method :get_sink, :sink
|
|
517
526
|
alias_method :find_sink, :sink
|
|
@@ -551,8 +560,6 @@ module Gcloud
|
|
|
551
560
|
ensure_service!
|
|
552
561
|
grpc = service.list_metrics token: token, max: max
|
|
553
562
|
Metric::List.from_grpc grpc, service, max
|
|
554
|
-
rescue GRPC::BadStatus => e
|
|
555
|
-
raise Gcloud::Error.from_error(e)
|
|
556
563
|
end
|
|
557
564
|
alias_method :find_metrics, :metrics
|
|
558
565
|
|
|
@@ -587,8 +594,6 @@ module Gcloud
|
|
|
587
594
|
ensure_service!
|
|
588
595
|
grpc = service.create_metric name, filter, description
|
|
589
596
|
Metric.from_grpc grpc, service
|
|
590
|
-
rescue GRPC::BadStatus => e
|
|
591
|
-
raise Gcloud::Error.from_error(e)
|
|
592
597
|
end
|
|
593
598
|
alias_method :new_metric, :create_metric
|
|
594
599
|
|
|
@@ -618,9 +623,8 @@ module Gcloud
|
|
|
618
623
|
ensure_service!
|
|
619
624
|
grpc = service.get_metric name
|
|
620
625
|
Metric.from_grpc grpc, service
|
|
621
|
-
rescue
|
|
622
|
-
|
|
623
|
-
raise Gcloud::Error.from_error(e)
|
|
626
|
+
rescue Gcloud::NotFoundError
|
|
627
|
+
nil
|
|
624
628
|
end
|
|
625
629
|
alias_method :get_metric, :metric
|
|
626
630
|
alias_method :find_metric, :metric
|
|
@@ -20,8 +20,8 @@ module Gcloud
|
|
|
20
20
|
##
|
|
21
21
|
# # ResourceDescriptor
|
|
22
22
|
#
|
|
23
|
-
# Describes a type of monitored resource supported by
|
|
24
|
-
# ResourceDescriptor has a type name, such as `cloudsql_database`,
|
|
23
|
+
# Describes a type of monitored resource supported by Stackdriver Logging.
|
|
24
|
+
# Each ResourceDescriptor has a type name, such as `cloudsql_database`,
|
|
25
25
|
# `gae_app`, or `gce_instance`. It also specifies a set of labels that must
|
|
26
26
|
# all be given values in a {Resource} instance to represent an actual
|
|
27
27
|
# instance of the type.
|
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
require "gcloud/backoff"
|
|
17
|
+
require "gcloud/errors"
|
|
16
18
|
require "google/logging/v2/logging_services"
|
|
17
19
|
require "google/logging/v2/logging_config_services"
|
|
18
20
|
require "google/logging/v2/logging_metrics_services"
|
|
19
|
-
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
module Gcloud
|
|
22
24
|
module Logging
|
|
@@ -24,14 +26,16 @@ module Gcloud
|
|
|
24
26
|
# @private Represents the gRPC Logging service, including all the API
|
|
25
27
|
# methods.
|
|
26
28
|
class Service
|
|
27
|
-
attr_accessor :project, :credentials, :host
|
|
29
|
+
attr_accessor :project, :credentials, :host, :retries, :timeout
|
|
28
30
|
|
|
29
31
|
##
|
|
30
32
|
# Creates a new Service instance.
|
|
31
|
-
def initialize project, credentials
|
|
33
|
+
def initialize project, credentials, host: nil, retries: nil, timeout: nil
|
|
32
34
|
@project = project
|
|
33
35
|
@credentials = credentials
|
|
34
|
-
@host = "logging.googleapis.com"
|
|
36
|
+
@host = host || "logging.googleapis.com"
|
|
37
|
+
@retries = retries
|
|
38
|
+
@timeout = timeout
|
|
35
39
|
end
|
|
36
40
|
|
|
37
41
|
def creds
|
|
@@ -41,19 +45,22 @@ module Gcloud
|
|
|
41
45
|
|
|
42
46
|
def logging
|
|
43
47
|
return mocked_logging if mocked_logging
|
|
44
|
-
@logging ||= Google::Logging::V2::LoggingServiceV2::Stub.new
|
|
48
|
+
@logging ||= Google::Logging::V2::LoggingServiceV2::Stub.new(
|
|
49
|
+
host, creds, timeout: timeout)
|
|
45
50
|
end
|
|
46
51
|
attr_accessor :mocked_logging
|
|
47
52
|
|
|
48
53
|
def sinks
|
|
49
54
|
return mocked_sinks if mocked_sinks
|
|
50
|
-
@sinks ||= Google::Logging::V2::ConfigServiceV2::Stub.new
|
|
55
|
+
@sinks ||= Google::Logging::V2::ConfigServiceV2::Stub.new(
|
|
56
|
+
host, creds, timeout: timeout)
|
|
51
57
|
end
|
|
52
58
|
attr_accessor :mocked_sinks
|
|
53
59
|
|
|
54
60
|
def metrics
|
|
55
61
|
return mocked_metrics if mocked_metrics
|
|
56
|
-
@metrics ||= Google::Logging::V2::MetricsServiceV2::Stub.new
|
|
62
|
+
@metrics ||= Google::Logging::V2::MetricsServiceV2::Stub.new(
|
|
63
|
+
host, creds, timeout: timeout)
|
|
57
64
|
end
|
|
58
65
|
attr_accessor :mocked_metrics
|
|
59
66
|
|
|
@@ -68,7 +75,7 @@ module Gcloud
|
|
|
68
75
|
|
|
69
76
|
list_req = Google::Logging::V2::ListLogEntriesRequest.new(list_params)
|
|
70
77
|
|
|
71
|
-
|
|
78
|
+
execute { logging.list_log_entries list_req }
|
|
72
79
|
end
|
|
73
80
|
|
|
74
81
|
def write_entries entries, log_name: nil, resource: nil, labels: nil
|
|
@@ -86,7 +93,7 @@ module Gcloud
|
|
|
86
93
|
|
|
87
94
|
write_req = Google::Logging::V2::WriteLogEntriesRequest.new write_params
|
|
88
95
|
|
|
89
|
-
|
|
96
|
+
execute { logging.write_log_entries write_req }
|
|
90
97
|
end
|
|
91
98
|
|
|
92
99
|
def delete_log name
|
|
@@ -94,7 +101,7 @@ module Gcloud
|
|
|
94
101
|
log_name: log_path(name)
|
|
95
102
|
)
|
|
96
103
|
|
|
97
|
-
|
|
104
|
+
execute { logging.delete_log delete_req }
|
|
98
105
|
end
|
|
99
106
|
|
|
100
107
|
def list_resource_descriptors token: nil, max: nil
|
|
@@ -106,7 +113,7 @@ module Gcloud
|
|
|
106
113
|
Google::Logging::V2::ListMonitoredResourceDescriptorsRequest.new(
|
|
107
114
|
list_params)
|
|
108
115
|
|
|
109
|
-
|
|
116
|
+
execute { logging.list_monitored_resource_descriptors list_req }
|
|
110
117
|
end
|
|
111
118
|
|
|
112
119
|
def list_sinks token: nil, max: nil
|
|
@@ -117,7 +124,7 @@ module Gcloud
|
|
|
117
124
|
|
|
118
125
|
list_req = Google::Logging::V2::ListSinksRequest.new(list_params)
|
|
119
126
|
|
|
120
|
-
|
|
127
|
+
execute { sinks.list_sinks list_req }
|
|
121
128
|
end
|
|
122
129
|
|
|
123
130
|
def create_sink name, destination, filter, version
|
|
@@ -131,7 +138,7 @@ module Gcloud
|
|
|
131
138
|
sink: Google::Logging::V2::LogSink.new(sink_params)
|
|
132
139
|
)
|
|
133
140
|
|
|
134
|
-
|
|
141
|
+
execute { sinks.create_sink create_req }
|
|
135
142
|
end
|
|
136
143
|
|
|
137
144
|
def get_sink name
|
|
@@ -139,7 +146,7 @@ module Gcloud
|
|
|
139
146
|
sink_name: sink_path(name)
|
|
140
147
|
)
|
|
141
148
|
|
|
142
|
-
|
|
149
|
+
execute { sinks.get_sink get_req }
|
|
143
150
|
end
|
|
144
151
|
|
|
145
152
|
def update_sink name, destination, filter, version
|
|
@@ -153,7 +160,7 @@ module Gcloud
|
|
|
153
160
|
sink: Google::Logging::V2::LogSink.new(sink_params)
|
|
154
161
|
)
|
|
155
162
|
|
|
156
|
-
|
|
163
|
+
execute { sinks.update_sink update_req }
|
|
157
164
|
end
|
|
158
165
|
|
|
159
166
|
def delete_sink name
|
|
@@ -161,7 +168,7 @@ module Gcloud
|
|
|
161
168
|
sink_name: sink_path(name)
|
|
162
169
|
)
|
|
163
170
|
|
|
164
|
-
|
|
171
|
+
execute { sinks.delete_sink delete_req }
|
|
165
172
|
end
|
|
166
173
|
|
|
167
174
|
def list_metrics token: nil, max: nil
|
|
@@ -172,7 +179,7 @@ module Gcloud
|
|
|
172
179
|
|
|
173
180
|
list_req = Google::Logging::V2::ListLogMetricsRequest.new(list_params)
|
|
174
181
|
|
|
175
|
-
|
|
182
|
+
execute { metrics.list_log_metrics list_req }
|
|
176
183
|
end
|
|
177
184
|
|
|
178
185
|
def create_metric name, filter, description
|
|
@@ -187,7 +194,7 @@ module Gcloud
|
|
|
187
194
|
metric: Google::Logging::V2::LogMetric.new(metric_params)
|
|
188
195
|
)
|
|
189
196
|
|
|
190
|
-
|
|
197
|
+
execute { metrics.create_log_metric create_req }
|
|
191
198
|
end
|
|
192
199
|
|
|
193
200
|
def get_metric name
|
|
@@ -195,7 +202,7 @@ module Gcloud
|
|
|
195
202
|
metric_name: metric_path(name)
|
|
196
203
|
)
|
|
197
204
|
|
|
198
|
-
|
|
205
|
+
execute { metrics.get_log_metric get_req }
|
|
199
206
|
end
|
|
200
207
|
|
|
201
208
|
def update_metric name, description, filter
|
|
@@ -210,7 +217,7 @@ module Gcloud
|
|
|
210
217
|
metric: Google::Logging::V2::LogMetric.new(metric_params)
|
|
211
218
|
)
|
|
212
219
|
|
|
213
|
-
|
|
220
|
+
execute { metrics.update_log_metric update_req }
|
|
214
221
|
end
|
|
215
222
|
|
|
216
223
|
def delete_metric name
|
|
@@ -218,7 +225,7 @@ module Gcloud
|
|
|
218
225
|
metric_name: metric_path(name)
|
|
219
226
|
)
|
|
220
227
|
|
|
221
|
-
|
|
228
|
+
execute { metrics.delete_log_metric delete_req }
|
|
222
229
|
end
|
|
223
230
|
|
|
224
231
|
def inspect
|
|
@@ -248,10 +255,12 @@ module Gcloud
|
|
|
248
255
|
"#{project_path}/metrics/#{metric_name}"
|
|
249
256
|
end
|
|
250
257
|
|
|
251
|
-
def
|
|
252
|
-
Gcloud::Backoff.new(
|
|
258
|
+
def execute
|
|
259
|
+
Gcloud::Backoff.new(retries: retries).execute_grpc do
|
|
253
260
|
yield
|
|
254
261
|
end
|
|
262
|
+
rescue GRPC::BadStatus => e
|
|
263
|
+
raise Gcloud::Error.from_error(e)
|
|
255
264
|
end
|
|
256
265
|
end
|
|
257
266
|
end
|