AWS SDK for C++

AWS SDK for C++ Version 1.11.741

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/kinesisvideo/KinesisVideoRequest.h>
10#include <aws/kinesisvideo/KinesisVideo_EXPORTS.h>
11#include <aws/kinesisvideo/model/StreamStorageConfiguration.h>
12
13#include <utility>
14
15namespace Aws {
16namespace KinesisVideo {
17namespace Model {
18
22 public:
23 AWS_KINESISVIDEO_API CreateStreamRequest() = default;
24
25 // Service request name is the Operation name which will send this request out,
26 // each operation should has unique request name, so that we can get operation's name from this request.
27 // Note: this is not true for response, multiple operations may have the same response name,
28 // so we can not get operation's name from response.
29 inline virtual const char* GetServiceRequestName() const override { return "CreateStream"; }
30
31 AWS_KINESISVIDEO_API Aws::String SerializePayload() const override;
32
34
38 inline const Aws::String& GetDeviceName() const { return m_deviceName; }
39 inline bool DeviceNameHasBeenSet() const { return m_deviceNameHasBeenSet; }
40 template <typename DeviceNameT = Aws::String>
41 void SetDeviceName(DeviceNameT&& value) {
42 m_deviceNameHasBeenSet = true;
43 m_deviceName = std::forward<DeviceNameT>(value);
44 }
45 template <typename DeviceNameT = Aws::String>
46 CreateStreamRequest& WithDeviceName(DeviceNameT&& value) {
47 SetDeviceName(std::forward<DeviceNameT>(value));
48 return *this;
49 }
51
53
57 inline const Aws::String& GetStreamName() const { return m_streamName; }
58 inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; }
59 template <typename StreamNameT = Aws::String>
60 void SetStreamName(StreamNameT&& value) {
61 m_streamNameHasBeenSet = true;
62 m_streamName = std::forward<StreamNameT>(value);
63 }
64 template <typename StreamNameT = Aws::String>
65 CreateStreamRequest& WithStreamName(StreamNameT&& value) {
66 SetStreamName(std::forward<StreamNameT>(value));
67 return *this;
68 }
70
72
83 inline const Aws::String& GetMediaType() const { return m_mediaType; }
84 inline bool MediaTypeHasBeenSet() const { return m_mediaTypeHasBeenSet; }
85 template <typename MediaTypeT = Aws::String>
86 void SetMediaType(MediaTypeT&& value) {
87 m_mediaTypeHasBeenSet = true;
88 m_mediaType = std::forward<MediaTypeT>(value);
89 }
90 template <typename MediaTypeT = Aws::String>
91 CreateStreamRequest& WithMediaType(MediaTypeT&& value) {
92 SetMediaType(std::forward<MediaTypeT>(value));
93 return *this;
94 }
96
98
106 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
107 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
108 template <typename KmsKeyIdT = Aws::String>
109 void SetKmsKeyId(KmsKeyIdT&& value) {
110 m_kmsKeyIdHasBeenSet = true;
111 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
112 }
113 template <typename KmsKeyIdT = Aws::String>
114 CreateStreamRequest& WithKmsKeyId(KmsKeyIdT&& value) {
115 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
116 return *this;
117 }
119
121
131 inline int GetDataRetentionInHours() const { return m_dataRetentionInHours; }
132 inline bool DataRetentionInHoursHasBeenSet() const { return m_dataRetentionInHoursHasBeenSet; }
133 inline void SetDataRetentionInHours(int value) {
134 m_dataRetentionInHoursHasBeenSet = true;
135 m_dataRetentionInHours = value;
136 }
139 return *this;
140 }
142
144
148 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
149 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
150 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
151 void SetTags(TagsT&& value) {
152 m_tagsHasBeenSet = true;
153 m_tags = std::forward<TagsT>(value);
154 }
155 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
157 SetTags(std::forward<TagsT>(value));
158 return *this;
159 }
160 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
161 CreateStreamRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
162 m_tagsHasBeenSet = true;
163 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
164 return *this;
165 }
167
169
176 inline const StreamStorageConfiguration& GetStreamStorageConfiguration() const { return m_streamStorageConfiguration; }
177 inline bool StreamStorageConfigurationHasBeenSet() const { return m_streamStorageConfigurationHasBeenSet; }
178 template <typename StreamStorageConfigurationT = StreamStorageConfiguration>
179 void SetStreamStorageConfiguration(StreamStorageConfigurationT&& value) {
180 m_streamStorageConfigurationHasBeenSet = true;
181 m_streamStorageConfiguration = std::forward<StreamStorageConfigurationT>(value);
182 }
183 template <typename StreamStorageConfigurationT = StreamStorageConfiguration>
184 CreateStreamRequest& WithStreamStorageConfiguration(StreamStorageConfigurationT&& value) {
185 SetStreamStorageConfiguration(std::forward<StreamStorageConfigurationT>(value));
186 return *this;
187 }
189 private:
190 Aws::String m_deviceName;
191
192 Aws::String m_streamName;
193
194 Aws::String m_mediaType;
195
196 Aws::String m_kmsKeyId;
197
198 int m_dataRetentionInHours{0};
199
201
202 StreamStorageConfiguration m_streamStorageConfiguration;
203 bool m_deviceNameHasBeenSet = false;
204 bool m_streamNameHasBeenSet = false;
205 bool m_mediaTypeHasBeenSet = false;
206 bool m_kmsKeyIdHasBeenSet = false;
207 bool m_dataRetentionInHoursHasBeenSet = false;
208 bool m_tagsHasBeenSet = false;
209 bool m_streamStorageConfigurationHasBeenSet = false;
210};
211
212} // namespace Model
213} // namespace KinesisVideo
214} // namespace Aws
AWS_KINESISVIDEO_API CreateStreamRequest()=default
virtual const char * GetServiceRequestName() const override
CreateStreamRequest & WithStreamName(StreamNameT &&value)
CreateStreamRequest & WithDeviceName(DeviceNameT &&value)
const StreamStorageConfiguration & GetStreamStorageConfiguration() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateStreamRequest & WithMediaType(MediaTypeT &&value)
CreateStreamRequest & WithKmsKeyId(KmsKeyIdT &&value)
CreateStreamRequest & WithDataRetentionInHours(int value)
CreateStreamRequest & WithTags(TagsT &&value)
CreateStreamRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetStreamStorageConfiguration(StreamStorageConfigurationT &&value)
AWS_KINESISVIDEO_API Aws::String SerializePayload() const override
CreateStreamRequest & WithStreamStorageConfiguration(StreamStorageConfigurationT &&value)
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