google-cloud-security_center-v1p1beta1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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