/*
 * Onshape REST API
 *
 * The Onshape REST API consumed by all clients.
 *
 * The version of the OpenAPI document: 1.104
 * Contact: api-support@onshape.zendesk.com
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct BtMetadataPropertyConfigParams {
    #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
    pub required: Option<bool>,
    #[serde(rename = "propertyId", skip_serializing_if = "Option::is_none")]
    pub property_id: Option<String>,
    #[serde(rename = "publishState", skip_serializing_if = "Option::is_none")]
    pub publish_state: Option<i32>,
    #[serde(rename = "schemaId", skip_serializing_if = "Option::is_none")]
    pub schema_id: Option<String>,
    #[serde(rename = "minLength", skip_serializing_if = "Option::is_none")]
    pub min_length: Option<i32>,
    #[serde(rename = "maxLength", skip_serializing_if = "Option::is_none")]
    pub max_length: Option<i32>,
    #[serde(rename = "minValue", skip_serializing_if = "Option::is_none")]
    pub min_value: Option<f64>,
    #[serde(rename = "maxValue", skip_serializing_if = "Option::is_none")]
    pub max_value: Option<f64>,
    #[serde(rename = "minDate", skip_serializing_if = "Option::is_none")]
    pub min_date: Option<String>,
    #[serde(rename = "maxDate", skip_serializing_if = "Option::is_none")]
    pub max_date: Option<String>,
    #[serde(rename = "minCount", skip_serializing_if = "Option::is_none")]
    pub min_count: Option<i32>,
    #[serde(rename = "maxCount", skip_serializing_if = "Option::is_none")]
    pub max_count: Option<i32>,
    #[serde(rename = "multiline", skip_serializing_if = "Option::is_none")]
    pub multiline: Option<bool>,
    #[serde(rename = "enumValues", skip_serializing_if = "Option::is_none")]
    pub enum_values: Option<Vec<::std::collections::HashMap<String, String>>>,
    #[serde(rename = "defaultValue", skip_serializing_if = "Option::is_none")]
    pub default_value: Option<String>,
    #[serde(rename = "pattern", skip_serializing_if = "Option::is_none")]
    pub pattern: Option<String>,
    #[serde(rename = "displayName", skip_serializing_if = "Option::is_none")]
    pub display_name: Option<String>,
}

impl BtMetadataPropertyConfigParams {
    pub fn new() -> BtMetadataPropertyConfigParams {
        BtMetadataPropertyConfigParams {
            required: None,
            property_id: None,
            publish_state: None,
            schema_id: None,
            min_length: None,
            max_length: None,
            min_value: None,
            max_value: None,
            min_date: None,
            max_date: None,
            min_count: None,
            max_count: None,
            multiline: None,
            enum_values: None,
            default_value: None,
            pattern: None,
            display_name: None,
        }
    }
}


