google-iam-credentials-v1 1.0.1 → 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: 6737d53da18aaa9eedffecc834ae5bbd958bedbf639fcd2c49021b3a1355b506
4
- data.tar.gz: 8430ac838d274c3d20246e5b7705d2867fcd829b66b3a230a84adf8347f12520
3
+ metadata.gz: f31b114a8a4dc6f976049e4c5d050f175431295733c77743c7040490586563dd
4
+ data.tar.gz: 23f15f2a888f958d686b75d3c38d226906a68ab21a5623c99d94995cd1f5a14a
5
5
  SHA512:
6
- metadata.gz: ff1a3d7b6072dd3cb3bc4c6802c1c755740343f62f58cde92cf1ceb3f421d987f16cc022d45840854cd9f332c3a205c04b08e1f1262755ec88d25df46eb0bb15
7
- data.tar.gz: 29e2f83dba7b8d71e69e7936fb07ca00850223aeb32be044293f40a686f4101b3bb4210a76179b8a2ab6aed29d9b2910e9679dee5cc96674bb2a40959f113b79
6
+ metadata.gz: 86ed2e7371f209f893478d9096054fba433f9ddb1f26b7936bd567db95f2f94cc77b2d85aba5581b9bcf8e836d19c7441f967acc18ac523e2987debdcda69387
7
+ data.tar.gz: a47362c65a38d86f489b6ef08c1b5acadf8c1aec10a586b6fadc3705ebd5fa344e9628b46936082cb3db5aaeb4f4ae0db35170a993de52191fc25df9109ab661
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/iam)
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/iam/credentials/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::Iam::Credentials::V1::IAMCredentials::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).
@@ -185,8 +185,28 @@ module Google
185
185
  universe_domain: @config.universe_domain,
186
186
  channel_args: @config.channel_args,
187
187
  interceptors: @config.interceptors,
188
- channel_pool_config: @config.channel_pool
188
+ channel_pool_config: @config.channel_pool,
189
+ logger: @config.logger
189
190
  )
191
+
192
+ @iam_credentials_stub.stub_logger&.info do |entry|
193
+ entry.set_system_name
194
+ entry.set_service
195
+ entry.message = "Created client for #{entry.service}"
196
+ entry.set_credentials_fields credentials
197
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
198
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
199
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
200
+ end
201
+ end
202
+
203
+ ##
204
+ # The logger used for request/response debug logging.
205
+ #
206
+ # @return [Logger]
207
+ #
208
+ def logger
209
+ @iam_credentials_stub.logger
190
210
  end
191
211
 
192
212
  # Service calls
@@ -295,7 +315,6 @@ module Google
295
315
 
296
316
  @iam_credentials_stub.call_rpc :generate_access_token, request, options: options do |response, operation|
297
317
  yield response, operation if block_given?
298
- return response
299
318
  end
300
319
  rescue ::GRPC::BadStatus => e
301
320
  raise ::Google::Cloud::Error.from_error(e)
@@ -401,7 +420,6 @@ module Google
401
420
 
402
421
  @iam_credentials_stub.call_rpc :generate_id_token, request, options: options do |response, operation|
403
422
  yield response, operation if block_given?
404
- return response
405
423
  end
406
424
  rescue ::GRPC::BadStatus => e
407
425
  raise ::Google::Cloud::Error.from_error(e)
@@ -503,7 +521,6 @@ module Google
503
521
 
504
522
  @iam_credentials_stub.call_rpc :sign_blob, request, options: options do |response, operation|
505
523
  yield response, operation if block_given?
506
- return response
507
524
  end
508
525
  rescue ::GRPC::BadStatus => e
509
526
  raise ::Google::Cloud::Error.from_error(e)
@@ -605,7 +622,6 @@ module Google
605
622
 
606
623
  @iam_credentials_stub.call_rpc :sign_jwt, request, options: options do |response, operation|
607
624
  yield response, operation if block_given?
608
- return response
609
625
  end
610
626
  rescue ::GRPC::BadStatus => e
611
627
  raise ::Google::Cloud::Error.from_error(e)
@@ -694,6 +710,11 @@ module Google
694
710
  # default endpoint URL. The default value of nil uses the environment
695
711
  # universe (usually the default "googleapis.com" universe).
696
712
  # @return [::String,nil]
713
+ # @!attribute [rw] logger
714
+ # A custom logger to use for request/response debug logging, or the value
715
+ # `:default` (the default) to construct a default logger, or `nil` to
716
+ # explicitly disable logging.
717
+ # @return [::Logger,:default,nil]
697
718
  #
698
719
  class Configuration
699
720
  extend ::Gapic::Config
@@ -718,6 +739,7 @@ module Google
718
739
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
719
740
  config_attr :quota_project, nil, ::String, nil
720
741
  config_attr :universe_domain, nil, ::String, nil
742
+ config_attr :logger, :default, ::Logger, nil, :default
721
743
 
722
744
  # @private
723
745
  def initialize parent_config = nil
@@ -178,8 +178,28 @@ module Google
178
178
  endpoint: @config.endpoint,
179
179
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
180
180
  universe_domain: @config.universe_domain,
181
- credentials: credentials
181
+ credentials: credentials,
182
+ logger: @config.logger
182
183
  )
184
+
185
+ @iam_credentials_stub.logger(stub: true)&.info do |entry|
186
+ entry.set_system_name
187
+ entry.set_service
188
+ entry.message = "Created client for #{entry.service}"
189
+ entry.set_credentials_fields credentials
190
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
191
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
192
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
193
+ end
194
+ end
195
+
196
+ ##
197
+ # The logger used for request/response debug logging.
198
+ #
199
+ # @return [Logger]
200
+ #
201
+ def logger
202
+ @iam_credentials_stub.logger
183
203
  end
184
204
 
185
205
  # Service calls
@@ -281,7 +301,6 @@ module Google
281
301
 
282
302
  @iam_credentials_stub.generate_access_token request, options do |result, operation|
283
303
  yield result, operation if block_given?
284
- return result
285
304
  end
286
305
  rescue ::Gapic::Rest::Error => e
287
306
  raise ::Google::Cloud::Error.from_error(e)
@@ -380,7 +399,6 @@ module Google
380
399
 
381
400
  @iam_credentials_stub.generate_id_token request, options do |result, operation|
382
401
  yield result, operation if block_given?
383
- return result
384
402
  end
385
403
  rescue ::Gapic::Rest::Error => e
386
404
  raise ::Google::Cloud::Error.from_error(e)
@@ -475,7 +493,6 @@ module Google
475
493
 
476
494
  @iam_credentials_stub.sign_blob request, options do |result, operation|
477
495
  yield result, operation if block_given?
478
- return result
479
496
  end
480
497
  rescue ::Gapic::Rest::Error => e
481
498
  raise ::Google::Cloud::Error.from_error(e)
@@ -570,7 +587,6 @@ module Google
570
587
 
571
588
  @iam_credentials_stub.sign_jwt request, options do |result, operation|
572
589
  yield result, operation if block_given?
573
- return result
574
590
  end
575
591
  rescue ::Gapic::Rest::Error => e
576
592
  raise ::Google::Cloud::Error.from_error(e)
@@ -650,6 +666,11 @@ module Google
650
666
  # default endpoint URL. The default value of nil uses the environment
651
667
  # universe (usually the default "googleapis.com" universe).
652
668
  # @return [::String,nil]
669
+ # @!attribute [rw] logger
670
+ # A custom logger to use for request/response debug logging, or the value
671
+ # `:default` (the default) to construct a default logger, or `nil` to
672
+ # explicitly disable logging.
673
+ # @return [::Logger,:default,nil]
653
674
  #
654
675
  class Configuration
655
676
  extend ::Gapic::Config
@@ -671,6 +692,7 @@ module Google
671
692
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
672
693
  config_attr :quota_project, nil, ::String, nil
673
694
  config_attr :universe_domain, nil, ::String, nil
695
+ config_attr :logger, :default, ::Logger, nil, :default
674
696
 
675
697
  # @private
676
698
  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 generate_access_token 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: "generate_access_token",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Iam::Credentials::V1::GenerateAccessTokenResponse.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: "generate_id_token",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Iam::Credentials::V1::GenerateIdTokenResponse.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
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "sign_blob",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Iam::Credentials::V1::SignBlobResponse.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "sign_jwt",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Iam::Credentials::V1::SignJwtResponse.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Iam
22
22
  module Credentials
23
23
  module V1
24
- VERSION = "1.0.1"
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
@@ -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
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-iam-credentials-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
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-08-30 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
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubygems_version: 3.5.6
103
+ rubygems_version: 3.5.23
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: Creates short-lived, limited-privilege credentials for IAM service accounts.