AWS SDK for C++

AWS SDK for C++ Version 1.11.927

Loading...
Searching...
No Matches
BandwidthRateLimitInterval.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/storagegateway/StorageGateway_EXPORTS.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace StorageGateway {
20namespace Model {
21
33 public:
34 AWS_STORAGEGATEWAY_API BandwidthRateLimitInterval() = default;
35 AWS_STORAGEGATEWAY_API BandwidthRateLimitInterval(Aws::Utils::Json::JsonView jsonValue);
37 AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline int GetStartHourOfDay() const { return m_startHourOfDay; }
44 inline bool StartHourOfDayHasBeenSet() const { return m_startHourOfDayHasBeenSet; }
45 inline void SetStartHourOfDay(int value) {
46 m_startHourOfDayHasBeenSet = true;
47 m_startHourOfDay = value;
48 }
50 SetStartHourOfDay(value);
51 return *this;
52 }
54
56
61 inline int GetStartMinuteOfHour() const { return m_startMinuteOfHour; }
62 inline bool StartMinuteOfHourHasBeenSet() const { return m_startMinuteOfHourHasBeenSet; }
63 inline void SetStartMinuteOfHour(int value) {
64 m_startMinuteOfHourHasBeenSet = true;
65 m_startMinuteOfHour = value;
66 }
69 return *this;
70 }
72
74
77 inline int GetEndHourOfDay() const { return m_endHourOfDay; }
78 inline bool EndHourOfDayHasBeenSet() const { return m_endHourOfDayHasBeenSet; }
79 inline void SetEndHourOfDay(int value) {
80 m_endHourOfDayHasBeenSet = true;
81 m_endHourOfDay = value;
82 }
84 SetEndHourOfDay(value);
85 return *this;
86 }
88
90
96 inline int GetEndMinuteOfHour() const { return m_endMinuteOfHour; }
97 inline bool EndMinuteOfHourHasBeenSet() const { return m_endMinuteOfHourHasBeenSet; }
98 inline void SetEndMinuteOfHour(int value) {
99 m_endMinuteOfHourHasBeenSet = true;
100 m_endMinuteOfHour = value;
101 }
103 SetEndMinuteOfHour(value);
104 return *this;
105 }
107
109
114 inline const Aws::Vector<int>& GetDaysOfWeek() const { return m_daysOfWeek; }
115 inline bool DaysOfWeekHasBeenSet() const { return m_daysOfWeekHasBeenSet; }
116 template <typename DaysOfWeekT = Aws::Vector<int>>
117 void SetDaysOfWeek(DaysOfWeekT&& value) {
118 m_daysOfWeekHasBeenSet = true;
119 m_daysOfWeek = std::forward<DaysOfWeekT>(value);
120 }
121 template <typename DaysOfWeekT = Aws::Vector<int>>
123 SetDaysOfWeek(std::forward<DaysOfWeekT>(value));
124 return *this;
125 }
127 m_daysOfWeekHasBeenSet = true;
128 m_daysOfWeek.push_back(value);
129 return *this;
130 }
132
134
142 inline long long GetAverageUploadRateLimitInBitsPerSec() const { return m_averageUploadRateLimitInBitsPerSec; }
143 inline bool AverageUploadRateLimitInBitsPerSecHasBeenSet() const { return m_averageUploadRateLimitInBitsPerSecHasBeenSet; }
144 inline void SetAverageUploadRateLimitInBitsPerSec(long long value) {
145 m_averageUploadRateLimitInBitsPerSecHasBeenSet = true;
146 m_averageUploadRateLimitInBitsPerSec = value;
147 }
153
155
161 inline long long GetAverageDownloadRateLimitInBitsPerSec() const { return m_averageDownloadRateLimitInBitsPerSec; }
162 inline bool AverageDownloadRateLimitInBitsPerSecHasBeenSet() const { return m_averageDownloadRateLimitInBitsPerSecHasBeenSet; }
163 inline void SetAverageDownloadRateLimitInBitsPerSec(long long value) {
164 m_averageDownloadRateLimitInBitsPerSecHasBeenSet = true;
165 m_averageDownloadRateLimitInBitsPerSec = value;
166 }
172 private:
173 int m_startHourOfDay{0};
174
175 int m_startMinuteOfHour{0};
176
177 int m_endHourOfDay{0};
178
179 int m_endMinuteOfHour{0};
180
181 Aws::Vector<int> m_daysOfWeek;
182
183 long long m_averageUploadRateLimitInBitsPerSec{0};
184
185 long long m_averageDownloadRateLimitInBitsPerSec{0};
186 bool m_startHourOfDayHasBeenSet = false;
187 bool m_startMinuteOfHourHasBeenSet = false;
188 bool m_endHourOfDayHasBeenSet = false;
189 bool m_endMinuteOfHourHasBeenSet = false;
190 bool m_daysOfWeekHasBeenSet = false;
191 bool m_averageUploadRateLimitInBitsPerSecHasBeenSet = false;
192 bool m_averageDownloadRateLimitInBitsPerSecHasBeenSet = false;
193};
194
195} // namespace Model
196} // namespace StorageGateway
197} // namespace Aws
AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const
BandwidthRateLimitInterval & WithDaysOfWeek(DaysOfWeekT &&value)
AWS_STORAGEGATEWAY_API BandwidthRateLimitInterval(Aws::Utils::Json::JsonView jsonValue)
BandwidthRateLimitInterval & WithAverageDownloadRateLimitInBitsPerSec(long long value)
AWS_STORAGEGATEWAY_API BandwidthRateLimitInterval & operator=(Aws::Utils::Json::JsonView jsonValue)
BandwidthRateLimitInterval & WithStartMinuteOfHour(int value)
BandwidthRateLimitInterval & WithAverageUploadRateLimitInBitsPerSec(long long value)
AWS_STORAGEGATEWAY_API BandwidthRateLimitInterval()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue