use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Schedule {
#[serde(rename = "EnabledDaysOfMonth")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled_days_of_month: Option<Vec<i64>>,
#[serde(rename = "EnabledDaysOfWeek")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled_days_of_week: Option<Vec<models::schedule::v1_0_2::DayOfWeek>>,
#[serde(rename = "EnabledMonthsOfYear")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled_months_of_year: Option<Vec<models::schedule::v1_0_2::MonthOfYear>>,
#[serde(rename = "InitialStartTime")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub initial_start_time: Option<String>,
#[serde(rename = "Lifetime")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifetime: Option<String>,
#[serde(rename = "MaxOccurrences")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_occurrences: Option<i64>,
#[serde(rename = "Name")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RecurrenceInterval")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_interval: Option<String>,
}
impl crate::Metadata<'static> for Schedule {
const JSON_SCHEMA: &'static str = "Schedule.v1_0_2.json";
}