use serde::{Deserialize, Serialize}; /*
                                      * Cloud SQL Admin API
                                      *
                                      * API for Cloud SQL database instance management
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

/// SqlScheduledMaintenance : Any scheduled maintenance for this instance.

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct SqlScheduledMaintenance {
    #[serde(rename = "canDefer", skip_serializing_if = "Option::is_none")]
    pub can_defer: Option<bool>,
    /// If the scheduled maintenance can be rescheduled.
    #[serde(rename = "canReschedule", skip_serializing_if = "Option::is_none")]
    pub can_reschedule: Option<bool>,
    /// Maintenance cannot be rescheduled to start beyond this deadline.
    #[serde(
        rename = "scheduleDeadlineTime",
        skip_serializing_if = "Option::is_none"
    )]
    pub schedule_deadline_time: Option<String>,
    /// The start time of any upcoming scheduled maintenance for this instance.
    #[serde(rename = "startTime", skip_serializing_if = "Option::is_none")]
    pub start_time: Option<String>,
}

impl SqlScheduledMaintenance {
    /// Any scheduled maintenance for this instance.
    pub fn new() -> SqlScheduledMaintenance {
        SqlScheduledMaintenance {
            can_defer: None,
            can_reschedule: None,
            schedule_deadline_time: None,
            start_time: None,
        }
    }
}
