7#include <aws/odb/Odb_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/odb/model/PatchingModeType.h>
10#include <aws/odb/model/PreferenceType.h>
11#include <aws/odb/model/DayOfWeek.h>
12#include <aws/odb/model/Month.h>
61 template<
typename DaysOfWeekT = Aws::Vector<DayOfWeek>>
62 void SetDaysOfWeek(DaysOfWeekT&& value) { m_daysOfWeekHasBeenSet =
true; m_daysOfWeek = std::forward<DaysOfWeekT>(value); }
63 template<
typename DaysOfWeekT = Aws::Vector<DayOfWeek>>
65 template<
typename DaysOfWeekT = DayOfWeek>
66 MaintenanceWindow&
AddDaysOfWeek(DaysOfWeekT&& value) { m_daysOfWeekHasBeenSet =
true; m_daysOfWeek.emplace_back(std::forward<DaysOfWeekT>(value));
return *
this; }
75 template<
typename HoursOfDayT = Aws::Vector<
int>>
76 void SetHoursOfDay(HoursOfDayT&& value) { m_hoursOfDayHasBeenSet =
true; m_hoursOfDay = std::forward<HoursOfDayT>(value); }
77 template<
typename HoursOfDayT = Aws::Vector<
int>>
99 inline void SetLeadTimeInWeeks(
int value) { m_leadTimeInWeeksHasBeenSet =
true; m_leadTimeInWeeks = value; }
109 template<
typename MonthsT = Aws::Vector<Month>>
110 void SetMonths(MonthsT&& value) { m_monthsHasBeenSet =
true; m_months = std::forward<MonthsT>(value); }
111 template<
typename MonthsT = Aws::Vector<Month>>
113 template<
typename MonthsT = Month>
114 MaintenanceWindow&
AddMonths(MonthsT&& value) { m_monthsHasBeenSet =
true; m_months.emplace_back(std::forward<MonthsT>(value));
return *
this; }
143 inline void SetSkipRu(
bool value) { m_skipRuHasBeenSet =
true; m_skipRu = value; }
153 template<
typename WeeksOfMonthT = Aws::Vector<
int>>
154 void SetWeeksOfMonth(WeeksOfMonthT&& value) { m_weeksOfMonthHasBeenSet =
true; m_weeksOfMonth = std::forward<WeeksOfMonthT>(value); }
155 template<
typename WeeksOfMonthT = Aws::Vector<
int>>
161 int m_customActionTimeoutInMins{0};
162 bool m_customActionTimeoutInMinsHasBeenSet =
false;
165 bool m_daysOfWeekHasBeenSet =
false;
168 bool m_hoursOfDayHasBeenSet =
false;
170 bool m_isCustomActionTimeoutEnabled{
false};
171 bool m_isCustomActionTimeoutEnabledHasBeenSet =
false;
173 int m_leadTimeInWeeks{0};
174 bool m_leadTimeInWeeksHasBeenSet =
false;
177 bool m_monthsHasBeenSet =
false;
180 bool m_patchingModeHasBeenSet =
false;
183 bool m_preferenceHasBeenSet =
false;
185 bool m_skipRu{
false};
186 bool m_skipRuHasBeenSet =
false;
189 bool m_weeksOfMonthHasBeenSet =
false;
MaintenanceWindow & WithSkipRu(bool value)
const Aws::Vector< DayOfWeek > & GetDaysOfWeek() const
const Aws::Vector< int > & GetHoursOfDay() const
bool MonthsHasBeenSet() const
bool WeeksOfMonthHasBeenSet() const
PreferenceType GetPreference() const
bool GetIsCustomActionTimeoutEnabled() const
const Aws::Vector< int > & GetWeeksOfMonth() const
void SetHoursOfDay(HoursOfDayT &&value)
int GetLeadTimeInWeeks() const
MaintenanceWindow & WithLeadTimeInWeeks(int value)
void SetIsCustomActionTimeoutEnabled(bool value)
PatchingModeType GetPatchingMode() const
MaintenanceWindow & WithPatchingMode(PatchingModeType value)
MaintenanceWindow & WithPreference(PreferenceType value)
bool HoursOfDayHasBeenSet() const
MaintenanceWindow & WithDaysOfWeek(DaysOfWeekT &&value)
MaintenanceWindow & WithHoursOfDay(HoursOfDayT &&value)
MaintenanceWindow & WithIsCustomActionTimeoutEnabled(bool value)
int GetCustomActionTimeoutInMins() const
void SetCustomActionTimeoutInMins(int value)
bool PatchingModeHasBeenSet() const
bool DaysOfWeekHasBeenSet() const
AWS_ODB_API MaintenanceWindow(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Month > & GetMonths() const
void SetPatchingMode(PatchingModeType value)
void SetDaysOfWeek(DaysOfWeekT &&value)
void SetLeadTimeInWeeks(int value)
void SetWeeksOfMonth(WeeksOfMonthT &&value)
AWS_ODB_API MaintenanceWindow & operator=(Aws::Utils::Json::JsonView jsonValue)
bool IsCustomActionTimeoutEnabledHasBeenSet() const
void SetSkipRu(bool value)
AWS_ODB_API Aws::Utils::Json::JsonValue Jsonize() const
MaintenanceWindow & WithMonths(MonthsT &&value)
void SetPreference(PreferenceType value)
bool SkipRuHasBeenSet() const
MaintenanceWindow & AddDaysOfWeek(DaysOfWeekT &&value)
void SetMonths(MonthsT &&value)
MaintenanceWindow & WithCustomActionTimeoutInMins(int value)
MaintenanceWindow & AddWeeksOfMonth(int value)
AWS_ODB_API MaintenanceWindow()=default
bool LeadTimeInWeeksHasBeenSet() const
MaintenanceWindow & AddHoursOfDay(int value)
bool PreferenceHasBeenSet() const
bool CustomActionTimeoutInMinsHasBeenSet() const
MaintenanceWindow & AddMonths(MonthsT &&value)
MaintenanceWindow & WithWeeksOfMonth(WeeksOfMonthT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue