google-cloud-chronicle-v1 0.5.0 → 0.7.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +5 -5
  4. data/lib/google/cloud/chronicle/v1/big_query_export_pb.rb +34 -0
  5. data/lib/google/cloud/chronicle/v1/big_query_export_service/client.rb +684 -0
  6. data/lib/google/cloud/chronicle/v1/big_query_export_service/credentials.rb +49 -0
  7. data/lib/google/cloud/chronicle/v1/big_query_export_service/paths.rb +71 -0
  8. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest/client.rb +620 -0
  9. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest/service_stub.rb +266 -0
  10. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest.rb +52 -0
  11. data/lib/google/cloud/chronicle/v1/big_query_export_service.rb +55 -0
  12. data/lib/google/cloud/chronicle/v1/big_query_export_services_pb.rb +51 -0
  13. data/lib/google/cloud/chronicle/v1/dashboard_chart_pb.rb +83 -0
  14. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/client.rb +586 -0
  15. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/credentials.rb +49 -0
  16. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/paths.rb +73 -0
  17. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest/client.rb +529 -0
  18. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest/service_stub.rb +203 -0
  19. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest.rb +52 -0
  20. data/lib/google/cloud/chronicle/v1/dashboard_chart_service.rb +55 -0
  21. data/lib/google/cloud/chronicle/v1/dashboard_chart_services_pb.rb +47 -0
  22. data/lib/google/cloud/chronicle/v1/dashboard_query_pb.rb +58 -0
  23. data/lib/google/cloud/chronicle/v1/dashboard_query_service/client.rb +591 -0
  24. data/lib/google/cloud/chronicle/v1/dashboard_query_service/credentials.rb +49 -0
  25. data/lib/google/cloud/chronicle/v1/dashboard_query_service/paths.rb +94 -0
  26. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest/client.rb +534 -0
  27. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest/service_stub.rb +204 -0
  28. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest.rb +52 -0
  29. data/lib/google/cloud/chronicle/v1/dashboard_query_service.rb +55 -0
  30. data/lib/google/cloud/chronicle/v1/dashboard_query_services_pb.rb +47 -0
  31. data/lib/google/cloud/chronicle/v1/data_access_control_service/client.rb +2 -0
  32. data/lib/google/cloud/chronicle/v1/data_access_control_service/rest/client.rb +2 -0
  33. data/lib/google/cloud/chronicle/v1/data_table_service/client.rb +2 -0
  34. data/lib/google/cloud/chronicle/v1/data_table_service/rest/client.rb +2 -0
  35. data/lib/google/cloud/chronicle/v1/entity_service/client.rb +2 -0
  36. data/lib/google/cloud/chronicle/v1/entity_service/rest/client.rb +2 -0
  37. data/lib/google/cloud/chronicle/v1/featured_content_metadata_pb.rb +25 -0
  38. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_pb.rb +33 -0
  39. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/client.rb +719 -0
  40. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/credentials.rb +49 -0
  41. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/paths.rb +136 -0
  42. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest/client.rb +655 -0
  43. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest/service_stub.rb +265 -0
  44. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest.rb +53 -0
  45. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service.rb +56 -0
  46. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_services_pb.rb +50 -0
  47. data/lib/google/cloud/chronicle/v1/instance_service/client.rb +2 -0
  48. data/lib/google/cloud/chronicle/v1/instance_service/rest/client.rb +2 -0
  49. data/lib/google/cloud/chronicle/v1/native_dashboard_pb.rb +61 -0
  50. data/lib/google/cloud/chronicle/v1/native_dashboard_service/client.rb +1613 -0
  51. data/lib/google/cloud/chronicle/v1/native_dashboard_service/credentials.rb +49 -0
  52. data/lib/google/cloud/chronicle/v1/native_dashboard_service/paths.rb +115 -0
  53. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest/client.rb +1486 -0
  54. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest/service_stub.rb +822 -0
  55. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest.rb +52 -0
  56. data/lib/google/cloud/chronicle/v1/native_dashboard_service.rb +55 -0
  57. data/lib/google/cloud/chronicle/v1/native_dashboard_services_pb.rb +67 -0
  58. data/lib/google/cloud/chronicle/v1/reference_list_service/client.rb +2 -0
  59. data/lib/google/cloud/chronicle/v1/reference_list_service/rest/client.rb +2 -0
  60. data/lib/google/cloud/chronicle/v1/rest.rb +6 -1
  61. data/lib/google/cloud/chronicle/v1/rule_service/client.rb +2 -0
  62. data/lib/google/cloud/chronicle/v1/rule_service/operations.rb +2 -0
  63. data/lib/google/cloud/chronicle/v1/rule_service/rest/client.rb +2 -0
  64. data/lib/google/cloud/chronicle/v1/rule_service/rest/operations.rb +2 -0
  65. data/lib/google/cloud/chronicle/v1/version.rb +1 -1
  66. data/lib/google/cloud/chronicle/v1.rb +7 -2
  67. data/proto_docs/google/cloud/chronicle/v1/big_query_export.rb +142 -0
  68. data/proto_docs/google/cloud/chronicle/v1/dashboard_chart.rb +923 -0
  69. data/proto_docs/google/cloud/chronicle/v1/dashboard_query.rb +653 -0
  70. data/proto_docs/google/cloud/chronicle/v1/featured_content_metadata.rb +82 -0
  71. data/proto_docs/google/cloud/chronicle/v1/featured_content_native_dashboard.rb +141 -0
  72. data/proto_docs/google/cloud/chronicle/v1/native_dashboard.rb +502 -0
  73. data/proto_docs/google/type/date.rb +56 -0
  74. metadata +56 -3
@@ -0,0 +1,653 @@
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
+ # DashboardQuery resource.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. Name of the dashboardQuery.
28
+ # @!attribute [rw] query
29
+ # @return [::String]
30
+ # Required. Search query string.
31
+ # @!attribute [rw] input
32
+ # @return [::Google::Cloud::Chronicle::V1::DashboardQuery::Input]
33
+ # Required. Inputs to the query.
34
+ # @!attribute [r] dashboard_chart
35
+ # @return [::String]
36
+ # Output only. DashboardChart this query belongs to.
37
+ # @!attribute [rw] etag
38
+ # @return [::String]
39
+ # Optional. This checksum is computed by the server based on the value of
40
+ # other fields, and may be sent on update and delete requests to ensure the
41
+ # client has an up-to-date value before proceeding.
42
+ class DashboardQuery
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+
46
+ # Input to the query like time window.
47
+ # @!attribute [rw] time_window
48
+ # @return [::Google::Type::Interval]
49
+ # time range to fetch the data for.
50
+ #
51
+ # Note: The following fields are mutually exclusive: `time_window`, `relative_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
52
+ # @!attribute [rw] relative_time
53
+ # @return [::Google::Cloud::Chronicle::V1::DashboardQuery::Input::RelativeTime]
54
+ # time range for last x units.
55
+ #
56
+ # Note: The following fields are mutually exclusive: `relative_time`, `time_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
57
+ class Input
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+
61
+ # time representation for last x units.
62
+ # @!attribute [rw] time_unit
63
+ # @return [::Google::Cloud::Chronicle::V1::TimeUnit]
64
+ # @!attribute [rw] start_time_val
65
+ # @return [::Integer]
66
+ class RelativeTime
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+ end
71
+ end
72
+
73
+ # Request message to get a dashboard query.
74
+ # @!attribute [rw] name
75
+ # @return [::String]
76
+ # Required. The name of the dashboardQuery to retrieve.
77
+ # Format:
78
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/dashboardQueries/\\{query}
79
+ class GetDashboardQueryRequest
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # Request message to execute a dashboard query.
85
+ # @!attribute [rw] parent
86
+ # @return [::String]
87
+ # Required. The parent, under which to run this dashboardQuery.
88
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
89
+ # @!attribute [rw] query
90
+ # @return [::Google::Cloud::Chronicle::V1::DashboardQuery]
91
+ # Required. The query to execute and get results back for.
92
+ # QueryID or 'query', 'input.time_window' fields will be used. Use
93
+ # 'native_dashboard' and 'dashboard_chart' fields if it is an in-dashboard
94
+ # query.
95
+ # @!attribute [rw] filters
96
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DashboardFilter>]
97
+ # Optional. Dashboard level filters other than query string.
98
+ # @!attribute [rw] clear_cache
99
+ # @return [::Boolean]
100
+ # Optional. When true, the backend would read from the database, rather than
101
+ # fetching data directly from the cache.
102
+ # @!attribute [rw] use_previous_time_range
103
+ # @return [::Boolean]
104
+ # Optional. When true, the backend will execute the query against the
105
+ # previous time range of the query.
106
+ class ExecuteDashboardQueryRequest
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # Runtime error for a dashboard query.
112
+ # @!attribute [rw] error_title
113
+ # @return [::String]
114
+ # Short Description of the error.
115
+ # @!attribute [rw] error_description
116
+ # @return [::String]
117
+ # Error message
118
+ # @!attribute [rw] error_severity
119
+ # @return [::Google::Cloud::Chronicle::V1::QueryRuntimeError::ErrorSeverity]
120
+ # Severity of the error.
121
+ # @!attribute [rw] metadata
122
+ # @return [::Array<::Google::Cloud::Chronicle::V1::QueryRuntimeError::QueryRuntimeErrorMetadata>]
123
+ # Metadata for the error.
124
+ # @!attribute [rw] warning_reason
125
+ # @return [::Google::Cloud::Chronicle::V1::QueryRuntimeError::WarningReason]
126
+ # Reason for the error.
127
+ class QueryRuntimeError
128
+ include ::Google::Protobuf::MessageExts
129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
130
+
131
+ # Metadata for the error.
132
+ # @!attribute [rw] key
133
+ # @return [::Google::Cloud::Chronicle::V1::QueryRuntimeError::MetadataKey]
134
+ # Metadata key.
135
+ # @!attribute [rw] value
136
+ # @return [::String]
137
+ # Metadata value.
138
+ class QueryRuntimeErrorMetadata
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+ end
142
+
143
+ # Based on ErrorSeverity, UI will choose to format the error differently.
144
+ module ErrorSeverity
145
+ # Severity is unknown.
146
+ ERROR_SEVERITY_UNSPECIFIED = 0
147
+
148
+ # Severity is warning.
149
+ WARNING = 1
150
+
151
+ # Error is severe.
152
+ SEVERE = 2
153
+ end
154
+
155
+ # Metadata enum to identify the metadata key.
156
+ module MetadataKey
157
+ # Key is unknown.
158
+ METADATA_KEY_UNSPECIFIED = 0
159
+
160
+ # Key is row limit.
161
+ ROW_LIMIT = 1
162
+ end
163
+
164
+ # Warning reason.
165
+ module WarningReason
166
+ # Reason is unknown.
167
+ WARNING_REASON_UNSPECIFIED = 0
168
+
169
+ # Reason is row limit exceeded.
170
+ ROW_LIMIT_EXCEEDED = 1
171
+
172
+ # Reason is default row limit exceeded.
173
+ DEFAULT_ROW_LIMIT_EXCEEDED = 2
174
+
175
+ # Reason is curated query default row limit exceeded.
176
+ CURATED_QUERY_DEFAULT_ROW_LIMIT_EXCEEDED = 3
177
+ end
178
+ end
179
+
180
+ # Response message for executing a dashboard query.
181
+ # @!attribute [rw] results
182
+ # @return [::Array<::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnData>]
183
+ # Result rows that are queried.
184
+ # @!attribute [rw] data_sources
185
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DataSource>]
186
+ # Datasource of the query and results.
187
+ # @!attribute [rw] last_backend_cache_refreshed_time
188
+ # @return [::Google::Protobuf::Timestamp]
189
+ # Optional. Last time the cache was refreshed. This would be used by the UI
190
+ # to show the last updated time.
191
+ # @!attribute [rw] time_window
192
+ # @return [::Google::Type::Interval]
193
+ # Time window against which query was executed.
194
+ # @!attribute [rw] query_runtime_errors
195
+ # @return [::Array<::Google::Cloud::Chronicle::V1::QueryRuntimeError>]
196
+ # Runtime errors
197
+ # @!attribute [rw] language_features
198
+ # @return [::Array<::Google::Cloud::Chronicle::V1::LanguageFeature>]
199
+ # Optional. Language features found in the query.
200
+ class ExecuteDashboardQueryResponse
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+
204
+ # LINT.IfChange(stats_data)
205
+ # Value of the column based on data type.
206
+ # @!attribute [rw] null_val
207
+ # @return [::Boolean]
208
+ # True if the value is NULL.
209
+ #
210
+ # Note: The following fields are mutually exclusive: `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
211
+ # @!attribute [rw] bool_val
212
+ # @return [::Boolean]
213
+ # Boolean value.
214
+ #
215
+ # Note: The following fields are mutually exclusive: `bool_val`, `null_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
216
+ # @!attribute [rw] bytes_val
217
+ # @return [::String]
218
+ # Bytes value.
219
+ #
220
+ # Note: The following fields are mutually exclusive: `bytes_val`, `null_val`, `bool_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
221
+ # @!attribute [rw] double_val
222
+ # @return [::Float]
223
+ # Double value.
224
+ #
225
+ # Note: The following fields are mutually exclusive: `double_val`, `null_val`, `bool_val`, `bytes_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
226
+ # @!attribute [rw] int64_val
227
+ # @return [::Integer]
228
+ # Integer value (signed).
229
+ #
230
+ # Note: The following fields are mutually exclusive: `int64_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
231
+ # @!attribute [rw] uint64_val
232
+ # @return [::Integer]
233
+ # Un-signed integer value.
234
+ #
235
+ # Note: The following fields are mutually exclusive: `uint64_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `string_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
236
+ # @!attribute [rw] string_val
237
+ # @return [::String]
238
+ # String value. Enum values are returned as strings.
239
+ #
240
+ # Note: The following fields are mutually exclusive: `string_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `timestamp_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
241
+ # @!attribute [rw] timestamp_val
242
+ # @return [::Google::Protobuf::Timestamp]
243
+ # Timestamp values. Does not handle `interval`.
244
+ #
245
+ # Note: The following fields are mutually exclusive: `timestamp_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `date_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
246
+ # @!attribute [rw] date_val
247
+ # @return [::Google::Type::Date]
248
+ # Date values.
249
+ #
250
+ # Note: The following fields are mutually exclusive: `date_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `proto_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
251
+ # @!attribute [rw] proto_val
252
+ # @return [::Google::Protobuf::Any]
253
+ # For any proto values that are not any of the above.
254
+ #
255
+ # Note: The following fields are mutually exclusive: `proto_val`, `null_val`, `bool_val`, `bytes_val`, `double_val`, `int64_val`, `uint64_val`, `string_val`, `timestamp_val`, `date_val`. If a field in that set is populated, all other fields in the set will automatically be cleared.
256
+ # @!attribute [rw] metadata
257
+ # @return [::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnValue::ValueMetadata]
258
+ class ColumnValue
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+
262
+ # @!attribute [rw] links
263
+ # @return [::Array<::Google::Cloud::Chronicle::V1::InAppLink>]
264
+ # "Auto" generated In-app links.
265
+ # @!attribute [rw] field_paths
266
+ # @return [::Array<::String>]
267
+ # @!attribute [rw] timestamp_val
268
+ # @return [::Google::Protobuf::Timestamp]
269
+ # Timestamp value to store the timestamp for the case of the date and
270
+ # time data type.
271
+ class ValueMetadata
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+ end
276
+
277
+ # Singular vs list of values in a column.
278
+ # @!attribute [rw] value
279
+ # @return [::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnValue]
280
+ # Single value in a column.
281
+ #
282
+ # Note: The following fields are mutually exclusive: `value`, `list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
283
+ # @!attribute [rw] list
284
+ # @return [::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnType::List]
285
+ # List of values in a column e.g. IPs
286
+ #
287
+ # Note: The following fields are mutually exclusive: `list`, `value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
288
+ class ColumnType
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+
292
+ # Store list of values in a column.
293
+ # @!attribute [rw] values
294
+ # @return [::Array<::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnValue>]
295
+ class List
296
+ include ::Google::Protobuf::MessageExts
297
+ extend ::Google::Protobuf::MessageExts::ClassMethods
298
+ end
299
+ end
300
+
301
+ # @!attribute [rw] column
302
+ # @return [::String]
303
+ # Used to store column names.
304
+ # @!attribute [rw] values
305
+ # @return [::Array<::Google::Cloud::Chronicle::V1::ExecuteDashboardQueryResponse::ColumnType>]
306
+ # To store column data.
307
+ # @!attribute [rw] metadata
308
+ # @return [::Google::Cloud::Chronicle::V1::ColumnMetadata]
309
+ # To store column metadata.
310
+ class ColumnData
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+ end
315
+
316
+ # Dashboard level filter that can be used in native dashboards as well as
317
+ # inputs to execute query.
318
+ # @!attribute [rw] id
319
+ # @return [::String]
320
+ # ID of the filter.
321
+ # @!attribute [rw] data_source
322
+ # @return [::Google::Cloud::Chronicle::V1::DataSource]
323
+ # Datasource the filter is applicable for.
324
+ # @!attribute [rw] field_path
325
+ # @return [::String]
326
+ # Filter field path.
327
+ # @!attribute [rw] filter_operator_and_field_values
328
+ # @return [::Array<::Google::Cloud::Chronicle::V1::FilterOperatorAndValues>]
329
+ # Operator and values. Can include multiple modifiers.
330
+ # @!attribute [rw] display_name
331
+ # @return [::String]
332
+ # Display name of the filter.
333
+ # @!attribute [rw] chart_ids
334
+ # @return [::Array<::String>]
335
+ # Chart IDs the filter is applicable for.
336
+ # @!attribute [rw] is_standard_time_range_filter
337
+ # @return [::Boolean]
338
+ # Optional. Whether the filter is a standard time range filter,
339
+ # meaning that it has to be used as the query time range,
340
+ # and not as a predicate in the query.
341
+ # A chart can have at most one standard time range filter applied.
342
+ # @!attribute [rw] is_mandatory
343
+ # @return [::Boolean]
344
+ # Optional. Whether this filter is required to be populated by the
345
+ # dashboard consumer prior to the dashboard loading.
346
+ # @!attribute [rw] is_standard_time_range_filter_enabled
347
+ # @return [::Boolean]
348
+ # Optional. Whether this standard time range filter is enabled.
349
+ # @!attribute [rw] advanced_filter_config
350
+ # @return [::Google::Cloud::Chronicle::V1::AdvancedFilterConfig]
351
+ # Optional. Advanced filter configuration for the filter widget.
352
+ class DashboardFilter
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+ end
356
+
357
+ # @!attribute [rw] filter_operator
358
+ # @return [::Google::Cloud::Chronicle::V1::FilterOperator]
359
+ # Operator for a single filter modifier.
360
+ # @!attribute [rw] field_values
361
+ # @return [::Array<::String>]
362
+ # Values for the modifier. All operators should have a single value other
363
+ # than 'IN' and 'BETWEEN'. 'PAST' will have negative seconds
364
+ # like -86400 is past 1 day.
365
+ class FilterOperatorAndValues
366
+ include ::Google::Protobuf::MessageExts
367
+ extend ::Google::Protobuf::MessageExts::ClassMethods
368
+ end
369
+
370
+ # Advanced filter configuration for the filter widget.
371
+ # @!attribute [rw] token
372
+ # @return [::String]
373
+ # Required. The token name to look for in the query (e.g., "hostname").
374
+ # The system will automatically wrap this in '$' (e.g., "$hostname$").
375
+ # @!attribute [rw] prefix
376
+ # @return [::String]
377
+ # Optional. String to prepend to the final replaced value (e.g., "/", "^(",
378
+ # "\"").
379
+ # @!attribute [rw] suffix
380
+ # @return [::String]
381
+ # Optional. String to append to the final replaced value (e.g., "/", ")$",
382
+ # "\"").
383
+ # @!attribute [rw] separator
384
+ # @return [::String]
385
+ # Optional. Delimiter to join multiple selected values (e.g., "|", " OR field
386
+ # = ").
387
+ # @!attribute [rw] multiple_allowed
388
+ # @return [::Boolean]
389
+ # Optional. Whether to allow selection of multiple values.
390
+ # @!attribute [rw] default_values
391
+ # @return [::Array<::String>]
392
+ # Optional. Default values to use if no value is selected/provided.
393
+ # @!attribute [rw] skip_default_affixes
394
+ # @return [::Boolean]
395
+ # Optional. Whether to skip the configured prefix and suffix when using
396
+ # default values. If true, default values are inserted raw (joined by the
397
+ # separator).
398
+ # @!attribute [rw] value_source
399
+ # @return [::Google::Cloud::Chronicle::V1::AdvancedFilterConfig::ValueSource]
400
+ # Required. Source of the values for the filter.
401
+ class AdvancedFilterConfig
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+
405
+ # Source of the values for the filter.
406
+ # @!attribute [rw] manual_options
407
+ # @return [::Google::Cloud::Chronicle::V1::AdvancedFilterConfig::ManualOptions]
408
+ # Optional. Manual options provided by the user.
409
+ #
410
+ # Note: The following fields are mutually exclusive: `manual_options`, `query_options`. If a field in that set is populated, all other fields in the set will automatically be cleared.
411
+ # @!attribute [rw] query_options
412
+ # @return [::Google::Cloud::Chronicle::V1::AdvancedFilterConfig::QueryOptions]
413
+ # Optional. Query options to fetch the values from the query engine.
414
+ # This is used for the filter's population query.
415
+ #
416
+ # Note: The following fields are mutually exclusive: `query_options`, `manual_options`. If a field in that set is populated, all other fields in the set will automatically be cleared.
417
+ class ValueSource
418
+ include ::Google::Protobuf::MessageExts
419
+ extend ::Google::Protobuf::MessageExts::ClassMethods
420
+ end
421
+
422
+ # Manual options provided by the user.
423
+ # @!attribute [rw] options
424
+ # @return [::Array<::String>]
425
+ # Optional. The options provided by the user.
426
+ # The max number of options is limited to 10000.
427
+ class ManualOptions
428
+ include ::Google::Protobuf::MessageExts
429
+ extend ::Google::Protobuf::MessageExts::ClassMethods
430
+ end
431
+
432
+ # Query options to fetch the values from the query engine.
433
+ # This is used for the filter's population query.
434
+ # @!attribute [rw] query
435
+ # @return [::String]
436
+ # Required. The query to execute to fetch the values.
437
+ # @!attribute [rw] column
438
+ # @return [::String]
439
+ # Required. The column name to use for the values.
440
+ # @!attribute [rw] global_time_filter_enabled
441
+ # @return [::Boolean]
442
+ # Optional. Enable global time filter
443
+ # @!attribute [rw] input
444
+ # @return [::Google::Cloud::Chronicle::V1::DashboardQuery::Input]
445
+ # Optional. Time range input specifically for the filter's population
446
+ # query.
447
+ class QueryOptions
448
+ include ::Google::Protobuf::MessageExts
449
+ extend ::Google::Protobuf::MessageExts::ClassMethods
450
+ end
451
+ end
452
+
453
+ # In app linking start
454
+ # @!attribute [rw] url
455
+ # @return [::String]
456
+ # URL to redirect to.
457
+ # @!attribute [rw] label
458
+ # @return [::String]
459
+ # Label for the link.
460
+ # @!attribute [rw] icon_url
461
+ # @return [::String]
462
+ # Icon url for the link.
463
+ class InAppLink
464
+ include ::Google::Protobuf::MessageExts
465
+ extend ::Google::Protobuf::MessageExts::ClassMethods
466
+ end
467
+
468
+ # Metadata of the column.
469
+ # @!attribute [rw] column
470
+ # @return [::String]
471
+ # Name of the column.
472
+ # @!attribute [rw] field_path
473
+ # @return [::String]
474
+ # Field path of the queried field, if any.
475
+ # @!attribute [rw] function_name
476
+ # @return [::String]
477
+ # Name of the function used to query the field, if any.
478
+ # @!attribute [rw] function_module
479
+ # @return [::String]
480
+ # Module of the function used to query the field, if any.
481
+ # @!attribute [rw] data_source
482
+ # @return [::Google::Cloud::Chronicle::V1::DataSource]
483
+ # Data source queried.
484
+ # @!attribute [rw] timestamp_metadata
485
+ # @return [::Google::Cloud::Chronicle::V1::TimestampMetadata]
486
+ # Timestamp Metadata
487
+ # @!attribute [rw] longitude
488
+ # @return [::Boolean]
489
+ # Whether the column is a longitude field.
490
+ # @!attribute [rw] latitude
491
+ # @return [::Boolean]
492
+ # Whether the column is a latitude field.
493
+ # @!attribute [rw] selected
494
+ # @return [::Boolean]
495
+ # Whether the column is selected in the final response.
496
+ # @!attribute [rw] unselected
497
+ # @return [::Boolean]
498
+ # Whether the column is unselected in the final response.
499
+ class ColumnMetadata
500
+ include ::Google::Protobuf::MessageExts
501
+ extend ::Google::Protobuf::MessageExts::ClassMethods
502
+ end
503
+
504
+ # Metadata of the timestamp column.
505
+ # @!attribute [rw] time_format
506
+ # @return [::String]
507
+ # Time format of the timestamp column.
508
+ # @!attribute [rw] time_zone
509
+ # @return [::String]
510
+ # Time zone of the timestamp column.
511
+ # @!attribute [rw] time_granularity
512
+ # @return [::String]
513
+ # Time granularity of the timestamp column.
514
+ # @!attribute [rw] is_sortable
515
+ # @return [::Boolean]
516
+ # Whether the timestamp column is sortable in UI.
517
+ # @!attribute [rw] is_interpolable
518
+ # @return [::Boolean]
519
+ # Whether the timestamp column is interpolable in UI.
520
+ class TimestampMetadata
521
+ include ::Google::Protobuf::MessageExts
522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
523
+ end
524
+
525
+ # A language feature describes a specific capability or syntax of the query
526
+ # language used in a dashboard query, such as `JOINS`, `STAGES`, or
527
+ # `DATA_TABLES`.
528
+ module LanguageFeature
529
+ # Language feature is unknown.
530
+ LANGUAGE_FEATURE_UNSPECIFIED = 0
531
+
532
+ # Language feature is joins.
533
+ JOINS = 1
534
+
535
+ # Language feature is stages.
536
+ STAGES = 2
537
+
538
+ # Language feature is data table.
539
+ DATA_TABLES = 3
540
+ end
541
+
542
+ module FilterOperator
543
+ # Default unspecified.
544
+ FILTER_OPERATOR_UNSPECIFIED = 0
545
+
546
+ EQUAL = 1
547
+
548
+ NOT_EQUAL = 2
549
+
550
+ IN = 3
551
+
552
+ GREATER_THAN = 4
553
+
554
+ GREATER_THAN_OR_EQUAL_TO = 5
555
+
556
+ LESS_THAN = 6
557
+
558
+ LESS_THAN_OR_EQUAL_TO = 7
559
+
560
+ BETWEEN = 8
561
+
562
+ PAST = 9
563
+
564
+ IS_NULL = 10
565
+
566
+ IS_NOT_NULL = 11
567
+
568
+ STARTS_WITH = 12
569
+
570
+ ENDS_WITH = 13
571
+
572
+ DOES_NOT_STARTS_WITH = 14
573
+
574
+ DOES_NOT_ENDS_WITH = 15
575
+
576
+ NOT_IN = 16
577
+
578
+ # CONTAINS is used for substring match.
579
+ CONTAINS = 17
580
+
581
+ # Used if we want to check if the field does not contain the substring.
582
+ DOES_NOT_CONTAIN = 18
583
+ end
584
+
585
+ # LINT.IfChange(data_sources)
586
+ module DataSource
587
+ DATA_SOURCE_UNSPECIFIED = 0
588
+
589
+ UDM = 1
590
+
591
+ ENTITY = 2
592
+
593
+ INGESTION_METRICS = 3
594
+
595
+ # RULE_DETECTIONS is used for detections datasource.
596
+ RULE_DETECTIONS = 4
597
+
598
+ # RULESETS is used for ruleset with detections datasource.
599
+ RULESETS = 5
600
+
601
+ # GLOBAL is used for standard time range filter.
602
+ GLOBAL = 6
603
+
604
+ # IOC_MATCHES is used for ioc_matches datasource.
605
+ IOC_MATCHES = 7
606
+
607
+ # RULES is used for rules datasource.
608
+ RULES = 8
609
+
610
+ # SOAR Cases - identified as `case`.
611
+ SOAR_CASES = 9
612
+
613
+ # SOAR Playbooks - identified as `playbook`.
614
+ SOAR_PLAYBOOKS = 10
615
+
616
+ # SOAR Case History - identified as `case_history`.
617
+ SOAR_CASE_HISTORY = 11
618
+
619
+ # DATA_TABLE is used for data tables source.
620
+ DATA_TABLE = 12
621
+
622
+ # INVESTIGATION is used as the data source for triage agent investigations.
623
+ # Identified as `gemini_investigation`.
624
+ INVESTIGATION = 13
625
+
626
+ # INVESTIGATION_FEEDBACK is used as the data source for user feedback on
627
+ # triage agent investigations. Identified as `gemini_investigation_feedback`.
628
+ INVESTIGATION_FEEDBACK = 14
629
+ end
630
+
631
+ # TimeUnit supported for PAST filter operator.
632
+ module TimeUnit
633
+ # Default unspecified.
634
+ TIME_UNIT_UNSPECIFIED = 0
635
+
636
+ SECOND = 1
637
+
638
+ MINUTE = 2
639
+
640
+ HOUR = 3
641
+
642
+ DAY = 4
643
+
644
+ WEEK = 5
645
+
646
+ MONTH = 6
647
+
648
+ YEAR = 7
649
+ end
650
+ end
651
+ end
652
+ end
653
+ end