google-cloud-security_center-v1p1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-security_center-v1p1beta1.rb +21 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/security_center/v1p1beta1.rb +35 -0
  9. data/lib/google/cloud/security_center/v1p1beta1/security_center.rb +50 -0
  10. data/lib/google/cloud/security_center/v1p1beta1/security_center/client.rb +2680 -0
  11. data/lib/google/cloud/security_center/v1p1beta1/security_center/credentials.rb +51 -0
  12. data/lib/google/cloud/security_center/v1p1beta1/security_center/operations.rb +564 -0
  13. data/lib/google/cloud/security_center/v1p1beta1/security_center/paths.rb +172 -0
  14. data/lib/google/cloud/security_center/v1p1beta1/version.rb +28 -0
  15. data/lib/google/cloud/securitycenter/v1p1beta1/asset_pb.rb +48 -0
  16. data/lib/google/cloud/securitycenter/v1p1beta1/finding_pb.rb +43 -0
  17. data/lib/google/cloud/securitycenter/v1p1beta1/notification_config_pb.rb +41 -0
  18. data/lib/google/cloud/securitycenter/v1p1beta1/notification_message_pb.rb +28 -0
  19. data/lib/google/cloud/securitycenter/v1p1beta1/organization_settings_pb.rb +37 -0
  20. data/lib/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response_pb.rb +32 -0
  21. data/lib/google/cloud/securitycenter/v1p1beta1/security_marks_pb.rb +25 -0
  22. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_pb.rb +241 -0
  23. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_services_pb.rb +108 -0
  24. data/lib/google/cloud/securitycenter/v1p1beta1/source_pb.rb +26 -0
  25. data/proto_docs/README.md +4 -0
  26. data/proto_docs/google/api/field_behavior.rb +59 -0
  27. data/proto_docs/google/api/resource.rb +247 -0
  28. data/proto_docs/google/cloud/securitycenter/v1p1beta1/asset.rb +127 -0
  29. data/proto_docs/google/cloud/securitycenter/v1p1beta1/finding.rb +112 -0
  30. data/proto_docs/google/cloud/securitycenter/v1p1beta1/notification_config.rb +97 -0
  31. data/proto_docs/google/cloud/securitycenter/v1p1beta1/notification_message.rb +39 -0
  32. data/proto_docs/google/cloud/securitycenter/v1p1beta1/organization_settings.rb +82 -0
  33. data/proto_docs/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response.rb +54 -0
  34. data/proto_docs/google/cloud/securitycenter/v1p1beta1/security_marks.rb +61 -0
  35. data/proto_docs/google/cloud/securitycenter/v1p1beta1/securitycenter_service.rb +1026 -0
  36. data/proto_docs/google/cloud/securitycenter/v1p1beta1/source.rb +56 -0
  37. data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
  38. data/proto_docs/google/iam/v1/options.rb +40 -0
  39. data/proto_docs/google/iam/v1/policy.rb +248 -0
  40. data/proto_docs/google/longrunning/operations.rb +150 -0
  41. data/proto_docs/google/protobuf/any.rb +138 -0
  42. data/proto_docs/google/protobuf/duration.rb +98 -0
  43. data/proto_docs/google/protobuf/empty.rb +36 -0
  44. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  45. data/proto_docs/google/protobuf/struct.rb +96 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  47. data/proto_docs/google/rpc/status.rb +46 -0
  48. data/proto_docs/google/type/expr.rb +52 -0
  49. metadata +222 -0
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Response of asset discovery run
25
+ # @!attribute [rw] state
26
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::RunAssetDiscoveryResponse::State]
27
+ # The state of an asset discovery run.
28
+ # @!attribute [rw] duration
29
+ # @return [Google::Protobuf::Duration]
30
+ # The duration between asset discovery run start and end
31
+ class RunAssetDiscoveryResponse
32
+ include Google::Protobuf::MessageExts
33
+ extend Google::Protobuf::MessageExts::ClassMethods
34
+
35
+ # The state of an asset discovery run.
36
+ module State
37
+ # Asset discovery run state was unspecified.
38
+ STATE_UNSPECIFIED = 0
39
+
40
+ # Asset discovery run completed successfully.
41
+ COMPLETED = 1
42
+
43
+ # Asset discovery run was cancelled with tasks still pending, as another
44
+ # run for the same organization was started with a higher priority.
45
+ SUPERSEDED = 2
46
+
47
+ # Asset discovery run was killed and terminated.
48
+ TERMINATED = 3
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # User specified security marks that are attached to the parent Cloud Security
25
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
26
+ # SCC organization -- they can be modified and viewed by all users who have
27
+ # proper permissions on the organization.
28
+ # @!attribute [rw] name
29
+ # @return [String]
30
+ # The relative resource name of the SecurityMarks. See:
31
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
32
+ # Examples:
33
+ # "organizations/\\{organization_id}/assets/\\{asset_id}/securityMarks"
34
+ # "organizations/\\{organization_id}/sources/\\{source_id}/findings/\\{finding_id}/securityMarks".
35
+ # @!attribute [rw] marks
36
+ # @return [Google::Protobuf::Map{String => String}]
37
+ # Mutable user specified security marks belonging to the parent resource.
38
+ # Constraints are as follows:
39
+ #
40
+ # * Keys and values are treated as case insensitive
41
+ # * Keys must be between 1 - 256 characters (inclusive)
42
+ # * Keys must be letters, numbers, underscores, or dashes
43
+ # * Values have leading and trailing whitespace trimmed, remaining
44
+ # characters must be between 1 - 4096 characters (inclusive)
45
+ class SecurityMarks
46
+ include Google::Protobuf::MessageExts
47
+ extend Google::Protobuf::MessageExts::ClassMethods
48
+
49
+ # @!attribute [rw] key
50
+ # @return [String]
51
+ # @!attribute [rw] value
52
+ # @return [String]
53
+ class MarksEntry
54
+ include Google::Protobuf::MessageExts
55
+ extend Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,1026 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Request message for creating a finding.
25
+ # @!attribute [rw] parent
26
+ # @return [String]
27
+ # Required. Resource name of the new finding's parent. Its format should be
28
+ # "organizations/[organization_id]/sources/[source_id]".
29
+ # @!attribute [rw] finding_id
30
+ # @return [String]
31
+ # Required. Unique identifier provided by the client within the parent scope.
32
+ # It must be alphanumeric and less than or equal to 32 characters and
33
+ # greater than 0 characters in length.
34
+ # @!attribute [rw] finding
35
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::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.
38
+ class CreateFindingRequest
39
+ include Google::Protobuf::MessageExts
40
+ extend Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # Request message for creating a notification config.
44
+ # @!attribute [rw] parent
45
+ # @return [String]
46
+ # Required. Resource name of the new notification config's parent. Its format
47
+ # is "organizations/[organization_id]".
48
+ # @!attribute [rw] config_id
49
+ # @return [String]
50
+ # Required.
51
+ # Unique identifier provided by the client within the parent scope.
52
+ # It must be between 1 and 128 characters, and contains alphanumeric
53
+ # characters, underscores or hyphens only.
54
+ # @!attribute [rw] notification_config
55
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::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.
59
+ class CreateNotificationConfigRequest
60
+ include Google::Protobuf::MessageExts
61
+ extend Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+
64
+ # Request message for creating a source.
65
+ # @!attribute [rw] parent
66
+ # @return [String]
67
+ # Required. Resource name of the new source's parent. Its format should be
68
+ # "organizations/[organization_id]".
69
+ # @!attribute [rw] source
70
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Source]
71
+ # Required. The Source being created, only the display_name and description
72
+ # will be used. All other fields will be ignored.
73
+ class CreateSourceRequest
74
+ include Google::Protobuf::MessageExts
75
+ extend Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Request message for deleting a notification config.
79
+ # @!attribute [rw] name
80
+ # @return [String]
81
+ # Required. Name of the notification config to delete. Its format is
82
+ # "organizations/[organization_id]/notificationConfigs/[config_id]".
83
+ class DeleteNotificationConfigRequest
84
+ include Google::Protobuf::MessageExts
85
+ extend Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
88
+ # Request message for getting a notification config.
89
+ # @!attribute [rw] name
90
+ # @return [String]
91
+ # Required. Name of the notification config to get. Its format is
92
+ # "organizations/[organization_id]/notificationConfigs/[config_id]".
93
+ class GetNotificationConfigRequest
94
+ include Google::Protobuf::MessageExts
95
+ extend Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+
98
+ # Request message for getting organization settings.
99
+ # @!attribute [rw] name
100
+ # @return [String]
101
+ # Required. Name of the organization to get organization settings for. Its
102
+ # format is "organizations/[organization_id]/organizationSettings".
103
+ class GetOrganizationSettingsRequest
104
+ include Google::Protobuf::MessageExts
105
+ extend Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+
108
+ # Request message for getting a source.
109
+ # @!attribute [rw] name
110
+ # @return [String]
111
+ # Required. Relative resource name of the source. Its format is
112
+ # "organizations/[organization_id]/source/[source_id]".
113
+ class GetSourceRequest
114
+ include Google::Protobuf::MessageExts
115
+ extend Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # Request message for grouping by assets.
119
+ # @!attribute [rw] parent
120
+ # @return [String]
121
+ # Required. Name of the organization to groupBy. Its format is
122
+ # "organizations/[organization_id]".
123
+ # @!attribute [rw] filter
124
+ # @return [String]
125
+ # Expression that defines the filter to apply across assets.
126
+ # The expression is a list of zero or more restrictions combined via logical
127
+ # operators `AND` and `OR`.
128
+ # Parentheses are supported, and `OR` has higher precedence than `AND`.
129
+ #
130
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
131
+ # character in front of them to indicate negation. The fields map to those
132
+ # defined in the Asset resource. Examples include:
133
+ #
134
+ # * name
135
+ # * security_center_properties.resource_name
136
+ # * resource_properties.a_property
137
+ # * security_marks.marks.marka
138
+ #
139
+ # The supported operators are:
140
+ #
141
+ # * `=` for all value types.
142
+ # * `>`, `<`, `>=`, `<=` for integer values.
143
+ # * `:`, meaning substring matching, for strings.
144
+ #
145
+ # The supported value types are:
146
+ #
147
+ # * string literals in quotes.
148
+ # * integer literals without quotes.
149
+ # * boolean literals `true` and `false` without quotes.
150
+ #
151
+ # The following field and operator combinations are supported:
152
+ #
153
+ # * name: `=`
154
+ # * update_time: `=`, `>`, `<`, `>=`, `<=`
155
+ #
156
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
157
+ # Examples:
158
+ # "update_time = \"2019-06-10T16:07:18-07:00\""
159
+ # "update_time = 1560208038000"
160
+ #
161
+ # * create_time: `=`, `>`, `<`, `>=`, `<=`
162
+ #
163
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
164
+ # Examples:
165
+ # "create_time = \"2019-06-10T16:07:18-07:00\""
166
+ # "create_time = 1560208038000"
167
+ #
168
+ # * iam_policy.policy_blob: `=`, `:`
169
+ # * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
170
+ # * security_marks.marks: `=`, `:`
171
+ # * security_center_properties.resource_name: `=`, `:`
172
+ # * security_center_properties.resource_name_display_name: `=`, `:`
173
+ # * security_center_properties.resource_type: `=`, `:`
174
+ # * security_center_properties.resource_parent: `=`, `:`
175
+ # * security_center_properties.resource_parent_display_name: `=`, `:`
176
+ # * security_center_properties.resource_project: `=`, `:`
177
+ # * security_center_properties.resource_project_display_name: `=`, `:`
178
+ # * security_center_properties.resource_owners: `=`, `:`
179
+ #
180
+ # For example, `resource_properties.size = 100` is a valid filter string.
181
+ # @!attribute [rw] group_by
182
+ # @return [String]
183
+ # Required. Expression that defines what assets fields to use for grouping.
184
+ # The string value should follow SQL syntax: comma separated list of fields.
185
+ # For example:
186
+ # "security_center_properties.resource_project,security_center_properties.project".
187
+ #
188
+ # The following fields are supported when compare_duration is not set:
189
+ #
190
+ # * security_center_properties.resource_project
191
+ # * security_center_properties.resource_project_display_name
192
+ # * security_center_properties.resource_type
193
+ # * security_center_properties.resource_parent
194
+ # * security_center_properties.resource_parent_display_name
195
+ #
196
+ # The following fields are supported when compare_duration is set:
197
+ #
198
+ # * security_center_properties.resource_type
199
+ # * security_center_properties.resource_project_display_name
200
+ # * security_center_properties.resource_parent_display_name
201
+ # @!attribute [rw] compare_duration
202
+ # @return [Google::Protobuf::Duration]
203
+ # When compare_duration is set, the GroupResult's "state_change" property is
204
+ # updated to indicate whether the asset was added, removed, or remained
205
+ # present during the compare_duration period of time that precedes the
206
+ # read_time. This is the time between (read_time - compare_duration) and
207
+ # read_time.
208
+ #
209
+ # The state change value is derived based on the presence of the asset at the
210
+ # two points in time. Intermediate state changes between the two times don't
211
+ # affect the result. For example, the results aren't affected if the asset is
212
+ # removed and re-created again.
213
+ #
214
+ # Possible "state_change" values when compare_duration is specified:
215
+ #
216
+ # * "ADDED": indicates that the asset was not present at the start of
217
+ # compare_duration, but present at reference_time.
218
+ # * "REMOVED": indicates that the asset was present at the start of
219
+ # compare_duration, but not present at reference_time.
220
+ # * "ACTIVE": indicates that the asset was present at both the
221
+ # start and the end of the time period defined by
222
+ # compare_duration and reference_time.
223
+ #
224
+ # If compare_duration is not specified, then the only possible state_change
225
+ # is "UNUSED", which will be the state_change set for all assets present at
226
+ # read_time.
227
+ #
228
+ # If this field is set then `state_change` must be a specified field in
229
+ # `group_by`.
230
+ # @!attribute [rw] read_time
231
+ # @return [Google::Protobuf::Timestamp]
232
+ # Time used as a reference point when filtering assets. The filter is limited
233
+ # to assets existing at the supplied time and their values are those at that
234
+ # specific time. Absence of this field will default to the API's version of
235
+ # NOW.
236
+ # @!attribute [rw] having
237
+ # @return [String]
238
+ # Filter that specifies what fields to further filter on *after* the query
239
+ # filter has been executed. Currently only `state_change` is supported and
240
+ # requires compare_duration to be specified.
241
+ # @!attribute [rw] page_token
242
+ # @return [String]
243
+ # The value returned by the last `GroupAssetsResponse`; indicates
244
+ # that this is a continuation of a prior `GroupAssets` call, and that the
245
+ # system should return the next page of data.
246
+ # @!attribute [rw] page_size
247
+ # @return [Integer]
248
+ # The maximum number of results to return in a single response. Default is
249
+ # 10, minimum is 1, maximum is 1000.
250
+ class GroupAssetsRequest
251
+ include Google::Protobuf::MessageExts
252
+ extend Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # Response message for grouping by assets.
256
+ # @!attribute [rw] group_by_results
257
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::GroupResult>]
258
+ # Group results. There exists an element for each existing unique
259
+ # combination of property/values. The element contains a count for the number
260
+ # of times those specific property/values appear.
261
+ # @!attribute [rw] read_time
262
+ # @return [Google::Protobuf::Timestamp]
263
+ # Time used for executing the groupBy request.
264
+ # @!attribute [rw] next_page_token
265
+ # @return [String]
266
+ # Token to retrieve the next page of results, or empty if there are no more
267
+ # results.
268
+ # @!attribute [rw] total_size
269
+ # @return [Integer]
270
+ # The total number of results matching the query.
271
+ class GroupAssetsResponse
272
+ include Google::Protobuf::MessageExts
273
+ extend Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+
276
+ # Request message for grouping by findings.
277
+ # @!attribute [rw] parent
278
+ # @return [String]
279
+ # Required. Name of the source to groupBy. Its format is
280
+ # "organizations/[organization_id]/sources/[source_id]". To groupBy across
281
+ # all sources provide a source_id of `-`. For example:
282
+ # organizations/\\{organization_id}/sources/-
283
+ # @!attribute [rw] filter
284
+ # @return [String]
285
+ # Expression that defines the filter to apply across findings.
286
+ # The expression is a list of one or more restrictions combined via logical
287
+ # operators `AND` and `OR`.
288
+ # Parentheses are supported, and `OR` has higher precedence than `AND`.
289
+ #
290
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
291
+ # character in front of them to indicate negation. Examples include:
292
+ #
293
+ # * name
294
+ # * source_properties.a_property
295
+ # * security_marks.marks.marka
296
+ #
297
+ # The supported operators are:
298
+ #
299
+ # * `=` for all value types.
300
+ # * `>`, `<`, `>=`, `<=` for integer values.
301
+ # * `:`, meaning substring matching, for strings.
302
+ #
303
+ # The supported value types are:
304
+ #
305
+ # * string literals in quotes.
306
+ # * integer literals without quotes.
307
+ # * boolean literals `true` and `false` without quotes.
308
+ #
309
+ # The following field and operator combinations are supported:
310
+ #
311
+ # * name: `=`
312
+ # * parent: `=`, `:`
313
+ # * resource_name: `=`, `:`
314
+ # * state: `=`, `:`
315
+ # * category: `=`, `:`
316
+ # * external_uri: `=`, `:`
317
+ # * event_time: `=`, `>`, `<`, `>=`, `<=`
318
+ #
319
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
320
+ # Examples:
321
+ # "event_time = \"2019-06-10T16:07:18-07:00\""
322
+ # "event_time = 1560208038000"
323
+ #
324
+ # * security_marks.marks: `=`, `:`
325
+ # * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
326
+ #
327
+ # For example, `source_properties.size = 100` is a valid filter string.
328
+ # @!attribute [rw] group_by
329
+ # @return [String]
330
+ # Required. Expression that defines what assets fields to use for grouping
331
+ # (including `state_change`). The string value should follow SQL syntax:
332
+ # comma separated list of fields. For example: "parent,resource_name".
333
+ #
334
+ # The following fields are supported:
335
+ #
336
+ # * resource_name
337
+ # * category
338
+ # * state
339
+ # * parent
340
+ #
341
+ # The following fields are supported when compare_duration is set:
342
+ #
343
+ # * state_change
344
+ # @!attribute [rw] read_time
345
+ # @return [Google::Protobuf::Timestamp]
346
+ # Time used as a reference point when filtering findings. The filter is
347
+ # limited to findings existing at the supplied time and their values are
348
+ # those at that specific time. Absence of this field will default to the
349
+ # API's version of NOW.
350
+ # @!attribute [rw] compare_duration
351
+ # @return [Google::Protobuf::Duration]
352
+ # When compare_duration is set, the GroupResult's "state_change" attribute is
353
+ # updated to indicate whether the finding had its state changed, the
354
+ # finding's state remained unchanged, or if the finding was added during the
355
+ # compare_duration period of time that precedes the read_time. This is the
356
+ # time between (read_time - compare_duration) and read_time.
357
+ #
358
+ # The state_change value is derived based on the presence and state of the
359
+ # finding at the two points in time. Intermediate state changes between the
360
+ # two times don't affect the result. For example, the results aren't affected
361
+ # if the finding is made inactive and then active again.
362
+ #
363
+ # Possible "state_change" values when compare_duration is specified:
364
+ #
365
+ # * "CHANGED": indicates that the finding was present at the start of
366
+ # compare_duration, but changed its state at read_time.
367
+ # * "UNCHANGED": indicates that the finding was present at the start of
368
+ # compare_duration and did not change state at read_time.
369
+ # * "ADDED": indicates that the finding was not present at the start
370
+ # of compare_duration, but was present at read_time.
371
+ #
372
+ # If compare_duration is not specified, then the only possible state_change
373
+ # is "UNUSED", which will be the state_change set for all findings present
374
+ # at read_time.
375
+ #
376
+ # If this field is set then `state_change` must be a specified field in
377
+ # `group_by`.
378
+ # @!attribute [rw] having
379
+ # @return [String]
380
+ # Filter that specifies what fields to further filter on *after* the query
381
+ # filter has been executed. Currently only `finding.state` and `state_change`
382
+ # are supported and requires compare_duration to be specified.
383
+ # @!attribute [rw] page_token
384
+ # @return [String]
385
+ # The value returned by the last `GroupFindingsResponse`; indicates
386
+ # that this is a continuation of a prior `GroupFindings` call, and
387
+ # that the system should return the next page of data.
388
+ # @!attribute [rw] page_size
389
+ # @return [Integer]
390
+ # The maximum number of results to return in a single response. Default is
391
+ # 10, minimum is 1, maximum is 1000.
392
+ class GroupFindingsRequest
393
+ include Google::Protobuf::MessageExts
394
+ extend Google::Protobuf::MessageExts::ClassMethods
395
+ end
396
+
397
+ # Response message for group by findings.
398
+ # @!attribute [rw] group_by_results
399
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::GroupResult>]
400
+ # Group results. There exists an element for each existing unique
401
+ # combination of property/values. The element contains a count for the number
402
+ # of times those specific property/values appear.
403
+ # @!attribute [rw] read_time
404
+ # @return [Google::Protobuf::Timestamp]
405
+ # Time used for executing the groupBy request.
406
+ # @!attribute [rw] next_page_token
407
+ # @return [String]
408
+ # Token to retrieve the next page of results, or empty if there are no more
409
+ # results.
410
+ # @!attribute [rw] total_size
411
+ # @return [Integer]
412
+ # The total number of results matching the query.
413
+ class GroupFindingsResponse
414
+ include Google::Protobuf::MessageExts
415
+ extend Google::Protobuf::MessageExts::ClassMethods
416
+ end
417
+
418
+ # Result containing the properties and count of a groupBy request.
419
+ # @!attribute [rw] properties
420
+ # @return [Google::Protobuf::Map{String => Google::Protobuf::Value}]
421
+ # Properties matching the groupBy fields in the request.
422
+ # @!attribute [rw] count
423
+ # @return [Integer]
424
+ # Total count of resources for the given properties.
425
+ class GroupResult
426
+ include Google::Protobuf::MessageExts
427
+ extend Google::Protobuf::MessageExts::ClassMethods
428
+
429
+ # @!attribute [rw] key
430
+ # @return [String]
431
+ # @!attribute [rw] value
432
+ # @return [Google::Protobuf::Value]
433
+ class PropertiesEntry
434
+ include Google::Protobuf::MessageExts
435
+ extend Google::Protobuf::MessageExts::ClassMethods
436
+ end
437
+ end
438
+
439
+ # Request message for listing notification configs.
440
+ # @!attribute [rw] parent
441
+ # @return [String]
442
+ # Required. Name of the organization to list notification configs.
443
+ # Its format is "organizations/[organization_id]".
444
+ # @!attribute [rw] page_token
445
+ # @return [String]
446
+ # The value returned by the last `ListNotificationConfigsResponse`; indicates
447
+ # that this is a continuation of a prior `ListNotificationConfigs` call, and
448
+ # that the system should return the next page of data.
449
+ # @!attribute [rw] page_size
450
+ # @return [Integer]
451
+ # The maximum number of results to return in a single response. Default is
452
+ # 10, minimum is 1, maximum is 1000.
453
+ class ListNotificationConfigsRequest
454
+ include Google::Protobuf::MessageExts
455
+ extend Google::Protobuf::MessageExts::ClassMethods
456
+ end
457
+
458
+ # Response message for listing notification configs.
459
+ # @!attribute [rw] notification_configs
460
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig>]
461
+ # Notification configs belonging to the requested parent.
462
+ # @!attribute [rw] next_page_token
463
+ # @return [String]
464
+ # Token to retrieve the next page of results, or empty if there are no more
465
+ # results.
466
+ class ListNotificationConfigsResponse
467
+ include Google::Protobuf::MessageExts
468
+ extend Google::Protobuf::MessageExts::ClassMethods
469
+ end
470
+
471
+ # Request message for listing sources.
472
+ # @!attribute [rw] parent
473
+ # @return [String]
474
+ # Required. Resource name of the parent of sources to list. Its format should
475
+ # be "organizations/[organization_id]".
476
+ # @!attribute [rw] page_token
477
+ # @return [String]
478
+ # The value returned by the last `ListSourcesResponse`; indicates
479
+ # that this is a continuation of a prior `ListSources` call, and
480
+ # that the system should return the next page of data.
481
+ # @!attribute [rw] page_size
482
+ # @return [Integer]
483
+ # The maximum number of results to return in a single response. Default is
484
+ # 10, minimum is 1, maximum is 1000.
485
+ class ListSourcesRequest
486
+ include Google::Protobuf::MessageExts
487
+ extend Google::Protobuf::MessageExts::ClassMethods
488
+ end
489
+
490
+ # Response message for listing sources.
491
+ # @!attribute [rw] sources
492
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::Source>]
493
+ # Sources belonging to the requested parent.
494
+ # @!attribute [rw] next_page_token
495
+ # @return [String]
496
+ # Token to retrieve the next page of results, or empty if there are no more
497
+ # results.
498
+ class ListSourcesResponse
499
+ include Google::Protobuf::MessageExts
500
+ extend Google::Protobuf::MessageExts::ClassMethods
501
+ end
502
+
503
+ # Request message for listing assets.
504
+ # @!attribute [rw] parent
505
+ # @return [String]
506
+ # Required. Name of the organization assets should belong to. Its format is
507
+ # "organizations/[organization_id]".
508
+ # @!attribute [rw] filter
509
+ # @return [String]
510
+ # Expression that defines the filter to apply across assets.
511
+ # The expression is a list of zero or more restrictions combined via logical
512
+ # operators `AND` and `OR`.
513
+ # Parentheses are supported, and `OR` has higher precedence than `AND`.
514
+ #
515
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
516
+ # character in front of them to indicate negation. The fields map to those
517
+ # defined in the Asset resource. Examples include:
518
+ #
519
+ # * name
520
+ # * security_center_properties.resource_name
521
+ # * resource_properties.a_property
522
+ # * security_marks.marks.marka
523
+ #
524
+ # The supported operators are:
525
+ #
526
+ # * `=` for all value types.
527
+ # * `>`, `<`, `>=`, `<=` for integer values.
528
+ # * `:`, meaning substring matching, for strings.
529
+ #
530
+ # The supported value types are:
531
+ #
532
+ # * string literals in quotes.
533
+ # * integer literals without quotes.
534
+ # * boolean literals `true` and `false` without quotes.
535
+ #
536
+ # The following are the allowed field and operator combinations:
537
+ #
538
+ # * name: `=`
539
+ # * update_time: `=`, `>`, `<`, `>=`, `<=`
540
+ #
541
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
542
+ # Examples:
543
+ # "update_time = \"2019-06-10T16:07:18-07:00\""
544
+ # "update_time = 1560208038000"
545
+ #
546
+ # * create_time: `=`, `>`, `<`, `>=`, `<=`
547
+ #
548
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
549
+ # Examples:
550
+ # "create_time = \"2019-06-10T16:07:18-07:00\""
551
+ # "create_time = 1560208038000"
552
+ #
553
+ # * iam_policy.policy_blob: `=`, `:`
554
+ # * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
555
+ # * security_marks.marks: `=`, `:`
556
+ # * security_center_properties.resource_name: `=`, `:`
557
+ # * security_center_properties.resource_display_name: `=`, `:`
558
+ # * security_center_properties.resource_type: `=`, `:`
559
+ # * security_center_properties.resource_parent: `=`, `:`
560
+ # * security_center_properties.resource_parent_display_name: `=`, `:`
561
+ # * security_center_properties.resource_project: `=`, `:`
562
+ # * security_center_properties.resource_project_display_name: `=`, `:`
563
+ # * security_center_properties.resource_owners: `=`, `:`
564
+ #
565
+ # For example, `resource_properties.size = 100` is a valid filter string.
566
+ # @!attribute [rw] order_by
567
+ # @return [String]
568
+ # Expression that defines what fields and order to use for sorting. The
569
+ # string value should follow SQL syntax: comma separated list of fields. For
570
+ # example: "name,resource_properties.a_property". The default sorting order
571
+ # is ascending. To specify descending order for a field, a suffix " desc"
572
+ # should be appended to the field name. For example: "name
573
+ # desc,resource_properties.a_property". Redundant space characters in the
574
+ # syntax are insignificant. "name desc,resource_properties.a_property" and "
575
+ # name desc , resource_properties.a_property " are equivalent.
576
+ #
577
+ # The following fields are supported:
578
+ # name
579
+ # update_time
580
+ # resource_properties
581
+ # security_marks.marks
582
+ # security_center_properties.resource_name
583
+ # security_center_properties.resource_display_name
584
+ # security_center_properties.resource_parent
585
+ # security_center_properties.resource_parent_display_name
586
+ # security_center_properties.resource_project
587
+ # security_center_properties.resource_project_display_name
588
+ # security_center_properties.resource_type
589
+ # @!attribute [rw] read_time
590
+ # @return [Google::Protobuf::Timestamp]
591
+ # Time used as a reference point when filtering assets. The filter is limited
592
+ # to assets existing at the supplied time and their values are those at that
593
+ # specific time. Absence of this field will default to the API's version of
594
+ # NOW.
595
+ # @!attribute [rw] compare_duration
596
+ # @return [Google::Protobuf::Duration]
597
+ # When compare_duration is set, the ListAssetsResult's "state_change"
598
+ # attribute is updated to indicate whether the asset was added, removed, or
599
+ # remained present during the compare_duration period of time that precedes
600
+ # the read_time. This is the time between (read_time - compare_duration) and
601
+ # read_time.
602
+ #
603
+ # The state_change value is derived based on the presence of the asset at the
604
+ # two points in time. Intermediate state changes between the two times don't
605
+ # affect the result. For example, the results aren't affected if the asset is
606
+ # removed and re-created again.
607
+ #
608
+ # Possible "state_change" values when compare_duration is specified:
609
+ #
610
+ # * "ADDED": indicates that the asset was not present at the start of
611
+ # compare_duration, but present at read_time.
612
+ # * "REMOVED": indicates that the asset was present at the start of
613
+ # compare_duration, but not present at read_time.
614
+ # * "ACTIVE": indicates that the asset was present at both the
615
+ # start and the end of the time period defined by
616
+ # compare_duration and read_time.
617
+ #
618
+ # If compare_duration is not specified, then the only possible state_change
619
+ # is "UNUSED", which will be the state_change set for all assets present at
620
+ # read_time.
621
+ # @!attribute [rw] having
622
+ # @return [String]
623
+ # Filter that specifies what fields to further filter on *after* the query
624
+ # filter has been executed. Currently only `state_change` is supported and
625
+ # requires compare_duration to be specified.
626
+ # @!attribute [rw] field_mask
627
+ # @return [Google::Protobuf::FieldMask]
628
+ # Optional.
629
+ # A field mask to specify the ListAssetsResult fields to be listed in the
630
+ # response.
631
+ # An empty field mask will list all fields.
632
+ # @!attribute [rw] page_token
633
+ # @return [String]
634
+ # The value returned by the last `ListAssetsResponse`; indicates
635
+ # that this is a continuation of a prior `ListAssets` call, and
636
+ # that the system should return the next page of data.
637
+ # @!attribute [rw] page_size
638
+ # @return [Integer]
639
+ # The maximum number of results to return in a single response. Default is
640
+ # 10, minimum is 1, maximum is 1000.
641
+ class ListAssetsRequest
642
+ include Google::Protobuf::MessageExts
643
+ extend Google::Protobuf::MessageExts::ClassMethods
644
+ end
645
+
646
+ # Response message for listing assets.
647
+ # @!attribute [rw] list_assets_results
648
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsResponse::ListAssetsResult>]
649
+ # Assets matching the list request.
650
+ # @!attribute [rw] read_time
651
+ # @return [Google::Protobuf::Timestamp]
652
+ # Time used for executing the list request.
653
+ # @!attribute [rw] next_page_token
654
+ # @return [String]
655
+ # Token to retrieve the next page of results, or empty if there are no more
656
+ # results.
657
+ # @!attribute [rw] total_size
658
+ # @return [Integer]
659
+ # The total number of assets matching the query.
660
+ class ListAssetsResponse
661
+ include Google::Protobuf::MessageExts
662
+ extend Google::Protobuf::MessageExts::ClassMethods
663
+
664
+ # Result containing the Asset and its State.
665
+ # @!attribute [rw] asset
666
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Asset]
667
+ # Asset matching the search request.
668
+ # @!attribute [rw] state_change
669
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsResponse::ListAssetsResult::StateChange]
670
+ # State change of the asset between the points in time.
671
+ class ListAssetsResult
672
+ include Google::Protobuf::MessageExts
673
+ extend Google::Protobuf::MessageExts::ClassMethods
674
+
675
+ # The change in state of the asset.
676
+ #
677
+ # When querying across two points in time this describes
678
+ # the change between the two points: ADDED, REMOVED, or ACTIVE.
679
+ # If there was no compare_duration supplied in the request the state change
680
+ # will be: UNUSED
681
+ module StateChange
682
+ # State change is unused, this is the canonical default for this enum.
683
+ UNUSED = 0
684
+
685
+ # Asset was added between the points in time.
686
+ ADDED = 1
687
+
688
+ # Asset was removed between the points in time.
689
+ REMOVED = 2
690
+
691
+ # Asset was present at both point(s) in time.
692
+ ACTIVE = 3
693
+ end
694
+ end
695
+ end
696
+
697
+ # Request message for listing findings.
698
+ # @!attribute [rw] parent
699
+ # @return [String]
700
+ # Required. Name of the source the findings belong to. Its format is
701
+ # "organizations/[organization_id]/sources/[source_id]". To list across all
702
+ # sources provide a source_id of `-`. For example:
703
+ # organizations/\\{organization_id}/sources/-
704
+ # @!attribute [rw] filter
705
+ # @return [String]
706
+ # Expression that defines the filter to apply across findings.
707
+ # The expression is a list of one or more restrictions combined via logical
708
+ # operators `AND` and `OR`.
709
+ # Parentheses are supported, and `OR` has higher precedence than `AND`.
710
+ #
711
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
712
+ # character in front of them to indicate negation. Examples include:
713
+ #
714
+ # * name
715
+ # * source_properties.a_property
716
+ # * security_marks.marks.marka
717
+ #
718
+ # The supported operators are:
719
+ #
720
+ # * `=` for all value types.
721
+ # * `>`, `<`, `>=`, `<=` for integer values.
722
+ # * `:`, meaning substring matching, for strings.
723
+ #
724
+ # The supported value types are:
725
+ #
726
+ # * string literals in quotes.
727
+ # * integer literals without quotes.
728
+ # * boolean literals `true` and `false` without quotes.
729
+ #
730
+ # The following field and operator combinations are supported:
731
+ #
732
+ # name: `=`
733
+ # parent: `=`, `:`
734
+ # resource_name: `=`, `:`
735
+ # state: `=`, `:`
736
+ # category: `=`, `:`
737
+ # external_uri: `=`, `:`
738
+ # event_time: `=`, `>`, `<`, `>=`, `<=`
739
+ #
740
+ # Usage: This should be milliseconds since epoch or an RFC3339 string.
741
+ # Examples:
742
+ # "event_time = \"2019-06-10T16:07:18-07:00\""
743
+ # "event_time = 1560208038000"
744
+ #
745
+ # security_marks.marks: `=`, `:`
746
+ # source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
747
+ #
748
+ # For example, `source_properties.size = 100` is a valid filter string.
749
+ # @!attribute [rw] order_by
750
+ # @return [String]
751
+ # Expression that defines what fields and order to use for sorting. The
752
+ # string value should follow SQL syntax: comma separated list of fields. For
753
+ # example: "name,resource_properties.a_property". The default sorting order
754
+ # is ascending. To specify descending order for a field, a suffix " desc"
755
+ # should be appended to the field name. For example: "name
756
+ # desc,source_properties.a_property". Redundant space characters in the
757
+ # syntax are insignificant. "name desc,source_properties.a_property" and "
758
+ # name desc , source_properties.a_property " are equivalent.
759
+ #
760
+ # The following fields are supported:
761
+ # name
762
+ # parent
763
+ # state
764
+ # category
765
+ # resource_name
766
+ # event_time
767
+ # source_properties
768
+ # security_marks.marks
769
+ # @!attribute [rw] read_time
770
+ # @return [Google::Protobuf::Timestamp]
771
+ # Time used as a reference point when filtering findings. The filter is
772
+ # limited to findings existing at the supplied time and their values are
773
+ # those at that specific time. Absence of this field will default to the
774
+ # API's version of NOW.
775
+ # @!attribute [rw] compare_duration
776
+ # @return [Google::Protobuf::Duration]
777
+ # When compare_duration is set, the ListFindingsResult's "state_change"
778
+ # attribute is updated to indicate whether the finding had its state changed,
779
+ # the finding's state remained unchanged, or if the finding was added in any
780
+ # state during the compare_duration period of time that precedes the
781
+ # read_time. This is the time between (read_time - compare_duration) and
782
+ # read_time.
783
+ #
784
+ # The state_change value is derived based on the presence and state of the
785
+ # finding at the two points in time. Intermediate state changes between the
786
+ # two times don't affect the result. For example, the results aren't affected
787
+ # if the finding is made inactive and then active again.
788
+ #
789
+ # Possible "state_change" values when compare_duration is specified:
790
+ #
791
+ # * "CHANGED": indicates that the finding was present at the start of
792
+ # compare_duration, but changed its state at read_time.
793
+ # * "UNCHANGED": indicates that the finding was present at the start of
794
+ # compare_duration and did not change state at read_time.
795
+ # * "ADDED": indicates that the finding was not present at the start
796
+ # of compare_duration, but was present at read_time.
797
+ #
798
+ # If compare_duration is not specified, then the only possible state_change
799
+ # is "UNUSED", which will be the state_change set for all findings present at
800
+ # read_time.
801
+ # @!attribute [rw] having
802
+ # @return [String]
803
+ # Filter that specifies what fields to further filter on *after* the query
804
+ # filter has been executed. Currently only `finding.state` and `state_change`
805
+ # are supported and requires compare_duration to be specified.
806
+ # @!attribute [rw] field_mask
807
+ # @return [Google::Protobuf::FieldMask]
808
+ # Optional.
809
+ # A field mask to specify the Finding fields to be listed in the response.
810
+ # An empty field mask will list all fields.
811
+ # @!attribute [rw] page_token
812
+ # @return [String]
813
+ # The value returned by the last `ListFindingsResponse`; indicates
814
+ # that this is a continuation of a prior `ListFindings` call, and
815
+ # that the system should return the next page of data.
816
+ # @!attribute [rw] page_size
817
+ # @return [Integer]
818
+ # The maximum number of results to return in a single response. Default is
819
+ # 10, minimum is 1, maximum is 1000.
820
+ class ListFindingsRequest
821
+ include Google::Protobuf::MessageExts
822
+ extend Google::Protobuf::MessageExts::ClassMethods
823
+ end
824
+
825
+ # Response message for listing findings.
826
+ # @!attribute [rw] list_findings_results
827
+ # @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult>]
828
+ # Findings matching the list request.
829
+ # @!attribute [rw] read_time
830
+ # @return [Google::Protobuf::Timestamp]
831
+ # Time used for executing the list request.
832
+ # @!attribute [rw] next_page_token
833
+ # @return [String]
834
+ # Token to retrieve the next page of results, or empty if there are no more
835
+ # results.
836
+ # @!attribute [rw] total_size
837
+ # @return [Integer]
838
+ # The total number of findings matching the query.
839
+ class ListFindingsResponse
840
+ include Google::Protobuf::MessageExts
841
+ extend Google::Protobuf::MessageExts::ClassMethods
842
+
843
+ # Result containing the Finding and its StateChange.
844
+ # @!attribute [rw] finding
845
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
846
+ # Finding matching the search request.
847
+ # @!attribute [rw] state_change
848
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult::StateChange]
849
+ # State change of the finding between the points in time.
850
+ # @!attribute [rw] resource
851
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult::Resource]
852
+ # Output only. Resource that is associated with this finding.
853
+ class ListFindingsResult
854
+ include Google::Protobuf::MessageExts
855
+ extend Google::Protobuf::MessageExts::ClassMethods
856
+
857
+ # Information related to the Google Cloud Platform (GCP) resource that is
858
+ # associated with this finding.
859
+ # @!attribute [rw] name
860
+ # @return [String]
861
+ # The full resource name of the resource. See:
862
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
863
+ # @!attribute [rw] project_name
864
+ # @return [String]
865
+ # The full resource name of project that the resource belongs to.
866
+ # @!attribute [rw] project_display_name
867
+ # @return [String]
868
+ # The human readable name of project that the resource belongs to.
869
+ # @!attribute [rw] parent_name
870
+ # @return [String]
871
+ # The full resource name of resource's parent.
872
+ # @!attribute [rw] parent_display_name
873
+ # @return [String]
874
+ # The human readable name of resource's parent.
875
+ class Resource
876
+ include Google::Protobuf::MessageExts
877
+ extend Google::Protobuf::MessageExts::ClassMethods
878
+ end
879
+
880
+ # The change in state of the finding.
881
+ #
882
+ # When querying across two points in time this describes
883
+ # the change in the finding between the two points: CHANGED, UNCHANGED,
884
+ # ADDED, or REMOVED. Findings can not be deleted, so REMOVED implies that
885
+ # the finding at timestamp does not match the filter specified, but it did
886
+ # at timestamp - compare_duration. If there was no compare_duration
887
+ # supplied in the request the state change will be: UNUSED
888
+ module StateChange
889
+ # State change is unused, this is the canonical default for this enum.
890
+ UNUSED = 0
891
+
892
+ # The finding has changed state in some way between the points in time
893
+ # and existed at both points.
894
+ CHANGED = 1
895
+
896
+ # The finding has not changed state between the points in time and
897
+ # existed at both points.
898
+ UNCHANGED = 2
899
+
900
+ # The finding was created between the points in time.
901
+ ADDED = 3
902
+
903
+ # The finding at timestamp does not match the filter specified, but it
904
+ # did at timestamp - compare_duration.
905
+ REMOVED = 4
906
+ end
907
+ end
908
+ end
909
+
910
+ # Request message for updating a finding's state.
911
+ # @!attribute [rw] name
912
+ # @return [String]
913
+ # Required. The relative resource name of the finding. See:
914
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
915
+ # Example:
916
+ # "organizations/\\{organization_id}/sources/\\{source_id}/finding/\\{finding_id}".
917
+ # @!attribute [rw] state
918
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding::State]
919
+ # Required. The desired State of the finding.
920
+ # @!attribute [rw] start_time
921
+ # @return [Google::Protobuf::Timestamp]
922
+ # Required. The time at which the updated state takes effect.
923
+ class SetFindingStateRequest
924
+ include Google::Protobuf::MessageExts
925
+ extend Google::Protobuf::MessageExts::ClassMethods
926
+ end
927
+
928
+ # Request message for running asset discovery for an organization.
929
+ # @!attribute [rw] parent
930
+ # @return [String]
931
+ # Required. Name of the organization to run asset discovery for. Its format
932
+ # is "organizations/[organization_id]".
933
+ class RunAssetDiscoveryRequest
934
+ include Google::Protobuf::MessageExts
935
+ extend Google::Protobuf::MessageExts::ClassMethods
936
+ end
937
+
938
+ # Request message for updating or creating a finding.
939
+ # @!attribute [rw] finding
940
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
941
+ # Required. The finding resource to update or create if it does not already
942
+ # exist. parent, security_marks, and update_time will be ignored.
943
+ #
944
+ # In the case of creation, the finding id portion of the name must be
945
+ # alphanumeric and less than or equal to 32 characters and greater than 0
946
+ # characters in length.
947
+ # @!attribute [rw] update_mask
948
+ # @return [Google::Protobuf::FieldMask]
949
+ # The FieldMask to use when updating the finding resource. This field should
950
+ # not be specified when creating a finding.
951
+ #
952
+ # When updating a finding, an empty mask is treated as updating all mutable
953
+ # fields and replacing source_properties. Individual source_properties can
954
+ # be added/updated by using "source_properties.<property key>" in the field
955
+ # mask.
956
+ class UpdateFindingRequest
957
+ include Google::Protobuf::MessageExts
958
+ extend Google::Protobuf::MessageExts::ClassMethods
959
+ end
960
+
961
+ # Request message for updating a notification config.
962
+ # @!attribute [rw] notification_config
963
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig]
964
+ # Required. The notification config to update.
965
+ # @!attribute [rw] update_mask
966
+ # @return [Google::Protobuf::FieldMask]
967
+ # The FieldMask to use when updating the notification config.
968
+ #
969
+ # If empty all mutable fields will be updated.
970
+ class UpdateNotificationConfigRequest
971
+ include Google::Protobuf::MessageExts
972
+ extend Google::Protobuf::MessageExts::ClassMethods
973
+ end
974
+
975
+ # Request message for updating an organization's settings.
976
+ # @!attribute [rw] organization_settings
977
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings]
978
+ # Required. The organization settings resource to update.
979
+ # @!attribute [rw] update_mask
980
+ # @return [Google::Protobuf::FieldMask]
981
+ # The FieldMask to use when updating the settings resource.
982
+ #
983
+ # If empty all mutable fields will be updated.
984
+ class UpdateOrganizationSettingsRequest
985
+ include Google::Protobuf::MessageExts
986
+ extend Google::Protobuf::MessageExts::ClassMethods
987
+ end
988
+
989
+ # Request message for updating a source.
990
+ # @!attribute [rw] source
991
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Source]
992
+ # Required. The source resource to update.
993
+ # @!attribute [rw] update_mask
994
+ # @return [Google::Protobuf::FieldMask]
995
+ # The FieldMask to use when updating the source resource.
996
+ #
997
+ # If empty all mutable fields will be updated.
998
+ class UpdateSourceRequest
999
+ include Google::Protobuf::MessageExts
1000
+ extend Google::Protobuf::MessageExts::ClassMethods
1001
+ end
1002
+
1003
+ # Request message for updating a SecurityMarks resource.
1004
+ # @!attribute [rw] security_marks
1005
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::SecurityMarks]
1006
+ # Required. The security marks resource to update.
1007
+ # @!attribute [rw] update_mask
1008
+ # @return [Google::Protobuf::FieldMask]
1009
+ # The FieldMask to use when updating the security marks resource.
1010
+ #
1011
+ # The field mask must not contain duplicate fields.
1012
+ # If empty or set to "marks", all marks will be replaced. Individual
1013
+ # marks can be updated using "marks.<mark_key>".
1014
+ # @!attribute [rw] start_time
1015
+ # @return [Google::Protobuf::Timestamp]
1016
+ # The time at which the updated SecurityMarks take effect.
1017
+ # If not set uses current server time. Updates will be applied to the
1018
+ # SecurityMarks that are active immediately preceding this time.
1019
+ class UpdateSecurityMarksRequest
1020
+ include Google::Protobuf::MessageExts
1021
+ extend Google::Protobuf::MessageExts::ClassMethods
1022
+ end
1023
+ end
1024
+ end
1025
+ end
1026
+ end