AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
MaintenanceWindow.h
1
6#pragma once
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>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace odb
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_ODB_API MaintenanceWindow() = default;
43
44
46
49 inline int GetCustomActionTimeoutInMins() const { return m_customActionTimeoutInMins; }
50 inline bool CustomActionTimeoutInMinsHasBeenSet() const { return m_customActionTimeoutInMinsHasBeenSet; }
51 inline void SetCustomActionTimeoutInMins(int value) { m_customActionTimeoutInMinsHasBeenSet = true; m_customActionTimeoutInMins = value; }
54
56
59 inline const Aws::Vector<DayOfWeek>& GetDaysOfWeek() const { return m_daysOfWeek; }
60 inline bool DaysOfWeekHasBeenSet() const { return m_daysOfWeekHasBeenSet; }
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>>
64 MaintenanceWindow& WithDaysOfWeek(DaysOfWeekT&& value) { SetDaysOfWeek(std::forward<DaysOfWeekT>(value)); return *this;}
65 template<typename DaysOfWeekT = DayOfWeek>
66 MaintenanceWindow& AddDaysOfWeek(DaysOfWeekT&& value) { m_daysOfWeekHasBeenSet = true; m_daysOfWeek.emplace_back(std::forward<DaysOfWeekT>(value)); return *this; }
68
70
73 inline const Aws::Vector<int>& GetHoursOfDay() const { return m_hoursOfDay; }
74 inline bool HoursOfDayHasBeenSet() const { return m_hoursOfDayHasBeenSet; }
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>>
78 MaintenanceWindow& WithHoursOfDay(HoursOfDayT&& value) { SetHoursOfDay(std::forward<HoursOfDayT>(value)); return *this;}
79 inline MaintenanceWindow& AddHoursOfDay(int value) { m_hoursOfDayHasBeenSet = true; m_hoursOfDay.push_back(value); return *this; }
81
83
87 inline bool GetIsCustomActionTimeoutEnabled() const { return m_isCustomActionTimeoutEnabled; }
88 inline bool IsCustomActionTimeoutEnabledHasBeenSet() const { return m_isCustomActionTimeoutEnabledHasBeenSet; }
89 inline void SetIsCustomActionTimeoutEnabled(bool value) { m_isCustomActionTimeoutEnabledHasBeenSet = true; m_isCustomActionTimeoutEnabled = value; }
92
94
97 inline int GetLeadTimeInWeeks() const { return m_leadTimeInWeeks; }
98 inline bool LeadTimeInWeeksHasBeenSet() const { return m_leadTimeInWeeksHasBeenSet; }
99 inline void SetLeadTimeInWeeks(int value) { m_leadTimeInWeeksHasBeenSet = true; m_leadTimeInWeeks = value; }
100 inline MaintenanceWindow& WithLeadTimeInWeeks(int value) { SetLeadTimeInWeeks(value); return *this;}
102
104
107 inline const Aws::Vector<Month>& GetMonths() const { return m_months; }
108 inline bool MonthsHasBeenSet() const { return m_monthsHasBeenSet; }
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>>
112 MaintenanceWindow& WithMonths(MonthsT&& value) { SetMonths(std::forward<MonthsT>(value)); return *this;}
113 template<typename MonthsT = Month>
114 MaintenanceWindow& AddMonths(MonthsT&& value) { m_monthsHasBeenSet = true; m_months.emplace_back(std::forward<MonthsT>(value)); return *this; }
116
118
121 inline PatchingModeType GetPatchingMode() const { return m_patchingMode; }
122 inline bool PatchingModeHasBeenSet() const { return m_patchingModeHasBeenSet; }
123 inline void SetPatchingMode(PatchingModeType value) { m_patchingModeHasBeenSet = true; m_patchingMode = value; }
126
128
131 inline PreferenceType GetPreference() const { return m_preference; }
132 inline bool PreferenceHasBeenSet() const { return m_preferenceHasBeenSet; }
133 inline void SetPreference(PreferenceType value) { m_preferenceHasBeenSet = true; m_preference = value; }
134 inline MaintenanceWindow& WithPreference(PreferenceType value) { SetPreference(value); return *this;}
136
138
141 inline bool GetSkipRu() const { return m_skipRu; }
142 inline bool SkipRuHasBeenSet() const { return m_skipRuHasBeenSet; }
143 inline void SetSkipRu(bool value) { m_skipRuHasBeenSet = true; m_skipRu = value; }
144 inline MaintenanceWindow& WithSkipRu(bool value) { SetSkipRu(value); return *this;}
146
148
151 inline const Aws::Vector<int>& GetWeeksOfMonth() const { return m_weeksOfMonth; }
152 inline bool WeeksOfMonthHasBeenSet() const { return m_weeksOfMonthHasBeenSet; }
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>>
156 MaintenanceWindow& WithWeeksOfMonth(WeeksOfMonthT&& value) { SetWeeksOfMonth(std::forward<WeeksOfMonthT>(value)); return *this;}
157 inline MaintenanceWindow& AddWeeksOfMonth(int value) { m_weeksOfMonthHasBeenSet = true; m_weeksOfMonth.push_back(value); return *this; }
159 private:
160
161 int m_customActionTimeoutInMins{0};
162 bool m_customActionTimeoutInMinsHasBeenSet = false;
163
164 Aws::Vector<DayOfWeek> m_daysOfWeek;
165 bool m_daysOfWeekHasBeenSet = false;
166
167 Aws::Vector<int> m_hoursOfDay;
168 bool m_hoursOfDayHasBeenSet = false;
169
170 bool m_isCustomActionTimeoutEnabled{false};
171 bool m_isCustomActionTimeoutEnabledHasBeenSet = false;
172
173 int m_leadTimeInWeeks{0};
174 bool m_leadTimeInWeeksHasBeenSet = false;
175
176 Aws::Vector<Month> m_months;
177 bool m_monthsHasBeenSet = false;
178
180 bool m_patchingModeHasBeenSet = false;
181
183 bool m_preferenceHasBeenSet = false;
184
185 bool m_skipRu{false};
186 bool m_skipRuHasBeenSet = false;
187
188 Aws::Vector<int> m_weeksOfMonth;
189 bool m_weeksOfMonthHasBeenSet = false;
190 };
191
192} // namespace Model
193} // namespace odb
194} // namespace Aws
MaintenanceWindow & WithSkipRu(bool value)
const Aws::Vector< DayOfWeek > & GetDaysOfWeek() const
const Aws::Vector< int > & GetHoursOfDay() const
const Aws::Vector< int > & GetWeeksOfMonth() const
void SetHoursOfDay(HoursOfDayT &&value)
MaintenanceWindow & WithLeadTimeInWeeks(int value)
PatchingModeType GetPatchingMode() const
MaintenanceWindow & WithPatchingMode(PatchingModeType value)
MaintenanceWindow & WithPreference(PreferenceType value)
MaintenanceWindow & WithDaysOfWeek(DaysOfWeekT &&value)
MaintenanceWindow & WithHoursOfDay(HoursOfDayT &&value)
MaintenanceWindow & WithIsCustomActionTimeoutEnabled(bool value)
AWS_ODB_API MaintenanceWindow(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Month > & GetMonths() const
void SetPatchingMode(PatchingModeType value)
void SetDaysOfWeek(DaysOfWeekT &&value)
void SetWeeksOfMonth(WeeksOfMonthT &&value)
AWS_ODB_API MaintenanceWindow & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ODB_API Aws::Utils::Json::JsonValue Jsonize() const
MaintenanceWindow & WithMonths(MonthsT &&value)
void SetPreference(PreferenceType value)
MaintenanceWindow & AddDaysOfWeek(DaysOfWeekT &&value)
MaintenanceWindow & WithCustomActionTimeoutInMins(int value)
MaintenanceWindow & AddWeeksOfMonth(int value)
AWS_ODB_API MaintenanceWindow()=default
MaintenanceWindow & AddHoursOfDay(int value)
MaintenanceWindow & AddMonths(MonthsT &&value)
MaintenanceWindow & WithWeeksOfMonth(WeeksOfMonthT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue