AWS SDK for C++

AWS SDK for C++ Version 1.11.695

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/S3Request.h>
10#include <aws/s3/S3_EXPORTS.h>
11#include <aws/s3/model/ServerSideEncryption.h>
12#include <aws/s3/model/SessionMode.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Http {
18class URI;
19} // namespace Http
20namespace S3 {
21namespace Model {
22
26 public:
27 AWS_S3_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_S3_API Aws::String SerializePayload() const override;
36
37 AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
38
40
41 AWS_S3_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
45 AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
46
48
58 inline SessionMode GetSessionMode() const { return m_sessionMode; }
59 inline bool SessionModeHasBeenSet() const { return m_sessionModeHasBeenSet; }
60 inline void SetSessionMode(SessionMode value) {
61 m_sessionModeHasBeenSet = true;
62 m_sessionMode = value;
63 }
65 SetSessionMode(value);
66 return *this;
67 }
69
71
74 inline const Aws::String& GetBucket() const { return m_bucket; }
75 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
76 template <typename BucketT = Aws::String>
77 void SetBucket(BucketT&& value) {
78 m_bucketHasBeenSet = true;
79 m_bucket = std::forward<BucketT>(value);
80 }
81 template <typename BucketT = Aws::String>
82 CreateSessionRequest& WithBucket(BucketT&& value) {
83 SetBucket(std::forward<BucketT>(value));
84 return *this;
85 }
87
89
105 inline ServerSideEncryption GetServerSideEncryption() const { return m_serverSideEncryption; }
106 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
108 m_serverSideEncryptionHasBeenSet = true;
109 m_serverSideEncryption = value;
110 }
113 return *this;
114 }
116
118
133 inline const Aws::String& GetSSEKMSKeyId() const { return m_sSEKMSKeyId; }
134 inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
135 template <typename SSEKMSKeyIdT = Aws::String>
136 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) {
137 m_sSEKMSKeyIdHasBeenSet = true;
138 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
139 }
140 template <typename SSEKMSKeyIdT = Aws::String>
141 CreateSessionRequest& WithSSEKMSKeyId(SSEKMSKeyIdT&& value) {
142 SetSSEKMSKeyId(std::forward<SSEKMSKeyIdT>(value));
143 return *this;
144 }
146
148
164 inline const Aws::String& GetSSEKMSEncryptionContext() const { return m_sSEKMSEncryptionContext; }
165 inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
166 template <typename SSEKMSEncryptionContextT = Aws::String>
167 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
168 m_sSEKMSEncryptionContextHasBeenSet = true;
169 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
170 }
171 template <typename SSEKMSEncryptionContextT = Aws::String>
172 CreateSessionRequest& WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
173 SetSSEKMSEncryptionContext(std::forward<SSEKMSEncryptionContextT>(value));
174 return *this;
175 }
177
179
197 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
198 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
199 inline void SetBucketKeyEnabled(bool value) {
200 m_bucketKeyEnabledHasBeenSet = true;
201 m_bucketKeyEnabled = value;
202 }
204 SetBucketKeyEnabled(value);
205 return *this;
206 }
208
210
211 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
212 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
213 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
214 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
215 m_customizedAccessLogTagHasBeenSet = true;
216 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
217 }
218 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
219 CreateSessionRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
220 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
221 return *this;
222 }
223 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
224 CreateSessionRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
225 m_customizedAccessLogTagHasBeenSet = true;
226 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
227 return *this;
228 }
230 private:
231 SessionMode m_sessionMode{SessionMode::NOT_SET};
232 bool m_sessionModeHasBeenSet = false;
233
234 Aws::String m_bucket;
235 bool m_bucketHasBeenSet = false;
236
238 bool m_serverSideEncryptionHasBeenSet = false;
239
240 Aws::String m_sSEKMSKeyId;
241 bool m_sSEKMSKeyIdHasBeenSet = false;
242
243 Aws::String m_sSEKMSEncryptionContext;
244 bool m_sSEKMSEncryptionContextHasBeenSet = false;
245
246 bool m_bucketKeyEnabled{false};
247 bool m_bucketKeyEnabledHasBeenSet = false;
248
249 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
250 bool m_customizedAccessLogTagHasBeenSet = false;
251};
252
253} // namespace Model
254} // namespace S3
255} // namespace Aws
AWS_S3_API Aws::String SerializePayload() const override
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
virtual const char * GetServiceRequestName() const override
CreateSessionRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
const Aws::String & GetSSEKMSKeyId() const
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
void SetServerSideEncryption(ServerSideEncryption value)
CreateSessionRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
const Aws::String & GetBucket() const
const Aws::String & GetSSEKMSEncryptionContext() const
CreateSessionRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
CreateSessionRequest & WithBucketKeyEnabled(bool value)
CreateSessionRequest & WithBucket(BucketT &&value)
ServerSideEncryption GetServerSideEncryption() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateSessionRequest & WithServerSideEncryption(ServerSideEncryption value)
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
CreateSessionRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
AWS_S3_API CreateSessionRequest()=default
CreateSessionRequest & WithSessionMode(SessionMode value)
Aws::Endpoint::EndpointParameters EndpointParameters
Definition S3Request.h:19
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