google-cloud-service_control-v1 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 963f91864f1a30cbc797962829242ae951a4c2f7f885dd530e1d4b37f0fb1272
4
- data.tar.gz: 3231978f6632d3e8cae839b0165190872cc47ca30b035a12d0b21fcdda318253
3
+ metadata.gz: 49ffa5cad60f88f4fd16bb7e96b0eab9169fbb1dd084d9eb87b9919370b5684f
4
+ data.tar.gz: 5a9abbc9e8a4974e41f930284fa8983be3df85af0626715b60284bf4855a8d20
5
5
  SHA512:
6
- metadata.gz: ff4f5036384eacd3fb97092f163f9022f8b0ee294d02c8502365c96e55f54fd299aec7a9920946ce20e45f908ca31fc569b8cc5c4bd46a7bc209f3a2d533493d
7
- data.tar.gz: 4c287eecc0152c85c82ef57ae4b3b77a0fe5e24a93eb71fe0cba45714f8e4b0ae43324b0a2d5472b1536d87784a51070581bc67aae4437f296924872391c00d7
6
+ metadata.gz: 3f5247288f1cc5b361e4f49893216ec1bebeeae100867103a20d846fa3f4b64e904083b00899ff58b988e0795a0a3e76d84feb13375d8dbcbae41b02a04412cd
7
+ data.tar.gz: e1adddf9531faebac35262b9cf16da0a986aad6e2e3fa6fdd978fe838b6a4ed32a176205c44170ddf5f239a1b659bd5649053a9397dc21eb9efba803c39f9a81
data/README.md CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/service-infrastructure/docs/overview/)
44
44
  for general usage information.
45
45
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/service_control/v1"
57
76
  require "logger"
58
77
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
78
+ client = ::Google::Cloud::ServiceControl::V1::QuotaController::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
86
 
77
87
  ## Supported Ruby Versions
78
88
 
79
- This library is supported on Ruby 2.7+.
89
+ This library is supported on Ruby 3.0+.
80
90
 
81
91
  Google provides official support for Ruby versions that are actively supported
82
92
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -158,8 +158,28 @@ module Google
158
158
  universe_domain: @config.universe_domain,
159
159
  channel_args: @config.channel_args,
160
160
  interceptors: @config.interceptors,
161
- channel_pool_config: @config.channel_pool
161
+ channel_pool_config: @config.channel_pool,
162
+ logger: @config.logger
162
163
  )
164
+
165
+ @quota_controller_stub.stub_logger&.info do |entry|
166
+ entry.set_system_name
167
+ entry.set_service
168
+ entry.message = "Created client for #{entry.service}"
169
+ entry.set_credentials_fields credentials
170
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
171
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
172
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
173
+ end
174
+ end
175
+
176
+ ##
177
+ # The logger used for request/response debug logging.
178
+ #
179
+ # @return [Logger]
180
+ #
181
+ def logger
182
+ @quota_controller_stub.logger
163
183
  end
164
184
 
165
185
  # Service calls
@@ -263,7 +283,6 @@ module Google
263
283
 
264
284
  @quota_controller_stub.call_rpc :allocate_quota, request, options: options do |response, operation|
265
285
  yield response, operation if block_given?
266
- return response
267
286
  end
268
287
  rescue ::GRPC::BadStatus => e
269
288
  raise ::Google::Cloud::Error.from_error(e)
@@ -313,6 +332,13 @@ module Google
313
332
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
314
333
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
315
334
  # * (`nil`) indicating no credentials
335
+ #
336
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
337
+ # external source for authentication to Google Cloud, you must validate it before
338
+ # providing it to a Google API client library. Providing an unvalidated credential
339
+ # configuration to Google APIs can compromise the security of your systems and data.
340
+ # For more information, refer to [Validate credential configurations from external
341
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
316
342
  # @return [::Object]
317
343
  # @!attribute [rw] scope
318
344
  # The OAuth scopes
@@ -352,6 +378,11 @@ module Google
352
378
  # default endpoint URL. The default value of nil uses the environment
353
379
  # universe (usually the default "googleapis.com" universe).
354
380
  # @return [::String,nil]
381
+ # @!attribute [rw] logger
382
+ # A custom logger to use for request/response debug logging, or the value
383
+ # `:default` (the default) to construct a default logger, or `nil` to
384
+ # explicitly disable logging.
385
+ # @return [::Logger,:default,nil]
355
386
  #
356
387
  class Configuration
357
388
  extend ::Gapic::Config
@@ -376,6 +407,7 @@ module Google
376
407
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
377
408
  config_attr :quota_project, nil, ::String, nil
378
409
  config_attr :universe_domain, nil, ::String, nil
410
+ config_attr :logger, :default, ::Logger, nil, :default
379
411
 
380
412
  # @private
381
413
  def initialize parent_config = nil
@@ -151,8 +151,28 @@ module Google
151
151
  endpoint: @config.endpoint,
152
152
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
153
153
  universe_domain: @config.universe_domain,
154
- credentials: credentials
154
+ credentials: credentials,
155
+ logger: @config.logger
155
156
  )
157
+
158
+ @quota_controller_stub.logger(stub: true)&.info do |entry|
159
+ entry.set_system_name
160
+ entry.set_service
161
+ entry.message = "Created client for #{entry.service}"
162
+ entry.set_credentials_fields credentials
163
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
164
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
165
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
166
+ end
167
+ end
168
+
169
+ ##
170
+ # The logger used for request/response debug logging.
171
+ #
172
+ # @return [Logger]
173
+ #
174
+ def logger
175
+ @quota_controller_stub.logger
156
176
  end
157
177
 
158
178
  # Service calls
@@ -249,7 +269,6 @@ module Google
249
269
 
250
270
  @quota_controller_stub.allocate_quota request, options do |result, operation|
251
271
  yield result, operation if block_given?
252
- return result
253
272
  end
254
273
  rescue ::Gapic::Rest::Error => e
255
274
  raise ::Google::Cloud::Error.from_error(e)
@@ -297,6 +316,13 @@ module Google
297
316
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
298
317
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
299
318
  # * (`nil`) indicating no credentials
319
+ #
320
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
321
+ # external source for authentication to Google Cloud, you must validate it before
322
+ # providing it to a Google API client library. Providing an unvalidated credential
323
+ # configuration to Google APIs can compromise the security of your systems and data.
324
+ # For more information, refer to [Validate credential configurations from external
325
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
300
326
  # @return [::Object]
301
327
  # @!attribute [rw] scope
302
328
  # The OAuth scopes
@@ -329,6 +355,11 @@ module Google
329
355
  # default endpoint URL. The default value of nil uses the environment
330
356
  # universe (usually the default "googleapis.com" universe).
331
357
  # @return [::String,nil]
358
+ # @!attribute [rw] logger
359
+ # A custom logger to use for request/response debug logging, or the value
360
+ # `:default` (the default) to construct a default logger, or `nil` to
361
+ # explicitly disable logging.
362
+ # @return [::Logger,:default,nil]
332
363
  #
333
364
  class Configuration
334
365
  extend ::Gapic::Config
@@ -350,6 +381,7 @@ module Google
350
381
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
351
382
  config_attr :quota_project, nil, ::String, nil
352
383
  config_attr :universe_domain, nil, ::String, nil
384
+ config_attr :logger, :default, ::Logger, nil, :default
353
385
 
354
386
  # @private
355
387
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the allocate_quota REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "allocate_quota",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::ServiceControl::V1::AllocateQuotaResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -165,8 +165,28 @@ module Google
165
165
  universe_domain: @config.universe_domain,
166
166
  channel_args: @config.channel_args,
167
167
  interceptors: @config.interceptors,
168
- channel_pool_config: @config.channel_pool
168
+ channel_pool_config: @config.channel_pool,
169
+ logger: @config.logger
169
170
  )
171
+
172
+ @service_controller_stub.stub_logger&.info do |entry|
173
+ entry.set_system_name
174
+ entry.set_service
175
+ entry.message = "Created client for #{entry.service}"
176
+ entry.set_credentials_fields credentials
177
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
178
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
179
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
180
+ end
181
+ end
182
+
183
+ ##
184
+ # The logger used for request/response debug logging.
185
+ #
186
+ # @return [Logger]
187
+ #
188
+ def logger
189
+ @service_controller_stub.logger
170
190
  end
171
191
 
172
192
  # Service calls
@@ -280,7 +300,6 @@ module Google
280
300
 
281
301
  @service_controller_stub.call_rpc :check, request, options: options do |response, operation|
282
302
  yield response, operation if block_given?
283
- return response
284
303
  end
285
304
  rescue ::GRPC::BadStatus => e
286
305
  raise ::Google::Cloud::Error.from_error(e)
@@ -403,7 +422,6 @@ module Google
403
422
 
404
423
  @service_controller_stub.call_rpc :report, request, options: options do |response, operation|
405
424
  yield response, operation if block_given?
406
- return response
407
425
  end
408
426
  rescue ::GRPC::BadStatus => e
409
427
  raise ::Google::Cloud::Error.from_error(e)
@@ -453,6 +471,13 @@ module Google
453
471
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
454
472
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
455
473
  # * (`nil`) indicating no credentials
474
+ #
475
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
476
+ # external source for authentication to Google Cloud, you must validate it before
477
+ # providing it to a Google API client library. Providing an unvalidated credential
478
+ # configuration to Google APIs can compromise the security of your systems and data.
479
+ # For more information, refer to [Validate credential configurations from external
480
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
456
481
  # @return [::Object]
457
482
  # @!attribute [rw] scope
458
483
  # The OAuth scopes
@@ -492,6 +517,11 @@ module Google
492
517
  # default endpoint URL. The default value of nil uses the environment
493
518
  # universe (usually the default "googleapis.com" universe).
494
519
  # @return [::String,nil]
520
+ # @!attribute [rw] logger
521
+ # A custom logger to use for request/response debug logging, or the value
522
+ # `:default` (the default) to construct a default logger, or `nil` to
523
+ # explicitly disable logging.
524
+ # @return [::Logger,:default,nil]
495
525
  #
496
526
  class Configuration
497
527
  extend ::Gapic::Config
@@ -516,6 +546,7 @@ module Google
516
546
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
517
547
  config_attr :quota_project, nil, ::String, nil
518
548
  config_attr :universe_domain, nil, ::String, nil
549
+ config_attr :logger, :default, ::Logger, nil, :default
519
550
 
520
551
  # @private
521
552
  def initialize parent_config = nil
@@ -158,8 +158,28 @@ module Google
158
158
  endpoint: @config.endpoint,
159
159
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
160
160
  universe_domain: @config.universe_domain,
161
- credentials: credentials
161
+ credentials: credentials,
162
+ logger: @config.logger
162
163
  )
164
+
165
+ @service_controller_stub.logger(stub: true)&.info do |entry|
166
+ entry.set_system_name
167
+ entry.set_service
168
+ entry.message = "Created client for #{entry.service}"
169
+ entry.set_credentials_fields credentials
170
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
171
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
172
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
173
+ end
174
+ end
175
+
176
+ ##
177
+ # The logger used for request/response debug logging.
178
+ #
179
+ # @return [Logger]
180
+ #
181
+ def logger
182
+ @service_controller_stub.logger
163
183
  end
164
184
 
165
185
  # Service calls
@@ -266,7 +286,6 @@ module Google
266
286
 
267
287
  @service_controller_stub.check request, options do |result, operation|
268
288
  yield result, operation if block_given?
269
- return result
270
289
  end
271
290
  rescue ::Gapic::Rest::Error => e
272
291
  raise ::Google::Cloud::Error.from_error(e)
@@ -382,7 +401,6 @@ module Google
382
401
 
383
402
  @service_controller_stub.report request, options do |result, operation|
384
403
  yield result, operation if block_given?
385
- return result
386
404
  end
387
405
  rescue ::Gapic::Rest::Error => e
388
406
  raise ::Google::Cloud::Error.from_error(e)
@@ -430,6 +448,13 @@ module Google
430
448
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
431
449
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
432
450
  # * (`nil`) indicating no credentials
451
+ #
452
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
453
+ # external source for authentication to Google Cloud, you must validate it before
454
+ # providing it to a Google API client library. Providing an unvalidated credential
455
+ # configuration to Google APIs can compromise the security of your systems and data.
456
+ # For more information, refer to [Validate credential configurations from external
457
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
433
458
  # @return [::Object]
434
459
  # @!attribute [rw] scope
435
460
  # The OAuth scopes
@@ -462,6 +487,11 @@ module Google
462
487
  # default endpoint URL. The default value of nil uses the environment
463
488
  # universe (usually the default "googleapis.com" universe).
464
489
  # @return [::String,nil]
490
+ # @!attribute [rw] logger
491
+ # A custom logger to use for request/response debug logging, or the value
492
+ # `:default` (the default) to construct a default logger, or `nil` to
493
+ # explicitly disable logging.
494
+ # @return [::Logger,:default,nil]
465
495
  #
466
496
  class Configuration
467
497
  extend ::Gapic::Config
@@ -483,6 +513,7 @@ module Google
483
513
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
484
514
  config_attr :quota_project, nil, ::String, nil
485
515
  config_attr :universe_domain, nil, ::String, nil
516
+ config_attr :logger, :default, ::Logger, nil, :default
486
517
 
487
518
  # @private
488
519
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the check REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "check",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::ServiceControl::V1::CheckResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "report",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::ServiceControl::V1::ReportResponse.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ServiceControl
23
23
  module V1
24
- VERSION = "1.0.1"
24
+ VERSION = "1.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
@@ -115,12 +115,18 @@ module Google
115
115
  # @!attribute [rw] linear_buckets
116
116
  # @return [::Google::Api::Distribution::BucketOptions::Linear]
117
117
  # The linear bucket.
118
+ #
119
+ # Note: The following fields are mutually exclusive: `linear_buckets`, `exponential_buckets`, `explicit_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
118
120
  # @!attribute [rw] exponential_buckets
119
121
  # @return [::Google::Api::Distribution::BucketOptions::Exponential]
120
122
  # The exponential buckets.
123
+ #
124
+ # Note: The following fields are mutually exclusive: `exponential_buckets`, `linear_buckets`, `explicit_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
121
125
  # @!attribute [rw] explicit_buckets
122
126
  # @return [::Google::Api::Distribution::BucketOptions::Explicit]
123
127
  # The explicit buckets.
128
+ #
129
+ # Note: The following fields are mutually exclusive: `explicit_buckets`, `linear_buckets`, `exponential_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
124
130
  class BucketOptions
125
131
  include ::Google::Protobuf::MessageExts
126
132
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -64,12 +64,18 @@ module Google
64
64
  # @!attribute [rw] linear_buckets
65
65
  # @return [::Google::Cloud::ServiceControl::V1::Distribution::LinearBuckets]
66
66
  # Buckets with constant width.
67
+ #
68
+ # Note: The following fields are mutually exclusive: `linear_buckets`, `exponential_buckets`, `explicit_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
67
69
  # @!attribute [rw] exponential_buckets
68
70
  # @return [::Google::Cloud::ServiceControl::V1::Distribution::ExponentialBuckets]
69
71
  # Buckets with exponentially growing width.
72
+ #
73
+ # Note: The following fields are mutually exclusive: `exponential_buckets`, `linear_buckets`, `explicit_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
70
74
  # @!attribute [rw] explicit_buckets
71
75
  # @return [::Google::Cloud::ServiceControl::V1::Distribution::ExplicitBuckets]
72
76
  # Buckets with arbitrary user-provided width.
77
+ #
78
+ # Note: The following fields are mutually exclusive: `explicit_buckets`, `linear_buckets`, `exponential_buckets`. If a field in that set is populated, all other fields in the set will automatically be cleared.
73
79
  # @!attribute [rw] exemplars
74
80
  # @return [::Array<::Google::Api::Distribution::Exemplar>]
75
81
  # Example points. Must be in increasing order of `value` field.
@@ -57,13 +57,19 @@ module Google
57
57
  # The log entry payload, represented as a protocol buffer that is
58
58
  # expressed as a JSON object. The only accepted type currently is
59
59
  # [AuditLog][google.cloud.audit.AuditLog].
60
+ #
61
+ # Note: The following fields are mutually exclusive: `proto_payload`, `text_payload`, `struct_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
60
62
  # @!attribute [rw] text_payload
61
63
  # @return [::String]
62
64
  # The log entry payload, represented as a Unicode string (UTF-8).
65
+ #
66
+ # Note: The following fields are mutually exclusive: `text_payload`, `proto_payload`, `struct_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
63
67
  # @!attribute [rw] struct_payload
64
68
  # @return [::Google::Protobuf::Struct]
65
69
  # The log entry payload, represented as a structure that
66
70
  # is expressed as a JSON object.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `struct_payload`, `proto_payload`, `text_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
67
73
  # @!attribute [rw] operation
68
74
  # @return [::Google::Cloud::ServiceControl::V1::LogEntryOperation]
69
75
  # Optional. Information about an operation associated with the log entry, if
@@ -43,18 +43,28 @@ module Google
43
43
  # @!attribute [rw] bool_value
44
44
  # @return [::Boolean]
45
45
  # A boolean value.
46
+ #
47
+ # Note: The following fields are mutually exclusive: `bool_value`, `int64_value`, `double_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
46
48
  # @!attribute [rw] int64_value
47
49
  # @return [::Integer]
48
50
  # A signed 64-bit integer value.
51
+ #
52
+ # Note: The following fields are mutually exclusive: `int64_value`, `bool_value`, `double_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
49
53
  # @!attribute [rw] double_value
50
54
  # @return [::Float]
51
55
  # A double precision floating point value.
56
+ #
57
+ # Note: The following fields are mutually exclusive: `double_value`, `bool_value`, `int64_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
52
58
  # @!attribute [rw] string_value
53
59
  # @return [::String]
54
60
  # A text string value.
61
+ #
62
+ # Note: The following fields are mutually exclusive: `string_value`, `bool_value`, `int64_value`, `double_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
55
63
  # @!attribute [rw] distribution_value
56
64
  # @return [::Google::Cloud::ServiceControl::V1::Distribution]
57
65
  # A distribution value.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `distribution_value`, `bool_value`, `int64_value`, `double_value`, `string_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
58
68
  class MetricValue
59
69
  include ::Google::Protobuf::MessageExts
60
70
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -53,21 +53,33 @@ module Google
53
53
  # @!attribute [rw] null_value
54
54
  # @return [::Google::Protobuf::NullValue]
55
55
  # Represents a null value.
56
+ #
57
+ # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
58
  # @!attribute [rw] number_value
57
59
  # @return [::Float]
58
60
  # Represents a double value.
61
+ #
62
+ # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
59
63
  # @!attribute [rw] string_value
60
64
  # @return [::String]
61
65
  # Represents a string value.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
62
68
  # @!attribute [rw] bool_value
63
69
  # @return [::Boolean]
64
70
  # Represents a boolean value.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
65
73
  # @!attribute [rw] struct_value
66
74
  # @return [::Google::Protobuf::Struct]
67
75
  # Represents a structured value.
76
+ #
77
+ # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
78
  # @!attribute [rw] list_value
69
79
  # @return [::Google::Protobuf::ListValue]
70
80
  # Represents a repeated `Value`.
81
+ #
82
+ # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
71
83
  class Value
72
84
  include ::Google::Protobuf::MessageExts
73
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-service_control-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-30 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.21.1
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.21.1
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -107,7 +106,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
107
106
  licenses:
108
107
  - Apache-2.0
109
108
  metadata: {}
110
- post_install_message:
111
109
  rdoc_options: []
112
110
  require_paths:
113
111
  - lib
@@ -115,15 +113,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
113
  requirements:
116
114
  - - ">="
117
115
  - !ruby/object:Gem::Version
118
- version: '2.7'
116
+ version: '3.0'
119
117
  required_rubygems_version: !ruby/object:Gem::Requirement
120
118
  requirements:
121
119
  - - ">="
122
120
  - !ruby/object:Gem::Version
123
121
  version: '0'
124
122
  requirements: []
125
- rubygems_version: 3.5.6
126
- signing_key:
123
+ rubygems_version: 3.6.2
127
124
  specification_version: 4
128
125
  summary: Provides admission control and telemetry reporting for services integrated
129
126
  with Service Infrastructure.