AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
SelectObjectContentRequest.h
1
6#pragma once
7#include <aws/core/utils/event/EventStreamDecoder.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3/S3Request.h>
11#include <aws/s3/S3_EXPORTS.h>
12#include <aws/s3/model/ExpressionType.h>
13#include <aws/s3/model/InputSerialization.h>
14#include <aws/s3/model/OutputSerialization.h>
15#include <aws/s3/model/RequestProgress.h>
16#include <aws/s3/model/ScanRange.h>
17#include <aws/s3/model/SelectObjectContentHandler.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Http {
23class URI;
24} // namespace Http
25namespace S3 {
26namespace Model {
27
46 public:
47 AWS_S3_API SelectObjectContentRequest() = default;
48
49 // Service request name is the Operation name which will send this request out,
50 // each operation should has unique request name, so that we can get operation's name from this request.
51 // Note: this is not true for response, multiple operations may have the same response name,
52 // so we can not get operation's name from response.
53 inline virtual const char* GetServiceRequestName() const override { return "SelectObjectContent"; }
54
55 inline virtual bool HasEventStreamResponse() const override { return true; }
56 AWS_S3_API Aws::String SerializePayload() const override;
57
58 AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
59
61
62 AWS_S3_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
67
71 inline SelectObjectContentHandler& GetEventStreamHandler() { return m_handler; }
72
77 m_handler = value;
78 m_decoder.ResetEventStreamHandler(&m_handler);
79 }
80
86 return *this;
87 }
88
92 AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
93
95
98 inline const Aws::String& GetBucket() const { return m_bucket; }
99 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
100 template <typename BucketT = Aws::String>
101 void SetBucket(BucketT&& value) {
102 m_bucketHasBeenSet = true;
103 m_bucket = std::forward<BucketT>(value);
104 }
105 template <typename BucketT = Aws::String>
107 SetBucket(std::forward<BucketT>(value));
108 return *this;
109 }
111
113
116 inline const Aws::String& GetKey() const { return m_key; }
117 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
118 template <typename KeyT = Aws::String>
119 void SetKey(KeyT&& value) {
120 m_keyHasBeenSet = true;
121 m_key = std::forward<KeyT>(value);
122 }
123 template <typename KeyT = Aws::String>
125 SetKey(std::forward<KeyT>(value));
126 return *this;
127 }
129
131
138 inline const Aws::String& GetSSECustomerAlgorithm() const { return m_sSECustomerAlgorithm; }
139 inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
140 template <typename SSECustomerAlgorithmT = Aws::String>
141 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
142 m_sSECustomerAlgorithmHasBeenSet = true;
143 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
144 }
145 template <typename SSECustomerAlgorithmT = Aws::String>
146 SelectObjectContentRequest& WithSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
147 SetSSECustomerAlgorithm(std::forward<SSECustomerAlgorithmT>(value));
148 return *this;
149 }
151
153
160 inline const Aws::String& GetSSECustomerKey() const { return m_sSECustomerKey; }
161 inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
162 template <typename SSECustomerKeyT = Aws::String>
163 void SetSSECustomerKey(SSECustomerKeyT&& value) {
164 m_sSECustomerKeyHasBeenSet = true;
165 m_sSECustomerKey = std::forward<SSECustomerKeyT>(value);
166 }
167 template <typename SSECustomerKeyT = Aws::String>
169 SetSSECustomerKey(std::forward<SSECustomerKeyT>(value));
170 return *this;
171 }
173
175
182 inline const Aws::String& GetSSECustomerKeyMD5() const { return m_sSECustomerKeyMD5; }
183 inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
184 template <typename SSECustomerKeyMD5T = Aws::String>
185 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
186 m_sSECustomerKeyMD5HasBeenSet = true;
187 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
188 }
189 template <typename SSECustomerKeyMD5T = Aws::String>
191 SetSSECustomerKeyMD5(std::forward<SSECustomerKeyMD5T>(value));
192 return *this;
193 }
195
197
200 inline const Aws::String& GetExpression() const { return m_expression; }
201 inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; }
202 template <typename ExpressionT = Aws::String>
203 void SetExpression(ExpressionT&& value) {
204 m_expressionHasBeenSet = true;
205 m_expression = std::forward<ExpressionT>(value);
206 }
207 template <typename ExpressionT = Aws::String>
209 SetExpression(std::forward<ExpressionT>(value));
210 return *this;
211 }
213
215
218 inline ExpressionType GetExpressionType() const { return m_expressionType; }
219 inline bool ExpressionTypeHasBeenSet() const { return m_expressionTypeHasBeenSet; }
221 m_expressionTypeHasBeenSet = true;
222 m_expressionType = value;
223 }
225 SetExpressionType(value);
226 return *this;
227 }
229
231
234 inline const RequestProgress& GetRequestProgress() const { return m_requestProgress; }
235 inline bool RequestProgressHasBeenSet() const { return m_requestProgressHasBeenSet; }
236 template <typename RequestProgressT = RequestProgress>
237 void SetRequestProgress(RequestProgressT&& value) {
238 m_requestProgressHasBeenSet = true;
239 m_requestProgress = std::forward<RequestProgressT>(value);
240 }
241 template <typename RequestProgressT = RequestProgress>
243 SetRequestProgress(std::forward<RequestProgressT>(value));
244 return *this;
245 }
247
249
252 inline const InputSerialization& GetInputSerialization() const { return m_inputSerialization; }
253 inline bool InputSerializationHasBeenSet() const { return m_inputSerializationHasBeenSet; }
254 template <typename InputSerializationT = InputSerialization>
255 void SetInputSerialization(InputSerializationT&& value) {
256 m_inputSerializationHasBeenSet = true;
257 m_inputSerialization = std::forward<InputSerializationT>(value);
258 }
259 template <typename InputSerializationT = InputSerialization>
261 SetInputSerialization(std::forward<InputSerializationT>(value));
262 return *this;
263 }
265
267
271 inline const OutputSerialization& GetOutputSerialization() const { return m_outputSerialization; }
272 inline bool OutputSerializationHasBeenSet() const { return m_outputSerializationHasBeenSet; }
273 template <typename OutputSerializationT = OutputSerialization>
274 void SetOutputSerialization(OutputSerializationT&& value) {
275 m_outputSerializationHasBeenSet = true;
276 m_outputSerialization = std::forward<OutputSerializationT>(value);
277 }
278 template <typename OutputSerializationT = OutputSerialization>
280 SetOutputSerialization(std::forward<OutputSerializationT>(value));
281 return *this;
282 }
284
286
300 inline const ScanRange& GetScanRange() const { return m_scanRange; }
301 inline bool ScanRangeHasBeenSet() const { return m_scanRangeHasBeenSet; }
302 template <typename ScanRangeT = ScanRange>
303 void SetScanRange(ScanRangeT&& value) {
304 m_scanRangeHasBeenSet = true;
305 m_scanRange = std::forward<ScanRangeT>(value);
306 }
307 template <typename ScanRangeT = ScanRange>
309 SetScanRange(std::forward<ScanRangeT>(value));
310 return *this;
311 }
313
315
320 inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; }
321 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
322 template <typename ExpectedBucketOwnerT = Aws::String>
323 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
324 m_expectedBucketOwnerHasBeenSet = true;
325 m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value);
326 }
327 template <typename ExpectedBucketOwnerT = Aws::String>
329 SetExpectedBucketOwner(std::forward<ExpectedBucketOwnerT>(value));
330 return *this;
331 }
333
335
336 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
337 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
338 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
339 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
340 m_customizedAccessLogTagHasBeenSet = true;
341 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
342 }
343 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
344 SelectObjectContentRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
345 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
346 return *this;
347 }
348 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
349 SelectObjectContentRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
350 m_customizedAccessLogTagHasBeenSet = true;
351 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
352 return *this;
353 }
355 private:
356 Aws::String m_bucket;
357 bool m_bucketHasBeenSet = false;
358
359 Aws::String m_key;
360 bool m_keyHasBeenSet = false;
361
362 Aws::String m_sSECustomerAlgorithm;
363 bool m_sSECustomerAlgorithmHasBeenSet = false;
364
365 Aws::String m_sSECustomerKey;
366 bool m_sSECustomerKeyHasBeenSet = false;
367
368 Aws::String m_sSECustomerKeyMD5;
369 bool m_sSECustomerKeyMD5HasBeenSet = false;
370
371 Aws::String m_expression;
372 bool m_expressionHasBeenSet = false;
373
374 ExpressionType m_expressionType{ExpressionType::NOT_SET};
375 bool m_expressionTypeHasBeenSet = false;
376
377 RequestProgress m_requestProgress;
378 bool m_requestProgressHasBeenSet = false;
379
380 InputSerialization m_inputSerialization;
381 bool m_inputSerializationHasBeenSet = false;
382
383 OutputSerialization m_outputSerialization;
384 bool m_outputSerializationHasBeenSet = false;
385
386 ScanRange m_scanRange;
387 bool m_scanRangeHasBeenSet = false;
388
389 Aws::String m_expectedBucketOwner;
390 bool m_expectedBucketOwnerHasBeenSet = false;
391
392 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
393 bool m_customizedAccessLogTagHasBeenSet = false;
394 SelectObjectContentHandler m_handler;
396};
397
398} // namespace Model
399} // namespace S3
400} // namespace Aws
SelectObjectContentRequest & WithKey(KeyT &&value)
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
SelectObjectContentRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
void SetOutputSerialization(OutputSerializationT &&value)
const OutputSerialization & GetOutputSerialization() const
virtual const char * GetServiceRequestName() const override
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
SelectObjectContentRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
SelectObjectContentRequest & WithBucket(BucketT &&value)
SelectObjectContentRequest & WithRequestProgress(RequestProgressT &&value)
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
SelectObjectContentRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
SelectObjectContentRequest & WithOutputSerialization(OutputSerializationT &&value)
SelectObjectContentRequest & WithExpressionType(ExpressionType value)
const InputSerialization & GetInputSerialization() const
AWS_S3_API Aws::String SerializePayload() const override
SelectObjectContentRequest & WithScanRange(ScanRangeT &&value)
SelectObjectContentRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
void SetInputSerialization(InputSerializationT &&value)
SelectObjectContentRequest & WithEventStreamHandler(const SelectObjectContentHandler &value)
Aws::Utils::Event::EventStreamDecoder & GetEventStreamDecoder()
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
void SetEventStreamHandler(const SelectObjectContentHandler &value)
SelectObjectContentRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
SelectObjectContentRequest & WithExpression(ExpressionT &&value)
SelectObjectContentRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
SelectObjectContentRequest & WithInputSerialization(InputSerializationT &&value)
AWS_S3_API SelectObjectContentRequest()=default
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
Aws::Endpoint::EndpointParameters EndpointParameters
Definition S3Request.h:19
void ResetEventStreamHandler(EventStreamHandler *handler)
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