google-cloud-security_center 0.5.1 → 0.6.0

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