AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
RecurrenceSettings.h
1
6#pragma once
7#include <aws/ssm-contacts/SSMContacts_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/ssm-contacts/model/MonthlySetting.h>
11#include <aws/ssm-contacts/model/WeeklySetting.h>
12#include <aws/ssm-contacts/model/HandOffTime.h>
13#include <aws/ssm-contacts/model/DayOfWeek.h>
14#include <aws/ssm-contacts/model/CoverageTime.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace SSMContacts
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_SSMCONTACTS_API RecurrenceSettings() = default;
42 AWS_SSMCONTACTS_API RecurrenceSettings(Aws::Utils::Json::JsonView jsonValue);
44 AWS_SSMCONTACTS_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::Vector<MonthlySetting>& GetMonthlySettings() const { return m_monthlySettings; }
52 inline bool MonthlySettingsHasBeenSet() const { return m_monthlySettingsHasBeenSet; }
53 template<typename MonthlySettingsT = Aws::Vector<MonthlySetting>>
54 void SetMonthlySettings(MonthlySettingsT&& value) { m_monthlySettingsHasBeenSet = true; m_monthlySettings = std::forward<MonthlySettingsT>(value); }
55 template<typename MonthlySettingsT = Aws::Vector<MonthlySetting>>
56 RecurrenceSettings& WithMonthlySettings(MonthlySettingsT&& value) { SetMonthlySettings(std::forward<MonthlySettingsT>(value)); return *this;}
57 template<typename MonthlySettingsT = MonthlySetting>
58 RecurrenceSettings& AddMonthlySettings(MonthlySettingsT&& value) { m_monthlySettingsHasBeenSet = true; m_monthlySettings.emplace_back(std::forward<MonthlySettingsT>(value)); return *this; }
60
62
65 inline const Aws::Vector<WeeklySetting>& GetWeeklySettings() const { return m_weeklySettings; }
66 inline bool WeeklySettingsHasBeenSet() const { return m_weeklySettingsHasBeenSet; }
67 template<typename WeeklySettingsT = Aws::Vector<WeeklySetting>>
68 void SetWeeklySettings(WeeklySettingsT&& value) { m_weeklySettingsHasBeenSet = true; m_weeklySettings = std::forward<WeeklySettingsT>(value); }
69 template<typename WeeklySettingsT = Aws::Vector<WeeklySetting>>
70 RecurrenceSettings& WithWeeklySettings(WeeklySettingsT&& value) { SetWeeklySettings(std::forward<WeeklySettingsT>(value)); return *this;}
71 template<typename WeeklySettingsT = WeeklySetting>
72 RecurrenceSettings& AddWeeklySettings(WeeklySettingsT&& value) { m_weeklySettingsHasBeenSet = true; m_weeklySettings.emplace_back(std::forward<WeeklySettingsT>(value)); return *this; }
74
76
79 inline const Aws::Vector<HandOffTime>& GetDailySettings() const { return m_dailySettings; }
80 inline bool DailySettingsHasBeenSet() const { return m_dailySettingsHasBeenSet; }
81 template<typename DailySettingsT = Aws::Vector<HandOffTime>>
82 void SetDailySettings(DailySettingsT&& value) { m_dailySettingsHasBeenSet = true; m_dailySettings = std::forward<DailySettingsT>(value); }
83 template<typename DailySettingsT = Aws::Vector<HandOffTime>>
84 RecurrenceSettings& WithDailySettings(DailySettingsT&& value) { SetDailySettings(std::forward<DailySettingsT>(value)); return *this;}
85 template<typename DailySettingsT = HandOffTime>
86 RecurrenceSettings& AddDailySettings(DailySettingsT&& value) { m_dailySettingsHasBeenSet = true; m_dailySettings.emplace_back(std::forward<DailySettingsT>(value)); return *this; }
88
90
96 inline int GetNumberOfOnCalls() const { return m_numberOfOnCalls; }
97 inline bool NumberOfOnCallsHasBeenSet() const { return m_numberOfOnCallsHasBeenSet; }
98 inline void SetNumberOfOnCalls(int value) { m_numberOfOnCallsHasBeenSet = true; m_numberOfOnCalls = value; }
99 inline RecurrenceSettings& WithNumberOfOnCalls(int value) { SetNumberOfOnCalls(value); return *this;}
101
103
107 inline const Aws::Map<DayOfWeek, Aws::Vector<CoverageTime>>& GetShiftCoverages() const { return m_shiftCoverages; }
108 inline bool ShiftCoveragesHasBeenSet() const { return m_shiftCoveragesHasBeenSet; }
109 template<typename ShiftCoveragesT = Aws::Map<DayOfWeek, Aws::Vector<CoverageTime>>>
110 void SetShiftCoverages(ShiftCoveragesT&& value) { m_shiftCoveragesHasBeenSet = true; m_shiftCoverages = std::forward<ShiftCoveragesT>(value); }
111 template<typename ShiftCoveragesT = Aws::Map<DayOfWeek, Aws::Vector<CoverageTime>>>
112 RecurrenceSettings& WithShiftCoverages(ShiftCoveragesT&& value) { SetShiftCoverages(std::forward<ShiftCoveragesT>(value)); return *this;}
114 m_shiftCoveragesHasBeenSet = true; m_shiftCoverages.emplace(key, value); return *this;
115 }
117
119
122 inline int GetRecurrenceMultiplier() const { return m_recurrenceMultiplier; }
123 inline bool RecurrenceMultiplierHasBeenSet() const { return m_recurrenceMultiplierHasBeenSet; }
124 inline void SetRecurrenceMultiplier(int value) { m_recurrenceMultiplierHasBeenSet = true; m_recurrenceMultiplier = value; }
125 inline RecurrenceSettings& WithRecurrenceMultiplier(int value) { SetRecurrenceMultiplier(value); return *this;}
127 private:
128
129 Aws::Vector<MonthlySetting> m_monthlySettings;
130 bool m_monthlySettingsHasBeenSet = false;
131
132 Aws::Vector<WeeklySetting> m_weeklySettings;
133 bool m_weeklySettingsHasBeenSet = false;
134
135 Aws::Vector<HandOffTime> m_dailySettings;
136 bool m_dailySettingsHasBeenSet = false;
137
138 int m_numberOfOnCalls{0};
139 bool m_numberOfOnCallsHasBeenSet = false;
140
142 bool m_shiftCoveragesHasBeenSet = false;
143
144 int m_recurrenceMultiplier{0};
145 bool m_recurrenceMultiplierHasBeenSet = false;
146 };
147
148} // namespace Model
149} // namespace SSMContacts
150} // namespace Aws
RecurrenceSettings & WithWeeklySettings(WeeklySettingsT &&value)
void SetShiftCoverages(ShiftCoveragesT &&value)
const Aws::Vector< HandOffTime > & GetDailySettings() const
RecurrenceSettings & AddShiftCoverages(DayOfWeek key, Aws::Vector< CoverageTime > value)
const Aws::Vector< WeeklySetting > & GetWeeklySettings() const
RecurrenceSettings & WithNumberOfOnCalls(int value)
AWS_SSMCONTACTS_API RecurrenceSettings(Aws::Utils::Json::JsonView jsonValue)
RecurrenceSettings & WithDailySettings(DailySettingsT &&value)
AWS_SSMCONTACTS_API RecurrenceSettings()=default
RecurrenceSettings & AddDailySettings(DailySettingsT &&value)
RecurrenceSettings & WithRecurrenceMultiplier(int value)
RecurrenceSettings & WithMonthlySettings(MonthlySettingsT &&value)
RecurrenceSettings & AddWeeklySettings(WeeklySettingsT &&value)
RecurrenceSettings & AddMonthlySettings(MonthlySettingsT &&value)
const Aws::Vector< MonthlySetting > & GetMonthlySettings() const
AWS_SSMCONTACTS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Map< DayOfWeek, Aws::Vector< CoverageTime > > & GetShiftCoverages() const
void SetMonthlySettings(MonthlySettingsT &&value)
RecurrenceSettings & WithShiftCoverages(ShiftCoveragesT &&value)
void SetDailySettings(DailySettingsT &&value)
void SetWeeklySettings(WeeklySettingsT &&value)
AWS_SSMCONTACTS_API RecurrenceSettings & operator=(Aws::Utils::Json::JsonView jsonValue)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue