use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodBuilderQuery {
#[serde(rename = "IsAnomaly", skip_serializing_if = "Option::is_none")]
pub is_anomaly: Option<bool>,
#[serde(rename = "QueriesUsedInFormula", skip_serializing_if = "Option::is_none")]
pub queries_used_in_formula: Option<Vec<String>>,
#[serde(rename = "ShiftBy", skip_serializing_if = "Option::is_none")]
pub shift_by: Option<i32>,
#[serde(rename = "aggregateAttribute", skip_serializing_if = "Option::is_none")]
pub aggregate_attribute: Option<Box<models::O11yPeriodAttributeKey>>,
#[serde(rename = "aggregateOperator", skip_serializing_if = "Option::is_none")]
pub aggregate_operator: Option<String>,
#[serde(rename = "dataSource", skip_serializing_if = "Option::is_none")]
pub data_source: Option<String>,
#[serde(rename = "disabled", skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(rename = "expression", skip_serializing_if = "Option::is_none")]
pub expression: Option<String>,
#[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
pub filters: Option<Box<models::O11yPeriodFilterSet>>,
#[serde(rename = "functions", skip_serializing_if = "Option::is_none")]
pub functions: Option<Vec<models::O11yPeriodFunction>>,
#[serde(rename = "groupBy", skip_serializing_if = "Option::is_none")]
pub group_by: Option<Vec<models::O11yPeriodAttributeKey>>,
#[serde(rename = "having", skip_serializing_if = "Option::is_none")]
pub having: Option<Vec<models::O11yPeriodHaving>>,
#[serde(rename = "legend", skip_serializing_if = "Option::is_none")]
pub legend: Option<String>,
#[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
pub offset: Option<i32>,
#[serde(rename = "orderBy", skip_serializing_if = "Option::is_none")]
pub order_by: Option<Vec<models::O11yPeriodOrderBy>>,
#[serde(rename = "pageSize", skip_serializing_if = "Option::is_none")]
pub page_size: Option<i32>,
#[serde(rename = "queryName", skip_serializing_if = "Option::is_none")]
pub query_name: Option<String>,
#[serde(rename = "reduceTo", skip_serializing_if = "Option::is_none")]
pub reduce_to: Option<String>,
#[serde(rename = "selectColumns", skip_serializing_if = "Option::is_none")]
pub select_columns: Option<Vec<models::O11yPeriodAttributeKey>>,
#[serde(rename = "seriesAggregation", skip_serializing_if = "Option::is_none")]
pub series_aggregation: Option<String>,
#[serde(rename = "spaceAggregation", skip_serializing_if = "Option::is_none")]
pub space_aggregation: Option<String>,
#[serde(rename = "stepInterval", skip_serializing_if = "Option::is_none")]
pub step_interval: Option<i32>,
#[serde(rename = "temporality", skip_serializing_if = "Option::is_none")]
pub temporality: Option<String>,
#[serde(rename = "timeAggregation", skip_serializing_if = "Option::is_none")]
pub time_aggregation: Option<String>,
}
impl O11yPeriodBuilderQuery {
pub fn new() -> O11yPeriodBuilderQuery {
O11yPeriodBuilderQuery {
is_anomaly: None,
queries_used_in_formula: None,
shift_by: None,
aggregate_attribute: None,
aggregate_operator: None,
data_source: None,
disabled: None,
expression: None,
filters: None,
functions: None,
group_by: None,
having: None,
legend: None,
limit: None,
offset: None,
order_by: None,
page_size: None,
query_name: None,
reduce_to: None,
select_columns: None,
series_aggregation: None,
space_aggregation: None,
step_interval: None,
temporality: None,
time_aggregation: None,
}
}
}