google-cloud-policy_troubleshooter-v1 0.3.0 → 0.3.4
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/AUTHENTICATION.md +8 -8
- data/README.md +1 -1
- data/lib/google/cloud/policy_troubleshooter/v1/iam_checker/client.rb +49 -42
- data/lib/google/cloud/policy_troubleshooter/v1/version.rb +1 -1
- data/lib/google/cloud/policytroubleshooter/v1/checker_pb.rb +2 -2
- data/lib/google/cloud/policytroubleshooter/v1/checker_services_pb.rb +1 -1
- data/lib/google/cloud/policytroubleshooter/v1/explanations_pb.rb +2 -2
- data/proto_docs/google/api/field_behavior.rb +7 -1
- data/proto_docs/google/type/expr.rb +35 -12
- metadata +15 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 635964024337f90223fb9098ff747d9091765a5a8449b927d5717bc6a4b60c00
|
4
|
+
data.tar.gz: 5bbce2b7e7c250bb4a089e3dd42ae79fe4ad0c071a76607a4db0616d1d50afe1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1fa663c954462fdc934be908a5826f015c78b509c8760d1e804454d24b7a5cda6399aa3b3ba2c811a69a2366f11bdbb45ebffcb3edefe3135cbdeda585fb7e7
|
7
|
+
data.tar.gz: feab98043dc05e27d203bec4a91c9ef1d7d934313294fc76364dce8d1fbb87702efe3008eee6dfbc3fc79bec3fc4e387edd9b4550e88a9b43c081349fc26c44d
|
data/AUTHENTICATION.md
CHANGED
@@ -66,11 +66,11 @@ The environment variables that google-cloud-policy_troubleshooter-v1
|
|
66
66
|
checks for credentials are configured on the service Credentials class (such as
|
67
67
|
{::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Credentials}):
|
68
68
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
69
|
+
* `POLICY_TROUBLESHOOTER_CREDENTIALS` - Path to JSON file, or JSON contents
|
70
|
+
* `POLICY_TROUBLESHOOTER_KEYFILE` - Path to JSON file, or JSON contents
|
71
|
+
* `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
|
72
|
+
* `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
|
73
|
+
* `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
|
74
74
|
|
75
75
|
```ruby
|
76
76
|
require "google/cloud/policy_troubleshooter/v1"
|
@@ -82,8 +82,8 @@ client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new
|
|
82
82
|
|
83
83
|
### Configuration
|
84
84
|
|
85
|
-
The **Credentials JSON** can be configured instead of
|
86
|
-
environment
|
85
|
+
The path to the **Credentials JSON** file can be configured instead of storing
|
86
|
+
it in an environment variable. Either on an individual client initialization:
|
87
87
|
|
88
88
|
```ruby
|
89
89
|
require "google/cloud/policy_troubleshooter/v1"
|
@@ -93,7 +93,7 @@ client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new do |c
|
|
93
93
|
end
|
94
94
|
```
|
95
95
|
|
96
|
-
Or
|
96
|
+
Or globally for all clients:
|
97
97
|
|
98
98
|
```ruby
|
99
99
|
require "google/cloud/policy_troubleshooter/v1"
|
data/README.md
CHANGED
@@ -33,7 +33,7 @@ In order to use this library, you first need to go through the following steps:
|
|
33
33
|
require "google/cloud/policy_troubleshooter/v1"
|
34
34
|
|
35
35
|
client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new
|
36
|
-
request =
|
36
|
+
request = ::Google::Cloud::PolicyTroubleshooter::V1::TroubleshootIamPolicyRequest.new # (request fields as keyword arguments...)
|
37
37
|
response = client.troubleshoot_iam_policy request
|
38
38
|
```
|
39
39
|
|
@@ -41,13 +41,12 @@ module Google
|
|
41
41
|
# See {::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client::Configuration}
|
42
42
|
# for a description of the configuration fields.
|
43
43
|
#
|
44
|
-
#
|
44
|
+
# @example
|
45
45
|
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
# end
|
46
|
+
# # Modify the configuration for all IamChecker clients
|
47
|
+
# ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.configure do |config|
|
48
|
+
# config.timeout = 10.0
|
49
|
+
# end
|
51
50
|
#
|
52
51
|
# @yield [config] Configure the Client client.
|
53
52
|
# @yieldparam config [Client::Configuration]
|
@@ -67,10 +66,7 @@ module Google
|
|
67
66
|
|
68
67
|
default_config.timeout = 60.0
|
69
68
|
default_config.retry_policy = {
|
70
|
-
initial_delay: 1.0,
|
71
|
-
max_delay: 60.0,
|
72
|
-
multiplier: 1.3,
|
73
|
-
retry_codes: [14, 2]
|
69
|
+
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 2]
|
74
70
|
}
|
75
71
|
|
76
72
|
default_config.rpcs.troubleshoot_iam_policy.timeout = 60.0
|
@@ -104,19 +100,15 @@ module Google
|
|
104
100
|
##
|
105
101
|
# Create a new IamChecker client object.
|
106
102
|
#
|
107
|
-
#
|
108
|
-
#
|
109
|
-
# To create a new IamChecker client with the default
|
110
|
-
# configuration:
|
103
|
+
# @example
|
111
104
|
#
|
112
|
-
#
|
105
|
+
# # Create a client using the default configuration
|
106
|
+
# client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new
|
113
107
|
#
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
117
|
-
#
|
118
|
-
# config.timeout = 10.0
|
119
|
-
# end
|
108
|
+
# # Create a client using a custom configuration
|
109
|
+
# client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new do |config|
|
110
|
+
# config.timeout = 10.0
|
111
|
+
# end
|
120
112
|
#
|
121
113
|
# @yield [config] Configure the IamChecker client.
|
122
114
|
# @yieldparam config [Client::Configuration]
|
@@ -136,14 +128,13 @@ module Google
|
|
136
128
|
|
137
129
|
# Create credentials
|
138
130
|
credentials = @config.credentials
|
139
|
-
# Use self-signed JWT if the
|
131
|
+
# Use self-signed JWT if the endpoint is unchanged from default,
|
140
132
|
# but only if the default endpoint does not have a region prefix.
|
141
|
-
enable_self_signed_jwt = @config.
|
142
|
-
@config.endpoint == Client.configure.endpoint &&
|
133
|
+
enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
|
143
134
|
!@config.endpoint.split(".").first.include?("-")
|
144
135
|
credentials ||= Credentials.default scope: @config.scope,
|
145
136
|
enable_self_signed_jwt: enable_self_signed_jwt
|
146
|
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
137
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
147
138
|
credentials = Credentials.new credentials, scope: @config.scope
|
148
139
|
end
|
149
140
|
@quota_project_id = @config.quota_project
|
@@ -191,6 +182,21 @@ module Google
|
|
191
182
|
#
|
192
183
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
193
184
|
#
|
185
|
+
# @example Basic example
|
186
|
+
# require "google/cloud/policy_troubleshooter/v1"
|
187
|
+
#
|
188
|
+
# # Create a client object. The client can be reused for multiple calls.
|
189
|
+
# client = Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new
|
190
|
+
#
|
191
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
192
|
+
# request = Google::Cloud::PolicyTroubleshooter::V1::TroubleshootIamPolicyRequest.new
|
193
|
+
#
|
194
|
+
# # Call the troubleshoot_iam_policy method.
|
195
|
+
# result = client.troubleshoot_iam_policy request
|
196
|
+
#
|
197
|
+
# # The returned object is of type Google::Cloud::PolicyTroubleshooter::V1::TroubleshootIamPolicyResponse.
|
198
|
+
# p result
|
199
|
+
#
|
194
200
|
def troubleshoot_iam_policy request, options = nil
|
195
201
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
196
202
|
|
@@ -211,7 +217,9 @@ module Google
|
|
211
217
|
options.apply_defaults timeout: @config.rpcs.troubleshoot_iam_policy.timeout,
|
212
218
|
metadata: metadata,
|
213
219
|
retry_policy: @config.rpcs.troubleshoot_iam_policy.retry_policy
|
214
|
-
|
220
|
+
|
221
|
+
options.apply_defaults timeout: @config.timeout,
|
222
|
+
metadata: @config.metadata,
|
215
223
|
retry_policy: @config.retry_policy
|
216
224
|
|
217
225
|
@iam_checker_stub.call_rpc :troubleshoot_iam_policy, request, options: options do |response, operation|
|
@@ -235,22 +243,21 @@ module Google
|
|
235
243
|
# Configuration can be applied globally to all clients, or to a single client
|
236
244
|
# on construction.
|
237
245
|
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
# to 20 seconds,
|
242
|
-
#
|
243
|
-
#
|
244
|
-
#
|
245
|
-
#
|
246
|
-
#
|
247
|
-
#
|
248
|
-
#
|
249
|
-
#
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
253
|
-
# end
|
246
|
+
# @example
|
247
|
+
#
|
248
|
+
# # Modify the global config, setting the timeout for
|
249
|
+
# # troubleshoot_iam_policy to 20 seconds,
|
250
|
+
# # and all remaining timeouts to 10 seconds.
|
251
|
+
# ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.configure do |config|
|
252
|
+
# config.timeout = 10.0
|
253
|
+
# config.rpcs.troubleshoot_iam_policy.timeout = 20.0
|
254
|
+
# end
|
255
|
+
#
|
256
|
+
# # Apply the above configuration only to a new client.
|
257
|
+
# client = ::Google::Cloud::PolicyTroubleshooter::V1::IamChecker::Client.new do |config|
|
258
|
+
# config.timeout = 10.0
|
259
|
+
# config.rpcs.troubleshoot_iam_policy.timeout = 20.0
|
260
|
+
# end
|
254
261
|
#
|
255
262
|
# @!attribute [rw] endpoint
|
256
263
|
# The hostname or hostname:port of the service endpoint.
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# source: google/cloud/policytroubleshooter/v1/checker.proto
|
3
3
|
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
4
|
require 'google/cloud/policytroubleshooter/v1/explanations_pb'
|
7
5
|
require 'google/api/annotations_pb'
|
8
6
|
require 'google/api/client_pb'
|
7
|
+
require 'google/protobuf'
|
8
|
+
|
9
9
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
10
|
add_file("google/cloud/policytroubleshooter/v1/checker.proto", :syntax => :proto3) do
|
11
11
|
add_message "google.cloud.policytroubleshooter.v1.TroubleshootIamPolicyRequest" do
|
@@ -30,7 +30,7 @@ module Google
|
|
30
30
|
# This service helps you troubleshoot access issues for Google Cloud resources.
|
31
31
|
class Service
|
32
32
|
|
33
|
-
include GRPC::GenericService
|
33
|
+
include ::GRPC::GenericService
|
34
34
|
|
35
35
|
self.marshal_class_method = :encode
|
36
36
|
self.unmarshal_class_method = :decode
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# source: google/cloud/policytroubleshooter/v1/explanations.proto
|
3
3
|
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
4
|
require 'google/api/field_behavior_pb'
|
7
5
|
require 'google/iam/v1/policy_pb'
|
8
6
|
require 'google/type/expr_pb'
|
7
|
+
require 'google/protobuf'
|
8
|
+
|
9
9
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
10
|
add_file("google/cloud/policytroubleshooter/v1/explanations.proto", :syntax => :proto3) do
|
11
11
|
add_message "google.cloud.policytroubleshooter.v1.AccessTuple" do
|
@@ -57,9 +57,15 @@ module Google
|
|
57
57
|
|
58
58
|
# Denotes that a (repeated) field is an unordered list.
|
59
59
|
# This indicates that the service may provide the elements of the list
|
60
|
-
# in any arbitrary
|
60
|
+
# in any arbitrary order, rather than the order the user originally
|
61
61
|
# provided. Additionally, the list's order may or may not be stable.
|
62
62
|
UNORDERED_LIST = 6
|
63
|
+
|
64
|
+
# Denotes that this field returns a non-empty default value if not set.
|
65
|
+
# This indicates that if the user provides the empty value in a request,
|
66
|
+
# a non-empty value will be returned. The user will not be aware of what
|
67
|
+
# non-empty value to expect.
|
68
|
+
NON_EMPTY_DEFAULT = 7
|
63
69
|
end
|
64
70
|
end
|
65
71
|
end
|
@@ -19,30 +19,53 @@
|
|
19
19
|
|
20
20
|
module Google
|
21
21
|
module Type
|
22
|
-
# Represents
|
22
|
+
# Represents a textual expression in the Common Expression Language (CEL)
|
23
|
+
# syntax. CEL is a C-like expression language. The syntax and semantics of CEL
|
24
|
+
# are documented at https://github.com/google/cel-spec.
|
23
25
|
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
26
|
+
# Example (Comparison):
|
27
|
+
#
|
28
|
+
# title: "Summary size limit"
|
29
|
+
# description: "Determines if a summary is less than 100 chars"
|
30
|
+
# expression: "document.summary.size() < 100"
|
31
|
+
#
|
32
|
+
# Example (Equality):
|
33
|
+
#
|
34
|
+
# title: "Requestor is owner"
|
35
|
+
# description: "Determines if requestor is the document owner"
|
36
|
+
# expression: "document.owner == request.auth.claims.email"
|
37
|
+
#
|
38
|
+
# Example (Logic):
|
39
|
+
#
|
40
|
+
# title: "Public documents"
|
41
|
+
# description: "Determine whether the document should be publicly visible"
|
42
|
+
# expression: "document.type != 'private' && document.type != 'internal'"
|
43
|
+
#
|
44
|
+
# Example (Data Manipulation):
|
45
|
+
#
|
46
|
+
# title: "Notification string"
|
47
|
+
# description: "Create a notification string with a timestamp."
|
48
|
+
# expression: "'New message received at ' + string(document.create_time)"
|
49
|
+
#
|
50
|
+
# The exact variables and functions that may be referenced within an expression
|
51
|
+
# are determined by the service that evaluates it. See the service
|
52
|
+
# documentation for additional information.
|
27
53
|
# @!attribute [rw] expression
|
28
54
|
# @return [::String]
|
29
|
-
# Textual representation of an expression in
|
30
|
-
#
|
31
|
-
#
|
32
|
-
# The application context of the containing message determines which
|
33
|
-
# well-known feature set of CEL is supported.
|
55
|
+
# Textual representation of an expression in Common Expression Language
|
56
|
+
# syntax.
|
34
57
|
# @!attribute [rw] title
|
35
58
|
# @return [::String]
|
36
|
-
#
|
59
|
+
# Optional. Title for the expression, i.e. a short string describing
|
37
60
|
# its purpose. This can be used e.g. in UIs which allow to enter the
|
38
61
|
# expression.
|
39
62
|
# @!attribute [rw] description
|
40
63
|
# @return [::String]
|
41
|
-
#
|
64
|
+
# Optional. Description of the expression. This is a longer text which
|
42
65
|
# describes the expression, e.g. when hovered over it in a UI.
|
43
66
|
# @!attribute [rw] location
|
44
67
|
# @return [::String]
|
45
|
-
#
|
68
|
+
# Optional. String indicating the location of the expression for error
|
46
69
|
# reporting, e.g. a file name and a position in the file.
|
47
70
|
class Expr
|
48
71
|
include ::Google::Protobuf::MessageExts
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-policy_troubleshooter-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.7'
|
20
|
+
- - "<"
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: 2.a
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.7'
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 2.a
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: google-cloud-errors
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,7 +53,7 @@ dependencies:
|
|
47
53
|
version: 0.6.10
|
48
54
|
- - "<"
|
49
55
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
56
|
+
version: 2.a
|
51
57
|
type: :runtime
|
52
58
|
prerelease: false
|
53
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -57,7 +63,7 @@ dependencies:
|
|
57
63
|
version: 0.6.10
|
58
64
|
- - "<"
|
59
65
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
66
|
+
version: 2.a
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
68
|
name: google-style
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
228
|
- !ruby/object:Gem::Version
|
223
229
|
version: '0'
|
224
230
|
requirements: []
|
225
|
-
rubygems_version: 3.2.
|
231
|
+
rubygems_version: 3.2.17
|
226
232
|
signing_key:
|
227
233
|
specification_version: 4
|
228
234
|
summary: API Client library for the IAM Policy Troubleshooter V1 API
|