google-cloud-logging-v2 0.2.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -90,17 +90,17 @@ module Google
90
90
  # @return [::String]
91
91
  def log_path **args
92
92
  resources = {
93
- "log:project" => (proc do |project:, log:|
93
+ "log:project" => (proc do |project:, log:|
94
94
  raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
95
95
 
96
96
  "projects/#{project}/logs/#{log}"
97
97
  end),
98
- "log:organization" => (proc do |organization:, log:|
98
+ "log:organization" => (proc do |organization:, log:|
99
99
  raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
100
100
 
101
101
  "organizations/#{organization}/logs/#{log}"
102
102
  end),
103
- "folder:log" => (proc do |folder:, log:|
103
+ "folder:log" => (proc do |folder:, log:|
104
104
  raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
105
105
 
106
106
  "folders/#{folder}/logs/#{log}"
@@ -60,7 +60,7 @@ module Google
60
60
  parent_config = while namespace.any?
61
61
  parent_name = namespace.join "::"
62
62
  parent_const = const_get parent_name
63
- break parent_const.configure if parent_const&.respond_to? :configure
63
+ break parent_const.configure if parent_const.respond_to? :configure
64
64
  namespace.pop
65
65
  end
66
66
  default_config = Client::Configuration.new parent_config
@@ -68,17 +68,17 @@ module Google
68
68
  default_config.rpcs.list_log_metrics.timeout = 60.0
69
69
  default_config.rpcs.list_log_metrics.retry_policy = {
70
70
  initial_delay: 0.1,
71
- max_delay: 60.0,
72
- multiplier: 1.3,
73
- retry_codes: [4, 13, 14]
71
+ max_delay: 60.0,
72
+ multiplier: 1.3,
73
+ retry_codes: [4, 13, 14]
74
74
  }
75
75
 
76
76
  default_config.rpcs.get_log_metric.timeout = 60.0
77
77
  default_config.rpcs.get_log_metric.retry_policy = {
78
78
  initial_delay: 0.1,
79
- max_delay: 60.0,
80
- multiplier: 1.3,
81
- retry_codes: [4, 13, 14]
79
+ max_delay: 60.0,
80
+ multiplier: 1.3,
81
+ retry_codes: [4, 13, 14]
82
82
  }
83
83
 
84
84
  default_config.rpcs.create_log_metric.timeout = 60.0
@@ -86,17 +86,17 @@ module Google
86
86
  default_config.rpcs.update_log_metric.timeout = 60.0
87
87
  default_config.rpcs.update_log_metric.retry_policy = {
88
88
  initial_delay: 0.1,
89
- max_delay: 60.0,
90
- multiplier: 1.3,
91
- retry_codes: [4, 13, 14]
89
+ max_delay: 60.0,
90
+ multiplier: 1.3,
91
+ retry_codes: [4, 13, 14]
92
92
  }
93
93
 
94
94
  default_config.rpcs.delete_log_metric.timeout = 60.0
95
95
  default_config.rpcs.delete_log_metric.retry_policy = {
96
96
  initial_delay: 0.1,
97
- max_delay: 60.0,
98
- multiplier: 1.3,
99
- retry_codes: [4, 13, 14]
97
+ max_delay: 60.0,
98
+ multiplier: 1.3,
99
+ retry_codes: [4, 13, 14]
100
100
  }
101
101
 
102
102
  default_config
@@ -160,7 +160,13 @@ module Google
160
160
 
161
161
  # Create credentials
162
162
  credentials = @config.credentials
163
- credentials ||= Credentials.default scope: @config.scope
163
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
164
+ # but only if the default endpoint does not have a region prefix.
165
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
166
+ @config.endpoint == Client.configure.endpoint &&
167
+ !@config.endpoint.split(".").first.include?("-")
168
+ credentials ||= Credentials.default scope: @config.scope,
169
+ enable_self_signed_jwt: enable_self_signed_jwt
164
170
  if credentials.is_a?(String) || credentials.is_a?(Hash)
165
171
  credentials = Credentials.new credentials, scope: @config.scope
166
172
  end
@@ -631,7 +637,7 @@ module Google
631
637
  config_attr :scope, nil, ::String, ::Array, nil
632
638
  config_attr :lib_name, nil, ::String, nil
633
639
  config_attr :lib_version, nil, ::String, nil
634
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
640
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
635
641
  config_attr :interceptors, nil, ::Array, nil
636
642
  config_attr :timeout, nil, ::Numeric, nil
637
643
  config_attr :metadata, nil, ::Hash, nil
@@ -652,7 +658,7 @@ module Google
652
658
  def rpcs
653
659
  @rpcs ||= begin
654
660
  parent_rpcs = nil
655
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
661
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
656
662
  Rpcs.new parent_rpcs
657
663
  end
658
664
  end
@@ -664,7 +670,7 @@ module Google
664
670
  # Each configuration object is of type `Gapic::Config::Method` and includes
665
671
  # the following configuration fields:
666
672
  #
667
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
673
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
668
674
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
669
675
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
670
676
  # include the following keys:
@@ -703,15 +709,15 @@ module Google
703
709
 
704
710
  # @private
705
711
  def initialize parent_rpcs = nil
706
- list_log_metrics_config = parent_rpcs&.list_log_metrics if parent_rpcs&.respond_to? :list_log_metrics
712
+ list_log_metrics_config = parent_rpcs.list_log_metrics if parent_rpcs.respond_to? :list_log_metrics
707
713
  @list_log_metrics = ::Gapic::Config::Method.new list_log_metrics_config
708
- get_log_metric_config = parent_rpcs&.get_log_metric if parent_rpcs&.respond_to? :get_log_metric
714
+ get_log_metric_config = parent_rpcs.get_log_metric if parent_rpcs.respond_to? :get_log_metric
709
715
  @get_log_metric = ::Gapic::Config::Method.new get_log_metric_config
710
- create_log_metric_config = parent_rpcs&.create_log_metric if parent_rpcs&.respond_to? :create_log_metric
716
+ create_log_metric_config = parent_rpcs.create_log_metric if parent_rpcs.respond_to? :create_log_metric
711
717
  @create_log_metric = ::Gapic::Config::Method.new create_log_metric_config
712
- update_log_metric_config = parent_rpcs&.update_log_metric if parent_rpcs&.respond_to? :update_log_metric
718
+ update_log_metric_config = parent_rpcs.update_log_metric if parent_rpcs.respond_to? :update_log_metric
713
719
  @update_log_metric = ::Gapic::Config::Method.new update_log_metric_config
714
- delete_log_metric_config = parent_rpcs&.delete_log_metric if parent_rpcs&.respond_to? :delete_log_metric
720
+ delete_log_metric_config = parent_rpcs.delete_log_metric if parent_rpcs.respond_to? :delete_log_metric
715
721
  @delete_log_metric = ::Gapic::Config::Method.new delete_log_metric_config
716
722
 
717
723
  yield self if block_given?
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Logging
23
23
  module V2
24
- VERSION = "0.2.0"
24
+ VERSION = "0.5.1"
25
25
  end
26
26
  end
27
27
  end
@@ -27,7 +27,7 @@ module Google
27
27
  # Service for configuring sinks used to route log entries.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -27,7 +27,7 @@ module Google
27
27
  # Service for configuring logs-based metrics.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -56,11 +56,30 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
56
56
  optional :parent, :string, 1
57
57
  optional :page_size, :int32, 2
58
58
  optional :page_token, :string, 3
59
+ repeated :resource_names, :string, 8
59
60
  end
60
61
  add_message "google.logging.v2.ListLogsResponse" do
61
62
  repeated :log_names, :string, 3
62
63
  optional :next_page_token, :string, 2
63
64
  end
65
+ add_message "google.logging.v2.TailLogEntriesRequest" do
66
+ repeated :resource_names, :string, 1
67
+ optional :filter, :string, 2
68
+ optional :buffer_window, :message, 3, "google.protobuf.Duration"
69
+ end
70
+ add_message "google.logging.v2.TailLogEntriesResponse" do
71
+ repeated :entries, :message, 1, "google.logging.v2.LogEntry"
72
+ repeated :suppression_info, :message, 2, "google.logging.v2.TailLogEntriesResponse.SuppressionInfo"
73
+ end
74
+ add_message "google.logging.v2.TailLogEntriesResponse.SuppressionInfo" do
75
+ optional :reason, :enum, 1, "google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason"
76
+ optional :suppressed_count, :int32, 2
77
+ end
78
+ add_enum "google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason" do
79
+ value :REASON_UNSPECIFIED, 0
80
+ value :RATE_LIMIT, 1
81
+ value :NOT_CONSUMED, 2
82
+ end
64
83
  end
65
84
  end
66
85
 
@@ -78,6 +97,10 @@ module Google
78
97
  ListMonitoredResourceDescriptorsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.ListMonitoredResourceDescriptorsResponse").msgclass
79
98
  ListLogsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.ListLogsRequest").msgclass
80
99
  ListLogsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.ListLogsResponse").msgclass
100
+ TailLogEntriesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.TailLogEntriesRequest").msgclass
101
+ TailLogEntriesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.TailLogEntriesResponse").msgclass
102
+ TailLogEntriesResponse::SuppressionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.TailLogEntriesResponse.SuppressionInfo").msgclass
103
+ TailLogEntriesResponse::SuppressionInfo::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason").enummodule
81
104
  end
82
105
  end
83
106
  end
@@ -27,7 +27,7 @@ module Google
27
27
  # Service for ingesting and querying logs.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -56,6 +56,9 @@ module Google
56
56
  # Lists the logs in projects, organizations, folders, or billing accounts.
57
57
  # Only logs that have entries are listed.
58
58
  rpc :ListLogs, ::Google::Cloud::Logging::V2::ListLogsRequest, ::Google::Cloud::Logging::V2::ListLogsResponse
59
+ # Streaming read of log entries as they are ingested. Until the stream is
60
+ # terminated, it will continue reading logs.
61
+ rpc :TailLogEntries, stream(::Google::Cloud::Logging::V2::TailLogEntriesRequest), stream(::Google::Cloud::Logging::V2::TailLogEntriesResponse)
59
62
  end
60
63
 
61
64
  Stub = Service.rpc_stub_class
@@ -54,6 +54,12 @@ module Google
54
54
  # This indicates that the field may be set once in a request to create a
55
55
  # resource, but may not be changed thereafter.
56
56
  IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
57
63
  end
58
64
  end
59
65
  end
@@ -169,6 +169,11 @@ module Google
169
169
  # "billingAccounts/[BILLING_ACCOUNT_ID]"
170
170
  # "folders/[FOLDER_ID]"
171
171
  #
172
+ # May alternatively be one or more views
173
+ # projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
174
+ # organization/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
175
+ # billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
176
+ # folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
172
177
  #
173
178
  # Projects listed in the `project_ids` field are added to this list.
174
179
  # @!attribute [rw] filter
@@ -279,6 +284,19 @@ module Google
279
284
  # preceding call to this method. `pageToken` must be the value of
280
285
  # `nextPageToken` from the previous response. The values of other method
281
286
  # parameters should be identical to those in the previous call.
287
+ # @!attribute [rw] resource_names
288
+ # @return [::Array<::String>]
289
+ # Optional. The resource name that owns the logs:
290
+ # projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
291
+ # organization/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
292
+ # billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
293
+ # folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
294
+ #
295
+ # To support legacy queries, it could also be:
296
+ # "projects/[PROJECT_ID]"
297
+ # "organizations/[ORGANIZATION_ID]"
298
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
299
+ # "folders/[FOLDER_ID]"
282
300
  class ListLogsRequest
283
301
  include ::Google::Protobuf::MessageExts
284
302
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -299,6 +317,87 @@ module Google
299
317
  include ::Google::Protobuf::MessageExts
300
318
  extend ::Google::Protobuf::MessageExts::ClassMethods
301
319
  end
320
+
321
+ # The parameters to `TailLogEntries`.
322
+ # @!attribute [rw] resource_names
323
+ # @return [::Array<::String>]
324
+ # Required. Name of a parent resource from which to retrieve log entries:
325
+ #
326
+ # "projects/[PROJECT_ID]"
327
+ # "organizations/[ORGANIZATION_ID]"
328
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
329
+ # "folders/[FOLDER_ID]"
330
+ #
331
+ # May alternatively be one or more views:
332
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
333
+ # "organization/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
334
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
335
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
336
+ # @!attribute [rw] filter
337
+ # @return [::String]
338
+ # Optional. A filter that chooses which log entries to return. See [Advanced
339
+ # Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
340
+ # Only log entries that match the filter are returned. An empty filter
341
+ # matches all log entries in the resources listed in `resource_names`.
342
+ # Referencing a parent resource that is not in `resource_names` will cause
343
+ # the filter to return no results. The maximum length of the filter is 20000
344
+ # characters.
345
+ # @!attribute [rw] buffer_window
346
+ # @return [::Google::Protobuf::Duration]
347
+ # Optional. The amount of time to buffer log entries at the server before
348
+ # being returned to prevent out of order results due to late arriving log
349
+ # entries. Valid values are between 0-60000 milliseconds. Defaults to 2000
350
+ # milliseconds.
351
+ class TailLogEntriesRequest
352
+ include ::Google::Protobuf::MessageExts
353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
354
+ end
355
+
356
+ # Result returned from `TailLogEntries`.
357
+ # @!attribute [rw] entries
358
+ # @return [::Array<::Google::Cloud::Logging::V2::LogEntry>]
359
+ # A list of log entries. Each response in the stream will order entries with
360
+ # increasing values of `LogEntry.timestamp`. Ordering is not guaranteed
361
+ # between separate responses.
362
+ # @!attribute [rw] suppression_info
363
+ # @return [::Array<::Google::Cloud::Logging::V2::TailLogEntriesResponse::SuppressionInfo>]
364
+ # If entries that otherwise would have been included in the session were not
365
+ # sent back to the client, counts of relevant entries omitted from the
366
+ # session with the reason that they were not included. There will be at most
367
+ # one of each reason per response. The counts represent the number of
368
+ # suppressed entries since the last streamed response.
369
+ class TailLogEntriesResponse
370
+ include ::Google::Protobuf::MessageExts
371
+ extend ::Google::Protobuf::MessageExts::ClassMethods
372
+
373
+ # Information about entries that were omitted from the session.
374
+ # @!attribute [rw] reason
375
+ # @return [::Google::Cloud::Logging::V2::TailLogEntriesResponse::SuppressionInfo::Reason]
376
+ # The reason that entries were omitted from the session.
377
+ # @!attribute [rw] suppressed_count
378
+ # @return [::Integer]
379
+ # A lower bound on the count of entries omitted due to `reason`.
380
+ class SuppressionInfo
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+
384
+ # An indicator of why entries were omitted.
385
+ module Reason
386
+ # Unexpected default.
387
+ REASON_UNSPECIFIED = 0
388
+
389
+ # Indicates suppression occurred due to relevant entries being
390
+ # received in excess of rate limits. For quotas and limits, see
391
+ # [Logging API quotas and
392
+ # limits](https://cloud.google.com/logging/quotas#api-limits).
393
+ RATE_LIMIT = 1
394
+
395
+ # Indicates suppression occurred due to the client not consuming
396
+ # responses quickly enough.
397
+ NOT_CONSUMED = 2
398
+ end
399
+ end
400
+ end
302
401
  end
303
402
  end
304
403
  end
@@ -57,10 +57,13 @@ module Google
57
57
  # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
- # any, err := ptypes.MarshalAny(foo)
60
+ # any, err := anypb.New(foo)
61
+ # if err != nil {
62
+ # ...
63
+ # }
61
64
  # ...
62
65
  # foo := &pb.Foo{}
63
- # if err := ptypes.UnmarshalAny(any, foo); err != nil {
66
+ # if err := any.UnmarshalTo(foo); err != nil {
64
67
  # ...
65
68
  # }
66
69
  #
@@ -70,7 +70,16 @@ module Google
70
70
  # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
71
  #
72
72
  #
73
- # Example 5: Compute Timestamp from current time in Python.
73
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
74
+ #
75
+ # Instant now = Instant.now();
76
+ #
77
+ # Timestamp timestamp =
78
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
79
+ # .setNanos(now.getNano()).build();
80
+ #
81
+ #
82
+ # Example 6: Compute Timestamp from current time in Python.
74
83
  #
75
84
  # timestamp = Timestamp()
76
85
  # timestamp.GetCurrentTime()
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-logging-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2021-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '0.3'
22
+ version: 2.a
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.5'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '0.3'
32
+ version: 2.a
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: google-cloud-errors
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +50,14 @@ dependencies:
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 1.24.0
53
+ version: 1.25.1
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: 1.24.0
60
+ version: 1.25.1
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: minitest
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +157,10 @@ dependencies:
151
157
  - !ruby/object:Gem::Version
152
158
  version: '0.9'
153
159
  description: The Cloud Logging API lets you programmatically read and write log entries,
154
- set up exclusions, create logs-based metrics, and manage export sinks.
160
+ set up exclusions, create logs-based metrics, and manage export sinks. Note that
161
+ google-cloud-logging-v2 is a version-specific client library. For most uses, we
162
+ recommend installing the main client library google-cloud-logging instead. See the
163
+ readme for more details.
155
164
  email: googleapis-packages@google.com
156
165
  executables: []
157
166
  extensions: []
@@ -217,14 +226,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
217
226
  requirements:
218
227
  - - ">="
219
228
  - !ruby/object:Gem::Version
220
- version: '2.4'
229
+ version: '2.5'
221
230
  required_rubygems_version: !ruby/object:Gem::Requirement
222
231
  requirements:
223
232
  - - ">="
224
233
  - !ruby/object:Gem::Version
225
234
  version: '0'
226
235
  requirements: []
227
- rubygems_version: 3.1.4
236
+ rubygems_version: 3.2.17
228
237
  signing_key:
229
238
  specification_version: 4
230
239
  summary: API Client library for the Cloud Logging V2 API