1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5#[repr(i32)]
6pub enum VariableDisplayTypeV2 {
7 Unspecified = 0,
8 LabelValue = 1,
9 Value = 2,
10 Nothing = 3,
11}
12impl VariableDisplayTypeV2 {
13 pub fn as_str_name(&self) -> &'static str {
18 match self {
19 Self::Unspecified => "VARIABLE_DISPLAY_TYPE_V2_UNSPECIFIED",
20 Self::LabelValue => "VARIABLE_DISPLAY_TYPE_V2_LABEL_VALUE",
21 Self::Value => "VARIABLE_DISPLAY_TYPE_V2_VALUE",
22 Self::Nothing => "VARIABLE_DISPLAY_TYPE_V2_NOTHING",
23 }
24 }
25 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
27 match value {
28 "VARIABLE_DISPLAY_TYPE_V2_UNSPECIFIED" => Some(Self::Unspecified),
29 "VARIABLE_DISPLAY_TYPE_V2_LABEL_VALUE" => Some(Self::LabelValue),
30 "VARIABLE_DISPLAY_TYPE_V2_VALUE" => Some(Self::Value),
31 "VARIABLE_DISPLAY_TYPE_V2_NOTHING" => Some(Self::Nothing),
32 _ => None,
33 }
34 }
35}
36#[derive(serde::Serialize, serde::Deserialize)]
37#[serde(rename_all = "snake_case")]
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct VariableSourceV2 {
40 #[prost(oneof = "variable_source_v2::Value", tags = "1, 2, 3")]
41 pub value: ::core::option::Option<variable_source_v2::Value>,
42}
43pub mod variable_source_v2 {
45 #[derive(serde::Serialize, serde::Deserialize)]
46 #[serde(rename_all = "snake_case")]
47 #[derive(Clone, PartialEq, ::prost::Message)]
48 pub struct TextboxSource {
49 #[prost(message, optional, tag = "1")]
50 pub default_value: ::core::option::Option<textbox_source::TextboxDefaultValue>,
51 }
52 pub mod textbox_source {
54 #[derive(serde::Serialize, serde::Deserialize)]
55 #[serde(rename_all = "snake_case")]
56 #[derive(Clone, PartialEq, ::prost::Message)]
57 pub struct TextboxDefaultValue {
58 #[prost(oneof = "textbox_default_value::Value", tags = "1, 2")]
59 pub value: ::core::option::Option<textbox_default_value::Value>,
60 }
61 pub mod textbox_default_value {
63 #[derive(serde::Serialize, serde::Deserialize)]
64 #[serde(rename_all = "snake_case")]
65 #[derive(Clone, PartialEq, ::prost::Oneof)]
66 pub enum Value {
67 #[prost(message, tag = "1")]
68 SingleString(::prost::alloc::string::String),
69 #[prost(message, tag = "2")]
70 SingleNumeric(f32),
71 }
72 }
73 }
74 #[derive(serde::Serialize, serde::Deserialize)]
75 #[serde(rename_all = "snake_case")]
76 #[derive(Clone, PartialEq, ::prost::Message)]
77 pub struct StaticSource {
78 #[prost(message, repeated, tag = "1")]
79 pub values: ::prost::alloc::vec::Vec<static_source::ValueLabel>,
80 #[prost(enumeration = "super::super::super::common::OrderDirection", tag = "2")]
81 pub values_order_direction: i32,
82 #[prost(message, optional, tag = "3")]
83 pub all_option: ::core::option::Option<AllOption>,
84 }
85 pub mod static_source {
87 #[derive(serde::Serialize, serde::Deserialize)]
88 #[serde(rename_all = "snake_case")]
89 #[derive(Clone, PartialEq, ::prost::Message)]
90 pub struct ValueLabel {
91 #[prost(message, optional, tag = "1")]
92 pub value: ::core::option::Option<::prost::alloc::string::String>,
93 #[prost(message, optional, tag = "2")]
94 pub label: ::core::option::Option<::prost::alloc::string::String>,
95 #[prost(message, optional, tag = "3")]
96 pub is_default: ::core::option::Option<bool>,
97 }
98 }
99 #[derive(serde::Serialize, serde::Deserialize)]
100 #[serde(rename_all = "snake_case")]
101 #[derive(Clone, PartialEq, ::prost::Message)]
102 pub struct QuerySource {
103 #[prost(enumeration = "super::super::super::common::OrderDirection", tag = "5")]
104 pub values_order_direction: i32,
105 #[prost(enumeration = "RefreshStrategy", tag = "6")]
106 pub refresh_strategy: i32,
107 #[prost(message, optional, tag = "7")]
108 pub value_display_options: ::core::option::Option<ValueDisplayOptions>,
109 #[prost(message, optional, tag = "8")]
110 pub all_option: ::core::option::Option<AllOption>,
111 #[prost(oneof = "query_source::Value", tags = "1, 2, 3, 4")]
112 pub value: ::core::option::Option<query_source::Value>,
113 }
114 pub mod query_source {
116 #[derive(serde::Serialize, serde::Deserialize)]
117 #[serde(rename_all = "snake_case")]
118 #[derive(Clone, PartialEq, ::prost::Message)]
119 pub struct LogsQuery {
120 #[prost(message, optional, tag = "1")]
121 pub r#type: ::core::option::Option<logs_query::Type>,
122 }
123 pub mod logs_query {
125 #[derive(serde::Serialize, serde::Deserialize)]
126 #[serde(rename_all = "snake_case")]
127 #[derive(Clone, PartialEq, ::prost::Message)]
128 pub struct Type {
129 #[prost(oneof = "r#type::Value", tags = "1, 2")]
130 pub value: ::core::option::Option<r#type::Value>,
131 }
132 pub mod r#type {
134 #[derive(serde::Serialize, serde::Deserialize)]
135 #[serde(rename_all = "snake_case")]
136 #[derive(Clone, PartialEq, ::prost::Message)]
137 pub struct FieldName {
138 #[prost(message, optional, tag = "1")]
139 pub log_regex: ::core::option::Option<
140 ::prost::alloc::string::String,
141 >,
142 }
143 #[derive(serde::Serialize, serde::Deserialize)]
144 #[serde(rename_all = "snake_case")]
145 #[derive(Clone, PartialEq, ::prost::Message)]
146 pub struct FieldValue {
147 #[prost(message, optional, tag = "3")]
148 pub observation_field: ::core::option::Option<
149 super::super::super::super::super::super::common::ObservationField,
150 >,
151 }
152 #[derive(serde::Serialize, serde::Deserialize)]
153 #[serde(rename_all = "snake_case")]
154 #[derive(Clone, PartialEq, ::prost::Oneof)]
155 pub enum Value {
156 #[prost(message, tag = "1")]
157 FieldName(FieldName),
158 #[prost(message, tag = "2")]
159 FieldValue(FieldValue),
160 }
161 }
162 }
163 #[derive(serde::Serialize, serde::Deserialize)]
164 #[serde(rename_all = "snake_case")]
165 #[derive(Clone, PartialEq, ::prost::Message)]
166 pub struct SpansQuery {
167 #[prost(message, optional, tag = "1")]
168 pub r#type: ::core::option::Option<spans_query::Type>,
169 }
170 pub mod spans_query {
172 #[derive(serde::Serialize, serde::Deserialize)]
173 #[serde(rename_all = "snake_case")]
174 #[derive(Clone, PartialEq, ::prost::Message)]
175 pub struct Type {
176 #[prost(oneof = "r#type::Value", tags = "1, 2")]
177 pub value: ::core::option::Option<r#type::Value>,
178 }
179 pub mod r#type {
181 #[derive(serde::Serialize, serde::Deserialize)]
182 #[serde(rename_all = "snake_case")]
183 #[derive(Clone, PartialEq, ::prost::Message)]
184 pub struct FieldName {
185 #[prost(message, optional, tag = "1")]
186 pub span_regex: ::core::option::Option<
187 ::prost::alloc::string::String,
188 >,
189 }
190 #[derive(serde::Serialize, serde::Deserialize)]
191 #[serde(rename_all = "snake_case")]
192 #[derive(Clone, PartialEq, ::prost::Message)]
193 pub struct FieldValue {
194 #[prost(message, optional, tag = "1")]
195 pub value: ::core::option::Option<
196 super::super::super::super::super::super::common::SpanField,
197 >,
198 #[prost(message, optional, tag = "2")]
199 pub observation_field: ::core::option::Option<
200 super::super::super::super::super::super::common::ObservationField,
201 >,
202 }
203 #[derive(serde::Serialize, serde::Deserialize)]
204 #[serde(rename_all = "snake_case")]
205 #[derive(Clone, PartialEq, ::prost::Oneof)]
206 pub enum Value {
207 #[prost(message, tag = "1")]
208 FieldName(FieldName),
209 #[prost(message, tag = "2")]
210 FieldValue(FieldValue),
211 }
212 }
213 }
214 #[derive(serde::Serialize, serde::Deserialize)]
215 #[serde(rename_all = "snake_case")]
216 #[derive(Clone, PartialEq, ::prost::Message)]
217 pub struct MetricsQuery {
218 #[prost(message, optional, tag = "1")]
219 pub r#type: ::core::option::Option<metrics_query::Type>,
220 }
221 pub mod metrics_query {
223 #[derive(serde::Serialize, serde::Deserialize)]
224 #[serde(rename_all = "snake_case")]
225 #[derive(Clone, PartialEq, ::prost::Message)]
226 pub struct Type {
227 #[prost(oneof = "r#type::Value", tags = "1, 2, 3")]
228 pub value: ::core::option::Option<r#type::Value>,
229 }
230 pub mod r#type {
232 #[derive(serde::Serialize, serde::Deserialize)]
233 #[serde(rename_all = "snake_case")]
234 #[derive(Clone, PartialEq, ::prost::Message)]
235 pub struct MetricName {
236 #[prost(message, optional, tag = "1")]
237 pub metric_regex: ::core::option::Option<
238 ::prost::alloc::string::String,
239 >,
240 }
241 #[derive(serde::Serialize, serde::Deserialize)]
242 #[serde(rename_all = "snake_case")]
243 #[derive(Clone, PartialEq, ::prost::Message)]
244 pub struct LabelName {
245 #[prost(message, optional, tag = "1")]
246 pub metric_regex: ::core::option::Option<
247 ::prost::alloc::string::String,
248 >,
249 }
250 #[derive(serde::Serialize, serde::Deserialize)]
251 #[serde(rename_all = "snake_case")]
252 #[derive(Clone, PartialEq, ::prost::Message)]
253 pub struct LabelValue {
254 #[prost(message, optional, tag = "1")]
255 pub metric_name: ::core::option::Option<super::StringOrVariable>,
256 #[prost(message, optional, tag = "2")]
257 pub label_name: ::core::option::Option<super::StringOrVariable>,
258 #[prost(message, repeated, tag = "3")]
259 pub label_filters: ::prost::alloc::vec::Vec<
260 super::MetricsLabelFilter,
261 >,
262 }
263 #[derive(serde::Serialize, serde::Deserialize)]
264 #[serde(rename_all = "snake_case")]
265 #[derive(Clone, PartialEq, ::prost::Oneof)]
266 pub enum Value {
267 #[prost(message, tag = "1")]
268 MetricName(MetricName),
269 #[prost(message, tag = "2")]
270 LabelName(LabelName),
271 #[prost(message, tag = "3")]
272 LabelValue(LabelValue),
273 }
274 }
275 #[derive(serde::Serialize, serde::Deserialize)]
276 #[serde(rename_all = "snake_case")]
277 #[derive(Clone, PartialEq, ::prost::Message)]
278 pub struct StringOrVariable {
279 #[prost(oneof = "string_or_variable::Value", tags = "1, 2")]
280 pub value: ::core::option::Option<string_or_variable::Value>,
281 }
282 pub mod string_or_variable {
284 #[derive(serde::Serialize, serde::Deserialize)]
285 #[serde(rename_all = "snake_case")]
286 #[derive(Clone, PartialEq, ::prost::Oneof)]
287 pub enum Value {
288 #[prost(message, tag = "1")]
289 StringValue(::prost::alloc::string::String),
290 #[prost(message, tag = "2")]
291 VariableName(::prost::alloc::string::String),
292 }
293 }
294 #[derive(serde::Serialize, serde::Deserialize)]
295 #[serde(rename_all = "snake_case")]
296 #[derive(Clone, PartialEq, ::prost::Message)]
297 pub struct MetricsLabelFilter {
298 #[prost(message, optional, tag = "1")]
299 pub metric: ::core::option::Option<StringOrVariable>,
300 #[prost(message, optional, tag = "2")]
301 pub label: ::core::option::Option<StringOrVariable>,
302 #[prost(message, optional, tag = "3")]
303 pub operator: ::core::option::Option<Operator>,
304 }
305 #[derive(serde::Serialize, serde::Deserialize)]
306 #[serde(rename_all = "snake_case")]
307 #[derive(Clone, PartialEq, ::prost::Message)]
308 pub struct Operator {
309 #[prost(oneof = "operator::Value", tags = "1, 2")]
310 pub value: ::core::option::Option<operator::Value>,
311 }
312 pub mod operator {
314 #[derive(serde::Serialize, serde::Deserialize)]
315 #[serde(rename_all = "snake_case")]
316 #[derive(Clone, PartialEq, ::prost::Oneof)]
317 pub enum Value {
318 #[prost(message, tag = "1")]
319 Equals(super::Equals),
320 #[prost(message, tag = "2")]
321 NotEquals(super::NotEquals),
322 }
323 }
324 #[derive(serde::Serialize, serde::Deserialize)]
325 #[serde(rename_all = "snake_case")]
326 #[derive(Clone, PartialEq, ::prost::Message)]
327 pub struct Equals {
328 #[prost(message, optional, tag = "1")]
329 pub selection: ::core::option::Option<Selection>,
330 }
331 #[derive(serde::Serialize, serde::Deserialize)]
332 #[serde(rename_all = "snake_case")]
333 #[derive(Clone, PartialEq, ::prost::Message)]
334 pub struct NotEquals {
335 #[prost(message, optional, tag = "1")]
336 pub selection: ::core::option::Option<Selection>,
337 }
338 #[derive(serde::Serialize, serde::Deserialize)]
339 #[serde(rename_all = "snake_case")]
340 #[derive(Clone, PartialEq, ::prost::Message)]
341 pub struct Selection {
342 #[prost(oneof = "selection::Value", tags = "1")]
343 pub value: ::core::option::Option<selection::Value>,
344 }
345 pub mod selection {
347 #[derive(serde::Serialize, serde::Deserialize)]
348 #[serde(rename_all = "snake_case")]
349 #[derive(Clone, PartialEq, ::prost::Message)]
350 pub struct ListSelection {
351 #[prost(message, repeated, tag = "1")]
352 pub values: ::prost::alloc::vec::Vec<super::StringOrVariable>,
353 }
354 #[derive(serde::Serialize, serde::Deserialize)]
355 #[serde(rename_all = "snake_case")]
356 #[derive(Clone, PartialEq, ::prost::Oneof)]
357 pub enum Value {
358 #[prost(message, tag = "1")]
359 List(ListSelection),
360 }
361 }
362 }
363 #[derive(serde::Serialize, serde::Deserialize)]
364 #[serde(rename_all = "snake_case")]
365 #[derive(Clone, PartialEq, ::prost::Message)]
366 pub struct DataprimeQuery {
367 #[prost(message, optional, tag = "1")]
368 pub r#type: ::core::option::Option<dataprime_query::Type>,
369 }
370 pub mod dataprime_query {
372 #[derive(serde::Serialize, serde::Deserialize)]
373 #[serde(rename_all = "snake_case")]
374 #[derive(Clone, PartialEq, ::prost::Message)]
375 pub struct Type {
376 #[prost(oneof = "r#type::Value", tags = "1")]
377 pub value: ::core::option::Option<r#type::Value>,
378 }
379 pub mod r#type {
381 #[derive(serde::Serialize, serde::Deserialize)]
382 #[serde(rename_all = "snake_case")]
383 #[derive(Clone, PartialEq, ::prost::Message)]
384 pub struct QueryText {
385 #[prost(message, optional, tag = "1")]
386 pub query: ::core::option::Option<
387 super::super::super::super::super::super::common::DataprimeQuery,
388 >,
389 }
390 #[derive(serde::Serialize, serde::Deserialize)]
391 #[serde(rename_all = "snake_case")]
392 #[derive(Clone, PartialEq, ::prost::Oneof)]
393 pub enum Value {
394 #[prost(message, tag = "1")]
395 QueryText(QueryText),
396 }
397 }
398 }
399 #[derive(serde::Serialize, serde::Deserialize)]
400 #[serde(rename_all = "snake_case")]
401 #[derive(Clone, PartialEq, ::prost::Oneof)]
402 pub enum Value {
403 #[prost(message, tag = "1")]
404 LogsQuery(LogsQuery),
405 #[prost(message, tag = "2")]
406 MetricsQuery(MetricsQuery),
407 #[prost(message, tag = "3")]
408 SpansQuery(SpansQuery),
409 #[prost(message, tag = "4")]
410 DataprimeQuery(DataprimeQuery),
411 }
412 }
413 #[derive(serde::Serialize, serde::Deserialize)]
414 #[serde(rename_all = "snake_case")]
415 #[derive(Clone, PartialEq, ::prost::Message)]
416 pub struct ValueDisplayOptions {
417 #[prost(message, optional, tag = "1")]
418 pub value_regex: ::core::option::Option<::prost::alloc::string::String>,
419 #[prost(message, optional, tag = "2")]
420 pub label_regex: ::core::option::Option<::prost::alloc::string::String>,
421 }
422 #[derive(serde::Serialize, serde::Deserialize)]
423 #[serde(rename_all = "snake_case")]
424 #[derive(Clone, PartialEq, ::prost::Message)]
425 pub struct AllOption {
426 #[prost(message, optional, tag = "1")]
427 pub include_all: ::core::option::Option<bool>,
428 #[prost(message, optional, tag = "2")]
429 pub label: ::core::option::Option<::prost::alloc::string::String>,
430 }
431 #[derive(serde::Serialize, serde::Deserialize)]
432 #[serde(rename_all = "snake_case")]
433 #[derive(
434 Clone,
435 Copy,
436 Debug,
437 PartialEq,
438 Eq,
439 Hash,
440 PartialOrd,
441 Ord,
442 ::prost::Enumeration
443 )]
444 #[repr(i32)]
445 pub enum RefreshStrategy {
446 Unspecified = 0,
447 OnDashboardLoad = 1,
448 OnTimeFrameChange = 2,
449 }
450 impl RefreshStrategy {
451 pub fn as_str_name(&self) -> &'static str {
456 match self {
457 Self::Unspecified => "REFRESH_STRATEGY_UNSPECIFIED",
458 Self::OnDashboardLoad => "REFRESH_STRATEGY_ON_DASHBOARD_LOAD",
459 Self::OnTimeFrameChange => "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE",
460 }
461 }
462 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
464 match value {
465 "REFRESH_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
466 "REFRESH_STRATEGY_ON_DASHBOARD_LOAD" => Some(Self::OnDashboardLoad),
467 "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE" => Some(Self::OnTimeFrameChange),
468 _ => None,
469 }
470 }
471 }
472 #[derive(serde::Serialize, serde::Deserialize)]
473 #[serde(rename_all = "snake_case")]
474 #[derive(Clone, PartialEq, ::prost::Oneof)]
475 pub enum Value {
476 #[prost(message, tag = "1")]
477 Static(StaticSource),
478 #[prost(message, tag = "2")]
479 Query(QuerySource),
480 #[prost(message, tag = "3")]
481 Textbox(TextboxSource),
482 }
483}
484#[derive(serde::Serialize, serde::Deserialize)]
485#[serde(rename_all = "snake_case")]
486#[derive(Clone, PartialEq, ::prost::Message)]
487pub struct VariableValueV2 {
488 #[prost(oneof = "variable_value_v2::Value", tags = "1, 2, 3, 4, 5")]
489 pub value: ::core::option::Option<variable_value_v2::Value>,
490}
491pub mod variable_value_v2 {
493 #[derive(serde::Serialize, serde::Deserialize)]
494 #[serde(rename_all = "snake_case")]
495 #[derive(Clone, PartialEq, ::prost::Message)]
496 pub struct MultiStringValue {
497 #[prost(oneof = "multi_string_value::Value", tags = "1, 2")]
498 pub value: ::core::option::Option<multi_string_value::Value>,
499 }
500 pub mod multi_string_value {
502 #[derive(serde::Serialize, serde::Deserialize)]
503 #[serde(rename_all = "snake_case")]
504 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
505 pub struct AllValue {}
506 #[derive(serde::Serialize, serde::Deserialize)]
507 #[serde(rename_all = "snake_case")]
508 #[derive(Clone, PartialEq, ::prost::Message)]
509 pub struct ListValue {
510 #[prost(message, repeated, tag = "1")]
511 pub values: ::prost::alloc::vec::Vec<super::SingleStringValue>,
512 }
513 #[derive(serde::Serialize, serde::Deserialize)]
514 #[serde(rename_all = "snake_case")]
515 #[derive(Clone, PartialEq, ::prost::Oneof)]
516 pub enum Value {
517 #[prost(message, tag = "1")]
518 All(AllValue),
519 #[prost(message, tag = "2")]
520 List(ListValue),
521 }
522 }
523 #[derive(serde::Serialize, serde::Deserialize)]
524 #[serde(rename_all = "snake_case")]
525 #[derive(Clone, PartialEq, ::prost::Message)]
526 pub struct SingleStringValue {
527 #[prost(message, optional, tag = "1")]
528 pub value: ::core::option::Option<StringValueLabel>,
529 }
530 #[derive(serde::Serialize, serde::Deserialize)]
531 #[serde(rename_all = "snake_case")]
532 #[derive(Clone, PartialEq, ::prost::Message)]
533 pub struct SingleNumericValue {
534 #[prost(message, optional, tag = "1")]
535 pub value: ::core::option::Option<NumericValueLabel>,
536 }
537 #[derive(serde::Serialize, serde::Deserialize)]
538 #[serde(rename_all = "snake_case")]
539 #[derive(Clone, PartialEq, ::prost::Message)]
540 pub struct RegexValue {
541 #[prost(message, optional, tag = "1")]
542 pub value: ::core::option::Option<StringValueLabel>,
543 }
544 #[derive(serde::Serialize, serde::Deserialize)]
545 #[serde(rename_all = "snake_case")]
546 #[derive(Clone, PartialEq, ::prost::Message)]
547 pub struct LuceneQueryValue {
548 #[prost(message, optional, tag = "1")]
549 pub value: ::core::option::Option<StringValueLabel>,
550 }
551 #[derive(serde::Serialize, serde::Deserialize)]
552 #[serde(rename_all = "snake_case")]
553 #[derive(Clone, PartialEq, ::prost::Message)]
554 pub struct StringValueLabel {
555 #[prost(message, optional, tag = "1")]
556 pub value: ::core::option::Option<::prost::alloc::string::String>,
557 #[prost(message, optional, tag = "2")]
558 pub label: ::core::option::Option<::prost::alloc::string::String>,
559 }
560 #[derive(serde::Serialize, serde::Deserialize)]
561 #[serde(rename_all = "snake_case")]
562 #[derive(Clone, PartialEq, ::prost::Message)]
563 pub struct NumericValueLabel {
564 #[prost(message, optional, tag = "1")]
565 pub value: ::core::option::Option<f32>,
566 #[prost(message, optional, tag = "2")]
567 pub label: ::core::option::Option<::prost::alloc::string::String>,
568 }
569 #[derive(serde::Serialize, serde::Deserialize)]
570 #[serde(rename_all = "snake_case")]
571 #[derive(Clone, PartialEq, ::prost::Oneof)]
572 pub enum Value {
573 #[prost(message, tag = "1")]
574 MultiString(MultiStringValue),
575 #[prost(message, tag = "2")]
576 SingleString(SingleStringValue),
577 #[prost(message, tag = "3")]
578 SingleNumeric(SingleNumericValue),
579 #[prost(message, tag = "4")]
580 Regex(RegexValue),
581 #[prost(message, tag = "5")]
582 Lucene(LuceneQueryValue),
583 }
584}
585#[derive(serde::Serialize, serde::Deserialize)]
586#[serde(rename_all = "snake_case")]
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct VariableV2 {
589 #[prost(message, optional, tag = "1")]
590 pub name: ::core::option::Option<::prost::alloc::string::String>,
591 #[prost(message, optional, tag = "3")]
592 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
593 #[prost(message, optional, tag = "4")]
594 pub description: ::core::option::Option<::prost::alloc::string::String>,
595 #[prost(enumeration = "VariableDisplayTypeV2", tag = "5")]
596 pub display_type: i32,
597 #[prost(message, optional, tag = "6")]
598 pub source: ::core::option::Option<VariableSourceV2>,
599 #[prost(message, optional, tag = "7")]
600 pub value: ::core::option::Option<VariableValueV2>,
601 #[prost(message, optional, tag = "8")]
602 pub display_full_row: ::core::option::Option<bool>,
603}