// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct QueryWorkflowTableRequest {
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub filters: Option<Vec<WorkflowTableFilterRule>>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub search: Option<WorkflowTableSearchRequest>,
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub case_sensitive: Option<bool>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub select: Option<Vec<String>>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub distinct: Option<WorkflowTableDistinctRequest>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub group_by: Option<Vec<String>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub aggregations: Option<Vec<WorkflowTableAggregationRequest>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub sort: Option<Vec<WorkflowTableSortRule>>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub sample: Option<WorkflowTableSampleRequest>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub tail: Option<WorkflowTableTailRequest>,
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub count_only: Option<bool>,
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub include_explain: Option<bool>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub sort_column: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub sort_direction: Option<WorkflowTableSortDirection>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub viewer_mode: Option<String>,
    /// Defaults to `0`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub offset: Option<i64>,
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub limit: Option<i64>,
}
