google-cloud-logging 1.4.0 → 1.5.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 +4 -4
- data/README.md +19 -19
- data/lib/google-cloud-logging.rb +41 -0
- data/lib/google/cloud/logging.rb +65 -16
- data/lib/google/cloud/logging/async_writer.rb +11 -11
- data/lib/google/cloud/logging/credentials.rb +6 -6
- data/lib/google/cloud/logging/entry/http_request.rb +1 -2
- data/lib/google/cloud/logging/entry/list.rb +1 -1
- data/lib/google/cloud/logging/entry/operation.rb +1 -2
- data/lib/google/cloud/logging/entry/source_location.rb +1 -2
- data/lib/google/cloud/logging/log/list.rb +1 -1
- data/lib/google/cloud/logging/logger.rb +12 -11
- data/lib/google/cloud/logging/metric.rb +2 -2
- data/lib/google/cloud/logging/metric/list.rb +1 -1
- data/lib/google/cloud/logging/middleware.rb +23 -16
- data/lib/google/cloud/logging/project.rb +58 -67
- data/lib/google/cloud/logging/rails.rb +16 -13
- data/lib/google/cloud/logging/resource_descriptor/list.rb +3 -2
- data/lib/google/cloud/logging/service.rb +22 -22
- data/lib/google/cloud/logging/sink.rb +63 -49
- data/lib/google/cloud/logging/sink/list.rb +1 -1
- data/lib/google/cloud/logging/version.rb +1 -1
- 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: f630302c8714555f32d66a9a19a5da340c6bbd840b1a1ed9c7da1798b42254df
|
4
|
+
data.tar.gz: d0fb2056868a23c282082339be24ddd1aeca4c4ff9cc4659b1fd3091b5364596
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 484774d516102279b6197436dc1daee472eabd055d24f0d9e4a7460144aec2255cce2ad33bfa176b76713f5e252e72aa05014da53952587c15de9fc7e01688c0
|
7
|
+
data.tar.gz: 051e5a2e070aa2a2fbef148971fbf1d5e02d05c211720442682775591254803548a31745b359aee8a48be2eb4bd5a2d86671b6dc9ed150070fa550958e7181f3
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ gem "google-cloud-logging"
|
|
28
28
|
$ bundle install
|
29
29
|
```
|
30
30
|
|
31
|
-
Alternatively, check out the [`stackdriver`](../stackdriver) gem that includes
|
31
|
+
Alternatively, check out the [`stackdriver`](../stackdriver) gem that includes
|
32
32
|
the `google-cloud-logging` gem.
|
33
33
|
|
34
34
|
## Logging using client library
|
@@ -61,13 +61,13 @@ logging.write_entries entry
|
|
61
61
|
|
62
62
|
## Using Stackdriver Logging in frameworks
|
63
63
|
|
64
|
-
The `google-cloud-logging` library provides framework integration for popular
|
65
|
-
Rack-based frameworks, such as Ruby on Rails and Sinatra, which sets the default
|
64
|
+
The `google-cloud-logging` library provides framework integration for popular
|
65
|
+
Rack-based frameworks, such as Ruby on Rails and Sinatra, which sets the default
|
66
66
|
Rack logger to an instance of the Stackdriver Logging logger.
|
67
67
|
|
68
68
|
### With Ruby on Rails
|
69
69
|
|
70
|
-
You can load the Railtie that comes with the library into your Ruby
|
70
|
+
You can load the Railtie that comes with the library into your Ruby
|
71
71
|
on Rails application by explicitly requiring it during the application startup:
|
72
72
|
|
73
73
|
```ruby
|
@@ -75,7 +75,7 @@ on Rails application by explicitly requiring it during the application startup:
|
|
75
75
|
require "google/cloud/logging/rails"
|
76
76
|
```
|
77
77
|
|
78
|
-
If you're using the `stackdriver` gem, it automatically loads the Railtie into
|
78
|
+
If you're using the `stackdriver` gem, it automatically loads the Railtie into
|
79
79
|
your application when it starts.
|
80
80
|
|
81
81
|
You'll be able to use Stackdriver logger through the standard Rails logger:
|
@@ -88,7 +88,7 @@ logger.warn "Hola Mundo"
|
|
88
88
|
|
89
89
|
### With other Rack-based frameworks
|
90
90
|
|
91
|
-
Other Rack-based applications can use the Rack Middleware to replace the Rack
|
91
|
+
Other Rack-based applications can use the Rack Middleware to replace the Rack
|
92
92
|
logger with the Stackdriver Logging logger:
|
93
93
|
|
94
94
|
```ruby
|
@@ -96,8 +96,8 @@ require "google/cloud/logging"
|
|
96
96
|
use Google::Cloud::Logging::Middleware
|
97
97
|
```
|
98
98
|
|
99
|
-
Once the Rack logger is set, some Rack-based frameworks, such as Ruby on Rails
|
100
|
-
and Sinatra, automatically initialize the default application logger to use the
|
99
|
+
Once the Rack logger is set, some Rack-based frameworks, such as Ruby on Rails
|
100
|
+
and Sinatra, automatically initialize the default application logger to use the
|
101
101
|
Rack logger:
|
102
102
|
|
103
103
|
```ruby
|
@@ -106,26 +106,26 @@ logger.warn "Hola Mundo"
|
|
106
106
|
logger.error "Bonjour Monde"
|
107
107
|
```
|
108
108
|
|
109
|
-
For other frameworks, consult the documentations on how to utilize the Rack
|
109
|
+
For other frameworks, consult the documentations on how to utilize the Rack
|
110
110
|
logger.
|
111
111
|
|
112
112
|
### Configuring the framework integration
|
113
113
|
|
114
|
-
You can customize the behavior of the Stackdriver Logging framework integration
|
115
|
-
for Ruby. See the [configuration guide](../stackdriver/configuration.md) for a
|
114
|
+
You can customize the behavior of the Stackdriver Logging framework integration
|
115
|
+
for Ruby. See the [configuration guide](../stackdriver/configuration.md) for a
|
116
116
|
list of possible configuration options.
|
117
117
|
|
118
118
|
## Authentication
|
119
119
|
|
120
|
-
This library uses Service Account credentials to connect to Google Cloud
|
121
|
-
services. When running on Compute Engine the credentials will be discovered
|
122
|
-
automatically. When running on other environments the Service Account
|
120
|
+
This library uses Service Account credentials to connect to Google Cloud
|
121
|
+
services. When running on Compute Engine the credentials will be discovered
|
122
|
+
automatically. When running on other environments the Service Account
|
123
123
|
credentials can be specified by providing in several ways.
|
124
124
|
|
125
|
-
If you're using Ruby on Rails and the library's Rails integration feature, you
|
126
|
-
can provide the authentication parameters through the Rails configuration
|
125
|
+
If you're using Ruby on Rails and the library's Rails integration feature, you
|
126
|
+
can provide the authentication parameters through the Rails configuration
|
127
127
|
interface:
|
128
|
-
|
128
|
+
|
129
129
|
```ruby
|
130
130
|
# Add this to config/environments/*.rb
|
131
131
|
Rails.application.configure do |config|
|
@@ -137,7 +137,7 @@ Rails.application.configure do |config|
|
|
137
137
|
config.google_cloud.logging.keyfile = "/path/to/key.json"
|
138
138
|
end
|
139
139
|
```
|
140
|
-
Other Rack-based applications that are loading the Rack Middleware directly can
|
140
|
+
Other Rack-based applications that are loading the Rack Middleware directly can
|
141
141
|
use the configration interface:
|
142
142
|
|
143
143
|
```ruby
|
@@ -152,7 +152,7 @@ Google::Cloud.configure do |config|
|
|
152
152
|
end
|
153
153
|
```
|
154
154
|
|
155
|
-
See the [Authentication
|
155
|
+
See the [Authentication
|
156
156
|
Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/guides/authentication).
|
157
157
|
for more ways to authenticate the client library.
|
158
158
|
|
data/lib/google-cloud-logging.rb
CHANGED
@@ -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
|
@@ -38,6 +40,7 @@ module Google
|
|
38
40
|
# The default scope is:
|
39
41
|
#
|
40
42
|
# * `https://www.googleapis.com/auth/logging.admin`
|
43
|
+
#
|
41
44
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
42
45
|
# @param [Hash] client_config A hash of values to override the default
|
43
46
|
# behavior of the API client. Optional.
|
@@ -89,6 +92,7 @@ module Google
|
|
89
92
|
# The default scope is:
|
90
93
|
#
|
91
94
|
# * `https://www.googleapis.com/auth/logging.admin`
|
95
|
+
#
|
92
96
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
93
97
|
# @param [Hash] client_config A hash of values to override the default
|
94
98
|
# behavior of the API client. Optional.
|
@@ -115,3 +119,40 @@ module Google
|
|
115
119
|
end
|
116
120
|
end
|
117
121
|
end
|
122
|
+
|
123
|
+
# Add logging to top-level configuration
|
124
|
+
Google::Cloud.configure do |config|
|
125
|
+
unless config.field? :use_logging
|
126
|
+
config.add_field! :use_logging, nil, enum: [true, false]
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# Set the default logging configuration
|
131
|
+
Google::Cloud.configure.add_config! :logging do |config|
|
132
|
+
default_project = Google::Cloud::Config.deferred do
|
133
|
+
ENV["LOGGING_PROJECT"]
|
134
|
+
end
|
135
|
+
default_creds = Google::Cloud::Config.deferred do
|
136
|
+
Google::Cloud::Config.credentials_from_env(
|
137
|
+
"LOGGING_CREDENTIALS", "LOGGING_CREDENTIALS_JSON",
|
138
|
+
"LOGGING_KEYFILE", "LOGGING_KEYFILE_JSON"
|
139
|
+
)
|
140
|
+
end
|
141
|
+
|
142
|
+
config.add_field! :project_id, default_project, match: String, allow_nil: true
|
143
|
+
config.add_alias! :project, :project_id
|
144
|
+
config.add_field! :credentials, default_creds,
|
145
|
+
match: [String, Hash, Google::Auth::Credentials],
|
146
|
+
allow_nil: true
|
147
|
+
config.add_alias! :keyfile, :credentials
|
148
|
+
config.add_field! :scope, nil, match: [String, Array]
|
149
|
+
config.add_field! :timeout, nil, match: Integer
|
150
|
+
config.add_field! :client_config, nil, match: Hash
|
151
|
+
config.add_field! :log_name, nil, match: String
|
152
|
+
config.add_field! :log_name_map, nil, match: Hash
|
153
|
+
config.add_field! :labels, nil, match: Hash
|
154
|
+
config.add_config! :monitored_resource do |mrconfig|
|
155
|
+
mrconfig.add_field! :type, nil, match: String
|
156
|
+
mrconfig.add_field! :labels, nil, match: Hash
|
157
|
+
end
|
158
|
+
end
|
data/lib/google/cloud/logging.rb
CHANGED
@@ -15,6 +15,8 @@
|
|
15
15
|
|
16
16
|
require "google-cloud-logging"
|
17
17
|
require "google/cloud/logging/project"
|
18
|
+
require "google/cloud/config"
|
19
|
+
require "google/cloud/env"
|
18
20
|
require "stackdriver/core"
|
19
21
|
|
20
22
|
module Google
|
@@ -38,11 +40,12 @@ module Google
|
|
38
40
|
# Logging Documentation](https://cloud.google.com/logging/docs/).
|
39
41
|
#
|
40
42
|
# The goal of google-cloud is to provide an API that is comfortable to
|
41
|
-
# Rubyists.
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
45
|
-
# about the options for connecting in the
|
43
|
+
# Rubyists. Your authentication credentials are detected automatically in
|
44
|
+
# Google Cloud Platform environments such as Google Compute Engine, Google
|
45
|
+
# App Engine and Google Kubernetes Engine. In other environments you can
|
46
|
+
# configure authentication easily, either directly in your code or via
|
47
|
+
# environment variables. Read more about the options for connecting in the
|
48
|
+
# [Authentication
|
46
49
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
47
50
|
#
|
48
51
|
# If you just want to write your application's logs to the Stackdriver
|
@@ -347,12 +350,6 @@ module Google
|
|
347
350
|
# ```
|
348
351
|
#
|
349
352
|
module Logging
|
350
|
-
# Initialize :error_reporting as a nested Configuration under
|
351
|
-
# Google::Cloud if haven't already
|
352
|
-
unless Google::Cloud.configure.option? :logging
|
353
|
-
Google::Cloud.configure.add_options logging: :monitored_resource
|
354
|
-
end
|
355
|
-
|
356
353
|
##
|
357
354
|
# Creates a new object for connecting to the Stackdriver Logging service.
|
358
355
|
# Each call creates a new connection.
|
@@ -375,6 +372,7 @@ module Google
|
|
375
372
|
# The default scope is:
|
376
373
|
#
|
377
374
|
# * `https://www.googleapis.com/auth/logging.admin`
|
375
|
+
#
|
378
376
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
379
377
|
# @param [Hash] client_config A hash of values to override the default
|
380
378
|
# behavior of the API client. Optional.
|
@@ -396,11 +394,15 @@ module Google
|
|
396
394
|
#
|
397
395
|
def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil,
|
398
396
|
client_config: nil, project: nil, keyfile: nil
|
399
|
-
project_id ||= (project ||
|
397
|
+
project_id ||= (project || default_project_id)
|
400
398
|
project_id = project_id.to_s # Always cast to a string
|
401
|
-
|
399
|
+
raise ArgumentError, "project_id is missing" if project_id.empty?
|
400
|
+
|
401
|
+
scope ||= configure.scope
|
402
|
+
timeout ||= configure.timeout
|
403
|
+
client_config ||= configure.client_config
|
402
404
|
|
403
|
-
credentials ||= (keyfile ||
|
405
|
+
credentials ||= (keyfile || default_credentials(scope: scope))
|
404
406
|
unless credentials.is_a? Google::Auth::Credentials
|
405
407
|
credentials = Logging::Credentials.new credentials, scope: scope
|
406
408
|
end
|
@@ -408,18 +410,49 @@ module Google
|
|
408
410
|
Logging::Project.new(
|
409
411
|
Logging::Service.new(
|
410
412
|
project_id, credentials, timeout: timeout,
|
411
|
-
client_config: client_config
|
413
|
+
client_config: client_config
|
414
|
+
)
|
415
|
+
)
|
412
416
|
end
|
413
417
|
|
414
418
|
##
|
415
419
|
# Configure the Google::Cloud::Logging::Middleware when used in a
|
416
420
|
# Rack-based application.
|
417
421
|
#
|
422
|
+
# The following Stackdriver Logging configuration parameters are
|
423
|
+
# supported:
|
424
|
+
#
|
425
|
+
# * `project_id` - (String) Project identifier for the Stackdriver
|
426
|
+
# Logging service you are connecting to. (The parameter `project` is
|
427
|
+
# considered deprecated, but may also be used.)
|
428
|
+
# * `credentials` - (String, Hash, Google::Auth::Credentials) The path to
|
429
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
430
|
+
# Google::Auth::Credentials object. (See {Logging::Credentials}) (The
|
431
|
+
# parameter `keyfile` is considered deprecated, but may also be used.)
|
432
|
+
# * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
|
433
|
+
# the set of resources and operations that the connection can access.
|
434
|
+
# * `timeout` - (Integer) Default timeout to use in requests.
|
435
|
+
# * `client_config` - (Hash) A hash of values to override the default
|
436
|
+
# behavior of the API client.
|
437
|
+
# * `log_name` - (String) Name of the application log file. Default:
|
438
|
+
# `"ruby_app_log"`
|
439
|
+
# * `log_name_map` - (Hash) Map specific request routes to other log.
|
440
|
+
# Default: `{ "/_ah/health" => "ruby_health_check_log" }`
|
441
|
+
# * `monitored_resource.type` (String) Resource type name. See [full
|
442
|
+
# list](https://cloud.google.com/logging/docs/api/v2/resource-list).
|
443
|
+
# Self discovered on GCP.
|
444
|
+
# * `monitored_resource.labels` -(Hash) Resource labels. See [full
|
445
|
+
# list](https://cloud.google.com/logging/docs/api/v2/resource-list).
|
446
|
+
# Self discovered on GCP.
|
447
|
+
# * `labels` - (Hash) User defined labels. A `Hash` of label names to
|
448
|
+
# string label values or callables/`Proc` which are functions of the
|
449
|
+
# Rack environment.
|
450
|
+
#
|
418
451
|
# See the [Configuration
|
419
452
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/stackdriver/guides/instrumentation_configuration)
|
420
453
|
# for full configuration parameters.
|
421
454
|
#
|
422
|
-
# @return [
|
455
|
+
# @return [Google::Cloud::Config] The configuration object
|
423
456
|
# the Google::Cloud::Logging module uses.
|
424
457
|
#
|
425
458
|
def self.configure
|
@@ -427,6 +460,22 @@ module Google
|
|
427
460
|
|
428
461
|
Google::Cloud.configure.logging
|
429
462
|
end
|
463
|
+
|
464
|
+
##
|
465
|
+
# @private Default project.
|
466
|
+
def self.default_project_id
|
467
|
+
Google::Cloud.configure.logging.project_id ||
|
468
|
+
Google::Cloud.configure.project_id ||
|
469
|
+
Google::Cloud.env.project_id
|
470
|
+
end
|
471
|
+
|
472
|
+
##
|
473
|
+
# @private Default credentials.
|
474
|
+
def self.default_credentials scope: nil
|
475
|
+
Google::Cloud.configure.logging.credentials ||
|
476
|
+
Google::Cloud.configure.credentials ||
|
477
|
+
Logging::Credentials.default(scope: scope)
|
478
|
+
end
|
430
479
|
end
|
431
480
|
end
|
432
481
|
end
|
@@ -87,7 +87,7 @@ module Google
|
|
87
87
|
# The current state. Either :running, :suspended, :stopping, or :stopped
|
88
88
|
#
|
89
89
|
# DEPRECATED. Use #async_state instead.
|
90
|
-
|
90
|
+
alias state async_state
|
91
91
|
|
92
92
|
##
|
93
93
|
# The last exception thrown by the background thread, or nil if nothing
|
@@ -152,7 +152,7 @@ module Google
|
|
152
152
|
ensure_thread
|
153
153
|
entries = Array(entries)
|
154
154
|
synchronize do
|
155
|
-
|
155
|
+
raise "AsyncWriter has been stopped" unless writable?
|
156
156
|
queue_item = QueueItem.new entries, log_name, resource, labels
|
157
157
|
if @queue.empty? || !@queue.last.try_combine(queue_item)
|
158
158
|
@queue.push queue_item
|
@@ -213,7 +213,7 @@ module Google
|
|
213
213
|
# @return [Boolean] Returns true if the writer was running, or false
|
214
214
|
# if the writer had already been stopped.
|
215
215
|
#
|
216
|
-
|
216
|
+
alias stop async_stop
|
217
217
|
|
218
218
|
##
|
219
219
|
# Suspends this asynchronous writer.
|
@@ -226,7 +226,7 @@ module Google
|
|
226
226
|
# @return [Boolean] Returns true if the writer had been running and was
|
227
227
|
# suspended, otherwise false.
|
228
228
|
#
|
229
|
-
|
229
|
+
alias suspend async_suspend
|
230
230
|
|
231
231
|
##
|
232
232
|
# Resumes this suspended asynchronous writer.
|
@@ -239,7 +239,7 @@ module Google
|
|
239
239
|
# @return [Boolean] Returns true if the writer had been suspended and
|
240
240
|
# is now running, otherwise false.
|
241
241
|
#
|
242
|
-
|
242
|
+
alias resume async_resume
|
243
243
|
|
244
244
|
##
|
245
245
|
# Returns true if this writer is running.
|
@@ -248,7 +248,7 @@ module Google
|
|
248
248
|
#
|
249
249
|
# @return [Boolean] Returns true if the writer is currently running.
|
250
250
|
#
|
251
|
-
|
251
|
+
alias running? async_running?
|
252
252
|
|
253
253
|
##
|
254
254
|
# Returns true if this writer is suspended.
|
@@ -257,7 +257,7 @@ module Google
|
|
257
257
|
#
|
258
258
|
# @return [Boolean] Returns true if the writer is currently suspended.
|
259
259
|
#
|
260
|
-
|
260
|
+
alias suspended? async_suspended?
|
261
261
|
|
262
262
|
##
|
263
263
|
# Returns true if this writer is still accepting writes. This means
|
@@ -267,7 +267,7 @@ module Google
|
|
267
267
|
#
|
268
268
|
# @return [Boolean] Returns true if the writer is accepting writes.
|
269
269
|
#
|
270
|
-
|
270
|
+
alias writable? async_working?
|
271
271
|
|
272
272
|
##
|
273
273
|
# Returns true if this writer is fully stopped.
|
@@ -276,7 +276,7 @@ module Google
|
|
276
276
|
#
|
277
277
|
# @return [Boolean] Returns true if the writer is fully stopped.
|
278
278
|
#
|
279
|
-
|
279
|
+
alias stopped? async_stopped?
|
280
280
|
|
281
281
|
##
|
282
282
|
# Blocks until this asynchronous writer has been stopped, or the given
|
@@ -290,7 +290,7 @@ module Google
|
|
290
290
|
# @return [Boolean] Returns true if the writer is stopped, or false
|
291
291
|
# if the timeout expired.
|
292
292
|
#
|
293
|
-
|
293
|
+
alias wait_until_stopped wait_until_async_stopped
|
294
294
|
|
295
295
|
##
|
296
296
|
# Stop this asynchronous writer and block until it has been stopped.
|
@@ -340,7 +340,7 @@ module Google
|
|
340
340
|
labels: queue_item.labels,
|
341
341
|
partial_success: @partial_success
|
342
342
|
)
|
343
|
-
rescue => e
|
343
|
+
rescue StandardError => e
|
344
344
|
# Ignore any exceptions thrown from the background thread, but
|
345
345
|
# keep running to ensure its state behavior remains consistent.
|
346
346
|
@last_exception = e
|
@@ -38,19 +38,19 @@ module Google
|
|
38
38
|
# logging.project_id #=> "my-project"
|
39
39
|
#
|
40
40
|
class Credentials < Google::Auth::Credentials
|
41
|
-
SCOPE = ["https://www.googleapis.com/auth/logging.admin"]
|
42
|
-
PATH_ENV_VARS = %w
|
41
|
+
SCOPE = ["https://www.googleapis.com/auth/logging.admin"].freeze
|
42
|
+
PATH_ENV_VARS = %w[LOGGING_CREDENTIALS
|
43
43
|
LOGGING_KEYFILE
|
44
44
|
GOOGLE_CLOUD_CREDENTIALS
|
45
45
|
GOOGLE_CLOUD_KEYFILE
|
46
|
-
GCLOUD_KEYFILE
|
47
|
-
JSON_ENV_VARS = %w
|
46
|
+
GCLOUD_KEYFILE].freeze
|
47
|
+
JSON_ENV_VARS = %w[LOGGING_CREDENTIALS_JSON
|
48
48
|
LOGGING_KEYFILE_JSON
|
49
49
|
GOOGLE_CLOUD_CREDENTIALS_JSON
|
50
50
|
GOOGLE_CLOUD_KEYFILE_JSON
|
51
|
-
GCLOUD_KEYFILE_JSON
|
51
|
+
GCLOUD_KEYFILE_JSON].freeze
|
52
52
|
DEFAULT_PATHS = \
|
53
|
-
["~/.config/gcloud/application_default_credentials.json"]
|
53
|
+
["~/.config/gcloud/application_default_credentials.json"].freeze
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|