AWS SDK for C++

AWS SDK for C++ Version 1.11.782

Loading...
Searching...
No Matches
CreateSessionRequest.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/s3-crt/S3CrtRequest.h>
10#include <aws/s3-crt/S3Crt_EXPORTS.h>
11#include <aws/s3-crt/model/ServerSideEncryption.h>
12#include <aws/s3-crt/model/SessionMode.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Http {
18class URI;
19} // namespace Http
20namespace S3Crt {
21namespace Model {
22
26 public:
27 AWS_S3CRT_API CreateSessionRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateSession"; }
34
35 AWS_S3CRT_API Aws::String SerializePayload() const override;
36
37 AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
38
40
41 AWS_S3CRT_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
45 AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override;
46
48
62 inline SessionMode GetSessionMode() const { return m_sessionMode; }
63 inline bool SessionModeHasBeenSet() const { return m_sessionModeHasBeenSet; }
64 inline void SetSessionMode(SessionMode value) {
65 m_sessionModeHasBeenSet = true;
66 m_sessionMode = value;
67 }
69 SetSessionMode(value);
70 return *this;
71 }
73
75
78 inline const Aws::String& GetBucket() const { return m_bucket; }
79 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
80 template <typename BucketT = Aws::String>
81 void SetBucket(BucketT&& value) {
82 m_bucketHasBeenSet = true;
83 m_bucket = std::forward<BucketT>(value);
84 }
85 template <typename BucketT = Aws::String>
86 CreateSessionRequest& WithBucket(BucketT&& value) {
87 SetBucket(std::forward<BucketT>(value));
88 return *this;
89 }
91
93
109 inline ServerSideEncryption GetServerSideEncryption() const { return m_serverSideEncryption; }
110 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
112 m_serverSideEncryptionHasBeenSet = true;
113 m_serverSideEncryption = value;
114 }
117 return *this;
118 }
120
122
137 inline const Aws::String& GetSSEKMSKeyId() const { return m_sSEKMSKeyId; }
138 inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
139 template <typename SSEKMSKeyIdT = Aws::String>
140 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) {
141 m_sSEKMSKeyIdHasBeenSet = true;
142 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
143 }
144 template <typename SSEKMSKeyIdT = Aws::String>
145 CreateSessionRequest& WithSSEKMSKeyId(SSEKMSKeyIdT&& value) {
146 SetSSEKMSKeyId(std::forward<SSEKMSKeyIdT>(value));
147 return *this;
148 }
150
152
168 inline const Aws::String& GetSSEKMSEncryptionContext() const { return m_sSEKMSEncryptionContext; }
169 inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
170 template <typename SSEKMSEncryptionContextT = Aws::String>
171 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
172 m_sSEKMSEncryptionContextHasBeenSet = true;
173 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
174 }
175 template <typename SSEKMSEncryptionContextT = Aws::String>
176 CreateSessionRequest& WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
177 SetSSEKMSEncryptionContext(std::forward<SSEKMSEncryptionContextT>(value));
178 return *this;
179 }
181
183
201 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
202 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
203 inline void SetBucketKeyEnabled(bool value) {
204 m_bucketKeyEnabledHasBeenSet = true;
205 m_bucketKeyEnabled = value;
206 }
208 SetBucketKeyEnabled(value);
209 return *this;
210 }
212
214
215 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
216 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
217 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
218 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
219 m_customizedAccessLogTagHasBeenSet = true;
220 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
221 }
222 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
223 CreateSessionRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
224 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
225 return *this;
226 }
227 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
228 CreateSessionRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
229 m_customizedAccessLogTagHasBeenSet = true;
230 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
231 return *this;
232 }
234 private:
235 SessionMode m_sessionMode{SessionMode::NOT_SET};
236
237 Aws::String m_bucket;
238
240
241 Aws::String m_sSEKMSKeyId;
242
243 Aws::String m_sSEKMSEncryptionContext;
244
245 bool m_bucketKeyEnabled{false};
246
247 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
248 bool m_sessionModeHasBeenSet = false;
249 bool m_bucketHasBeenSet = false;
250 bool m_serverSideEncryptionHasBeenSet = false;
251 bool m_sSEKMSKeyIdHasBeenSet = false;
252 bool m_sSEKMSEncryptionContextHasBeenSet = false;
253 bool m_bucketKeyEnabledHasBeenSet = false;
254 bool m_customizedAccessLogTagHasBeenSet = false;
255};
256
257} // namespace Model
258} // namespace S3Crt
259} // namespace Aws
CreateSessionRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
ServerSideEncryption GetServerSideEncryption() const
AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override
CreateSessionRequest & WithBucketKeyEnabled(bool value)
CreateSessionRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
CreateSessionRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
AWS_S3CRT_API CreateSessionRequest()=default
virtual const char * GetServiceRequestName() const override
void SetServerSideEncryption(ServerSideEncryption value)
CreateSessionRequest & WithSessionMode(SessionMode value)
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
AWS_S3CRT_API Aws::String SerializePayload() const override
CreateSessionRequest & WithServerSideEncryption(ServerSideEncryption value)
CreateSessionRequest & WithBucket(BucketT &&value)
const Aws::String & GetSSEKMSEncryptionContext() const
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
CreateSessionRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
Aws::Endpoint::EndpointParameters EndpointParameters
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_iostream< char, std::char_traits< char > > IOStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String