google-iam-credentials-v1 1.0.1 → 1.1.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: 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.