AWS SDK for C++

AWS SDK for C++ Version 1.11.760

Loading...
Searching...
No Matches
StreamDescription.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/kinesis/Kinesis_EXPORTS.h>
11#include <aws/kinesis/model/EncryptionType.h>
12#include <aws/kinesis/model/EnhancedMetrics.h>
13#include <aws/kinesis/model/Shard.h>
14#include <aws/kinesis/model/StreamModeDetails.h>
15#include <aws/kinesis/model/StreamStatus.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Kinesis {
27namespace Model {
28
36 public:
37 AWS_KINESIS_API StreamDescription() = default;
40 AWS_KINESIS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetStreamName() const { return m_streamName; }
47 inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; }
48 template <typename StreamNameT = Aws::String>
49 void SetStreamName(StreamNameT&& value) {
50 m_streamNameHasBeenSet = true;
51 m_streamName = std::forward<StreamNameT>(value);
52 }
53 template <typename StreamNameT = Aws::String>
54 StreamDescription& WithStreamName(StreamNameT&& value) {
55 SetStreamName(std::forward<StreamNameT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetStreamARN() const { return m_streamARN; }
65 inline bool StreamARNHasBeenSet() const { return m_streamARNHasBeenSet; }
66 template <typename StreamARNT = Aws::String>
67 void SetStreamARN(StreamARNT&& value) {
68 m_streamARNHasBeenSet = true;
69 m_streamARN = std::forward<StreamARNT>(value);
70 }
71 template <typename StreamARNT = Aws::String>
72 StreamDescription& WithStreamARN(StreamARNT&& value) {
73 SetStreamARN(std::forward<StreamARNT>(value));
74 return *this;
75 }
77
79
93 inline StreamStatus GetStreamStatus() const { return m_streamStatus; }
94 inline bool StreamStatusHasBeenSet() const { return m_streamStatusHasBeenSet; }
95 inline void SetStreamStatus(StreamStatus value) {
96 m_streamStatusHasBeenSet = true;
97 m_streamStatus = value;
98 }
100 SetStreamStatus(value);
101 return *this;
102 }
104
106
111 inline const StreamModeDetails& GetStreamModeDetails() const { return m_streamModeDetails; }
112 inline bool StreamModeDetailsHasBeenSet() const { return m_streamModeDetailsHasBeenSet; }
113 template <typename StreamModeDetailsT = StreamModeDetails>
114 void SetStreamModeDetails(StreamModeDetailsT&& value) {
115 m_streamModeDetailsHasBeenSet = true;
116 m_streamModeDetails = std::forward<StreamModeDetailsT>(value);
117 }
118 template <typename StreamModeDetailsT = StreamModeDetails>
119 StreamDescription& WithStreamModeDetails(StreamModeDetailsT&& value) {
120 SetStreamModeDetails(std::forward<StreamModeDetailsT>(value));
121 return *this;
122 }
124
126
129 inline const Aws::Vector<Shard>& GetShards() const { return m_shards; }
130 inline bool ShardsHasBeenSet() const { return m_shardsHasBeenSet; }
131 template <typename ShardsT = Aws::Vector<Shard>>
132 void SetShards(ShardsT&& value) {
133 m_shardsHasBeenSet = true;
134 m_shards = std::forward<ShardsT>(value);
135 }
136 template <typename ShardsT = Aws::Vector<Shard>>
137 StreamDescription& WithShards(ShardsT&& value) {
138 SetShards(std::forward<ShardsT>(value));
139 return *this;
140 }
141 template <typename ShardsT = Shard>
142 StreamDescription& AddShards(ShardsT&& value) {
143 m_shardsHasBeenSet = true;
144 m_shards.emplace_back(std::forward<ShardsT>(value));
145 return *this;
146 }
148
150
154 inline bool GetHasMoreShards() const { return m_hasMoreShards; }
155 inline bool HasMoreShardsHasBeenSet() const { return m_hasMoreShardsHasBeenSet; }
156 inline void SetHasMoreShards(bool value) {
157 m_hasMoreShardsHasBeenSet = true;
158 m_hasMoreShards = value;
159 }
161 SetHasMoreShards(value);
162 return *this;
163 }
165
167
171 inline int GetRetentionPeriodHours() const { return m_retentionPeriodHours; }
172 inline bool RetentionPeriodHoursHasBeenSet() const { return m_retentionPeriodHoursHasBeenSet; }
173 inline void SetRetentionPeriodHours(int value) {
174 m_retentionPeriodHoursHasBeenSet = true;
175 m_retentionPeriodHours = value;
176 }
179 return *this;
180 }
182
184
187 inline const Aws::Utils::DateTime& GetStreamCreationTimestamp() const { return m_streamCreationTimestamp; }
188 inline bool StreamCreationTimestampHasBeenSet() const { return m_streamCreationTimestampHasBeenSet; }
189 template <typename StreamCreationTimestampT = Aws::Utils::DateTime>
190 void SetStreamCreationTimestamp(StreamCreationTimestampT&& value) {
191 m_streamCreationTimestampHasBeenSet = true;
192 m_streamCreationTimestamp = std::forward<StreamCreationTimestampT>(value);
193 }
194 template <typename StreamCreationTimestampT = Aws::Utils::DateTime>
195 StreamDescription& WithStreamCreationTimestamp(StreamCreationTimestampT&& value) {
196 SetStreamCreationTimestamp(std::forward<StreamCreationTimestampT>(value));
197 return *this;
198 }
200
202
205 inline const Aws::Vector<EnhancedMetrics>& GetEnhancedMonitoring() const { return m_enhancedMonitoring; }
206 inline bool EnhancedMonitoringHasBeenSet() const { return m_enhancedMonitoringHasBeenSet; }
207 template <typename EnhancedMonitoringT = Aws::Vector<EnhancedMetrics>>
208 void SetEnhancedMonitoring(EnhancedMonitoringT&& value) {
209 m_enhancedMonitoringHasBeenSet = true;
210 m_enhancedMonitoring = std::forward<EnhancedMonitoringT>(value);
211 }
212 template <typename EnhancedMonitoringT = Aws::Vector<EnhancedMetrics>>
213 StreamDescription& WithEnhancedMonitoring(EnhancedMonitoringT&& value) {
214 SetEnhancedMonitoring(std::forward<EnhancedMonitoringT>(value));
215 return *this;
216 }
217 template <typename EnhancedMonitoringT = EnhancedMetrics>
218 StreamDescription& AddEnhancedMonitoring(EnhancedMonitoringT&& value) {
219 m_enhancedMonitoringHasBeenSet = true;
220 m_enhancedMonitoring.emplace_back(std::forward<EnhancedMonitoringT>(value));
221 return *this;
222 }
224
226
233 inline EncryptionType GetEncryptionType() const { return m_encryptionType; }
234 inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; }
236 m_encryptionTypeHasBeenSet = true;
237 m_encryptionType = value;
238 }
240 SetEncryptionType(value);
241 return *this;
242 }
244
246
260 inline const Aws::String& GetKeyId() const { return m_keyId; }
261 inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
262 template <typename KeyIdT = Aws::String>
263 void SetKeyId(KeyIdT&& value) {
264 m_keyIdHasBeenSet = true;
265 m_keyId = std::forward<KeyIdT>(value);
266 }
267 template <typename KeyIdT = Aws::String>
268 StreamDescription& WithKeyId(KeyIdT&& value) {
269 SetKeyId(std::forward<KeyIdT>(value));
270 return *this;
271 }
273 private:
274 Aws::String m_streamName;
275
276 Aws::String m_streamARN;
277
278 StreamStatus m_streamStatus{StreamStatus::NOT_SET};
279
280 StreamModeDetails m_streamModeDetails;
281
282 Aws::Vector<Shard> m_shards;
283
284 bool m_hasMoreShards{false};
285
286 int m_retentionPeriodHours{0};
287
288 Aws::Utils::DateTime m_streamCreationTimestamp{};
289
290 Aws::Vector<EnhancedMetrics> m_enhancedMonitoring;
291
292 EncryptionType m_encryptionType{EncryptionType::NOT_SET};
293
294 Aws::String m_keyId;
295 bool m_streamNameHasBeenSet = false;
296 bool m_streamARNHasBeenSet = false;
297 bool m_streamStatusHasBeenSet = false;
298 bool m_streamModeDetailsHasBeenSet = false;
299 bool m_shardsHasBeenSet = false;
300 bool m_hasMoreShardsHasBeenSet = false;
301 bool m_retentionPeriodHoursHasBeenSet = false;
302 bool m_streamCreationTimestampHasBeenSet = false;
303 bool m_enhancedMonitoringHasBeenSet = false;
304 bool m_encryptionTypeHasBeenSet = false;
305 bool m_keyIdHasBeenSet = false;
306};
307
308} // namespace Model
309} // namespace Kinesis
310} // namespace Aws
void SetStreamCreationTimestamp(StreamCreationTimestampT &&value)
const Aws::Utils::DateTime & GetStreamCreationTimestamp() const
const Aws::Vector< EnhancedMetrics > & GetEnhancedMonitoring() const
const Aws::Vector< Shard > & GetShards() const
StreamDescription & WithShards(ShardsT &&value)
void SetEnhancedMonitoring(EnhancedMonitoringT &&value)
void SetStreamName(StreamNameT &&value)
StreamDescription & WithRetentionPeriodHours(int value)
StreamDescription & WithStreamCreationTimestamp(StreamCreationTimestampT &&value)
const StreamModeDetails & GetStreamModeDetails() const
StreamDescription & WithHasMoreShards(bool value)
AWS_KINESIS_API StreamDescription()=default
const Aws::String & GetStreamName() const
StreamDescription & WithStreamStatus(StreamStatus value)
StreamDescription & WithStreamModeDetails(StreamModeDetailsT &&value)
StreamDescription & WithStreamName(StreamNameT &&value)
AWS_KINESIS_API Aws::Utils::Json::JsonValue Jsonize() const
StreamDescription & WithEncryptionType(EncryptionType value)
StreamDescription & WithEnhancedMonitoring(EnhancedMonitoringT &&value)
void SetStreamModeDetails(StreamModeDetailsT &&value)
AWS_KINESIS_API StreamDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
StreamDescription & WithKeyId(KeyIdT &&value)
StreamDescription & WithStreamARN(StreamARNT &&value)
AWS_KINESIS_API StreamDescription(Aws::Utils::Json::JsonView jsonValue)
StreamDescription & AddShards(ShardsT &&value)
const Aws::String & GetStreamARN() const
void SetEncryptionType(EncryptionType value)
StreamDescription & AddEnhancedMonitoring(EnhancedMonitoringT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue