google-cloud-security_center-v1 0.7.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +8 -8
  3. data/README.md +1 -1
  4. data/lib/google/cloud/security_center/v1/security_center/client.rb +132 -127
  5. data/lib/google/cloud/security_center/v1/security_center/operations.rb +34 -25
  6. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  7. data/lib/google/cloud/securitycenter/v1/asset_pb.rb +2 -2
  8. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +15 -2
  9. data/lib/google/cloud/securitycenter/v1/folder_pb.rb +1 -1
  10. data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +24 -0
  11. data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +2 -2
  12. data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +2 -2
  13. data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -2
  14. data/lib/google/cloud/securitycenter/v1/resource_pb.rb +3 -2
  15. data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +2 -2
  16. data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -2
  17. data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +2 -2
  18. data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -2
  19. data/lib/google/cloud/securitycenter/v1/vulnerability_pb.rb +86 -0
  20. data/proto_docs/google/api/field_behavior.rb +7 -1
  21. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +35 -0
  22. data/proto_docs/google/cloud/securitycenter/v1/indicator.rb +41 -0
  23. data/proto_docs/google/cloud/securitycenter/v1/resource.rb +3 -0
  24. data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +22 -23
  25. data/proto_docs/google/cloud/securitycenter/v1/vulnerability.rb +226 -0
  26. data/proto_docs/google/type/expr.rb +35 -12
  27. metadata +8 -4
@@ -33,8 +33,8 @@ module Google
33
33
  # greater than 0 characters in length.
34
34
  # @!attribute [rw] finding
35
35
  # @return [::Google::Cloud::SecurityCenter::V1::Finding]
36
- # Required. The Finding being created. The name and security_marks will be
37
- # ignored as they are both output only fields on this resource.
36
+ # Required. The Finding being created. The name and security_marks will be ignored as
37
+ # they are both output only fields on this resource.
38
38
  class CreateFindingRequest
39
39
  include ::Google::Protobuf::MessageExts
40
40
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -43,8 +43,8 @@ module Google
43
43
  # Request message for creating a notification config.
44
44
  # @!attribute [rw] parent
45
45
  # @return [::String]
46
- # Required. Resource name of the new notification config's parent. Its format
47
- # is "organizations/[organization_id]".
46
+ # Required. Resource name of the new notification config's parent. Its format is
47
+ # "organizations/[organization_id]".
48
48
  # @!attribute [rw] config_id
49
49
  # @return [::String]
50
50
  # Required.
@@ -53,9 +53,8 @@ module Google
53
53
  # characters, underscores or hyphens only.
54
54
  # @!attribute [rw] notification_config
55
55
  # @return [::Google::Cloud::SecurityCenter::V1::NotificationConfig]
56
- # Required. The notification config being created. The name and the service
57
- # account will be ignored as they are both output only fields on this
58
- # resource.
56
+ # Required. The notification config being created. The name and the service account
57
+ # will be ignored as they are both output only fields on this resource.
59
58
  class CreateNotificationConfigRequest
60
59
  include ::Google::Protobuf::MessageExts
61
60
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -68,8 +67,8 @@ module Google
68
67
  # "organizations/[organization_id]".
69
68
  # @!attribute [rw] source
70
69
  # @return [::Google::Cloud::SecurityCenter::V1::Source]
71
- # Required. The Source being created, only the display_name and description
72
- # will be used. All other fields will be ignored.
70
+ # Required. The Source being created, only the display_name and description will be
71
+ # used. All other fields will be ignored.
73
72
  class CreateSourceRequest
74
73
  include ::Google::Protobuf::MessageExts
75
74
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -98,8 +97,8 @@ module Google
98
97
  # Request message for getting organization settings.
99
98
  # @!attribute [rw] name
100
99
  # @return [::String]
101
- # Required. Name of the organization to get organization settings for. Its
102
- # format is "organizations/[organization_id]/organizationSettings".
100
+ # Required. Name of the organization to get organization settings for. Its format is
101
+ # "organizations/[organization_id]/organizationSettings".
103
102
  class GetOrganizationSettingsRequest
104
103
  include ::Google::Protobuf::MessageExts
105
104
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -187,9 +186,9 @@ module Google
187
186
  # property not existing: `-resource_properties.my_property : ""`
188
187
  # @!attribute [rw] group_by
189
188
  # @return [::String]
190
- # Required. Expression that defines what assets fields to use for grouping.
191
- # The string value should follow SQL syntax: comma separated list of fields.
192
- # For example:
189
+ # Required. Expression that defines what assets fields to use for grouping. The string
190
+ # value should follow SQL syntax: comma separated list of fields. For
191
+ # example:
193
192
  # "security_center_properties.resource_project,security_center_properties.project".
194
193
  #
195
194
  # The following fields are supported when compare_duration is not set:
@@ -348,9 +347,9 @@ module Google
348
347
  # * resource.type: `=`, `:`
349
348
  # @!attribute [rw] group_by
350
349
  # @return [::String]
351
- # Required. Expression that defines what assets fields to use for grouping
352
- # (including `state_change`). The string value should follow SQL syntax:
353
- # comma separated list of fields. For example: "parent,resource_name".
350
+ # Required. Expression that defines what assets fields to use for grouping (including
351
+ # `state_change`). The string value should follow SQL syntax: comma separated
352
+ # list of fields. For example: "parent,resource_name".
354
353
  #
355
354
  # The following fields are supported:
356
355
  #
@@ -494,8 +493,8 @@ module Google
494
493
  # Request message for listing sources.
495
494
  # @!attribute [rw] parent
496
495
  # @return [::String]
497
- # Required. Resource name of the parent of sources to list. Its format should
498
- # be "organizations/[organization_id], folders/[folder_id], or
496
+ # Required. Resource name of the parent of sources to list. Its format should be
497
+ # "organizations/[organization_id], folders/[folder_id], or
499
498
  # projects/[project_id]".
500
499
  # @!attribute [rw] page_token
501
500
  # @return [::String]
@@ -978,8 +977,8 @@ module Google
978
977
  # Request message for running asset discovery for an organization.
979
978
  # @!attribute [rw] parent
980
979
  # @return [::String]
981
- # Required. Name of the organization to run asset discovery for. Its format
982
- # is "organizations/[organization_id]".
980
+ # Required. Name of the organization to run asset discovery for. Its format is
981
+ # "organizations/[organization_id]".
983
982
  class RunAssetDiscoveryRequest
984
983
  include ::Google::Protobuf::MessageExts
985
984
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -988,8 +987,8 @@ module Google
988
987
  # Request message for updating or creating a finding.
989
988
  # @!attribute [rw] finding
990
989
  # @return [::Google::Cloud::SecurityCenter::V1::Finding]
991
- # Required. The finding resource to update or create if it does not already
992
- # exist. parent, security_marks, and update_time will be ignored.
990
+ # Required. The finding resource to update or create if it does not already exist.
991
+ # parent, security_marks, and update_time will be ignored.
993
992
  #
994
993
  # In the case of creation, the finding id portion of the name must be
995
994
  # alphanumeric and less than or equal to 32 characters and greater than 0
@@ -0,0 +1,226 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1
24
+ # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
25
+ # @!attribute [rw] cve
26
+ # @return [::Google::Cloud::SecurityCenter::V1::Cve]
27
+ # CVE stands for Common Vulnerabilities and Exposures
28
+ # (https://cve.mitre.org/about/)
29
+ class Vulnerability
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # CVE stands for Common Vulnerabilities and Exposures.
35
+ # More information: https://cve.mitre.org
36
+ # @!attribute [rw] id
37
+ # @return [::String]
38
+ # The unique identifier for the vulnerability. e.g. CVE-2021-34527
39
+ # @!attribute [rw] references
40
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::Reference>]
41
+ # Additional information about the CVE.
42
+ # e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
43
+ # @!attribute [rw] cvssv3
44
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3]
45
+ # Describe Common Vulnerability Scoring System specified at
46
+ # https://www.first.org/cvss/v3.1/specification-document
47
+ class Cve
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Additional Links
53
+ # @!attribute [rw] source
54
+ # @return [::String]
55
+ # Source of the reference e.g. NVD
56
+ # @!attribute [rw] uri
57
+ # @return [::String]
58
+ # Uri for the mentioned source e.g.
59
+ # https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
60
+ class Reference
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # Common Vulnerability Scoring System version 3.
66
+ # @!attribute [rw] base_score
67
+ # @return [::Float]
68
+ # The base score is a function of the base metric scores.
69
+ # @!attribute [rw] attack_vector
70
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::AttackVector]
71
+ # Base Metrics
72
+ # Represents the intrinsic characteristics of a vulnerability that are
73
+ # constant over time and across user environments.
74
+ # This metric reflects the context by which vulnerability exploitation is
75
+ # possible.
76
+ # @!attribute [rw] attack_complexity
77
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::AttackComplexity]
78
+ # This metric describes the conditions beyond the attacker's control that
79
+ # must exist in order to exploit the vulnerability.
80
+ # @!attribute [rw] privileges_required
81
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::PrivilegesRequired]
82
+ # This metric describes the level of privileges an attacker must possess
83
+ # before successfully exploiting the vulnerability.
84
+ # @!attribute [rw] user_interaction
85
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::UserInteraction]
86
+ # This metric captures the requirement for a human user, other than the
87
+ # attacker, to participate in the successful compromise of the vulnerable
88
+ # component.
89
+ # @!attribute [rw] scope
90
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::Scope]
91
+ # The Scope metric captures whether a vulnerability in one vulnerable
92
+ # component impacts resources in components beyond its security scope.
93
+ # @!attribute [rw] confidentiality_impact
94
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::Impact]
95
+ # This metric measures the impact to the confidentiality of the information
96
+ # resources managed by a software component due to a successfully exploited
97
+ # vulnerability.
98
+ # @!attribute [rw] integrity_impact
99
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::Impact]
100
+ # This metric measures the impact to integrity of a successfully exploited
101
+ # vulnerability.
102
+ # @!attribute [rw] availability_impact
103
+ # @return [::Google::Cloud::SecurityCenter::V1::Cvssv3::Impact]
104
+ # This metric measures the impact to the availability of the impacted
105
+ # component resulting from a successfully exploited vulnerability.
106
+ class Cvssv3
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+
110
+ # This metric reflects the context by which vulnerability exploitation is
111
+ # possible.
112
+ module AttackVector
113
+ # Invalid value.
114
+ ATTACK_VECTOR_UNSPECIFIED = 0
115
+
116
+ # The vulnerable component is bound to the network stack and the set of
117
+ # possible attackers extends beyond the other options listed below, up to
118
+ # and including the entire Internet.
119
+ ATTACK_VECTOR_NETWORK = 1
120
+
121
+ # The vulnerable component is bound to the network stack, but the attack is
122
+ # limited at the protocol level to a logically adjacent topology.
123
+ ATTACK_VECTOR_ADJACENT = 2
124
+
125
+ # The vulnerable component is not bound to the network stack and the
126
+ # attacker's path is via read/write/execute capabilities.
127
+ ATTACK_VECTOR_LOCAL = 3
128
+
129
+ # The attack requires the attacker to physically touch or manipulate the
130
+ # vulnerable component.
131
+ ATTACK_VECTOR_PHYSICAL = 4
132
+ end
133
+
134
+ # This metric describes the conditions beyond the attacker's control that
135
+ # must exist in order to exploit the vulnerability.
136
+ module AttackComplexity
137
+ # Invalid value.
138
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0
139
+
140
+ # Specialized access conditions or extenuating circumstances do not exist.
141
+ # An attacker can expect repeatable success when attacking the vulnerable
142
+ # component.
143
+ ATTACK_COMPLEXITY_LOW = 1
144
+
145
+ # A successful attack depends on conditions beyond the attacker's control.
146
+ # That is, a successful attack cannot be accomplished at will, but requires
147
+ # the attacker to invest in some measurable amount of effort in preparation
148
+ # or execution against the vulnerable component before a successful attack
149
+ # can be expected.
150
+ ATTACK_COMPLEXITY_HIGH = 2
151
+ end
152
+
153
+ # This metric describes the level of privileges an attacker must possess
154
+ # before successfully exploiting the vulnerability.
155
+ module PrivilegesRequired
156
+ # Invalid value.
157
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0
158
+
159
+ # The attacker is unauthorized prior to attack, and therefore does not
160
+ # require any access to settings or files of the vulnerable system to
161
+ # carry out an attack.
162
+ PRIVILEGES_REQUIRED_NONE = 1
163
+
164
+ # The attacker requires privileges that provide basic user capabilities
165
+ # that could normally affect only settings and files owned by a user.
166
+ # Alternatively, an attacker with Low privileges has the ability to access
167
+ # only non-sensitive resources.
168
+ PRIVILEGES_REQUIRED_LOW = 2
169
+
170
+ # The attacker requires privileges that provide significant (e.g.,
171
+ # administrative) control over the vulnerable component allowing access to
172
+ # component-wide settings and files.
173
+ PRIVILEGES_REQUIRED_HIGH = 3
174
+ end
175
+
176
+ # This metric captures the requirement for a human user, other than the
177
+ # attacker, to participate in the successful compromise of the vulnerable
178
+ # component.
179
+ module UserInteraction
180
+ # Invalid value.
181
+ USER_INTERACTION_UNSPECIFIED = 0
182
+
183
+ # The vulnerable system can be exploited without interaction from any user.
184
+ USER_INTERACTION_NONE = 1
185
+
186
+ # Successful exploitation of this vulnerability requires a user to take
187
+ # some action before the vulnerability can be exploited.
188
+ USER_INTERACTION_REQUIRED = 2
189
+ end
190
+
191
+ # The Scope metric captures whether a vulnerability in one vulnerable
192
+ # component impacts resources in components beyond its security scope.
193
+ module Scope
194
+ # Invalid value.
195
+ SCOPE_UNSPECIFIED = 0
196
+
197
+ # An exploited vulnerability can only affect resources managed by the same
198
+ # security authority.
199
+ SCOPE_UNCHANGED = 1
200
+
201
+ # An exploited vulnerability can affect resources beyond the security scope
202
+ # managed by the security authority of the vulnerable component.
203
+ SCOPE_CHANGED = 2
204
+ end
205
+
206
+ # The Impact metrics capture the effects of a successfully exploited
207
+ # vulnerability on the component that suffers the worst outcome that is most
208
+ # directly and predictably associated with the attack.
209
+ module Impact
210
+ # Invalid value.
211
+ IMPACT_UNSPECIFIED = 0
212
+
213
+ # High impact.
214
+ IMPACT_HIGH = 1
215
+
216
+ # Low impact.
217
+ IMPACT_LOW = 2
218
+
219
+ # No impact.
220
+ IMPACT_NONE = 3
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end
@@ -19,30 +19,53 @@
19
19
 
20
20
  module Google
21
21
  module Type
22
- # Represents an expression text. Example:
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
- # title: "User account presence"
25
- # description: "Determines whether the request has a user account"
26
- # expression: "size(request.user) > 0"
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
- # Common Expression Language syntax.
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
- # An optional title for the expression, i.e. a short string describing
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
- # An optional description of the expression. This is a longer text which
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
- # An optional string indicating the location of the expression for error
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security_center-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.9.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: 2021-06-17 00:00:00.000000000 Z
11
+ date: 2021-10-18 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.5'
19
+ version: '0.7'
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.5'
29
+ version: '0.7'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -200,6 +200,7 @@ files:
200
200
  - lib/google/cloud/securitycenter/v1/asset_pb.rb
201
201
  - lib/google/cloud/securitycenter/v1/finding_pb.rb
202
202
  - lib/google/cloud/securitycenter/v1/folder_pb.rb
203
+ - lib/google/cloud/securitycenter/v1/indicator_pb.rb
203
204
  - lib/google/cloud/securitycenter/v1/notification_config_pb.rb
204
205
  - lib/google/cloud/securitycenter/v1/notification_message_pb.rb
205
206
  - lib/google/cloud/securitycenter/v1/organization_settings_pb.rb
@@ -209,12 +210,14 @@ files:
209
210
  - lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb
210
211
  - lib/google/cloud/securitycenter/v1/securitycenter_service_services_pb.rb
211
212
  - lib/google/cloud/securitycenter/v1/source_pb.rb
213
+ - lib/google/cloud/securitycenter/v1/vulnerability_pb.rb
212
214
  - proto_docs/README.md
213
215
  - proto_docs/google/api/field_behavior.rb
214
216
  - proto_docs/google/api/resource.rb
215
217
  - proto_docs/google/cloud/securitycenter/v1/asset.rb
216
218
  - proto_docs/google/cloud/securitycenter/v1/finding.rb
217
219
  - proto_docs/google/cloud/securitycenter/v1/folder.rb
220
+ - proto_docs/google/cloud/securitycenter/v1/indicator.rb
218
221
  - proto_docs/google/cloud/securitycenter/v1/notification_config.rb
219
222
  - proto_docs/google/cloud/securitycenter/v1/notification_message.rb
220
223
  - proto_docs/google/cloud/securitycenter/v1/organization_settings.rb
@@ -223,6 +226,7 @@ files:
223
226
  - proto_docs/google/cloud/securitycenter/v1/security_marks.rb
224
227
  - proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb
225
228
  - proto_docs/google/cloud/securitycenter/v1/source.rb
229
+ - proto_docs/google/cloud/securitycenter/v1/vulnerability.rb
226
230
  - proto_docs/google/iam/v1/iam_policy.rb
227
231
  - proto_docs/google/iam/v1/options.rb
228
232
  - proto_docs/google/iam/v1/policy.rb