// 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, Serialize, Deserialize)]
pub struct WorkflowTableColumn {
    pub name: String,
    /// Defaults to `{}`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub json_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
    /// Defaults to `[]`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub sample_values: Option<Vec<String>>,
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub required: Option<bool>,
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub unique: Option<bool>,
}
impl WorkflowTableColumn {
    /// Construct a new `WorkflowTableColumn` with the required fields set.
    #[allow(deprecated)]
    pub fn new(name: impl Into<String>) -> Self {
        Self {
            name: name.into(),
            json_schema: Default::default(),
            sample_values: Default::default(),
            required: Default::default(),
            unique: Default::default(),
        }
    }
}
