1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/s3-crt/S3Crt_EXPORTS.h>
8 #include <aws/s3-crt/S3CrtRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/Array.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <aws/s3-crt/model/ObjectLockMode.h>
14 #include <aws/s3-crt/model/ObjectLockLegalHoldStatus.h>
15 #include <aws/s3-crt/model/ReplicationStatus.h>
16 #include <aws/s3-crt/model/RequestCharged.h>
17 #include <aws/s3-crt/model/ServerSideEncryption.h>
18 #include <aws/s3-crt/model/StorageClass.h>
19 #include <utility>
20 
21 namespace Aws
22 {
23 namespace Http
24 {
25     class URI;
26 } //namespace Http
27 namespace S3Crt
28 {
29 namespace Model
30 {
31 
32   /**
33    */
34   class AWS_S3CRT_API WriteGetObjectResponseRequest : public StreamingS3CrtRequest
35   {
36   public:
37     WriteGetObjectResponseRequest();
38 
39     // Service request name is the Operation name which will send this request out,
40     // each operation should has unique request name, so that we can get operation's name from this request.
41     // Note: this is not true for response, multiple operations may have the same response name,
42     // so we can not get operation's name from response.
GetServiceRequestName()43     inline virtual const char* GetServiceRequestName() const override { return "WriteGetObjectResponse"; }
44 
45     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
46 
47     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
48 
SignBody()49     bool SignBody() const override { return false; }
50 
IsChunked()51     bool IsChunked() const override { return true; }
52 
53 
54     /**
55      * <p>Route prefix to the HTTP URL generated.</p>
56      */
GetRequestRoute()57     inline const Aws::String& GetRequestRoute() const{ return m_requestRoute; }
58 
59     /**
60      * <p>Route prefix to the HTTP URL generated.</p>
61      */
RequestRouteHasBeenSet()62     inline bool RequestRouteHasBeenSet() const { return m_requestRouteHasBeenSet; }
63 
64     /**
65      * <p>Route prefix to the HTTP URL generated.</p>
66      */
SetRequestRoute(const Aws::String & value)67     inline void SetRequestRoute(const Aws::String& value) { m_requestRouteHasBeenSet = true; m_requestRoute = value; }
68 
69     /**
70      * <p>Route prefix to the HTTP URL generated.</p>
71      */
SetRequestRoute(Aws::String && value)72     inline void SetRequestRoute(Aws::String&& value) { m_requestRouteHasBeenSet = true; m_requestRoute = std::move(value); }
73 
74     /**
75      * <p>Route prefix to the HTTP URL generated.</p>
76      */
SetRequestRoute(const char * value)77     inline void SetRequestRoute(const char* value) { m_requestRouteHasBeenSet = true; m_requestRoute.assign(value); }
78 
79     /**
80      * <p>Route prefix to the HTTP URL generated.</p>
81      */
WithRequestRoute(const Aws::String & value)82     inline WriteGetObjectResponseRequest& WithRequestRoute(const Aws::String& value) { SetRequestRoute(value); return *this;}
83 
84     /**
85      * <p>Route prefix to the HTTP URL generated.</p>
86      */
WithRequestRoute(Aws::String && value)87     inline WriteGetObjectResponseRequest& WithRequestRoute(Aws::String&& value) { SetRequestRoute(std::move(value)); return *this;}
88 
89     /**
90      * <p>Route prefix to the HTTP URL generated.</p>
91      */
WithRequestRoute(const char * value)92     inline WriteGetObjectResponseRequest& WithRequestRoute(const char* value) { SetRequestRoute(value); return *this;}
93 
94 
95     /**
96      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
97      * the end user <code>GetObject</code> request.</p>
98      */
GetRequestToken()99     inline const Aws::String& GetRequestToken() const{ return m_requestToken; }
100 
101     /**
102      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
103      * the end user <code>GetObject</code> request.</p>
104      */
RequestTokenHasBeenSet()105     inline bool RequestTokenHasBeenSet() const { return m_requestTokenHasBeenSet; }
106 
107     /**
108      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
109      * the end user <code>GetObject</code> request.</p>
110      */
SetRequestToken(const Aws::String & value)111     inline void SetRequestToken(const Aws::String& value) { m_requestTokenHasBeenSet = true; m_requestToken = value; }
112 
113     /**
114      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
115      * the end user <code>GetObject</code> request.</p>
116      */
SetRequestToken(Aws::String && value)117     inline void SetRequestToken(Aws::String&& value) { m_requestTokenHasBeenSet = true; m_requestToken = std::move(value); }
118 
119     /**
120      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
121      * the end user <code>GetObject</code> request.</p>
122      */
SetRequestToken(const char * value)123     inline void SetRequestToken(const char* value) { m_requestTokenHasBeenSet = true; m_requestToken.assign(value); }
124 
125     /**
126      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
127      * the end user <code>GetObject</code> request.</p>
128      */
WithRequestToken(const Aws::String & value)129     inline WriteGetObjectResponseRequest& WithRequestToken(const Aws::String& value) { SetRequestToken(value); return *this;}
130 
131     /**
132      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
133      * the end user <code>GetObject</code> request.</p>
134      */
WithRequestToken(Aws::String && value)135     inline WriteGetObjectResponseRequest& WithRequestToken(Aws::String&& value) { SetRequestToken(std::move(value)); return *this;}
136 
137     /**
138      * <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to
139      * the end user <code>GetObject</code> request.</p>
140      */
WithRequestToken(const char * value)141     inline WriteGetObjectResponseRequest& WithRequestToken(const char* value) { SetRequestToken(value); return *this;}
142 
143 
144     /**
145      * <p>The integer status code for an HTTP response of a corresponding
146      * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p>
147      * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i>
148      * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad
149      * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p>
150      * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li>
151      * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 -
152      * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li>
153      * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not
154      * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p>
155      * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul>
156      */
GetStatusCode()157     inline int GetStatusCode() const{ return m_statusCode; }
158 
159     /**
160      * <p>The integer status code for an HTTP response of a corresponding
161      * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p>
162      * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i>
163      * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad
164      * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p>
165      * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li>
166      * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 -
167      * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li>
168      * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not
169      * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p>
170      * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul>
171      */
StatusCodeHasBeenSet()172     inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
173 
174     /**
175      * <p>The integer status code for an HTTP response of a corresponding
176      * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p>
177      * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i>
178      * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad
179      * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p>
180      * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li>
181      * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 -
182      * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li>
183      * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not
184      * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p>
185      * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul>
186      */
SetStatusCode(int value)187     inline void SetStatusCode(int value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
188 
189     /**
190      * <p>The integer status code for an HTTP response of a corresponding
191      * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p>
192      * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i>
193      * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad
194      * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p>
195      * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li>
196      * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 -
197      * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li>
198      * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not
199      * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p>
200      * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul>
201      */
WithStatusCode(int value)202     inline WriteGetObjectResponseRequest& WithStatusCode(int value) { SetStatusCode(value); return *this;}
203 
204 
205     /**
206      * <p>A string that uniquely identifies an error condition. Returned in the
207      * &lt;Code&gt; tag of the error XML response for a corresponding
208      * <code>GetObject</code> call. Cannot be used with a successful
209      * <code>StatusCode</code> header or when the transformed object is provided in the
210      * body. All error codes from S3 are sentence-cased. Regex value is
211      * "^[A-Z][a-zA-Z]+$".</p>
212      */
GetErrorCode()213     inline const Aws::String& GetErrorCode() const{ return m_errorCode; }
214 
215     /**
216      * <p>A string that uniquely identifies an error condition. Returned in the
217      * &lt;Code&gt; tag of the error XML response for a corresponding
218      * <code>GetObject</code> call. Cannot be used with a successful
219      * <code>StatusCode</code> header or when the transformed object is provided in the
220      * body. All error codes from S3 are sentence-cased. Regex value is
221      * "^[A-Z][a-zA-Z]+$".</p>
222      */
ErrorCodeHasBeenSet()223     inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; }
224 
225     /**
226      * <p>A string that uniquely identifies an error condition. Returned in the
227      * &lt;Code&gt; tag of the error XML response for a corresponding
228      * <code>GetObject</code> call. Cannot be used with a successful
229      * <code>StatusCode</code> header or when the transformed object is provided in the
230      * body. All error codes from S3 are sentence-cased. Regex value is
231      * "^[A-Z][a-zA-Z]+$".</p>
232      */
SetErrorCode(const Aws::String & value)233     inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; }
234 
235     /**
236      * <p>A string that uniquely identifies an error condition. Returned in the
237      * &lt;Code&gt; tag of the error XML response for a corresponding
238      * <code>GetObject</code> call. Cannot be used with a successful
239      * <code>StatusCode</code> header or when the transformed object is provided in the
240      * body. All error codes from S3 are sentence-cased. Regex value is
241      * "^[A-Z][a-zA-Z]+$".</p>
242      */
SetErrorCode(Aws::String && value)243     inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); }
244 
245     /**
246      * <p>A string that uniquely identifies an error condition. Returned in the
247      * &lt;Code&gt; tag of the error XML response for a corresponding
248      * <code>GetObject</code> call. Cannot be used with a successful
249      * <code>StatusCode</code> header or when the transformed object is provided in the
250      * body. All error codes from S3 are sentence-cased. Regex value is
251      * "^[A-Z][a-zA-Z]+$".</p>
252      */
SetErrorCode(const char * value)253     inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); }
254 
255     /**
256      * <p>A string that uniquely identifies an error condition. Returned in the
257      * &lt;Code&gt; tag of the error XML response for a corresponding
258      * <code>GetObject</code> call. Cannot be used with a successful
259      * <code>StatusCode</code> header or when the transformed object is provided in the
260      * body. All error codes from S3 are sentence-cased. Regex value is
261      * "^[A-Z][a-zA-Z]+$".</p>
262      */
WithErrorCode(const Aws::String & value)263     inline WriteGetObjectResponseRequest& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;}
264 
265     /**
266      * <p>A string that uniquely identifies an error condition. Returned in the
267      * &lt;Code&gt; tag of the error XML response for a corresponding
268      * <code>GetObject</code> call. Cannot be used with a successful
269      * <code>StatusCode</code> header or when the transformed object is provided in the
270      * body. All error codes from S3 are sentence-cased. Regex value is
271      * "^[A-Z][a-zA-Z]+$".</p>
272      */
WithErrorCode(Aws::String && value)273     inline WriteGetObjectResponseRequest& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;}
274 
275     /**
276      * <p>A string that uniquely identifies an error condition. Returned in the
277      * &lt;Code&gt; tag of the error XML response for a corresponding
278      * <code>GetObject</code> call. Cannot be used with a successful
279      * <code>StatusCode</code> header or when the transformed object is provided in the
280      * body. All error codes from S3 are sentence-cased. Regex value is
281      * "^[A-Z][a-zA-Z]+$".</p>
282      */
WithErrorCode(const char * value)283     inline WriteGetObjectResponseRequest& WithErrorCode(const char* value) { SetErrorCode(value); return *this;}
284 
285 
286     /**
287      * <p>Contains a generic description of the error condition. Returned in the
288      * &lt;Message&gt; tag of the error XML response for a corresponding
289      * <code>GetObject</code> call. Cannot be used with a successful
290      * <code>StatusCode</code> header or when the transformed object is provided in
291      * body.</p>
292      */
GetErrorMessage()293     inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
294 
295     /**
296      * <p>Contains a generic description of the error condition. Returned in the
297      * &lt;Message&gt; tag of the error XML response for a corresponding
298      * <code>GetObject</code> call. Cannot be used with a successful
299      * <code>StatusCode</code> header or when the transformed object is provided in
300      * body.</p>
301      */
ErrorMessageHasBeenSet()302     inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; }
303 
304     /**
305      * <p>Contains a generic description of the error condition. Returned in the
306      * &lt;Message&gt; tag of the error XML response for a corresponding
307      * <code>GetObject</code> call. Cannot be used with a successful
308      * <code>StatusCode</code> header or when the transformed object is provided in
309      * body.</p>
310      */
SetErrorMessage(const Aws::String & value)311     inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; }
312 
313     /**
314      * <p>Contains a generic description of the error condition. Returned in the
315      * &lt;Message&gt; tag of the error XML response for a corresponding
316      * <code>GetObject</code> call. Cannot be used with a successful
317      * <code>StatusCode</code> header or when the transformed object is provided in
318      * body.</p>
319      */
SetErrorMessage(Aws::String && value)320     inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); }
321 
322     /**
323      * <p>Contains a generic description of the error condition. Returned in the
324      * &lt;Message&gt; tag of the error XML response for a corresponding
325      * <code>GetObject</code> call. Cannot be used with a successful
326      * <code>StatusCode</code> header or when the transformed object is provided in
327      * body.</p>
328      */
SetErrorMessage(const char * value)329     inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); }
330 
331     /**
332      * <p>Contains a generic description of the error condition. Returned in the
333      * &lt;Message&gt; tag of the error XML response for a corresponding
334      * <code>GetObject</code> call. Cannot be used with a successful
335      * <code>StatusCode</code> header or when the transformed object is provided in
336      * body.</p>
337      */
WithErrorMessage(const Aws::String & value)338     inline WriteGetObjectResponseRequest& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
339 
340     /**
341      * <p>Contains a generic description of the error condition. Returned in the
342      * &lt;Message&gt; tag of the error XML response for a corresponding
343      * <code>GetObject</code> call. Cannot be used with a successful
344      * <code>StatusCode</code> header or when the transformed object is provided in
345      * body.</p>
346      */
WithErrorMessage(Aws::String && value)347     inline WriteGetObjectResponseRequest& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
348 
349     /**
350      * <p>Contains a generic description of the error condition. Returned in the
351      * &lt;Message&gt; tag of the error XML response for a corresponding
352      * <code>GetObject</code> call. Cannot be used with a successful
353      * <code>StatusCode</code> header or when the transformed object is provided in
354      * body.</p>
355      */
WithErrorMessage(const char * value)356     inline WriteGetObjectResponseRequest& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
357 
358 
359     /**
360      * <p>Indicates that a range of bytes was specified.</p>
361      */
GetAcceptRanges()362     inline const Aws::String& GetAcceptRanges() const{ return m_acceptRanges; }
363 
364     /**
365      * <p>Indicates that a range of bytes was specified.</p>
366      */
AcceptRangesHasBeenSet()367     inline bool AcceptRangesHasBeenSet() const { return m_acceptRangesHasBeenSet; }
368 
369     /**
370      * <p>Indicates that a range of bytes was specified.</p>
371      */
SetAcceptRanges(const Aws::String & value)372     inline void SetAcceptRanges(const Aws::String& value) { m_acceptRangesHasBeenSet = true; m_acceptRanges = value; }
373 
374     /**
375      * <p>Indicates that a range of bytes was specified.</p>
376      */
SetAcceptRanges(Aws::String && value)377     inline void SetAcceptRanges(Aws::String&& value) { m_acceptRangesHasBeenSet = true; m_acceptRanges = std::move(value); }
378 
379     /**
380      * <p>Indicates that a range of bytes was specified.</p>
381      */
SetAcceptRanges(const char * value)382     inline void SetAcceptRanges(const char* value) { m_acceptRangesHasBeenSet = true; m_acceptRanges.assign(value); }
383 
384     /**
385      * <p>Indicates that a range of bytes was specified.</p>
386      */
WithAcceptRanges(const Aws::String & value)387     inline WriteGetObjectResponseRequest& WithAcceptRanges(const Aws::String& value) { SetAcceptRanges(value); return *this;}
388 
389     /**
390      * <p>Indicates that a range of bytes was specified.</p>
391      */
WithAcceptRanges(Aws::String && value)392     inline WriteGetObjectResponseRequest& WithAcceptRanges(Aws::String&& value) { SetAcceptRanges(std::move(value)); return *this;}
393 
394     /**
395      * <p>Indicates that a range of bytes was specified.</p>
396      */
WithAcceptRanges(const char * value)397     inline WriteGetObjectResponseRequest& WithAcceptRanges(const char* value) { SetAcceptRanges(value); return *this;}
398 
399 
400     /**
401      * <p>Specifies caching behavior along the request/reply chain.</p>
402      */
GetCacheControl()403     inline const Aws::String& GetCacheControl() const{ return m_cacheControl; }
404 
405     /**
406      * <p>Specifies caching behavior along the request/reply chain.</p>
407      */
CacheControlHasBeenSet()408     inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; }
409 
410     /**
411      * <p>Specifies caching behavior along the request/reply chain.</p>
412      */
SetCacheControl(const Aws::String & value)413     inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; }
414 
415     /**
416      * <p>Specifies caching behavior along the request/reply chain.</p>
417      */
SetCacheControl(Aws::String && value)418     inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); }
419 
420     /**
421      * <p>Specifies caching behavior along the request/reply chain.</p>
422      */
SetCacheControl(const char * value)423     inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); }
424 
425     /**
426      * <p>Specifies caching behavior along the request/reply chain.</p>
427      */
WithCacheControl(const Aws::String & value)428     inline WriteGetObjectResponseRequest& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;}
429 
430     /**
431      * <p>Specifies caching behavior along the request/reply chain.</p>
432      */
WithCacheControl(Aws::String && value)433     inline WriteGetObjectResponseRequest& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;}
434 
435     /**
436      * <p>Specifies caching behavior along the request/reply chain.</p>
437      */
WithCacheControl(const char * value)438     inline WriteGetObjectResponseRequest& WithCacheControl(const char* value) { SetCacheControl(value); return *this;}
439 
440 
441     /**
442      * <p>Specifies presentational information for the object.</p>
443      */
GetContentDisposition()444     inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; }
445 
446     /**
447      * <p>Specifies presentational information for the object.</p>
448      */
ContentDispositionHasBeenSet()449     inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; }
450 
451     /**
452      * <p>Specifies presentational information for the object.</p>
453      */
SetContentDisposition(const Aws::String & value)454     inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; }
455 
456     /**
457      * <p>Specifies presentational information for the object.</p>
458      */
SetContentDisposition(Aws::String && value)459     inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); }
460 
461     /**
462      * <p>Specifies presentational information for the object.</p>
463      */
SetContentDisposition(const char * value)464     inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); }
465 
466     /**
467      * <p>Specifies presentational information for the object.</p>
468      */
WithContentDisposition(const Aws::String & value)469     inline WriteGetObjectResponseRequest& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;}
470 
471     /**
472      * <p>Specifies presentational information for the object.</p>
473      */
WithContentDisposition(Aws::String && value)474     inline WriteGetObjectResponseRequest& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;}
475 
476     /**
477      * <p>Specifies presentational information for the object.</p>
478      */
WithContentDisposition(const char * value)479     inline WriteGetObjectResponseRequest& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;}
480 
481 
482     /**
483      * <p>Specifies what content encodings have been applied to the object and thus
484      * what decoding mechanisms must be applied to obtain the media-type referenced by
485      * the Content-Type header field.</p>
486      */
GetContentEncoding()487     inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; }
488 
489     /**
490      * <p>Specifies what content encodings have been applied to the object and thus
491      * what decoding mechanisms must be applied to obtain the media-type referenced by
492      * the Content-Type header field.</p>
493      */
ContentEncodingHasBeenSet()494     inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; }
495 
496     /**
497      * <p>Specifies what content encodings have been applied to the object and thus
498      * what decoding mechanisms must be applied to obtain the media-type referenced by
499      * the Content-Type header field.</p>
500      */
SetContentEncoding(const Aws::String & value)501     inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; }
502 
503     /**
504      * <p>Specifies what content encodings have been applied to the object and thus
505      * what decoding mechanisms must be applied to obtain the media-type referenced by
506      * the Content-Type header field.</p>
507      */
SetContentEncoding(Aws::String && value)508     inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); }
509 
510     /**
511      * <p>Specifies what content encodings have been applied to the object and thus
512      * what decoding mechanisms must be applied to obtain the media-type referenced by
513      * the Content-Type header field.</p>
514      */
SetContentEncoding(const char * value)515     inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); }
516 
517     /**
518      * <p>Specifies what content encodings have been applied to the object and thus
519      * what decoding mechanisms must be applied to obtain the media-type referenced by
520      * the Content-Type header field.</p>
521      */
WithContentEncoding(const Aws::String & value)522     inline WriteGetObjectResponseRequest& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;}
523 
524     /**
525      * <p>Specifies what content encodings have been applied to the object and thus
526      * what decoding mechanisms must be applied to obtain the media-type referenced by
527      * the Content-Type header field.</p>
528      */
WithContentEncoding(Aws::String && value)529     inline WriteGetObjectResponseRequest& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;}
530 
531     /**
532      * <p>Specifies what content encodings have been applied to the object and thus
533      * what decoding mechanisms must be applied to obtain the media-type referenced by
534      * the Content-Type header field.</p>
535      */
WithContentEncoding(const char * value)536     inline WriteGetObjectResponseRequest& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;}
537 
538 
539     /**
540      * <p>The language the content is in.</p>
541      */
GetContentLanguage()542     inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; }
543 
544     /**
545      * <p>The language the content is in.</p>
546      */
ContentLanguageHasBeenSet()547     inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; }
548 
549     /**
550      * <p>The language the content is in.</p>
551      */
SetContentLanguage(const Aws::String & value)552     inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; }
553 
554     /**
555      * <p>The language the content is in.</p>
556      */
SetContentLanguage(Aws::String && value)557     inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); }
558 
559     /**
560      * <p>The language the content is in.</p>
561      */
SetContentLanguage(const char * value)562     inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); }
563 
564     /**
565      * <p>The language the content is in.</p>
566      */
WithContentLanguage(const Aws::String & value)567     inline WriteGetObjectResponseRequest& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;}
568 
569     /**
570      * <p>The language the content is in.</p>
571      */
WithContentLanguage(Aws::String && value)572     inline WriteGetObjectResponseRequest& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;}
573 
574     /**
575      * <p>The language the content is in.</p>
576      */
WithContentLanguage(const char * value)577     inline WriteGetObjectResponseRequest& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;}
578 
579 
580     /**
581      * <p>The size of the content body in bytes.</p>
582      */
GetContentLength()583     inline long long GetContentLength() const{ return m_contentLength; }
584 
585     /**
586      * <p>The size of the content body in bytes.</p>
587      */
ContentLengthHasBeenSet()588     inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; }
589 
590     /**
591      * <p>The size of the content body in bytes.</p>
592      */
SetContentLength(long long value)593     inline void SetContentLength(long long value) { m_contentLengthHasBeenSet = true; m_contentLength = value; }
594 
595     /**
596      * <p>The size of the content body in bytes.</p>
597      */
WithContentLength(long long value)598     inline WriteGetObjectResponseRequest& WithContentLength(long long value) { SetContentLength(value); return *this;}
599 
600 
601     /**
602      * <p>The portion of the object returned in the response.</p>
603      */
GetContentRange()604     inline const Aws::String& GetContentRange() const{ return m_contentRange; }
605 
606     /**
607      * <p>The portion of the object returned in the response.</p>
608      */
ContentRangeHasBeenSet()609     inline bool ContentRangeHasBeenSet() const { return m_contentRangeHasBeenSet; }
610 
611     /**
612      * <p>The portion of the object returned in the response.</p>
613      */
SetContentRange(const Aws::String & value)614     inline void SetContentRange(const Aws::String& value) { m_contentRangeHasBeenSet = true; m_contentRange = value; }
615 
616     /**
617      * <p>The portion of the object returned in the response.</p>
618      */
SetContentRange(Aws::String && value)619     inline void SetContentRange(Aws::String&& value) { m_contentRangeHasBeenSet = true; m_contentRange = std::move(value); }
620 
621     /**
622      * <p>The portion of the object returned in the response.</p>
623      */
SetContentRange(const char * value)624     inline void SetContentRange(const char* value) { m_contentRangeHasBeenSet = true; m_contentRange.assign(value); }
625 
626     /**
627      * <p>The portion of the object returned in the response.</p>
628      */
WithContentRange(const Aws::String & value)629     inline WriteGetObjectResponseRequest& WithContentRange(const Aws::String& value) { SetContentRange(value); return *this;}
630 
631     /**
632      * <p>The portion of the object returned in the response.</p>
633      */
WithContentRange(Aws::String && value)634     inline WriteGetObjectResponseRequest& WithContentRange(Aws::String&& value) { SetContentRange(std::move(value)); return *this;}
635 
636     /**
637      * <p>The portion of the object returned in the response.</p>
638      */
WithContentRange(const char * value)639     inline WriteGetObjectResponseRequest& WithContentRange(const char* value) { SetContentRange(value); return *this;}
640 
641 
642     /**
643      * <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is
644      * not (<code>false</code>) a delete marker. </p>
645      */
GetDeleteMarker()646     inline bool GetDeleteMarker() const{ return m_deleteMarker; }
647 
648     /**
649      * <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is
650      * not (<code>false</code>) a delete marker. </p>
651      */
DeleteMarkerHasBeenSet()652     inline bool DeleteMarkerHasBeenSet() const { return m_deleteMarkerHasBeenSet; }
653 
654     /**
655      * <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is
656      * not (<code>false</code>) a delete marker. </p>
657      */
SetDeleteMarker(bool value)658     inline void SetDeleteMarker(bool value) { m_deleteMarkerHasBeenSet = true; m_deleteMarker = value; }
659 
660     /**
661      * <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is
662      * not (<code>false</code>) a delete marker. </p>
663      */
WithDeleteMarker(bool value)664     inline WriteGetObjectResponseRequest& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;}
665 
666 
667     /**
668      * <p>An opaque identifier assigned by a web server to a specific version of a
669      * resource found at a URL. </p>
670      */
GetETag()671     inline const Aws::String& GetETag() const{ return m_eTag; }
672 
673     /**
674      * <p>An opaque identifier assigned by a web server to a specific version of a
675      * resource found at a URL. </p>
676      */
ETagHasBeenSet()677     inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
678 
679     /**
680      * <p>An opaque identifier assigned by a web server to a specific version of a
681      * resource found at a URL. </p>
682      */
SetETag(const Aws::String & value)683     inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; }
684 
685     /**
686      * <p>An opaque identifier assigned by a web server to a specific version of a
687      * resource found at a URL. </p>
688      */
SetETag(Aws::String && value)689     inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); }
690 
691     /**
692      * <p>An opaque identifier assigned by a web server to a specific version of a
693      * resource found at a URL. </p>
694      */
SetETag(const char * value)695     inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); }
696 
697     /**
698      * <p>An opaque identifier assigned by a web server to a specific version of a
699      * resource found at a URL. </p>
700      */
WithETag(const Aws::String & value)701     inline WriteGetObjectResponseRequest& WithETag(const Aws::String& value) { SetETag(value); return *this;}
702 
703     /**
704      * <p>An opaque identifier assigned by a web server to a specific version of a
705      * resource found at a URL. </p>
706      */
WithETag(Aws::String && value)707     inline WriteGetObjectResponseRequest& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
708 
709     /**
710      * <p>An opaque identifier assigned by a web server to a specific version of a
711      * resource found at a URL. </p>
712      */
WithETag(const char * value)713     inline WriteGetObjectResponseRequest& WithETag(const char* value) { SetETag(value); return *this;}
714 
715 
716     /**
717      * <p>The date and time at which the object is no longer cacheable.</p>
718      */
GetExpires()719     inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; }
720 
721     /**
722      * <p>The date and time at which the object is no longer cacheable.</p>
723      */
ExpiresHasBeenSet()724     inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; }
725 
726     /**
727      * <p>The date and time at which the object is no longer cacheable.</p>
728      */
SetExpires(const Aws::Utils::DateTime & value)729     inline void SetExpires(const Aws::Utils::DateTime& value) { m_expiresHasBeenSet = true; m_expires = value; }
730 
731     /**
732      * <p>The date and time at which the object is no longer cacheable.</p>
733      */
SetExpires(Aws::Utils::DateTime && value)734     inline void SetExpires(Aws::Utils::DateTime&& value) { m_expiresHasBeenSet = true; m_expires = std::move(value); }
735 
736     /**
737      * <p>The date and time at which the object is no longer cacheable.</p>
738      */
WithExpires(const Aws::Utils::DateTime & value)739     inline WriteGetObjectResponseRequest& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;}
740 
741     /**
742      * <p>The date and time at which the object is no longer cacheable.</p>
743      */
WithExpires(Aws::Utils::DateTime && value)744     inline WriteGetObjectResponseRequest& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;}
745 
746 
747     /**
748      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
749      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
750      * expiration information. The value of the rule-id is URL encoded. </p>
751      */
GetExpiration()752     inline const Aws::String& GetExpiration() const{ return m_expiration; }
753 
754     /**
755      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
756      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
757      * expiration information. The value of the rule-id is URL encoded. </p>
758      */
ExpirationHasBeenSet()759     inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; }
760 
761     /**
762      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
763      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
764      * expiration information. The value of the rule-id is URL encoded. </p>
765      */
SetExpiration(const Aws::String & value)766     inline void SetExpiration(const Aws::String& value) { m_expirationHasBeenSet = true; m_expiration = value; }
767 
768     /**
769      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
770      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
771      * expiration information. The value of the rule-id is URL encoded. </p>
772      */
SetExpiration(Aws::String && value)773     inline void SetExpiration(Aws::String&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); }
774 
775     /**
776      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
777      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
778      * expiration information. The value of the rule-id is URL encoded. </p>
779      */
SetExpiration(const char * value)780     inline void SetExpiration(const char* value) { m_expirationHasBeenSet = true; m_expiration.assign(value); }
781 
782     /**
783      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
784      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
785      * expiration information. The value of the rule-id is URL encoded. </p>
786      */
WithExpiration(const Aws::String & value)787     inline WriteGetObjectResponseRequest& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;}
788 
789     /**
790      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
791      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
792      * expiration information. The value of the rule-id is URL encoded. </p>
793      */
WithExpiration(Aws::String && value)794     inline WriteGetObjectResponseRequest& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;}
795 
796     /**
797      * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket
798      * lifecycle) it includes expiry-date and rule-id key-value pairs providing object
799      * expiration information. The value of the rule-id is URL encoded. </p>
800      */
WithExpiration(const char * value)801     inline WriteGetObjectResponseRequest& WithExpiration(const char* value) { SetExpiration(value); return *this;}
802 
803 
804     /**
805      * <p>The date and time that the object was last modified.</p>
806      */
GetLastModified()807     inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
808 
809     /**
810      * <p>The date and time that the object was last modified.</p>
811      */
LastModifiedHasBeenSet()812     inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
813 
814     /**
815      * <p>The date and time that the object was last modified.</p>
816      */
SetLastModified(const Aws::Utils::DateTime & value)817     inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
818 
819     /**
820      * <p>The date and time that the object was last modified.</p>
821      */
SetLastModified(Aws::Utils::DateTime && value)822     inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
823 
824     /**
825      * <p>The date and time that the object was last modified.</p>
826      */
WithLastModified(const Aws::Utils::DateTime & value)827     inline WriteGetObjectResponseRequest& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
828 
829     /**
830      * <p>The date and time that the object was last modified.</p>
831      */
WithLastModified(Aws::Utils::DateTime && value)832     inline WriteGetObjectResponseRequest& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
833 
834 
835     /**
836      * <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code>
837      * headers. This can happen if you create metadata using an API like SOAP that
838      * supports more flexible metadata than the REST API. For example, using SOAP, you
839      * can create metadata whose values are not legal HTTP headers.</p>
840      */
GetMissingMeta()841     inline int GetMissingMeta() const{ return m_missingMeta; }
842 
843     /**
844      * <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code>
845      * headers. This can happen if you create metadata using an API like SOAP that
846      * supports more flexible metadata than the REST API. For example, using SOAP, you
847      * can create metadata whose values are not legal HTTP headers.</p>
848      */
MissingMetaHasBeenSet()849     inline bool MissingMetaHasBeenSet() const { return m_missingMetaHasBeenSet; }
850 
851     /**
852      * <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code>
853      * headers. This can happen if you create metadata using an API like SOAP that
854      * supports more flexible metadata than the REST API. For example, using SOAP, you
855      * can create metadata whose values are not legal HTTP headers.</p>
856      */
SetMissingMeta(int value)857     inline void SetMissingMeta(int value) { m_missingMetaHasBeenSet = true; m_missingMeta = value; }
858 
859     /**
860      * <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code>
861      * headers. This can happen if you create metadata using an API like SOAP that
862      * supports more flexible metadata than the REST API. For example, using SOAP, you
863      * can create metadata whose values are not legal HTTP headers.</p>
864      */
WithMissingMeta(int value)865     inline WriteGetObjectResponseRequest& WithMissingMeta(int value) { SetMissingMeta(value); return *this;}
866 
867 
868     /**
869      * <p>A map of metadata to store with the object in S3.</p>
870      */
GetMetadata()871     inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; }
872 
873     /**
874      * <p>A map of metadata to store with the object in S3.</p>
875      */
MetadataHasBeenSet()876     inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
877 
878     /**
879      * <p>A map of metadata to store with the object in S3.</p>
880      */
SetMetadata(const Aws::Map<Aws::String,Aws::String> & value)881     inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadataHasBeenSet = true; m_metadata = value; }
882 
883     /**
884      * <p>A map of metadata to store with the object in S3.</p>
885      */
SetMetadata(Aws::Map<Aws::String,Aws::String> && value)886     inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); }
887 
888     /**
889      * <p>A map of metadata to store with the object in S3.</p>
890      */
WithMetadata(const Aws::Map<Aws::String,Aws::String> & value)891     inline WriteGetObjectResponseRequest& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;}
892 
893     /**
894      * <p>A map of metadata to store with the object in S3.</p>
895      */
WithMetadata(Aws::Map<Aws::String,Aws::String> && value)896     inline WriteGetObjectResponseRequest& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;}
897 
898     /**
899      * <p>A map of metadata to store with the object in S3.</p>
900      */
AddMetadata(const Aws::String & key,const Aws::String & value)901     inline WriteGetObjectResponseRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
902 
903     /**
904      * <p>A map of metadata to store with the object in S3.</p>
905      */
AddMetadata(Aws::String && key,const Aws::String & value)906     inline WriteGetObjectResponseRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; }
907 
908     /**
909      * <p>A map of metadata to store with the object in S3.</p>
910      */
AddMetadata(const Aws::String & key,Aws::String && value)911     inline WriteGetObjectResponseRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
912 
913     /**
914      * <p>A map of metadata to store with the object in S3.</p>
915      */
AddMetadata(Aws::String && key,Aws::String && value)916     inline WriteGetObjectResponseRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; }
917 
918     /**
919      * <p>A map of metadata to store with the object in S3.</p>
920      */
AddMetadata(const char * key,Aws::String && value)921     inline WriteGetObjectResponseRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
922 
923     /**
924      * <p>A map of metadata to store with the object in S3.</p>
925      */
AddMetadata(Aws::String && key,const char * value)926     inline WriteGetObjectResponseRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; }
927 
928     /**
929      * <p>A map of metadata to store with the object in S3.</p>
930      */
AddMetadata(const char * key,const char * value)931     inline WriteGetObjectResponseRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
932 
933 
934     /**
935      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
936      * more information about S3 Object Lock, see <a
937      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
938      * Lock</a>.</p>
939      */
GetObjectLockMode()940     inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; }
941 
942     /**
943      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
944      * more information about S3 Object Lock, see <a
945      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
946      * Lock</a>.</p>
947      */
ObjectLockModeHasBeenSet()948     inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
949 
950     /**
951      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
952      * more information about S3 Object Lock, see <a
953      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
954      * Lock</a>.</p>
955      */
SetObjectLockMode(const ObjectLockMode & value)956     inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; }
957 
958     /**
959      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
960      * more information about S3 Object Lock, see <a
961      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
962      * Lock</a>.</p>
963      */
SetObjectLockMode(ObjectLockMode && value)964     inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); }
965 
966     /**
967      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
968      * more information about S3 Object Lock, see <a
969      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
970      * Lock</a>.</p>
971      */
WithObjectLockMode(const ObjectLockMode & value)972     inline WriteGetObjectResponseRequest& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;}
973 
974     /**
975      * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For
976      * more information about S3 Object Lock, see <a
977      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object
978      * Lock</a>.</p>
979      */
WithObjectLockMode(ObjectLockMode && value)980     inline WriteGetObjectResponseRequest& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;}
981 
982 
983     /**
984      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
985      */
GetObjectLockLegalHoldStatus()986     inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; }
987 
988     /**
989      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
990      */
ObjectLockLegalHoldStatusHasBeenSet()991     inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
992 
993     /**
994      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
995      */
SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus & value)996     inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; }
997 
998     /**
999      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
1000      */
SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus && value)1001     inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); }
1002 
1003     /**
1004      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
1005      */
WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus & value)1006     inline WriteGetObjectResponseRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;}
1007 
1008     /**
1009      * <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
1010      */
WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus && value)1011     inline WriteGetObjectResponseRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;}
1012 
1013 
1014     /**
1015      * <p>The date and time when Object Lock is configured to expire.</p>
1016      */
GetObjectLockRetainUntilDate()1017     inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; }
1018 
1019     /**
1020      * <p>The date and time when Object Lock is configured to expire.</p>
1021      */
ObjectLockRetainUntilDateHasBeenSet()1022     inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
1023 
1024     /**
1025      * <p>The date and time when Object Lock is configured to expire.</p>
1026      */
SetObjectLockRetainUntilDate(const Aws::Utils::DateTime & value)1027     inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; }
1028 
1029     /**
1030      * <p>The date and time when Object Lock is configured to expire.</p>
1031      */
SetObjectLockRetainUntilDate(Aws::Utils::DateTime && value)1032     inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); }
1033 
1034     /**
1035      * <p>The date and time when Object Lock is configured to expire.</p>
1036      */
WithObjectLockRetainUntilDate(const Aws::Utils::DateTime & value)1037     inline WriteGetObjectResponseRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;}
1038 
1039     /**
1040      * <p>The date and time when Object Lock is configured to expire.</p>
1041      */
WithObjectLockRetainUntilDate(Aws::Utils::DateTime && value)1042     inline WriteGetObjectResponseRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;}
1043 
1044 
1045     /**
1046      * <p>The count of parts this object has.</p>
1047      */
GetPartsCount()1048     inline int GetPartsCount() const{ return m_partsCount; }
1049 
1050     /**
1051      * <p>The count of parts this object has.</p>
1052      */
PartsCountHasBeenSet()1053     inline bool PartsCountHasBeenSet() const { return m_partsCountHasBeenSet; }
1054 
1055     /**
1056      * <p>The count of parts this object has.</p>
1057      */
SetPartsCount(int value)1058     inline void SetPartsCount(int value) { m_partsCountHasBeenSet = true; m_partsCount = value; }
1059 
1060     /**
1061      * <p>The count of parts this object has.</p>
1062      */
WithPartsCount(int value)1063     inline WriteGetObjectResponseRequest& WithPartsCount(int value) { SetPartsCount(value); return *this;}
1064 
1065 
1066     /**
1067      * <p>Indicates if request involves bucket that is either a source or destination
1068      * in a Replication rule. For more information about S3 Replication, see <a
1069      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1070      */
GetReplicationStatus()1071     inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; }
1072 
1073     /**
1074      * <p>Indicates if request involves bucket that is either a source or destination
1075      * in a Replication rule. For more information about S3 Replication, see <a
1076      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1077      */
ReplicationStatusHasBeenSet()1078     inline bool ReplicationStatusHasBeenSet() const { return m_replicationStatusHasBeenSet; }
1079 
1080     /**
1081      * <p>Indicates if request involves bucket that is either a source or destination
1082      * in a Replication rule. For more information about S3 Replication, see <a
1083      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1084      */
SetReplicationStatus(const ReplicationStatus & value)1085     inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatusHasBeenSet = true; m_replicationStatus = value; }
1086 
1087     /**
1088      * <p>Indicates if request involves bucket that is either a source or destination
1089      * in a Replication rule. For more information about S3 Replication, see <a
1090      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1091      */
SetReplicationStatus(ReplicationStatus && value)1092     inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatusHasBeenSet = true; m_replicationStatus = std::move(value); }
1093 
1094     /**
1095      * <p>Indicates if request involves bucket that is either a source or destination
1096      * in a Replication rule. For more information about S3 Replication, see <a
1097      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1098      */
WithReplicationStatus(const ReplicationStatus & value)1099     inline WriteGetObjectResponseRequest& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;}
1100 
1101     /**
1102      * <p>Indicates if request involves bucket that is either a source or destination
1103      * in a Replication rule. For more information about S3 Replication, see <a
1104      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
1105      */
WithReplicationStatus(ReplicationStatus && value)1106     inline WriteGetObjectResponseRequest& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;}
1107 
1108 
1109 
GetRequestCharged()1110     inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; }
1111 
1112 
RequestChargedHasBeenSet()1113     inline bool RequestChargedHasBeenSet() const { return m_requestChargedHasBeenSet; }
1114 
1115 
SetRequestCharged(const RequestCharged & value)1116     inline void SetRequestCharged(const RequestCharged& value) { m_requestChargedHasBeenSet = true; m_requestCharged = value; }
1117 
1118 
SetRequestCharged(RequestCharged && value)1119     inline void SetRequestCharged(RequestCharged&& value) { m_requestChargedHasBeenSet = true; m_requestCharged = std::move(value); }
1120 
1121 
WithRequestCharged(const RequestCharged & value)1122     inline WriteGetObjectResponseRequest& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
1123 
1124 
WithRequestCharged(RequestCharged && value)1125     inline WriteGetObjectResponseRequest& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
1126 
1127 
1128     /**
1129      * <p>Provides information about object restoration operation and expiration time
1130      * of the restored object copy.</p>
1131      */
GetRestore()1132     inline const Aws::String& GetRestore() const{ return m_restore; }
1133 
1134     /**
1135      * <p>Provides information about object restoration operation and expiration time
1136      * of the restored object copy.</p>
1137      */
RestoreHasBeenSet()1138     inline bool RestoreHasBeenSet() const { return m_restoreHasBeenSet; }
1139 
1140     /**
1141      * <p>Provides information about object restoration operation and expiration time
1142      * of the restored object copy.</p>
1143      */
SetRestore(const Aws::String & value)1144     inline void SetRestore(const Aws::String& value) { m_restoreHasBeenSet = true; m_restore = value; }
1145 
1146     /**
1147      * <p>Provides information about object restoration operation and expiration time
1148      * of the restored object copy.</p>
1149      */
SetRestore(Aws::String && value)1150     inline void SetRestore(Aws::String&& value) { m_restoreHasBeenSet = true; m_restore = std::move(value); }
1151 
1152     /**
1153      * <p>Provides information about object restoration operation and expiration time
1154      * of the restored object copy.</p>
1155      */
SetRestore(const char * value)1156     inline void SetRestore(const char* value) { m_restoreHasBeenSet = true; m_restore.assign(value); }
1157 
1158     /**
1159      * <p>Provides information about object restoration operation and expiration time
1160      * of the restored object copy.</p>
1161      */
WithRestore(const Aws::String & value)1162     inline WriteGetObjectResponseRequest& WithRestore(const Aws::String& value) { SetRestore(value); return *this;}
1163 
1164     /**
1165      * <p>Provides information about object restoration operation and expiration time
1166      * of the restored object copy.</p>
1167      */
WithRestore(Aws::String && value)1168     inline WriteGetObjectResponseRequest& WithRestore(Aws::String&& value) { SetRestore(std::move(value)); return *this;}
1169 
1170     /**
1171      * <p>Provides information about object restoration operation and expiration time
1172      * of the restored object copy.</p>
1173      */
WithRestore(const char * value)1174     inline WriteGetObjectResponseRequest& WithRestore(const char* value) { SetRestore(value); return *this;}
1175 
1176 
1177     /**
1178      * <p> The server-side encryption algorithm used when storing requested object in
1179      * Amazon S3 (for example, AES256, aws:kms).</p>
1180      */
GetServerSideEncryption()1181     inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
1182 
1183     /**
1184      * <p> The server-side encryption algorithm used when storing requested object in
1185      * Amazon S3 (for example, AES256, aws:kms).</p>
1186      */
ServerSideEncryptionHasBeenSet()1187     inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
1188 
1189     /**
1190      * <p> The server-side encryption algorithm used when storing requested object in
1191      * Amazon S3 (for example, AES256, aws:kms).</p>
1192      */
SetServerSideEncryption(const ServerSideEncryption & value)1193     inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; }
1194 
1195     /**
1196      * <p> The server-side encryption algorithm used when storing requested object in
1197      * Amazon S3 (for example, AES256, aws:kms).</p>
1198      */
SetServerSideEncryption(ServerSideEncryption && value)1199     inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); }
1200 
1201     /**
1202      * <p> The server-side encryption algorithm used when storing requested object in
1203      * Amazon S3 (for example, AES256, aws:kms).</p>
1204      */
WithServerSideEncryption(const ServerSideEncryption & value)1205     inline WriteGetObjectResponseRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
1206 
1207     /**
1208      * <p> The server-side encryption algorithm used when storing requested object in
1209      * Amazon S3 (for example, AES256, aws:kms).</p>
1210      */
WithServerSideEncryption(ServerSideEncryption && value)1211     inline WriteGetObjectResponseRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
1212 
1213 
1214     /**
1215      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1216      * encryption key was specified for object stored in Amazon S3.</p>
1217      */
GetSSECustomerAlgorithm()1218     inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; }
1219 
1220     /**
1221      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1222      * encryption key was specified for object stored in Amazon S3.</p>
1223      */
SSECustomerAlgorithmHasBeenSet()1224     inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
1225 
1226     /**
1227      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1228      * encryption key was specified for object stored in Amazon S3.</p>
1229      */
SetSSECustomerAlgorithm(const Aws::String & value)1230     inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; }
1231 
1232     /**
1233      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1234      * encryption key was specified for object stored in Amazon S3.</p>
1235      */
SetSSECustomerAlgorithm(Aws::String && value)1236     inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); }
1237 
1238     /**
1239      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1240      * encryption key was specified for object stored in Amazon S3.</p>
1241      */
SetSSECustomerAlgorithm(const char * value)1242     inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); }
1243 
1244     /**
1245      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1246      * encryption key was specified for object stored in Amazon S3.</p>
1247      */
WithSSECustomerAlgorithm(const Aws::String & value)1248     inline WriteGetObjectResponseRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;}
1249 
1250     /**
1251      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1252      * encryption key was specified for object stored in Amazon S3.</p>
1253      */
WithSSECustomerAlgorithm(Aws::String && value)1254     inline WriteGetObjectResponseRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;}
1255 
1256     /**
1257      * <p>Encryption algorithm used if server-side encryption with a customer-provided
1258      * encryption key was specified for object stored in Amazon S3.</p>
1259      */
WithSSECustomerAlgorithm(const char * value)1260     inline WriteGetObjectResponseRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;}
1261 
1262 
1263     /**
1264      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1265      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1266      * for stored in Amazon S3 object. </p>
1267      */
GetSSEKMSKeyId()1268     inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
1269 
1270     /**
1271      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1272      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1273      * for stored in Amazon S3 object. </p>
1274      */
SSEKMSKeyIdHasBeenSet()1275     inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
1276 
1277     /**
1278      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1279      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1280      * for stored in Amazon S3 object. </p>
1281      */
SetSSEKMSKeyId(const Aws::String & value)1282     inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; }
1283 
1284     /**
1285      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1286      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1287      * for stored in Amazon S3 object. </p>
1288      */
SetSSEKMSKeyId(Aws::String && value)1289     inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); }
1290 
1291     /**
1292      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1293      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1294      * for stored in Amazon S3 object. </p>
1295      */
SetSSEKMSKeyId(const char * value)1296     inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); }
1297 
1298     /**
1299      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1300      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1301      * for stored in Amazon S3 object. </p>
1302      */
WithSSEKMSKeyId(const Aws::String & value)1303     inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
1304 
1305     /**
1306      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1307      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1308      * for stored in Amazon S3 object. </p>
1309      */
WithSSEKMSKeyId(Aws::String && value)1310     inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
1311 
1312     /**
1313      * <p> If present, specifies the ID of the Amazon Web Services Key Management
1314      * Service (Amazon Web Services KMS) symmetric customer managed key that was used
1315      * for stored in Amazon S3 object. </p>
1316      */
WithSSEKMSKeyId(const char * value)1317     inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
1318 
1319 
1320     /**
1321      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1322      * encrypt data stored in S3. For more information, see <a
1323      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1324      * data using server-side encryption with customer-provided encryption keys
1325      * (SSE-C)</a>.</p>
1326      */
GetSSECustomerKeyMD5()1327     inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; }
1328 
1329     /**
1330      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1331      * encrypt data stored in S3. For more information, see <a
1332      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1333      * data using server-side encryption with customer-provided encryption keys
1334      * (SSE-C)</a>.</p>
1335      */
SSECustomerKeyMD5HasBeenSet()1336     inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
1337 
1338     /**
1339      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1340      * encrypt data stored in S3. For more information, see <a
1341      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1342      * data using server-side encryption with customer-provided encryption keys
1343      * (SSE-C)</a>.</p>
1344      */
SetSSECustomerKeyMD5(const Aws::String & value)1345     inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; }
1346 
1347     /**
1348      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1349      * encrypt data stored in S3. For more information, see <a
1350      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1351      * data using server-side encryption with customer-provided encryption keys
1352      * (SSE-C)</a>.</p>
1353      */
SetSSECustomerKeyMD5(Aws::String && value)1354     inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); }
1355 
1356     /**
1357      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1358      * encrypt data stored in S3. For more information, see <a
1359      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1360      * data using server-side encryption with customer-provided encryption keys
1361      * (SSE-C)</a>.</p>
1362      */
SetSSECustomerKeyMD5(const char * value)1363     inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); }
1364 
1365     /**
1366      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1367      * encrypt data stored in S3. For more information, see <a
1368      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1369      * data using server-side encryption with customer-provided encryption keys
1370      * (SSE-C)</a>.</p>
1371      */
WithSSECustomerKeyMD5(const Aws::String & value)1372     inline WriteGetObjectResponseRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;}
1373 
1374     /**
1375      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1376      * encrypt data stored in S3. For more information, see <a
1377      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1378      * data using server-side encryption with customer-provided encryption keys
1379      * (SSE-C)</a>.</p>
1380      */
WithSSECustomerKeyMD5(Aws::String && value)1381     inline WriteGetObjectResponseRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;}
1382 
1383     /**
1384      * <p> 128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to
1385      * encrypt data stored in S3. For more information, see <a
1386      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting
1387      * data using server-side encryption with customer-provided encryption keys
1388      * (SSE-C)</a>.</p>
1389      */
WithSSECustomerKeyMD5(const char * value)1390     inline WriteGetObjectResponseRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;}
1391 
1392 
1393     /**
1394      * <p> The class of storage used to store object in Amazon S3.</p>
1395      */
GetStorageClass()1396     inline const StorageClass& GetStorageClass() const{ return m_storageClass; }
1397 
1398     /**
1399      * <p> The class of storage used to store object in Amazon S3.</p>
1400      */
StorageClassHasBeenSet()1401     inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
1402 
1403     /**
1404      * <p> The class of storage used to store object in Amazon S3.</p>
1405      */
SetStorageClass(const StorageClass & value)1406     inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
1407 
1408     /**
1409      * <p> The class of storage used to store object in Amazon S3.</p>
1410      */
SetStorageClass(StorageClass && value)1411     inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); }
1412 
1413     /**
1414      * <p> The class of storage used to store object in Amazon S3.</p>
1415      */
WithStorageClass(const StorageClass & value)1416     inline WriteGetObjectResponseRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;}
1417 
1418     /**
1419      * <p> The class of storage used to store object in Amazon S3.</p>
1420      */
WithStorageClass(StorageClass && value)1421     inline WriteGetObjectResponseRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;}
1422 
1423 
1424     /**
1425      * <p>The number of tags, if any, on the object.</p>
1426      */
GetTagCount()1427     inline int GetTagCount() const{ return m_tagCount; }
1428 
1429     /**
1430      * <p>The number of tags, if any, on the object.</p>
1431      */
TagCountHasBeenSet()1432     inline bool TagCountHasBeenSet() const { return m_tagCountHasBeenSet; }
1433 
1434     /**
1435      * <p>The number of tags, if any, on the object.</p>
1436      */
SetTagCount(int value)1437     inline void SetTagCount(int value) { m_tagCountHasBeenSet = true; m_tagCount = value; }
1438 
1439     /**
1440      * <p>The number of tags, if any, on the object.</p>
1441      */
WithTagCount(int value)1442     inline WriteGetObjectResponseRequest& WithTagCount(int value) { SetTagCount(value); return *this;}
1443 
1444 
1445     /**
1446      * <p>An ID used to reference a specific version of the object.</p>
1447      */
GetVersionId()1448     inline const Aws::String& GetVersionId() const{ return m_versionId; }
1449 
1450     /**
1451      * <p>An ID used to reference a specific version of the object.</p>
1452      */
VersionIdHasBeenSet()1453     inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
1454 
1455     /**
1456      * <p>An ID used to reference a specific version of the object.</p>
1457      */
SetVersionId(const Aws::String & value)1458     inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
1459 
1460     /**
1461      * <p>An ID used to reference a specific version of the object.</p>
1462      */
SetVersionId(Aws::String && value)1463     inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
1464 
1465     /**
1466      * <p>An ID used to reference a specific version of the object.</p>
1467      */
SetVersionId(const char * value)1468     inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
1469 
1470     /**
1471      * <p>An ID used to reference a specific version of the object.</p>
1472      */
WithVersionId(const Aws::String & value)1473     inline WriteGetObjectResponseRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
1474 
1475     /**
1476      * <p>An ID used to reference a specific version of the object.</p>
1477      */
WithVersionId(Aws::String && value)1478     inline WriteGetObjectResponseRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
1479 
1480     /**
1481      * <p>An ID used to reference a specific version of the object.</p>
1482      */
WithVersionId(const char * value)1483     inline WriteGetObjectResponseRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;}
1484 
1485 
1486     /**
1487      * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for
1488      * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
1489      */
GetBucketKeyEnabled()1490     inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
1491 
1492     /**
1493      * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for
1494      * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
1495      */
BucketKeyEnabledHasBeenSet()1496     inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
1497 
1498     /**
1499      * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for
1500      * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
1501      */
SetBucketKeyEnabled(bool value)1502     inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; }
1503 
1504     /**
1505      * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for
1506      * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
1507      */
WithBucketKeyEnabled(bool value)1508     inline WriteGetObjectResponseRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;}
1509 
1510 
1511 
GetCustomizedAccessLogTag()1512     inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
1513 
1514 
CustomizedAccessLogTagHasBeenSet()1515     inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
1516 
1517 
SetCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)1518     inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
1519 
1520 
SetCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)1521     inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
1522 
1523 
WithCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)1524     inline WriteGetObjectResponseRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
1525 
1526 
WithCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)1527     inline WriteGetObjectResponseRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
1528 
1529 
AddCustomizedAccessLogTag(const Aws::String & key,const Aws::String & value)1530     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
1531 
1532 
AddCustomizedAccessLogTag(Aws::String && key,const Aws::String & value)1533     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
1534 
1535 
AddCustomizedAccessLogTag(const Aws::String & key,Aws::String && value)1536     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
1537 
1538 
AddCustomizedAccessLogTag(Aws::String && key,Aws::String && value)1539     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
1540 
1541 
AddCustomizedAccessLogTag(const char * key,Aws::String && value)1542     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
1543 
1544 
AddCustomizedAccessLogTag(Aws::String && key,const char * value)1545     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
1546 
1547 
AddCustomizedAccessLogTag(const char * key,const char * value)1548     inline WriteGetObjectResponseRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
1549 
1550   private:
1551 
1552     Aws::String m_requestRoute;
1553     bool m_requestRouteHasBeenSet;
1554 
1555     Aws::String m_requestToken;
1556     bool m_requestTokenHasBeenSet;
1557 
1558 
1559     int m_statusCode;
1560     bool m_statusCodeHasBeenSet;
1561 
1562     Aws::String m_errorCode;
1563     bool m_errorCodeHasBeenSet;
1564 
1565     Aws::String m_errorMessage;
1566     bool m_errorMessageHasBeenSet;
1567 
1568     Aws::String m_acceptRanges;
1569     bool m_acceptRangesHasBeenSet;
1570 
1571     Aws::String m_cacheControl;
1572     bool m_cacheControlHasBeenSet;
1573 
1574     Aws::String m_contentDisposition;
1575     bool m_contentDispositionHasBeenSet;
1576 
1577     Aws::String m_contentEncoding;
1578     bool m_contentEncodingHasBeenSet;
1579 
1580     Aws::String m_contentLanguage;
1581     bool m_contentLanguageHasBeenSet;
1582 
1583     long long m_contentLength;
1584     bool m_contentLengthHasBeenSet;
1585 
1586     Aws::String m_contentRange;
1587     bool m_contentRangeHasBeenSet;
1588 
1589     bool m_deleteMarker;
1590     bool m_deleteMarkerHasBeenSet;
1591 
1592     Aws::String m_eTag;
1593     bool m_eTagHasBeenSet;
1594 
1595     Aws::Utils::DateTime m_expires;
1596     bool m_expiresHasBeenSet;
1597 
1598     Aws::String m_expiration;
1599     bool m_expirationHasBeenSet;
1600 
1601     Aws::Utils::DateTime m_lastModified;
1602     bool m_lastModifiedHasBeenSet;
1603 
1604     int m_missingMeta;
1605     bool m_missingMetaHasBeenSet;
1606 
1607     Aws::Map<Aws::String, Aws::String> m_metadata;
1608     bool m_metadataHasBeenSet;
1609 
1610     ObjectLockMode m_objectLockMode;
1611     bool m_objectLockModeHasBeenSet;
1612 
1613     ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus;
1614     bool m_objectLockLegalHoldStatusHasBeenSet;
1615 
1616     Aws::Utils::DateTime m_objectLockRetainUntilDate;
1617     bool m_objectLockRetainUntilDateHasBeenSet;
1618 
1619     int m_partsCount;
1620     bool m_partsCountHasBeenSet;
1621 
1622     ReplicationStatus m_replicationStatus;
1623     bool m_replicationStatusHasBeenSet;
1624 
1625     RequestCharged m_requestCharged;
1626     bool m_requestChargedHasBeenSet;
1627 
1628     Aws::String m_restore;
1629     bool m_restoreHasBeenSet;
1630 
1631     ServerSideEncryption m_serverSideEncryption;
1632     bool m_serverSideEncryptionHasBeenSet;
1633 
1634     Aws::String m_sSECustomerAlgorithm;
1635     bool m_sSECustomerAlgorithmHasBeenSet;
1636 
1637     Aws::String m_sSEKMSKeyId;
1638     bool m_sSEKMSKeyIdHasBeenSet;
1639 
1640     Aws::String m_sSECustomerKeyMD5;
1641     bool m_sSECustomerKeyMD5HasBeenSet;
1642 
1643     StorageClass m_storageClass;
1644     bool m_storageClassHasBeenSet;
1645 
1646     int m_tagCount;
1647     bool m_tagCountHasBeenSet;
1648 
1649     Aws::String m_versionId;
1650     bool m_versionIdHasBeenSet;
1651 
1652     bool m_bucketKeyEnabled;
1653     bool m_bucketKeyEnabledHasBeenSet;
1654 
1655     Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
1656     bool m_customizedAccessLogTagHasBeenSet;
1657   };
1658 
1659 } // namespace Model
1660 } // namespace S3Crt
1661 } // namespace Aws
1662