google-cloud-resource_settings-v1 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df559c48eb8f366a1d48792692e8371c6a3b1fb68274671bd7ddcc1b685683ee
4
- data.tar.gz: 387fd993cc147ff06cafae9ed72176816bc625c5f7b86f5f3bfd72e3745250d6
3
+ metadata.gz: 30c4cbcef084e9352267ac3abac2328fc5716a2f669974cf9f50466cf905e445
4
+ data.tar.gz: d459115a2943faa55fdc93c8bb722492afa59158f55df75d880bea081bd8ab19
5
5
  SHA512:
6
- metadata.gz: 7bf96dd068776b1d1d5098ede4dbc85e4e562e9c13e95df436f0b17a971154d12215047eaf7d84437127d352d1be6441342d94d4f935fb0a370ce01fccb97e8a
7
- data.tar.gz: 0b008de9eb076637fec589a9516df13fb1dfa4cdea16f2ed7fef5ed0da73a696f859bf5cda9fc8dce4b83a345ec22f5e6f8be3438aefc393e276c218f8b4a645
6
+ metadata.gz: 4476c70ed37253da22e0e3be6d73da6ba3519c477bfef5b9bf11afbd0433060a05f03d064eabac16c0c92dc2a853efdeadaefba47ea66f0de5d11b354e6a64d6
7
+ data.tar.gz: e3eae41777ece78525b6555fc3795cf19b7271da06c8a98e6a373af85d14900cb309f285b4c5fe3c49b932f552fa4be4336826fea4fc81cbc88f34de522fdf89
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/resource-manager/docs/resource-settings/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/resource_settings/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::ResourceSettings::V1::ResourceSettingsService::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).
@@ -188,8 +188,28 @@ module Google
188
188
  universe_domain: @config.universe_domain,
189
189
  channel_args: @config.channel_args,
190
190
  interceptors: @config.interceptors,
191
- channel_pool_config: @config.channel_pool
191
+ channel_pool_config: @config.channel_pool,
192
+ logger: @config.logger
192
193
  )
194
+
195
+ @resource_settings_service_stub.stub_logger&.info do |entry|
196
+ entry.set_system_name
197
+ entry.set_service
198
+ entry.message = "Created client for #{entry.service}"
199
+ entry.set_credentials_fields credentials
200
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
201
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
202
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
203
+ end
204
+ end
205
+
206
+ ##
207
+ # The logger used for request/response debug logging.
208
+ #
209
+ # @return [Logger]
210
+ #
211
+ def logger
212
+ @resource_settings_service_stub.logger
193
213
  end
194
214
 
195
215
  # Service calls
@@ -291,7 +311,7 @@ module Google
291
311
  @resource_settings_service_stub.call_rpc :list_settings, request, options: options do |response, operation|
292
312
  response = ::Gapic::PagedEnumerable.new @resource_settings_service_stub, :list_settings, request, response, operation, options
293
313
  yield response, operation if block_given?
294
- return response
314
+ throw :response, response
295
315
  end
296
316
  rescue ::GRPC::BadStatus => e
297
317
  raise ::Google::Cloud::Error.from_error(e)
@@ -384,7 +404,6 @@ module Google
384
404
 
385
405
  @resource_settings_service_stub.call_rpc :get_setting, request, options: options do |response, operation|
386
406
  yield response, operation if block_given?
387
- return response
388
407
  end
389
408
  rescue ::GRPC::BadStatus => e
390
409
  raise ::Google::Cloud::Error.from_error(e)
@@ -486,7 +505,6 @@ module Google
486
505
 
487
506
  @resource_settings_service_stub.call_rpc :update_setting, request, options: options do |response, operation|
488
507
  yield response, operation if block_given?
489
- return response
490
508
  end
491
509
  rescue ::GRPC::BadStatus => e
492
510
  raise ::Google::Cloud::Error.from_error(e)
@@ -575,6 +593,11 @@ module Google
575
593
  # default endpoint URL. The default value of nil uses the environment
576
594
  # universe (usually the default "googleapis.com" universe).
577
595
  # @return [::String,nil]
596
+ # @!attribute [rw] logger
597
+ # A custom logger to use for request/response debug logging, or the value
598
+ # `:default` (the default) to construct a default logger, or `nil` to
599
+ # explicitly disable logging.
600
+ # @return [::Logger,:default,nil]
578
601
  #
579
602
  class Configuration
580
603
  extend ::Gapic::Config
@@ -599,6 +622,7 @@ module Google
599
622
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
600
623
  config_attr :quota_project, nil, ::String, nil
601
624
  config_attr :universe_domain, nil, ::String, nil
625
+ config_attr :logger, :default, ::Logger, nil, :default
602
626
 
603
627
  # @private
604
628
  def initialize parent_config = nil
@@ -180,8 +180,28 @@ module Google
180
180
  endpoint: @config.endpoint,
181
181
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
182
182
  universe_domain: @config.universe_domain,
183
- credentials: credentials
183
+ credentials: credentials,
184
+ logger: @config.logger
184
185
  )
186
+
187
+ @resource_settings_service_stub.logger(stub: true)&.info do |entry|
188
+ entry.set_system_name
189
+ entry.set_service
190
+ entry.message = "Created client for #{entry.service}"
191
+ entry.set_credentials_fields credentials
192
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
193
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
194
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
195
+ end
196
+ end
197
+
198
+ ##
199
+ # The logger used for request/response debug logging.
200
+ #
201
+ # @return [Logger]
202
+ #
203
+ def logger
204
+ @resource_settings_service_stub.logger
185
205
  end
186
206
 
187
207
  # Service calls
@@ -276,7 +296,7 @@ module Google
276
296
  @resource_settings_service_stub.list_settings request, options do |result, operation|
277
297
  result = ::Gapic::Rest::PagedEnumerable.new @resource_settings_service_stub, :list_settings, "settings", request, result, options
278
298
  yield result, operation if block_given?
279
- return result
299
+ throw :response, result
280
300
  end
281
301
  rescue ::Gapic::Rest::Error => e
282
302
  raise ::Google::Cloud::Error.from_error(e)
@@ -362,7 +382,6 @@ module Google
362
382
 
363
383
  @resource_settings_service_stub.get_setting request, options do |result, operation|
364
384
  yield result, operation if block_given?
365
- return result
366
385
  end
367
386
  rescue ::Gapic::Rest::Error => e
368
387
  raise ::Google::Cloud::Error.from_error(e)
@@ -457,7 +476,6 @@ module Google
457
476
 
458
477
  @resource_settings_service_stub.update_setting request, options do |result, operation|
459
478
  yield result, operation if block_given?
460
- return result
461
479
  end
462
480
  rescue ::Gapic::Rest::Error => e
463
481
  raise ::Google::Cloud::Error.from_error(e)
@@ -537,6 +555,11 @@ module Google
537
555
  # default endpoint URL. The default value of nil uses the environment
538
556
  # universe (usually the default "googleapis.com" universe).
539
557
  # @return [::String,nil]
558
+ # @!attribute [rw] logger
559
+ # A custom logger to use for request/response debug logging, or the value
560
+ # `:default` (the default) to construct a default logger, or `nil` to
561
+ # explicitly disable logging.
562
+ # @return [::Logger,:default,nil]
540
563
  #
541
564
  class Configuration
542
565
  extend ::Gapic::Config
@@ -558,6 +581,7 @@ module Google
558
581
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
559
582
  config_attr :quota_project, nil, ::String, nil
560
583
  config_attr :universe_domain, nil, ::String, nil
584
+ config_attr :logger, :default, ::Logger, nil, :default
561
585
 
562
586
  # @private
563
587
  def initialize parent_config = nil
@@ -31,7 +31,8 @@ module Google
31
31
  #
32
32
  # @deprecated This service is deprecated and may be removed in the next major version update.
33
33
  class ServiceStub
34
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # @private
35
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
36
  # These require statements are intentionally placed here to initialize
36
37
  # the REST modules only when it's required.
37
38
  require "gapic/rest"
@@ -41,7 +42,9 @@ module Google
41
42
  universe_domain: universe_domain,
42
43
  credentials: credentials,
43
44
  numeric_enums: true,
44
- raise_faraday_errors: false
45
+ service_name: self.class,
46
+ raise_faraday_errors: false,
47
+ logger: logger
45
48
  end
46
49
 
47
50
  ##
@@ -62,6 +65,15 @@ module Google
62
65
  @client_stub.endpoint
63
66
  end
64
67
 
68
+ ##
69
+ # The logger used for request/response debug logging.
70
+ #
71
+ # @return [Logger]
72
+ #
73
+ def logger stub: false
74
+ stub ? @client_stub.stub_logger : @client_stub.logger
75
+ end
76
+
65
77
  ##
66
78
  # Baseline implementation for the list_settings REST call
67
79
  #
@@ -88,16 +100,18 @@ module Google
88
100
 
89
101
  response = @client_stub.make_http_request(
90
102
  verb,
91
- uri: uri,
92
- body: body || "",
93
- params: query_string_params,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ method_name: "list_settings",
94
107
  options: options
95
108
  )
96
109
  operation = ::Gapic::Rest::TransportOperation.new response
97
110
  result = ::Google::Cloud::ResourceSettings::V1::ListSettingsResponse.decode_json response.body, ignore_unknown_fields: true
98
-
99
- yield result, operation if block_given?
100
- result
111
+ catch :response do
112
+ yield result, operation if block_given?
113
+ result
114
+ end
101
115
  end
102
116
 
103
117
  ##
@@ -126,16 +140,18 @@ module Google
126
140
 
127
141
  response = @client_stub.make_http_request(
128
142
  verb,
129
- uri: uri,
130
- body: body || "",
131
- params: query_string_params,
143
+ uri: uri,
144
+ body: body || "",
145
+ params: query_string_params,
146
+ method_name: "get_setting",
132
147
  options: options
133
148
  )
134
149
  operation = ::Gapic::Rest::TransportOperation.new response
135
150
  result = ::Google::Cloud::ResourceSettings::V1::Setting.decode_json response.body, ignore_unknown_fields: true
136
-
137
- yield result, operation if block_given?
138
- result
151
+ catch :response do
152
+ yield result, operation if block_given?
153
+ result
154
+ end
139
155
  end
140
156
 
141
157
  ##
@@ -164,16 +180,18 @@ module Google
164
180
 
165
181
  response = @client_stub.make_http_request(
166
182
  verb,
167
- uri: uri,
168
- body: body || "",
169
- params: query_string_params,
183
+ uri: uri,
184
+ body: body || "",
185
+ params: query_string_params,
186
+ method_name: "update_setting",
170
187
  options: options
171
188
  )
172
189
  operation = ::Gapic::Rest::TransportOperation.new response
173
190
  result = ::Google::Cloud::ResourceSettings::V1::Setting.decode_json response.body, ignore_unknown_fields: true
174
-
175
- yield result, operation if block_given?
176
- result
191
+ catch :response do
192
+ yield result, operation if block_given?
193
+ result
194
+ end
177
195
  end
178
196
 
179
197
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ResourceSettings
23
23
  module V1
24
- VERSION = "1.0.0"
24
+ VERSION = "1.1.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
@@ -196,9 +199,32 @@ module Google
196
199
  # @!attribute [rw] common
197
200
  # @return [::Google::Api::CommonLanguageSettings]
198
201
  # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
199
205
  class PythonSettings
200
206
  include ::Google::Protobuf::MessageExts
201
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
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.
224
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
202
228
  end
203
229
 
204
230
  # Settings for Node client libraries.
@@ -280,9 +306,28 @@ module Google
280
306
  # @!attribute [rw] common
281
307
  # @return [::Google::Api::CommonLanguageSettings]
282
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
283
319
  class GoSettings
284
320
  include ::Google::Protobuf::MessageExts
285
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
286
331
  end
287
332
 
288
333
  # Describes the generator configuration for a method.
@@ -290,6 +335,13 @@ module Google
290
335
  # @return [::String]
291
336
  # The fully qualified name of the method, for which the options below apply.
292
337
  # This is used to find the method to apply the options.
338
+ #
339
+ # Example:
340
+ #
341
+ # publishing:
342
+ # method_settings:
343
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
344
+ # # method settings for CreateFolder...
293
345
  # @!attribute [rw] long_running
294
346
  # @return [::Google::Api::MethodSettings::LongRunning]
295
347
  # Describes settings to use for long-running operations when generating
@@ -298,17 +350,14 @@ module Google
298
350
  #
299
351
  # Example of a YAML configuration::
300
352
  #
301
- # publishing:
302
- # method_settings:
353
+ # publishing:
354
+ # method_settings:
303
355
  # - selector: google.cloud.speech.v2.Speech.BatchRecognize
304
356
  # long_running:
305
- # initial_poll_delay:
306
- # seconds: 60 # 1 minute
357
+ # initial_poll_delay: 60s # 1 minute
307
358
  # poll_delay_multiplier: 1.5
308
- # max_poll_delay:
309
- # seconds: 360 # 6 minutes
310
- # total_poll_timeout:
311
- # seconds: 54000 # 90 minutes
359
+ # max_poll_delay: 360s # 6 minutes
360
+ # total_poll_timeout: 54000s # 90 minutes
312
361
  # @!attribute [rw] auto_populated_fields
313
362
  # @return [::Array<::String>]
314
363
  # List of top-level fields of the request message, that should be
@@ -317,8 +366,8 @@ module Google
317
366
  #
318
367
  # Example of a YAML configuration:
319
368
  #
320
- # publishing:
321
- # method_settings:
369
+ # publishing:
370
+ # method_settings:
322
371
  # - selector: google.example.v1.ExampleService.CreateExample
323
372
  # auto_populated_fields:
324
373
  # - request_id
@@ -354,6 +403,17 @@ module Google
354
403
  end
355
404
  end
356
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
+
357
417
  # The organization for which the client libraries are being published.
358
418
  # Affects the url where generated docs are published, etc.
359
419
  module ClientLibraryOrganization
@@ -124,8 +124,13 @@ module Google
124
124
  # @return [::String]
125
125
  # The plural name used in the resource name and permission names, such as
126
126
  # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
- # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
128
- # concept of the `plural` field in k8s CRD spec
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
129
134
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
130
135
  #
131
136
  # Note: The plural form is required even for singleton resources. See
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-resource_settings-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-10 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.1
19
+ version: 0.24.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
100
  requirements: []
101
- rubygems_version: 3.5.6
101
+ rubygems_version: 3.5.23
102
102
  signing_key:
103
103
  specification_version: 4
104
104
  summary: The Resource Settings API allows users to control and modify the behavior