AWS SDK for C++

AWS SDK for C++ Version 1.11.905

Loading...
Searching...
No Matches
CreateStreamRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/kinesis/KinesisRequest.h>
10#include <aws/kinesis/Kinesis_EXPORTS.h>
11#include <aws/kinesis/model/RecordDistributionStrategy.h>
12#include <aws/kinesis/model/StreamModeDetails.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Kinesis {
18namespace Model {
19
27 public:
28 AWS_KINESIS_API CreateStreamRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateStream"; }
35
36 AWS_KINESIS_API Aws::String SerializePayload() const override;
37
39
43 AWS_KINESIS_API EndpointParameters GetEndpointContextParams() const override;
44
46
54 inline const Aws::String& GetStreamName() const { return m_streamName; }
55 inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; }
56 template <typename StreamNameT = Aws::String>
57 void SetStreamName(StreamNameT&& value) {
58 m_streamNameHasBeenSet = true;
59 m_streamName = std::forward<StreamNameT>(value);
60 }
61 template <typename StreamNameT = Aws::String>
62 CreateStreamRequest& WithStreamName(StreamNameT&& value) {
63 SetStreamName(std::forward<StreamNameT>(value));
64 return *this;
65 }
67
69
74 inline int GetShardCount() const { return m_shardCount; }
75 inline bool ShardCountHasBeenSet() const { return m_shardCountHasBeenSet; }
76 inline void SetShardCount(int value) {
77 m_shardCountHasBeenSet = true;
78 m_shardCount = value;
79 }
81 SetShardCount(value);
82 return *this;
83 }
85
87
92 inline const StreamModeDetails& GetStreamModeDetails() const { return m_streamModeDetails; }
93 inline bool StreamModeDetailsHasBeenSet() const { return m_streamModeDetailsHasBeenSet; }
94 template <typename StreamModeDetailsT = StreamModeDetails>
95 void SetStreamModeDetails(StreamModeDetailsT&& value) {
96 m_streamModeDetailsHasBeenSet = true;
97 m_streamModeDetails = std::forward<StreamModeDetailsT>(value);
98 }
99 template <typename StreamModeDetailsT = StreamModeDetails>
100 CreateStreamRequest& WithStreamModeDetails(StreamModeDetailsT&& value) {
101 SetStreamModeDetails(std::forward<StreamModeDetailsT>(value));
102 return *this;
103 }
105
107
111 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
112 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
113 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
114 void SetTags(TagsT&& value) {
115 m_tagsHasBeenSet = true;
116 m_tags = std::forward<TagsT>(value);
117 }
118 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
120 SetTags(std::forward<TagsT>(value));
121 return *this;
122 }
123 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
124 CreateStreamRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
125 m_tagsHasBeenSet = true;
126 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
127 return *this;
128 }
130
132
137 inline int GetWarmThroughputMiBps() const { return m_warmThroughputMiBps; }
138 inline bool WarmThroughputMiBpsHasBeenSet() const { return m_warmThroughputMiBpsHasBeenSet; }
139 inline void SetWarmThroughputMiBps(int value) {
140 m_warmThroughputMiBpsHasBeenSet = true;
141 m_warmThroughputMiBps = value;
142 }
145 return *this;
146 }
148
150
154 inline int GetMaxRecordSizeInKiB() const { return m_maxRecordSizeInKiB; }
155 inline bool MaxRecordSizeInKiBHasBeenSet() const { return m_maxRecordSizeInKiBHasBeenSet; }
156 inline void SetMaxRecordSizeInKiB(int value) {
157 m_maxRecordSizeInKiBHasBeenSet = true;
158 m_maxRecordSizeInKiB = value;
159 }
162 return *this;
163 }
165
167
180 inline RecordDistributionStrategy GetRecordDistributionStrategy() const { return m_recordDistributionStrategy; }
181 inline bool RecordDistributionStrategyHasBeenSet() const { return m_recordDistributionStrategyHasBeenSet; }
183 m_recordDistributionStrategyHasBeenSet = true;
184 m_recordDistributionStrategy = value;
185 }
188 return *this;
189 }
191 private:
192 Aws::String m_streamName;
193
194 int m_shardCount{0};
195
196 StreamModeDetails m_streamModeDetails;
197
199
200 int m_warmThroughputMiBps{0};
201
202 int m_maxRecordSizeInKiB{0};
203
205 bool m_streamNameHasBeenSet = false;
206 bool m_shardCountHasBeenSet = false;
207 bool m_streamModeDetailsHasBeenSet = false;
208 bool m_tagsHasBeenSet = false;
209 bool m_warmThroughputMiBpsHasBeenSet = false;
210 bool m_maxRecordSizeInKiBHasBeenSet = false;
211 bool m_recordDistributionStrategyHasBeenSet = false;
212};
213
214} // namespace Model
215} // namespace Kinesis
216} // namespace Aws
Aws::Endpoint::EndpointParameters EndpointParameters
AWS_KINESIS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
RecordDistributionStrategy GetRecordDistributionStrategy() const
CreateStreamRequest & WithShardCount(int value)
virtual const char * GetServiceRequestName() const override
CreateStreamRequest & WithStreamName(StreamNameT &&value)
void SetStreamModeDetails(StreamModeDetailsT &&value)
CreateStreamRequest & WithStreamModeDetails(StreamModeDetailsT &&value)
CreateStreamRequest & WithTags(TagsT &&value)
CreateStreamRequest & WithWarmThroughputMiBps(int value)
AWS_KINESIS_API Aws::String SerializePayload() const override
CreateStreamRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateStreamRequest & WithMaxRecordSizeInKiB(int value)
const StreamModeDetails & GetStreamModeDetails() const
void SetRecordDistributionStrategy(RecordDistributionStrategy value)
AWS_KINESIS_API CreateStreamRequest()=default
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateStreamRequest & WithRecordDistributionStrategy(RecordDistributionStrategy value)
AWS_KINESIS_API EndpointParameters GetEndpointContextParams() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String