google-cloud-chronicle-v1 0.8.0 → 0.9.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.
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/chronicle/v1/version"
24
+
25
+ require "google/cloud/chronicle/v1/findings_refinement_service/credentials"
26
+ require "google/cloud/chronicle/v1/findings_refinement_service/paths"
27
+ require "google/cloud/chronicle/v1/findings_refinement_service/rest/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Chronicle
32
+ module V1
33
+ ##
34
+ # FindingsRefinementService provides an interface for filtering out
35
+ # findings that are unlikely to be real threats to prevent them
36
+ # from triggering alerts or notifications.
37
+ #
38
+ # To load this service and instantiate a REST client:
39
+ #
40
+ # require "google/cloud/chronicle/v1/findings_refinement_service/rest"
41
+ # client = ::Google::Cloud::Chronicle::V1::FindingsRefinementService::Rest::Client.new
42
+ #
43
+ module FindingsRefinementService
44
+ # Client for the REST transport
45
+ module Rest
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
54
+ require "google/cloud/chronicle/v1/findings_refinement_service/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/chronicle/v1/version"
24
+
25
+ require "google/cloud/chronicle/v1/findings_refinement_service/credentials"
26
+ require "google/cloud/chronicle/v1/findings_refinement_service/paths"
27
+ require "google/cloud/chronicle/v1/findings_refinement_service/client"
28
+ require "google/cloud/chronicle/v1/findings_refinement_service/rest"
29
+
30
+ module Google
31
+ module Cloud
32
+ module Chronicle
33
+ module V1
34
+ ##
35
+ # FindingsRefinementService provides an interface for filtering out
36
+ # findings that are unlikely to be real threats to prevent them
37
+ # from triggering alerts or notifications.
38
+ #
39
+ # @example Load this service and instantiate a gRPC client
40
+ #
41
+ # require "google/cloud/chronicle/v1/findings_refinement_service"
42
+ # client = ::Google::Cloud::Chronicle::V1::FindingsRefinementService::Client.new
43
+ #
44
+ # @example Load this service and instantiate a REST client
45
+ #
46
+ # require "google/cloud/chronicle/v1/findings_refinement_service/rest"
47
+ # client = ::Google::Cloud::Chronicle::V1::FindingsRefinementService::Rest::Client.new
48
+ #
49
+ module FindingsRefinementService
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+
56
+ helper_path = ::File.join __dir__, "findings_refinement_service", "helpers.rb"
57
+ require "google/cloud/chronicle/v1/findings_refinement_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,63 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/chronicle/v1/findings_refinement.proto for package 'Google.Cloud.Chronicle.V1'
3
+ # Original file comments:
4
+ # Copyright 2026 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/chronicle/v1/findings_refinement_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Chronicle
25
+ module V1
26
+ module FindingsRefinementService
27
+ # FindingsRefinementService provides an interface for filtering out
28
+ # findings that are unlikely to be real threats to prevent them
29
+ # from triggering alerts or notifications.
30
+ class Service
31
+
32
+ include ::GRPC::GenericService
33
+
34
+ self.marshal_class_method = :encode
35
+ self.unmarshal_class_method = :decode
36
+ self.service_name = 'google.cloud.chronicle.v1.FindingsRefinementService'
37
+
38
+ # Gets a single findings refinement.
39
+ rpc :GetFindingsRefinement, ::Google::Cloud::Chronicle::V1::GetFindingsRefinementRequest, ::Google::Cloud::Chronicle::V1::FindingsRefinement
40
+ # Lists a collection of findings refinements.
41
+ rpc :ListFindingsRefinements, ::Google::Cloud::Chronicle::V1::ListFindingsRefinementsRequest, ::Google::Cloud::Chronicle::V1::ListFindingsRefinementsResponse
42
+ # Creates a new findings refinement.
43
+ rpc :CreateFindingsRefinement, ::Google::Cloud::Chronicle::V1::CreateFindingsRefinementRequest, ::Google::Cloud::Chronicle::V1::FindingsRefinement
44
+ # Updates a findings refinement.
45
+ rpc :UpdateFindingsRefinement, ::Google::Cloud::Chronicle::V1::UpdateFindingsRefinementRequest, ::Google::Cloud::Chronicle::V1::FindingsRefinement
46
+ # Gets a findings refinement deployment.
47
+ rpc :GetFindingsRefinementDeployment, ::Google::Cloud::Chronicle::V1::GetFindingsRefinementDeploymentRequest, ::Google::Cloud::Chronicle::V1::FindingsRefinementDeployment
48
+ # Updates a findings refinement deployment.
49
+ rpc :UpdateFindingsRefinementDeployment, ::Google::Cloud::Chronicle::V1::UpdateFindingsRefinementDeploymentRequest, ::Google::Cloud::Chronicle::V1::FindingsRefinementDeployment
50
+ # Lists all findings refinement deployments.
51
+ rpc :ListAllFindingsRefinementDeployments, ::Google::Cloud::Chronicle::V1::ListAllFindingsRefinementDeploymentsRequest, ::Google::Cloud::Chronicle::V1::ListAllFindingsRefinementDeploymentsResponse
52
+ # Returns findings refinement activity for a specific findings refinement.
53
+ rpc :ComputeFindingsRefinementActivity, ::Google::Cloud::Chronicle::V1::ComputeFindingsRefinementActivityRequest, ::Google::Cloud::Chronicle::V1::ComputeFindingsRefinementActivityResponse
54
+ # Returns findings refinement activity for all findings refinements.
55
+ rpc :ComputeAllFindingsRefinementActivities, ::Google::Cloud::Chronicle::V1::ComputeAllFindingsRefinementActivitiesRequest, ::Google::Cloud::Chronicle::V1::ComputeAllFindingsRefinementActivitiesResponse
56
+ end
57
+
58
+ Stub = Service.rpc_stub_class
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -24,6 +24,7 @@ require "google/cloud/chronicle/v1/data_table_service/rest"
24
24
  require "google/cloud/chronicle/v1/entity_service/rest"
25
25
  require "google/cloud/chronicle/v1/native_dashboard_service/rest"
26
26
  require "google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest"
27
+ require "google/cloud/chronicle/v1/findings_refinement_service/rest"
27
28
  require "google/cloud/chronicle/v1/instance_service/rest"
28
29
  require "google/cloud/chronicle/v1/reference_list_service/rest"
29
30
  require "google/cloud/chronicle/v1/rule_service/rest"
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Chronicle
23
23
  module V1
24
- VERSION = "0.8.0"
24
+ VERSION = "0.9.0"
25
25
  end
26
26
  end
27
27
  end
@@ -24,6 +24,7 @@ require "google/cloud/chronicle/v1/data_table_service"
24
24
  require "google/cloud/chronicle/v1/entity_service"
25
25
  require "google/cloud/chronicle/v1/native_dashboard_service"
26
26
  require "google/cloud/chronicle/v1/featured_content_native_dashboard_service"
27
+ require "google/cloud/chronicle/v1/findings_refinement_service"
27
28
  require "google/cloud/chronicle/v1/instance_service"
28
29
  require "google/cloud/chronicle/v1/reference_list_service"
29
30
  require "google/cloud/chronicle/v1/rule_service"
@@ -0,0 +1,439 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 Chronicle
23
+ module V1
24
+ # Represents a set of logic conditions used to refine various types of
25
+ # findings such as curated rule detections.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Full resource name for the findings refinement.
29
+ # Format:
30
+ # projects/\\{project}/locations/\\{region}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}
31
+ # @!attribute [rw] display_name
32
+ # @return [::String]
33
+ # Display name of the findings refinement.
34
+ # @!attribute [rw] type
35
+ # @return [::Google::Cloud::Chronicle::V1::FindingsRefinementType]
36
+ # The type of findings refinement.
37
+ # @!attribute [r] create_time
38
+ # @return [::Google::Protobuf::Timestamp]
39
+ # Output only. The timestamp of when the findings refinement was created.
40
+ # @!attribute [r] update_time
41
+ # @return [::Google::Protobuf::Timestamp]
42
+ # Output only. The timestamp of when the findings refinement was last
43
+ # updated.
44
+ # @!attribute [rw] query
45
+ # @return [::String]
46
+ # The query for the findings refinement. Works in conjunction with the type
47
+ # field to determine the findings refinement behavior. The syntax of this
48
+ # query is the same as a UDM search string. See the following for more
49
+ # information:
50
+ # https://cloud.google.com/chronicle/docs/investigation/udm-search
51
+ # @!attribute [rw] outcome_filters
52
+ # @return [::Array<::Google::Cloud::Chronicle::V1::OutcomeFilter>]
53
+ # Optional. The outcome filters for the findings refinement. These allow you
54
+ # to specify filters that are applied to the outcome variables in the
55
+ # detection. All filters must be true for a detection to match the findings
56
+ # refinement.
57
+ class FindingsRefinement
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # The FindingsRefinementDeployment resource represents the deployment state of
63
+ # a findings refinement.
64
+ # @!attribute [rw] detection_exclusion_application
65
+ # @return [::Google::Cloud::Chronicle::V1::DetectionExclusionApplication]
66
+ # The resources which the detection exclusion is applied to.
67
+ # @!attribute [rw] name
68
+ # @return [::String]
69
+ # Required. The resource name of the findings refinement deployment.
70
+ # Format:
71
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}/deployment
72
+ # @!attribute [rw] enabled
73
+ # @return [::Boolean]
74
+ # Whether the findings refinement is currently deployed continuously against
75
+ # incoming findings.
76
+ # @!attribute [rw] archived
77
+ # @return [::Boolean]
78
+ # The archive state of the findings refinement deployment.
79
+ # Cannot be set to true unless enabled is set to false.
80
+ # If currently set to true, enabled cannot be updated to true.
81
+ # @!attribute [r] update_time
82
+ # @return [::Google::Protobuf::Timestamp]
83
+ # Output only. The timestamp when the findings refinement deployment was last
84
+ # updated.
85
+ class FindingsRefinementDeployment
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+
90
+ # Describes the detectors a detection exclusion is applied to.
91
+ # @!attribute [rw] curated_rule_sets
92
+ # @return [::Array<::String>]
93
+ # The CuratedRuleSets this detection exclusion applies to.
94
+ # Format:
95
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRuleSetCategories/\\{category}/curatedRuleSets/\\{rule_set}
96
+ # @!attribute [rw] curated_rules
97
+ # @return [::Array<::String>]
98
+ # The CuratedRules this detection exclusion applies to.
99
+ # Format:
100
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRules/\\{rule}
101
+ # @!attribute [rw] rules
102
+ # @return [::Array<::String>]
103
+ # Optional. The Rules this detection exclusion applies to.
104
+ # Format:
105
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/rules/\\{rule}
106
+ # @!attribute [r] deleted_curated_rule_sets
107
+ # @return [::Array<::String>]
108
+ # Output only. The deleted CuratedRuleSets this detection exclusion applies
109
+ # to. Indicates to the customer that the detection exclusion no longer
110
+ # applies to the rule sets, so the detection exclusion should be updated.
111
+ # Format:
112
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRuleSetCategories/\\{category}/curatedRuleSets/\\{rule_set}
113
+ class DetectionExclusionApplication
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # The activity for a specific findings refinement.
119
+ # @!attribute [rw] detection_exclusion_activity
120
+ # @return [::Google::Cloud::Chronicle::V1::DetectionExclusionActivity]
121
+ # The activity for the detection exclusion.
122
+ # @!attribute [rw] findings_refinement
123
+ # @return [::String]
124
+ # Required. Full resource name for the findings refinement this activity
125
+ # corresponds to. Format:
126
+ # projects/\\{project}/locations/\\{region}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}
127
+ class FindingsRefinementActivity
128
+ include ::Google::Protobuf::MessageExts
129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
130
+ end
131
+
132
+ # The activity for a findings refinement that is a detection exclusion. The
133
+ # activity is broken down per detector.
134
+ # @!attribute [rw] detection_exclusion_detector_activities
135
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DetectionExclusionActivity::DetectionExclusionDetectorActivity>]
136
+ # The activity for the detection exclusion broken down by detector.
137
+ class DetectionExclusionActivity
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+
141
+ # The activity for a findings refinement that is a detection exclusion broken
142
+ # down for one specific detector.
143
+ # @!attribute [rw] curated_rule
144
+ # @return [::String]
145
+ # Full resource name for the curated rule this activity corresponds to.
146
+ # Format:
147
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRules/\\{rule}
148
+ #
149
+ # Note: The following fields are mutually exclusive: `curated_rule`, `curated_rule_set`, `rule`, `deleted_curated_rule_set`. If a field in that set is populated, all other fields in the set will automatically be cleared.
150
+ # @!attribute [rw] curated_rule_set
151
+ # @return [::String]
152
+ # Full resource name for the curated rule set this activity corresponds
153
+ # to. This field will only be set if the customer has access to the
154
+ # curated rule set the exclusion is applied to.
155
+ # Format:
156
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRuleSetCategories/\\{curated_rule_set_category}/curatedRuleSets/\\{curated_rule_set}
157
+ #
158
+ # Note: The following fields are mutually exclusive: `curated_rule_set`, `curated_rule`, `rule`, `deleted_curated_rule_set`. If a field in that set is populated, all other fields in the set will automatically be cleared.
159
+ # @!attribute [rw] rule
160
+ # @return [::String]
161
+ # Full resource name for the rule this activity corresponds to.
162
+ # Format:
163
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/rules/\\{rule}
164
+ #
165
+ # Note: The following fields are mutually exclusive: `rule`, `curated_rule`, `curated_rule_set`, `deleted_curated_rule_set`. If a field in that set is populated, all other fields in the set will automatically be cleared.
166
+ # @!attribute [rw] deleted_curated_rule_set
167
+ # @return [::String]
168
+ # Full resource name for the deleted curated rule set this activity
169
+ # corresponds to. This field will only be set if the customer does
170
+ # not have access to the curated rule set the exclusion is applied to.
171
+ # Format:
172
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/curatedRuleSetCategories/\\{curated_rule_set_category}/curatedRuleSets/\\{curated_rule_set}
173
+ #
174
+ # Note: The following fields are mutually exclusive: `deleted_curated_rule_set`, `curated_rule`, `curated_rule_set`, `rule`. If a field in that set is populated, all other fields in the set will automatically be cleared.
175
+ # @!attribute [rw] excluded_detection_count
176
+ # @return [::Integer]
177
+ # The number of detections for the detector that were excluded by the
178
+ # detection exclusion.
179
+ # @!attribute [rw] total_detection_count
180
+ # @return [::Integer]
181
+ # The total number of detections found by the detector. This includes both
182
+ # excluded detections and non-excluded detections.
183
+ class DetectionExclusionDetectorActivity
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+ end
188
+
189
+ # Request message for GetFindingsRefinement method.
190
+ # @!attribute [rw] name
191
+ # @return [::String]
192
+ # Required. The name of the findings refinement to retrieve.
193
+ # Format:
194
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}
195
+ class GetFindingsRefinementRequest
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Request message for ListFindingsRefinements method.
201
+ # @!attribute [rw] parent
202
+ # @return [::String]
203
+ # Required. The parent, which owns this collection of findings refinements.
204
+ # Format:
205
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
206
+ # @!attribute [rw] page_size
207
+ # @return [::Integer]
208
+ # The maximum number of findings refinements to return. The service may
209
+ # return fewer than this value. If unspecified, at most 100 rules will be
210
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
211
+ # 1000.
212
+ # @!attribute [rw] page_token
213
+ # @return [::String]
214
+ # A page token, received from a previous `ListFindingsRefinements` call.
215
+ # Provide this to retrieve the subsequent page.
216
+ class ListFindingsRefinementsRequest
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+ end
220
+
221
+ # Response message for ListFindingsRefinements method.
222
+ # @!attribute [rw] findings_refinements
223
+ # @return [::Array<::Google::Cloud::Chronicle::V1::FindingsRefinement>]
224
+ # List of findings refinements.
225
+ # @!attribute [rw] next_page_token
226
+ # @return [::String]
227
+ # A token, which can be sent as `page_token` to retrieve the next page. If
228
+ # this field is omitted, there are no subsequent pages.
229
+ class ListFindingsRefinementsResponse
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # Request message for CreateFindingsRefinement method.
235
+ # @!attribute [rw] parent
236
+ # @return [::String]
237
+ # Required. The parent resource where this findings refinement will be
238
+ # created. Format:
239
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
240
+ # @!attribute [rw] findings_refinement
241
+ # @return [::Google::Cloud::Chronicle::V1::FindingsRefinement]
242
+ # Required. The findings refinement to create.
243
+ class CreateFindingsRefinementRequest
244
+ include ::Google::Protobuf::MessageExts
245
+ extend ::Google::Protobuf::MessageExts::ClassMethods
246
+ end
247
+
248
+ # Request message for UpdateFindingsRefinement method.
249
+ # @!attribute [rw] findings_refinement
250
+ # @return [::Google::Cloud::Chronicle::V1::FindingsRefinement]
251
+ # Required. The findings refinement to update.
252
+ #
253
+ # The findings refinement's `name` field is used to identify the findings
254
+ # refinement to update.
255
+ # Format:
256
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}
257
+ # @!attribute [rw] update_mask
258
+ # @return [::Google::Protobuf::FieldMask]
259
+ # Optional. The list of fields to update. If `*` is provided, all fields will
260
+ # be updated.
261
+ class UpdateFindingsRefinementRequest
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # Request message for GetFindingsRefinementDeployment method.
267
+ # @!attribute [rw] name
268
+ # @return [::String]
269
+ # Required. The name of the findings refinement to retrieve.
270
+ # Format:
271
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}/deployment
272
+ class GetFindingsRefinementDeploymentRequest
273
+ include ::Google::Protobuf::MessageExts
274
+ extend ::Google::Protobuf::MessageExts::ClassMethods
275
+ end
276
+
277
+ # Request message for UpdateFindingsRefinementDeployment method.
278
+ # @!attribute [rw] findings_refinement_deployment
279
+ # @return [::Google::Cloud::Chronicle::V1::FindingsRefinementDeployment]
280
+ # Required. The findings refinement deployment to update.
281
+ #
282
+ # The findings refinement deployment's `name` field is used to identify the
283
+ # findings refinement deployment to update.
284
+ # Format:
285
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}/deployment
286
+ # @!attribute [rw] update_mask
287
+ # @return [::Google::Protobuf::FieldMask]
288
+ # Required. The list of fields to update. If `*` is provided, all fields will
289
+ # be updated.
290
+ class UpdateFindingsRefinementDeploymentRequest
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # Request message for ListAllFindingsRefinementDeployments method.
296
+ # @!attribute [rw] instance
297
+ # @return [::String]
298
+ # Required. The name of the parent resource, which is the SecOps instance to
299
+ # list all findings refinement deployments over. Format:
300
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
301
+ # @!attribute [rw] page_size
302
+ # @return [::Integer]
303
+ # The maximum number of findings refinement deployments to return. The
304
+ # service may return fewer than this value. If unspecified, at most 100 rule
305
+ # deployments will be returned. The maximum value is 1000; values above 1000
306
+ # will be coerced to 1000.
307
+ # @!attribute [rw] page_token
308
+ # @return [::String]
309
+ # A page token, received from a previous
310
+ # `ListAllFindingsRefinementDeployments` call. Provide this to retrieve the
311
+ # subsequent page.
312
+ #
313
+ # When paginating, all other parameters provided to
314
+ # `ListAllFindingsRefinementDeployments` must match the call that provided
315
+ # the page token.
316
+ # @!attribute [rw] filter
317
+ # @return [::String]
318
+ # A filter that can be used to retrieve specific findings refinement
319
+ # deployments.
320
+ # Only the following filters are allowed:
321
+ # detection_exclusion_application.curated_rule_sets:"<curated_rule_set_name>"",
322
+ # detection_exclusion_application.curated_rules:"<curated_rule_name>"
323
+ class ListAllFindingsRefinementDeploymentsRequest
324
+ include ::Google::Protobuf::MessageExts
325
+ extend ::Google::Protobuf::MessageExts::ClassMethods
326
+ end
327
+
328
+ # Response message for ListAllFindingsRefinementDeployments method.
329
+ # @!attribute [rw] all_findings_refinement_deployments
330
+ # @return [::Array<::Google::Cloud::Chronicle::V1::FindingsRefinementDeployment>]
331
+ # List of all findings refinement deployments.
332
+ # @!attribute [rw] next_page_token
333
+ # @return [::String]
334
+ # A token, which can be sent as `page_token` to retrieve the next page. If
335
+ # this field is omitted, there are no subsequent pages.
336
+ class ListAllFindingsRefinementDeploymentsResponse
337
+ include ::Google::Protobuf::MessageExts
338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
339
+ end
340
+
341
+ # Outcome filter for the findings refinement. This is used to filter the
342
+ # findings refinement based on the outcome variable values.
343
+ # @!attribute [rw] outcome_variable
344
+ # @return [::String]
345
+ # Required. The outcome variable name.
346
+ # @!attribute [rw] outcome_value
347
+ # @return [::String]
348
+ # Required. The value of the outcome variable to match.
349
+ # @!attribute [rw] outcome_filter_operator
350
+ # @return [::Google::Cloud::Chronicle::V1::OutcomeFilter::Operator]
351
+ # Required. The operator to be applied to the outcome variable.
352
+ class OutcomeFilter
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+
356
+ # The operator to compare the outcome variable value with the outcome value
357
+ # in the outcome filter.
358
+ module Operator
359
+ # The operator is unspecified.
360
+ OPERATOR_UNSPECIFIED = 0
361
+
362
+ # The outcome variable value must be equal to the outcome value in the
363
+ # outcome filter.
364
+ EQUAL = 1
365
+
366
+ # The outcome variable value must contain the outcome value in the
367
+ # outcome filter.
368
+ CONTAINS = 2
369
+
370
+ # The outcome variable value must match the outcome value regex in the
371
+ # outcome filter.
372
+ MATCHES_REGEX = 3
373
+
374
+ # The outcome variable value must be a valid IP address in the outcome
375
+ # filter value CIDR range.
376
+ MATCHES_CIDR = 4
377
+ end
378
+ end
379
+
380
+ # Request message for ComputeFindingsRefinementActivity method.
381
+ # @!attribute [rw] name
382
+ # @return [::String]
383
+ # Required. Full resource name for the findings refinement to fetch the
384
+ # activity for. Format:
385
+ # projects/\\{project}/locations/\\{region}/instances/\\{instance}/findingsRefinements/\\{findings_refinement}
386
+ # @!attribute [rw] interval
387
+ # @return [::Google::Type::Interval]
388
+ # The time interval the activity is measured over.
389
+ class ComputeFindingsRefinementActivityRequest
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # Response message for ComputeFindingsRefinementActivity method.
395
+ # @!attribute [rw] activity
396
+ # @return [::Google::Cloud::Chronicle::V1::FindingsRefinementActivity]
397
+ # The activity for the findings refinement.
398
+ class ComputeFindingsRefinementActivityResponse
399
+ include ::Google::Protobuf::MessageExts
400
+ extend ::Google::Protobuf::MessageExts::ClassMethods
401
+ end
402
+
403
+ # Request message for ComputeAllFindingsRefinementActivities method.
404
+ # @!attribute [rw] instance
405
+ # @return [::String]
406
+ # Required. The ID of the Instance to retrieve counts for.
407
+ # Format:
408
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
409
+ # @!attribute [rw] interval
410
+ # @return [::Google::Type::Interval]
411
+ # The time interval the activity is measured over.
412
+ class ComputeAllFindingsRefinementActivitiesRequest
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
417
+ # Response message for ComputeAllFindingsRefinementActivities method.
418
+ # @!attribute [rw] activities
419
+ # @return [::Array<::Google::Cloud::Chronicle::V1::FindingsRefinementActivity>]
420
+ # The activities of all findings refinements.
421
+ class ComputeAllFindingsRefinementActivitiesResponse
422
+ include ::Google::Protobuf::MessageExts
423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
424
+ end
425
+
426
+ # The type of findings refinement, which determines what the findings
427
+ # refinement runs over and the mechanism by which it runs.
428
+ module FindingsRefinementType
429
+ # The findings refinement type is unspecified.
430
+ FINDINGS_REFINEMENT_TYPE_UNSPECIFIED = 0
431
+
432
+ # Indicates that the findings refinement is a detection exclusion and
433
+ # should exclude matching detections.
434
+ DETECTION_EXCLUSION = 1
435
+ end
436
+ end
437
+ end
438
+ end
439
+ end