google-cloud-resource_settings-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: b4c4e071bfa2d5cc8c3409d3901ff3ddffb3929c933502862b2bde8e684ade4c
4
- data.tar.gz: 8d5d85aafbc505d94ea783bdd08e535209aeb0a96b46847f1d5079fa98a9bfed
3
+ metadata.gz: 01e408a0725a5c890bbfb3e3a43b47dbee4a188ef262681872df82bf3e6662c6
4
+ data.tar.gz: 51e82a93d6ef87f77be951b9d3d1fe7c72332f9563d5f277f50da29db5eb830e
5
5
  SHA512:
6
- metadata.gz: 75ca70aab5514f3bc034221b70f8845116378fb801b16473e8a7f08035b09bae67885e7a531d21244f1109db5e057f63147411fececaaa2ed8e64ba40607389e
7
- data.tar.gz: 8e2f8f120a217119432fff6ed09e5e68bdeb3ce36df2644b79e0237a553055c41f68c2b2d3b718d6e918db04f3eaec3c300d01dffdaf30007eb46ae78fedfd20
6
+ metadata.gz: 0c21ca070d6fe7ab1e8d770a58601f2fb678eb32439b3a0bb17942536122e645898d3702fc61df745227b56b45bb8a347003331db23f707cd38277bce4f46d07
7
+ data.tar.gz: 112524502e269080f72450ba71cb1d04f40a71090900186cda1c731c2ccf29593c88c3190c1bef4a3633374753a9d3d563f39ed5b52e8cb879b9c8c211501883
data/README.md CHANGED
@@ -43,40 +43,50 @@ 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).
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
@@ -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)
@@ -536,6 +554,13 @@ module Google
536
554
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
537
555
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
538
556
  # * (`nil`) indicating no credentials
557
+ #
558
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
559
+ # external source for authentication to Google Cloud, you must validate it before
560
+ # providing it to a Google API client library. Providing an unvalidated credential
561
+ # configuration to Google APIs can compromise the security of your systems and data.
562
+ # For more information, refer to [Validate credential configurations from external
563
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
539
564
  # @return [::Object]
540
565
  # @!attribute [rw] scope
541
566
  # The OAuth scopes
@@ -575,6 +600,11 @@ module Google
575
600
  # default endpoint URL. The default value of nil uses the environment
576
601
  # universe (usually the default "googleapis.com" universe).
577
602
  # @return [::String,nil]
603
+ # @!attribute [rw] logger
604
+ # A custom logger to use for request/response debug logging, or the value
605
+ # `:default` (the default) to construct a default logger, or `nil` to
606
+ # explicitly disable logging.
607
+ # @return [::Logger,:default,nil]
578
608
  #
579
609
  class Configuration
580
610
  extend ::Gapic::Config
@@ -599,6 +629,7 @@ module Google
599
629
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
600
630
  config_attr :quota_project, nil, ::String, nil
601
631
  config_attr :universe_domain, nil, ::String, nil
632
+ config_attr :logger, :default, ::Logger, nil, :default
602
633
 
603
634
  # @private
604
635
  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)
@@ -505,6 +523,13 @@ module Google
505
523
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
506
524
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
507
525
  # * (`nil`) indicating no credentials
526
+ #
527
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
528
+ # external source for authentication to Google Cloud, you must validate it before
529
+ # providing it to a Google API client library. Providing an unvalidated credential
530
+ # configuration to Google APIs can compromise the security of your systems and data.
531
+ # For more information, refer to [Validate credential configurations from external
532
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
508
533
  # @return [::Object]
509
534
  # @!attribute [rw] scope
510
535
  # The OAuth scopes
@@ -537,6 +562,11 @@ module Google
537
562
  # default endpoint URL. The default value of nil uses the environment
538
563
  # universe (usually the default "googleapis.com" universe).
539
564
  # @return [::String,nil]
565
+ # @!attribute [rw] logger
566
+ # A custom logger to use for request/response debug logging, or the value
567
+ # `:default` (the default) to construct a default logger, or `nil` to
568
+ # explicitly disable logging.
569
+ # @return [::Logger,:default,nil]
540
570
  #
541
571
  class Configuration
542
572
  extend ::Gapic::Config
@@ -558,6 +588,7 @@ module Google
558
588
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
559
589
  config_attr :quota_project, nil, ::String, nil
560
590
  config_attr :universe_domain, nil, ::String, nil
591
+ config_attr :logger, :default, ::Logger, nil, :default
561
592
 
562
593
  # @private
563
594
  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.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
@@ -121,15 +121,23 @@ module Google
121
121
  # @!attribute [rw] boolean_value
122
122
  # @return [::Boolean]
123
123
  # Defines this value as being a boolean value.
124
+ #
125
+ # Note: The following fields are mutually exclusive: `boolean_value`, `string_value`, `string_set_value`, `enum_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
124
126
  # @!attribute [rw] string_value
125
127
  # @return [::String]
126
128
  # Defines this value as being a string value.
129
+ #
130
+ # Note: The following fields are mutually exclusive: `string_value`, `boolean_value`, `string_set_value`, `enum_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
127
131
  # @!attribute [rw] string_set_value
128
132
  # @return [::Google::Cloud::ResourceSettings::V1::Value::StringSet]
129
133
  # Defines this value as being a StringSet.
134
+ #
135
+ # Note: The following fields are mutually exclusive: `string_set_value`, `boolean_value`, `string_value`, `enum_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
130
136
  # @!attribute [rw] enum_value
131
137
  # @return [::Google::Cloud::ResourceSettings::V1::Value::EnumValue]
132
138
  # Defines this value as being a Enum.
139
+ #
140
+ # Note: The following fields are mutually exclusive: `enum_value`, `boolean_value`, `string_value`, `string_set_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
133
141
  class Value
134
142
  include ::Google::Protobuf::MessageExts
135
143
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
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.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
@@ -83,7 +82,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
83
82
  licenses:
84
83
  - Apache-2.0
85
84
  metadata: {}
86
- post_install_message:
87
85
  rdoc_options: []
88
86
  require_paths:
89
87
  - lib
@@ -91,15 +89,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
91
89
  requirements:
92
90
  - - ">="
93
91
  - !ruby/object:Gem::Version
94
- version: '2.7'
92
+ version: '3.0'
95
93
  required_rubygems_version: !ruby/object:Gem::Requirement
96
94
  requirements:
97
95
  - - ">="
98
96
  - !ruby/object:Gem::Version
99
97
  version: '0'
100
98
  requirements: []
101
- rubygems_version: 3.5.6
102
- signing_key:
99
+ rubygems_version: 3.6.2
103
100
  specification_version: 4
104
101
  summary: The Resource Settings API allows users to control and modify the behavior
105
102
  of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource