google-cloud-policy_troubleshooter-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 +4 -4
- data/README.md +30 -20
- data/lib/google/cloud/policy_troubleshooter/v1/iam_checker/client.rb +27 -2
- data/lib/google/cloud/policy_troubleshooter/v1/iam_checker/rest/client.rb +27 -2
- data/lib/google/cloud/policy_troubleshooter/v1/iam_checker/rest/service_stub.rb +22 -8
- data/lib/google/cloud/policy_troubleshooter/v1/version.rb +1 -1
- data/proto_docs/google/api/client.rb +70 -10
- data/proto_docs/google/api/resource.rb +7 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24036b76acebcf82fce4a6cda907bb74af93ab751f6b844eaa01e40cc9e639e4
|
4
|
+
data.tar.gz: a7a4966f77799ab4b8145b45c69e9ac6c06dd9a65f3ff06a8a0b5f98ec68db81
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c32f258572b9e07f6cac9da73eb9a5eecd9239ec4ab03f32e4b0bf0c291315f86a2564fa3f7f139dbfefc2e982e80443200d56befa24cabca78e86b1184c2739
|
7
|
+
data.tar.gz: bc94b535e7c885daab3bda3a77f140f8e7071c97a19e2611172f7df4d973e9bfa74951835d61783aa719626644be8c5f66fd378f650d02f57dc859e57d92ac1a
|
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/docs/troubleshooting-access)
|
44
44
|
for general usage information.
|
45
45
|
|
46
|
-
##
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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/policy_troubleshooter/v1"
|
57
76
|
require "logger"
|
58
77
|
|
59
|
-
|
60
|
-
|
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::PolicyTroubleshooter::V1::IamChecker::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).
|
@@ -164,8 +164,28 @@ module Google
|
|
164
164
|
universe_domain: @config.universe_domain,
|
165
165
|
channel_args: @config.channel_args,
|
166
166
|
interceptors: @config.interceptors,
|
167
|
-
channel_pool_config: @config.channel_pool
|
167
|
+
channel_pool_config: @config.channel_pool,
|
168
|
+
logger: @config.logger
|
168
169
|
)
|
170
|
+
|
171
|
+
@iam_checker_stub.stub_logger&.info do |entry|
|
172
|
+
entry.set_system_name
|
173
|
+
entry.set_service
|
174
|
+
entry.message = "Created client for #{entry.service}"
|
175
|
+
entry.set_credentials_fields credentials
|
176
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
177
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
178
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
##
|
183
|
+
# The logger used for request/response debug logging.
|
184
|
+
#
|
185
|
+
# @return [Logger]
|
186
|
+
#
|
187
|
+
def logger
|
188
|
+
@iam_checker_stub.logger
|
169
189
|
end
|
170
190
|
|
171
191
|
# Service calls
|
@@ -245,7 +265,6 @@ module Google
|
|
245
265
|
|
246
266
|
@iam_checker_stub.call_rpc :troubleshoot_iam_policy, request, options: options do |response, operation|
|
247
267
|
yield response, operation if block_given?
|
248
|
-
return response
|
249
268
|
end
|
250
269
|
rescue ::GRPC::BadStatus => e
|
251
270
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -334,6 +353,11 @@ module Google
|
|
334
353
|
# default endpoint URL. The default value of nil uses the environment
|
335
354
|
# universe (usually the default "googleapis.com" universe).
|
336
355
|
# @return [::String,nil]
|
356
|
+
# @!attribute [rw] logger
|
357
|
+
# A custom logger to use for request/response debug logging, or the value
|
358
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
359
|
+
# explicitly disable logging.
|
360
|
+
# @return [::Logger,:default,nil]
|
337
361
|
#
|
338
362
|
class Configuration
|
339
363
|
extend ::Gapic::Config
|
@@ -358,6 +382,7 @@ module Google
|
|
358
382
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
359
383
|
config_attr :quota_project, nil, ::String, nil
|
360
384
|
config_attr :universe_domain, nil, ::String, nil
|
385
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
361
386
|
|
362
387
|
# @private
|
363
388
|
def initialize parent_config = nil
|
@@ -157,8 +157,28 @@ module Google
|
|
157
157
|
endpoint: @config.endpoint,
|
158
158
|
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
159
159
|
universe_domain: @config.universe_domain,
|
160
|
-
credentials: credentials
|
160
|
+
credentials: credentials,
|
161
|
+
logger: @config.logger
|
161
162
|
)
|
163
|
+
|
164
|
+
@iam_checker_stub.logger(stub: true)&.info do |entry|
|
165
|
+
entry.set_system_name
|
166
|
+
entry.set_service
|
167
|
+
entry.message = "Created client for #{entry.service}"
|
168
|
+
entry.set_credentials_fields credentials
|
169
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
170
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
171
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# The logger used for request/response debug logging.
|
177
|
+
#
|
178
|
+
# @return [Logger]
|
179
|
+
#
|
180
|
+
def logger
|
181
|
+
@iam_checker_stub.logger
|
162
182
|
end
|
163
183
|
|
164
184
|
# Service calls
|
@@ -239,7 +259,6 @@ module Google
|
|
239
259
|
|
240
260
|
@iam_checker_stub.troubleshoot_iam_policy request, options do |result, operation|
|
241
261
|
yield result, operation if block_given?
|
242
|
-
return result
|
243
262
|
end
|
244
263
|
rescue ::Gapic::Rest::Error => e
|
245
264
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -319,6 +338,11 @@ module Google
|
|
319
338
|
# default endpoint URL. The default value of nil uses the environment
|
320
339
|
# universe (usually the default "googleapis.com" universe).
|
321
340
|
# @return [::String,nil]
|
341
|
+
# @!attribute [rw] logger
|
342
|
+
# A custom logger to use for request/response debug logging, or the value
|
343
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
344
|
+
# explicitly disable logging.
|
345
|
+
# @return [::Logger,:default,nil]
|
322
346
|
#
|
323
347
|
class Configuration
|
324
348
|
extend ::Gapic::Config
|
@@ -340,6 +364,7 @@ module Google
|
|
340
364
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
341
365
|
config_attr :quota_project, nil, ::String, nil
|
342
366
|
config_attr :universe_domain, nil, ::String, nil
|
367
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
343
368
|
|
344
369
|
# @private
|
345
370
|
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
|
-
|
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
|
-
|
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 troubleshoot_iam_policy 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:
|
91
|
-
body:
|
92
|
-
params:
|
102
|
+
uri: uri,
|
103
|
+
body: body || "",
|
104
|
+
params: query_string_params,
|
105
|
+
method_name: "troubleshoot_iam_policy",
|
93
106
|
options: options
|
94
107
|
)
|
95
108
|
operation = ::Gapic::Rest::TransportOperation.new response
|
96
109
|
result = ::Google::Cloud::PolicyTroubleshooter::V1::TroubleshootIamPolicyResponse.decode_json response.body, ignore_unknown_fields: true
|
97
|
-
|
98
|
-
|
99
|
-
|
110
|
+
catch :response do
|
111
|
+
yield result, operation if block_given?
|
112
|
+
result
|
113
|
+
end
|
100
114
|
end
|
101
115
|
|
102
116
|
##
|
@@ -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
|
-
#
|
302
|
-
#
|
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
|
-
#
|
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
|
-
#
|
321
|
-
#
|
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'.
|
128
|
-
#
|
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-policy_troubleshooter-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 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-
|
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.
|
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.
|
29
|
+
version: 0.24.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.a
|
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
|
-
rubygems_version: 3.5.
|
122
|
+
rubygems_version: 3.5.23
|
123
123
|
signing_key:
|
124
124
|
specification_version: 4
|
125
125
|
summary: API Client library for the IAM Policy Troubleshooter V1 API
|