1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Variable {
6 #[prost(message, optional, tag = "1")]
7 pub name: ::core::option::Option<::prost::alloc::string::String>,
8 #[prost(message, optional, tag = "2")]
9 pub definition: ::core::option::Option<variable::Definition>,
10 #[prost(message, optional, tag = "3")]
11 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
12 #[prost(message, optional, tag = "4")]
13 pub description: ::core::option::Option<::prost::alloc::string::String>,
14 #[prost(enumeration = "VariableDisplayType", tag = "5")]
15 pub display_type: i32,
16}
17pub mod variable {
19 #[derive(serde::Serialize, serde::Deserialize)]
20 #[serde(rename_all = "snake_case")]
21 #[derive(Clone, PartialEq, ::prost::Message)]
22 pub struct Definition {
23 #[prost(oneof = "definition::Value", tags = "1, 2")]
24 pub value: ::core::option::Option<definition::Value>,
25 }
26 pub mod definition {
28 #[derive(serde::Serialize, serde::Deserialize)]
29 #[serde(rename_all = "snake_case")]
30 #[derive(Clone, PartialEq, ::prost::Oneof)]
31 pub enum Value {
32 #[prost(message, tag = "1")]
33 Constant(super::super::Constant),
34 #[prost(message, tag = "2")]
35 MultiSelect(super::super::MultiSelect),
36 }
37 }
38}
39#[derive(serde::Serialize, serde::Deserialize)]
40#[serde(rename_all = "snake_case")]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct Constant {
43 #[prost(message, optional, tag = "1")]
44 pub value: ::core::option::Option<::prost::alloc::string::String>,
45}
46#[derive(serde::Serialize, serde::Deserialize)]
47#[serde(rename_all = "snake_case")]
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct MultiSelect {
50 #[deprecated]
51 #[prost(message, repeated, tag = "1")]
52 pub selected: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
53 #[prost(message, optional, tag = "2")]
54 pub source: ::core::option::Option<multi_select::Source>,
55 #[prost(message, optional, tag = "3")]
56 pub selection: ::core::option::Option<multi_select::Selection>,
57 #[prost(enumeration = "super::super::common::OrderDirection", tag = "4")]
58 pub values_order_direction: i32,
59 #[prost(message, optional, tag = "5")]
60 pub selection_options: ::core::option::Option<
61 multi_select::VariableSelectionOptions,
62 >,
63}
64pub mod multi_select {
66 #[derive(serde::Serialize, serde::Deserialize)]
67 #[serde(rename_all = "snake_case")]
68 #[derive(Clone, PartialEq, ::prost::Message)]
69 pub struct Source {
70 #[prost(oneof = "source::Value", tags = "1, 2, 3, 4, 5")]
71 pub value: ::core::option::Option<source::Value>,
72 }
73 pub mod source {
75 #[derive(serde::Serialize, serde::Deserialize)]
76 #[serde(rename_all = "snake_case")]
77 #[derive(Clone, PartialEq, ::prost::Oneof)]
78 pub enum Value {
79 #[prost(message, tag = "1")]
80 LogsPath(super::LogsPathSource),
81 #[prost(message, tag = "2")]
82 MetricLabel(super::MetricLabelSource),
83 #[prost(message, tag = "3")]
84 ConstantList(super::ConstantListSource),
85 #[prost(message, tag = "4")]
86 SpanField(super::SpanFieldSource),
87 #[prost(message, tag = "5")]
88 Query(super::QuerySource),
89 }
90 }
91 #[derive(serde::Serialize, serde::Deserialize)]
92 #[serde(rename_all = "snake_case")]
93 #[derive(Clone, PartialEq, ::prost::Message)]
94 pub struct LogsPathSource {
95 #[prost(message, optional, tag = "1")]
96 pub value: ::core::option::Option<::prost::alloc::string::String>,
97 #[prost(message, optional, tag = "3")]
98 pub observation_field: ::core::option::Option<
99 super::super::super::common::ObservationField,
100 >,
101 }
102 #[derive(serde::Serialize, serde::Deserialize)]
103 #[serde(rename_all = "snake_case")]
104 #[derive(Clone, PartialEq, ::prost::Message)]
105 pub struct MetricLabelSource {
106 #[prost(message, optional, tag = "1")]
107 pub metric_name: ::core::option::Option<::prost::alloc::string::String>,
108 #[prost(message, optional, tag = "2")]
109 pub label: ::core::option::Option<::prost::alloc::string::String>,
110 }
111 #[derive(serde::Serialize, serde::Deserialize)]
112 #[serde(rename_all = "snake_case")]
113 #[derive(Clone, PartialEq, ::prost::Message)]
114 pub struct SpanFieldSource {
115 #[prost(message, optional, tag = "1")]
116 pub value: ::core::option::Option<super::super::super::common::SpanField>,
117 }
118 #[derive(serde::Serialize, serde::Deserialize)]
119 #[serde(rename_all = "snake_case")]
120 #[derive(Clone, PartialEq, ::prost::Message)]
121 pub struct ConstantListSource {
122 #[prost(message, repeated, tag = "1")]
123 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
124 }
125 #[derive(serde::Serialize, serde::Deserialize)]
126 #[serde(rename_all = "snake_case")]
127 #[derive(Clone, PartialEq, ::prost::Message)]
128 pub struct QuerySource {
129 #[prost(message, optional, tag = "1")]
130 pub query: ::core::option::Option<Query>,
131 #[prost(enumeration = "RefreshStrategy", tag = "2")]
132 pub refresh_strategy: i32,
133 #[prost(message, optional, tag = "3")]
134 pub value_display_options: ::core::option::Option<ValueDisplayOptions>,
135 }
136 #[derive(serde::Serialize, serde::Deserialize)]
137 #[serde(rename_all = "snake_case")]
138 #[derive(Clone, PartialEq, ::prost::Message)]
139 pub struct Query {
140 #[prost(oneof = "query::Value", tags = "1, 2, 3")]
141 pub value: ::core::option::Option<query::Value>,
142 }
143 pub mod query {
145 #[derive(serde::Serialize, serde::Deserialize)]
146 #[serde(rename_all = "snake_case")]
147 #[derive(Clone, PartialEq, ::prost::Message)]
148 pub struct LogsQuery {
149 #[prost(message, optional, tag = "1")]
150 pub r#type: ::core::option::Option<logs_query::Type>,
151 }
152 pub mod logs_query {
154 #[derive(serde::Serialize, serde::Deserialize)]
155 #[serde(rename_all = "snake_case")]
156 #[derive(Clone, PartialEq, ::prost::Message)]
157 pub struct Type {
158 #[prost(oneof = "r#type::Value", tags = "1, 2")]
159 pub value: ::core::option::Option<r#type::Value>,
160 }
161 pub mod r#type {
163 #[derive(serde::Serialize, serde::Deserialize)]
164 #[serde(rename_all = "snake_case")]
165 #[derive(Clone, PartialEq, ::prost::Message)]
166 pub struct FieldName {
167 #[prost(message, optional, tag = "1")]
168 pub log_regex: ::core::option::Option<
169 ::prost::alloc::string::String,
170 >,
171 }
172 #[derive(serde::Serialize, serde::Deserialize)]
173 #[serde(rename_all = "snake_case")]
174 #[derive(Clone, PartialEq, ::prost::Message)]
175 pub struct FieldValue {
176 #[prost(message, optional, tag = "3")]
177 pub observation_field: ::core::option::Option<
178 super::super::super::super::super::super::common::ObservationField,
179 >,
180 }
181 #[derive(serde::Serialize, serde::Deserialize)]
182 #[serde(rename_all = "snake_case")]
183 #[derive(Clone, PartialEq, ::prost::Oneof)]
184 pub enum Value {
185 #[prost(message, tag = "1")]
186 FieldName(FieldName),
187 #[prost(message, tag = "2")]
188 FieldValue(FieldValue),
189 }
190 }
191 }
192 #[derive(serde::Serialize, serde::Deserialize)]
193 #[serde(rename_all = "snake_case")]
194 #[derive(Clone, PartialEq, ::prost::Message)]
195 pub struct SpansQuery {
196 #[prost(message, optional, tag = "1")]
197 pub r#type: ::core::option::Option<spans_query::Type>,
198 }
199 pub mod spans_query {
201 #[derive(serde::Serialize, serde::Deserialize)]
202 #[serde(rename_all = "snake_case")]
203 #[derive(Clone, PartialEq, ::prost::Message)]
204 pub struct Type {
205 #[prost(oneof = "r#type::Value", tags = "1, 2")]
206 pub value: ::core::option::Option<r#type::Value>,
207 }
208 pub mod r#type {
210 #[derive(serde::Serialize, serde::Deserialize)]
211 #[serde(rename_all = "snake_case")]
212 #[derive(Clone, PartialEq, ::prost::Message)]
213 pub struct FieldName {
214 #[prost(message, optional, tag = "1")]
215 pub span_regex: ::core::option::Option<
216 ::prost::alloc::string::String,
217 >,
218 }
219 #[derive(serde::Serialize, serde::Deserialize)]
220 #[serde(rename_all = "snake_case")]
221 #[derive(Clone, PartialEq, ::prost::Message)]
222 pub struct FieldValue {
223 #[prost(message, optional, tag = "1")]
224 pub value: ::core::option::Option<
225 super::super::super::super::super::super::common::SpanField,
226 >,
227 #[prost(message, optional, tag = "2")]
228 pub observation_field: ::core::option::Option<
229 super::super::super::super::super::super::common::ObservationField,
230 >,
231 }
232 #[derive(serde::Serialize, serde::Deserialize)]
233 #[serde(rename_all = "snake_case")]
234 #[derive(Clone, PartialEq, ::prost::Oneof)]
235 pub enum Value {
236 #[prost(message, tag = "1")]
237 FieldName(FieldName),
238 #[prost(message, tag = "2")]
239 FieldValue(FieldValue),
240 }
241 }
242 }
243 #[derive(serde::Serialize, serde::Deserialize)]
244 #[serde(rename_all = "snake_case")]
245 #[derive(Clone, PartialEq, ::prost::Message)]
246 pub struct MetricsQuery {
247 #[prost(message, optional, tag = "1")]
248 pub r#type: ::core::option::Option<metrics_query::Type>,
249 }
250 pub mod metrics_query {
252 #[derive(serde::Serialize, serde::Deserialize)]
253 #[serde(rename_all = "snake_case")]
254 #[derive(Clone, PartialEq, ::prost::Message)]
255 pub struct Type {
256 #[prost(oneof = "r#type::Value", tags = "1, 2, 3")]
257 pub value: ::core::option::Option<r#type::Value>,
258 }
259 pub mod r#type {
261 #[derive(serde::Serialize, serde::Deserialize)]
262 #[serde(rename_all = "snake_case")]
263 #[derive(Clone, PartialEq, ::prost::Message)]
264 pub struct MetricName {
265 #[prost(message, optional, tag = "1")]
266 pub metric_regex: ::core::option::Option<
267 ::prost::alloc::string::String,
268 >,
269 }
270 #[derive(serde::Serialize, serde::Deserialize)]
271 #[serde(rename_all = "snake_case")]
272 #[derive(Clone, PartialEq, ::prost::Message)]
273 pub struct LabelName {
274 #[prost(message, optional, tag = "1")]
275 pub metric_regex: ::core::option::Option<
276 ::prost::alloc::string::String,
277 >,
278 }
279 #[derive(serde::Serialize, serde::Deserialize)]
280 #[serde(rename_all = "snake_case")]
281 #[derive(Clone, PartialEq, ::prost::Message)]
282 pub struct LabelValue {
283 #[prost(message, optional, tag = "1")]
284 pub metric_name: ::core::option::Option<super::StringOrVariable>,
285 #[prost(message, optional, tag = "2")]
286 pub label_name: ::core::option::Option<super::StringOrVariable>,
287 #[prost(message, repeated, tag = "3")]
288 pub label_filters: ::prost::alloc::vec::Vec<
289 super::MetricsLabelFilter,
290 >,
291 }
292 #[derive(serde::Serialize, serde::Deserialize)]
293 #[serde(rename_all = "snake_case")]
294 #[derive(Clone, PartialEq, ::prost::Oneof)]
295 pub enum Value {
296 #[prost(message, tag = "1")]
297 MetricName(MetricName),
298 #[prost(message, tag = "2")]
299 LabelName(LabelName),
300 #[prost(message, tag = "3")]
301 LabelValue(LabelValue),
302 }
303 }
304 #[derive(serde::Serialize, serde::Deserialize)]
305 #[serde(rename_all = "snake_case")]
306 #[derive(Clone, PartialEq, ::prost::Message)]
307 pub struct StringOrVariable {
308 #[prost(oneof = "string_or_variable::Value", tags = "1, 2")]
309 pub value: ::core::option::Option<string_or_variable::Value>,
310 }
311 pub mod string_or_variable {
313 #[derive(serde::Serialize, serde::Deserialize)]
314 #[serde(rename_all = "snake_case")]
315 #[derive(Clone, PartialEq, ::prost::Oneof)]
316 pub enum Value {
317 #[prost(message, tag = "1")]
318 StringValue(::prost::alloc::string::String),
319 #[prost(message, tag = "2")]
320 VariableName(::prost::alloc::string::String),
321 }
322 }
323 #[derive(serde::Serialize, serde::Deserialize)]
324 #[serde(rename_all = "snake_case")]
325 #[derive(Clone, PartialEq, ::prost::Message)]
326 pub struct MetricsLabelFilter {
327 #[prost(message, optional, tag = "1")]
328 pub metric: ::core::option::Option<StringOrVariable>,
329 #[prost(message, optional, tag = "2")]
330 pub label: ::core::option::Option<StringOrVariable>,
331 #[prost(message, optional, tag = "3")]
332 pub operator: ::core::option::Option<Operator>,
333 }
334 #[derive(serde::Serialize, serde::Deserialize)]
335 #[serde(rename_all = "snake_case")]
336 #[derive(Clone, PartialEq, ::prost::Message)]
337 pub struct Operator {
338 #[prost(oneof = "operator::Value", tags = "1, 2")]
339 pub value: ::core::option::Option<operator::Value>,
340 }
341 pub mod operator {
343 #[derive(serde::Serialize, serde::Deserialize)]
344 #[serde(rename_all = "snake_case")]
345 #[derive(Clone, PartialEq, ::prost::Oneof)]
346 pub enum Value {
347 #[prost(message, tag = "1")]
348 Equals(super::Equals),
349 #[prost(message, tag = "2")]
350 NotEquals(super::NotEquals),
351 }
352 }
353 #[derive(serde::Serialize, serde::Deserialize)]
354 #[serde(rename_all = "snake_case")]
355 #[derive(Clone, PartialEq, ::prost::Message)]
356 pub struct Equals {
357 #[prost(message, optional, tag = "1")]
358 pub selection: ::core::option::Option<Selection>,
359 }
360 #[derive(serde::Serialize, serde::Deserialize)]
361 #[serde(rename_all = "snake_case")]
362 #[derive(Clone, PartialEq, ::prost::Message)]
363 pub struct NotEquals {
364 #[prost(message, optional, tag = "1")]
365 pub selection: ::core::option::Option<Selection>,
366 }
367 #[derive(serde::Serialize, serde::Deserialize)]
368 #[serde(rename_all = "snake_case")]
369 #[derive(Clone, PartialEq, ::prost::Message)]
370 pub struct Selection {
371 #[prost(oneof = "selection::Value", tags = "1")]
372 pub value: ::core::option::Option<selection::Value>,
373 }
374 pub mod selection {
376 #[derive(serde::Serialize, serde::Deserialize)]
377 #[serde(rename_all = "snake_case")]
378 #[derive(Clone, PartialEq, ::prost::Message)]
379 pub struct ListSelection {
380 #[prost(message, repeated, tag = "1")]
381 pub values: ::prost::alloc::vec::Vec<super::StringOrVariable>,
382 }
383 #[derive(serde::Serialize, serde::Deserialize)]
384 #[serde(rename_all = "snake_case")]
385 #[derive(Clone, PartialEq, ::prost::Oneof)]
386 pub enum Value {
387 #[prost(message, tag = "1")]
388 List(ListSelection),
389 }
390 }
391 }
392 #[derive(serde::Serialize, serde::Deserialize)]
393 #[serde(rename_all = "snake_case")]
394 #[derive(Clone, PartialEq, ::prost::Oneof)]
395 pub enum Value {
396 #[prost(message, tag = "1")]
397 LogsQuery(LogsQuery),
398 #[prost(message, tag = "2")]
399 MetricsQuery(MetricsQuery),
400 #[prost(message, tag = "3")]
401 SpansQuery(SpansQuery),
402 }
403 }
404 #[derive(serde::Serialize, serde::Deserialize)]
405 #[serde(rename_all = "snake_case")]
406 #[derive(Clone, PartialEq, ::prost::Message)]
407 pub struct ValueDisplayOptions {
408 #[prost(message, optional, tag = "1")]
409 pub value_regex: ::core::option::Option<::prost::alloc::string::String>,
410 #[prost(message, optional, tag = "2")]
411 pub label_regex: ::core::option::Option<::prost::alloc::string::String>,
412 }
413 #[derive(serde::Serialize, serde::Deserialize)]
414 #[serde(rename_all = "snake_case")]
415 #[derive(Clone, PartialEq, ::prost::Message)]
416 pub struct Selection {
417 #[prost(oneof = "selection::Value", tags = "1, 2")]
418 pub value: ::core::option::Option<selection::Value>,
419 }
420 pub mod selection {
422 #[derive(serde::Serialize, serde::Deserialize)]
423 #[serde(rename_all = "snake_case")]
424 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
425 pub struct AllSelection {}
426 #[derive(serde::Serialize, serde::Deserialize)]
427 #[serde(rename_all = "snake_case")]
428 #[derive(Clone, PartialEq, ::prost::Message)]
429 pub struct ListSelection {
430 #[prost(message, repeated, tag = "1")]
431 pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
432 #[prost(message, repeated, tag = "2")]
433 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
434 }
435 #[derive(serde::Serialize, serde::Deserialize)]
436 #[serde(rename_all = "snake_case")]
437 #[derive(Clone, PartialEq, ::prost::Oneof)]
438 pub enum Value {
439 #[prost(message, tag = "1")]
440 All(AllSelection),
441 #[prost(message, tag = "2")]
442 List(ListSelection),
443 }
444 }
445 #[derive(serde::Serialize, serde::Deserialize)]
446 #[serde(rename_all = "snake_case")]
447 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
448 pub struct VariableSelectionOptions {
449 #[prost(enumeration = "variable_selection_options::SelectionType", tag = "1")]
450 pub selection_type: i32,
451 }
452 pub mod variable_selection_options {
454 #[derive(serde::Serialize, serde::Deserialize)]
455 #[serde(rename_all = "snake_case")]
456 #[derive(
457 Clone,
458 Copy,
459 Debug,
460 PartialEq,
461 Eq,
462 Hash,
463 PartialOrd,
464 Ord,
465 ::prost::Enumeration
466 )]
467 #[repr(i32)]
468 pub enum SelectionType {
469 Unspecified = 0,
470 MultiAll = 1,
471 Multi = 2,
472 Single = 3,
473 }
474 impl SelectionType {
475 pub fn as_str_name(&self) -> &'static str {
480 match self {
481 Self::Unspecified => "SELECTION_TYPE_UNSPECIFIED",
482 Self::MultiAll => "SELECTION_TYPE_MULTI_ALL",
483 Self::Multi => "SELECTION_TYPE_MULTI",
484 Self::Single => "SELECTION_TYPE_SINGLE",
485 }
486 }
487 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
489 match value {
490 "SELECTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
491 "SELECTION_TYPE_MULTI_ALL" => Some(Self::MultiAll),
492 "SELECTION_TYPE_MULTI" => Some(Self::Multi),
493 "SELECTION_TYPE_SINGLE" => Some(Self::Single),
494 _ => None,
495 }
496 }
497 }
498 }
499 #[derive(serde::Serialize, serde::Deserialize)]
500 #[serde(rename_all = "snake_case")]
501 #[derive(
502 Clone,
503 Copy,
504 Debug,
505 PartialEq,
506 Eq,
507 Hash,
508 PartialOrd,
509 Ord,
510 ::prost::Enumeration
511 )]
512 #[repr(i32)]
513 pub enum RefreshStrategy {
514 Unspecified = 0,
515 OnDashboardLoad = 1,
516 OnTimeFrameChange = 2,
517 }
518 impl RefreshStrategy {
519 pub fn as_str_name(&self) -> &'static str {
524 match self {
525 Self::Unspecified => "REFRESH_STRATEGY_UNSPECIFIED",
526 Self::OnDashboardLoad => "REFRESH_STRATEGY_ON_DASHBOARD_LOAD",
527 Self::OnTimeFrameChange => "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE",
528 }
529 }
530 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
532 match value {
533 "REFRESH_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
534 "REFRESH_STRATEGY_ON_DASHBOARD_LOAD" => Some(Self::OnDashboardLoad),
535 "REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE" => Some(Self::OnTimeFrameChange),
536 _ => None,
537 }
538 }
539 }
540}
541#[derive(serde::Serialize, serde::Deserialize)]
542#[serde(rename_all = "snake_case")]
543#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
544#[repr(i32)]
545pub enum VariableDisplayType {
546 Unspecified = 0,
547 LabelValue = 1,
548 Value = 2,
549 Nothing = 3,
550}
551impl VariableDisplayType {
552 pub fn as_str_name(&self) -> &'static str {
557 match self {
558 Self::Unspecified => "VARIABLE_DISPLAY_TYPE_UNSPECIFIED",
559 Self::LabelValue => "VARIABLE_DISPLAY_TYPE_LABEL_VALUE",
560 Self::Value => "VARIABLE_DISPLAY_TYPE_VALUE",
561 Self::Nothing => "VARIABLE_DISPLAY_TYPE_NOTHING",
562 }
563 }
564 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
566 match value {
567 "VARIABLE_DISPLAY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
568 "VARIABLE_DISPLAY_TYPE_LABEL_VALUE" => Some(Self::LabelValue),
569 "VARIABLE_DISPLAY_TYPE_VALUE" => Some(Self::Value),
570 "VARIABLE_DISPLAY_TYPE_NOTHING" => Some(Self::Nothing),
571 _ => None,
572 }
573 }
574}