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/S3_EXPORTS.h>
8 #include <aws/s3/S3Request.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/s3/model/EncodingType.h>
11 #include <aws/core/utils/memory/stl/AWSMap.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Http
17 {
18     class URI;
19 } //namespace Http
20 namespace S3
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_S3_API ListMultipartUploadsRequest : public S3Request
28   {
29   public:
30     ListMultipartUploadsRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "ListMultipartUploads"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41 
42     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
43 
44 
45     /**
46      * <p>The name of the bucket to which the multipart upload was initiated. </p>
47      * <p>When using this action with an access point, you must direct requests to the
48      * access point hostname. The access point hostname takes the form
49      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
50      * When using this action with an access point through the Amazon Web Services
51      * SDKs, you provide the access point ARN in place of the bucket name. For more
52      * information about access point ARNs, see <a
53      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
54      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
55      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
56      * Outposts hostname. The S3 on Outposts hostname takes the form
57      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
58      * When using this action using S3 on Outposts through the Amazon Web Services
59      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
60      * information about S3 on Outposts ARNs, see <a
61      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
62      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
63      */
GetBucket()64     inline const Aws::String& GetBucket() const{ return m_bucket; }
65 
66     /**
67      * <p>The name of the bucket to which the multipart upload was initiated. </p>
68      * <p>When using this action with an access point, you must direct requests to the
69      * access point hostname. The access point hostname takes the form
70      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
71      * When using this action with an access point through the Amazon Web Services
72      * SDKs, you provide the access point ARN in place of the bucket name. For more
73      * information about access point ARNs, see <a
74      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
75      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
76      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
77      * Outposts hostname. The S3 on Outposts hostname takes the form
78      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
79      * When using this action using S3 on Outposts through the Amazon Web Services
80      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
81      * information about S3 on Outposts ARNs, see <a
82      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
83      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
84      */
BucketHasBeenSet()85     inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
86 
87     /**
88      * <p>The name of the bucket to which the multipart upload was initiated. </p>
89      * <p>When using this action with an access point, you must direct requests to the
90      * access point hostname. The access point hostname takes the form
91      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
92      * When using this action with an access point through the Amazon Web Services
93      * SDKs, you provide the access point ARN in place of the bucket name. For more
94      * information about access point ARNs, see <a
95      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
96      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
97      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
98      * Outposts hostname. The S3 on Outposts hostname takes the form
99      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
100      * When using this action using S3 on Outposts through the Amazon Web Services
101      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
102      * information about S3 on Outposts ARNs, see <a
103      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
104      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
105      */
SetBucket(const Aws::String & value)106     inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
107 
108     /**
109      * <p>The name of the bucket to which the multipart upload was initiated. </p>
110      * <p>When using this action with an access point, you must direct requests to the
111      * access point hostname. The access point hostname takes the form
112      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
113      * When using this action with an access point through the Amazon Web Services
114      * SDKs, you provide the access point ARN in place of the bucket name. For more
115      * information about access point ARNs, see <a
116      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
117      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
118      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
119      * Outposts hostname. The S3 on Outposts hostname takes the form
120      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
121      * When using this action using S3 on Outposts through the Amazon Web Services
122      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
123      * information about S3 on Outposts ARNs, see <a
124      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
125      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
126      */
SetBucket(Aws::String && value)127     inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
128 
129     /**
130      * <p>The name of the bucket to which the multipart upload was initiated. </p>
131      * <p>When using this action with an access point, you must direct requests to the
132      * access point hostname. The access point hostname takes the form
133      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
134      * When using this action with an access point through the Amazon Web Services
135      * SDKs, you provide the access point ARN in place of the bucket name. For more
136      * information about access point ARNs, see <a
137      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
138      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
139      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
140      * Outposts hostname. The S3 on Outposts hostname takes the form
141      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
142      * When using this action using S3 on Outposts through the Amazon Web Services
143      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
144      * information about S3 on Outposts ARNs, see <a
145      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
146      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
147      */
SetBucket(const char * value)148     inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
149 
150     /**
151      * <p>The name of the bucket to which the multipart upload was initiated. </p>
152      * <p>When using this action with an access point, you must direct requests to the
153      * access point hostname. The access point hostname takes the form
154      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
155      * When using this action with an access point through the Amazon Web Services
156      * SDKs, you provide the access point ARN in place of the bucket name. For more
157      * information about access point ARNs, see <a
158      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
159      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
160      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
161      * Outposts hostname. The S3 on Outposts hostname takes the form
162      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
163      * When using this action using S3 on Outposts through the Amazon Web Services
164      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
165      * information about S3 on Outposts ARNs, see <a
166      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
167      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
168      */
WithBucket(const Aws::String & value)169     inline ListMultipartUploadsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
170 
171     /**
172      * <p>The name of the bucket to which the multipart upload was initiated. </p>
173      * <p>When using this action with an access point, you must direct requests to the
174      * access point hostname. The access point hostname takes the form
175      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
176      * When using this action with an access point through the Amazon Web Services
177      * SDKs, you provide the access point ARN in place of the bucket name. For more
178      * information about access point ARNs, see <a
179      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
180      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
181      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
182      * Outposts hostname. The S3 on Outposts hostname takes the form
183      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
184      * When using this action using S3 on Outposts through the Amazon Web Services
185      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
186      * information about S3 on Outposts ARNs, see <a
187      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
188      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
189      */
WithBucket(Aws::String && value)190     inline ListMultipartUploadsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
191 
192     /**
193      * <p>The name of the bucket to which the multipart upload was initiated. </p>
194      * <p>When using this action with an access point, you must direct requests to the
195      * access point hostname. The access point hostname takes the form
196      * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com.
197      * When using this action with an access point through the Amazon Web Services
198      * SDKs, you provide the access point ARN in place of the bucket name. For more
199      * information about access point ARNs, see <a
200      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
201      * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this
202      * action with Amazon S3 on Outposts, you must direct requests to the S3 on
203      * Outposts hostname. The S3 on Outposts hostname takes the form
204      * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com.
205      * When using this action using S3 on Outposts through the Amazon Web Services
206      * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more
207      * information about S3 on Outposts ARNs, see <a
208      * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using
209      * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
210      */
WithBucket(const char * value)211     inline ListMultipartUploadsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
212 
213 
214     /**
215      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
216      * between the prefix, if specified, and the first occurrence of the delimiter
217      * after the prefix are grouped under a single result element,
218      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
219      * substring starts at the beginning of the key. The keys that are grouped under
220      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
221      * response.</p>
222      */
GetDelimiter()223     inline const Aws::String& GetDelimiter() const{ return m_delimiter; }
224 
225     /**
226      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
227      * between the prefix, if specified, and the first occurrence of the delimiter
228      * after the prefix are grouped under a single result element,
229      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
230      * substring starts at the beginning of the key. The keys that are grouped under
231      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
232      * response.</p>
233      */
DelimiterHasBeenSet()234     inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; }
235 
236     /**
237      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
238      * between the prefix, if specified, and the first occurrence of the delimiter
239      * after the prefix are grouped under a single result element,
240      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
241      * substring starts at the beginning of the key. The keys that are grouped under
242      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
243      * response.</p>
244      */
SetDelimiter(const Aws::String & value)245     inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; }
246 
247     /**
248      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
249      * between the prefix, if specified, and the first occurrence of the delimiter
250      * after the prefix are grouped under a single result element,
251      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
252      * substring starts at the beginning of the key. The keys that are grouped under
253      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
254      * response.</p>
255      */
SetDelimiter(Aws::String && value)256     inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); }
257 
258     /**
259      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
260      * between the prefix, if specified, and the first occurrence of the delimiter
261      * after the prefix are grouped under a single result element,
262      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
263      * substring starts at the beginning of the key. The keys that are grouped under
264      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
265      * response.</p>
266      */
SetDelimiter(const char * value)267     inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); }
268 
269     /**
270      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
271      * between the prefix, if specified, and the first occurrence of the delimiter
272      * after the prefix are grouped under a single result element,
273      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
274      * substring starts at the beginning of the key. The keys that are grouped under
275      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
276      * response.</p>
277      */
WithDelimiter(const Aws::String & value)278     inline ListMultipartUploadsRequest& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;}
279 
280     /**
281      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
282      * between the prefix, if specified, and the first occurrence of the delimiter
283      * after the prefix are grouped under a single result element,
284      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
285      * substring starts at the beginning of the key. The keys that are grouped under
286      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
287      * response.</p>
288      */
WithDelimiter(Aws::String && value)289     inline ListMultipartUploadsRequest& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;}
290 
291     /**
292      * <p>Character you use to group keys.</p> <p>All keys that contain the same string
293      * between the prefix, if specified, and the first occurrence of the delimiter
294      * after the prefix are grouped under a single result element,
295      * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the
296      * substring starts at the beginning of the key. The keys that are grouped under
297      * <code>CommonPrefixes</code> result element are not returned elsewhere in the
298      * response.</p>
299      */
WithDelimiter(const char * value)300     inline ListMultipartUploadsRequest& WithDelimiter(const char* value) { SetDelimiter(value); return *this;}
301 
302 
303 
GetEncodingType()304     inline const EncodingType& GetEncodingType() const{ return m_encodingType; }
305 
306 
EncodingTypeHasBeenSet()307     inline bool EncodingTypeHasBeenSet() const { return m_encodingTypeHasBeenSet; }
308 
309 
SetEncodingType(const EncodingType & value)310     inline void SetEncodingType(const EncodingType& value) { m_encodingTypeHasBeenSet = true; m_encodingType = value; }
311 
312 
SetEncodingType(EncodingType && value)313     inline void SetEncodingType(EncodingType&& value) { m_encodingTypeHasBeenSet = true; m_encodingType = std::move(value); }
314 
315 
WithEncodingType(const EncodingType & value)316     inline ListMultipartUploadsRequest& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;}
317 
318 
WithEncodingType(EncodingType && value)319     inline ListMultipartUploadsRequest& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;}
320 
321 
322     /**
323      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
324      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
325      * specified, only the keys lexicographically greater than the specified
326      * <code>key-marker</code> will be included in the list.</p> <p>If
327      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
328      * equal to the <code>key-marker</code> might also be included, provided those
329      * multipart uploads have upload IDs lexicographically greater than the specified
330      * <code>upload-id-marker</code>.</p>
331      */
GetKeyMarker()332     inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; }
333 
334     /**
335      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
336      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
337      * specified, only the keys lexicographically greater than the specified
338      * <code>key-marker</code> will be included in the list.</p> <p>If
339      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
340      * equal to the <code>key-marker</code> might also be included, provided those
341      * multipart uploads have upload IDs lexicographically greater than the specified
342      * <code>upload-id-marker</code>.</p>
343      */
KeyMarkerHasBeenSet()344     inline bool KeyMarkerHasBeenSet() const { return m_keyMarkerHasBeenSet; }
345 
346     /**
347      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
348      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
349      * specified, only the keys lexicographically greater than the specified
350      * <code>key-marker</code> will be included in the list.</p> <p>If
351      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
352      * equal to the <code>key-marker</code> might also be included, provided those
353      * multipart uploads have upload IDs lexicographically greater than the specified
354      * <code>upload-id-marker</code>.</p>
355      */
SetKeyMarker(const Aws::String & value)356     inline void SetKeyMarker(const Aws::String& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = value; }
357 
358     /**
359      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
360      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
361      * specified, only the keys lexicographically greater than the specified
362      * <code>key-marker</code> will be included in the list.</p> <p>If
363      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
364      * equal to the <code>key-marker</code> might also be included, provided those
365      * multipart uploads have upload IDs lexicographically greater than the specified
366      * <code>upload-id-marker</code>.</p>
367      */
SetKeyMarker(Aws::String && value)368     inline void SetKeyMarker(Aws::String&& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = std::move(value); }
369 
370     /**
371      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
372      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
373      * specified, only the keys lexicographically greater than the specified
374      * <code>key-marker</code> will be included in the list.</p> <p>If
375      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
376      * equal to the <code>key-marker</code> might also be included, provided those
377      * multipart uploads have upload IDs lexicographically greater than the specified
378      * <code>upload-id-marker</code>.</p>
379      */
SetKeyMarker(const char * value)380     inline void SetKeyMarker(const char* value) { m_keyMarkerHasBeenSet = true; m_keyMarker.assign(value); }
381 
382     /**
383      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
384      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
385      * specified, only the keys lexicographically greater than the specified
386      * <code>key-marker</code> will be included in the list.</p> <p>If
387      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
388      * equal to the <code>key-marker</code> might also be included, provided those
389      * multipart uploads have upload IDs lexicographically greater than the specified
390      * <code>upload-id-marker</code>.</p>
391      */
WithKeyMarker(const Aws::String & value)392     inline ListMultipartUploadsRequest& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;}
393 
394     /**
395      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
396      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
397      * specified, only the keys lexicographically greater than the specified
398      * <code>key-marker</code> will be included in the list.</p> <p>If
399      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
400      * equal to the <code>key-marker</code> might also be included, provided those
401      * multipart uploads have upload IDs lexicographically greater than the specified
402      * <code>upload-id-marker</code>.</p>
403      */
WithKeyMarker(Aws::String && value)404     inline ListMultipartUploadsRequest& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;}
405 
406     /**
407      * <p>Together with upload-id-marker, this parameter specifies the multipart upload
408      * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not
409      * specified, only the keys lexicographically greater than the specified
410      * <code>key-marker</code> will be included in the list.</p> <p>If
411      * <code>upload-id-marker</code> is specified, any multipart uploads for a key
412      * equal to the <code>key-marker</code> might also be included, provided those
413      * multipart uploads have upload IDs lexicographically greater than the specified
414      * <code>upload-id-marker</code>.</p>
415      */
WithKeyMarker(const char * value)416     inline ListMultipartUploadsRequest& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;}
417 
418 
419     /**
420      * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in
421      * the response body. 1,000 is the maximum number of uploads that can be returned
422      * in a response.</p>
423      */
GetMaxUploads()424     inline int GetMaxUploads() const{ return m_maxUploads; }
425 
426     /**
427      * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in
428      * the response body. 1,000 is the maximum number of uploads that can be returned
429      * in a response.</p>
430      */
MaxUploadsHasBeenSet()431     inline bool MaxUploadsHasBeenSet() const { return m_maxUploadsHasBeenSet; }
432 
433     /**
434      * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in
435      * the response body. 1,000 is the maximum number of uploads that can be returned
436      * in a response.</p>
437      */
SetMaxUploads(int value)438     inline void SetMaxUploads(int value) { m_maxUploadsHasBeenSet = true; m_maxUploads = value; }
439 
440     /**
441      * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in
442      * the response body. 1,000 is the maximum number of uploads that can be returned
443      * in a response.</p>
444      */
WithMaxUploads(int value)445     inline ListMultipartUploadsRequest& WithMaxUploads(int value) { SetMaxUploads(value); return *this;}
446 
447 
448     /**
449      * <p>Lists in-progress uploads only for those keys that begin with the specified
450      * prefix. You can use prefixes to separate a bucket into different grouping of
451      * keys. (You can think of using prefix to make groups in the same way you'd use a
452      * folder in a file system.)</p>
453      */
GetPrefix()454     inline const Aws::String& GetPrefix() const{ return m_prefix; }
455 
456     /**
457      * <p>Lists in-progress uploads only for those keys that begin with the specified
458      * prefix. You can use prefixes to separate a bucket into different grouping of
459      * keys. (You can think of using prefix to make groups in the same way you'd use a
460      * folder in a file system.)</p>
461      */
PrefixHasBeenSet()462     inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
463 
464     /**
465      * <p>Lists in-progress uploads only for those keys that begin with the specified
466      * prefix. You can use prefixes to separate a bucket into different grouping of
467      * keys. (You can think of using prefix to make groups in the same way you'd use a
468      * folder in a file system.)</p>
469      */
SetPrefix(const Aws::String & value)470     inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
471 
472     /**
473      * <p>Lists in-progress uploads only for those keys that begin with the specified
474      * prefix. You can use prefixes to separate a bucket into different grouping of
475      * keys. (You can think of using prefix to make groups in the same way you'd use a
476      * folder in a file system.)</p>
477      */
SetPrefix(Aws::String && value)478     inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
479 
480     /**
481      * <p>Lists in-progress uploads only for those keys that begin with the specified
482      * prefix. You can use prefixes to separate a bucket into different grouping of
483      * keys. (You can think of using prefix to make groups in the same way you'd use a
484      * folder in a file system.)</p>
485      */
SetPrefix(const char * value)486     inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
487 
488     /**
489      * <p>Lists in-progress uploads only for those keys that begin with the specified
490      * prefix. You can use prefixes to separate a bucket into different grouping of
491      * keys. (You can think of using prefix to make groups in the same way you'd use a
492      * folder in a file system.)</p>
493      */
WithPrefix(const Aws::String & value)494     inline ListMultipartUploadsRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
495 
496     /**
497      * <p>Lists in-progress uploads only for those keys that begin with the specified
498      * prefix. You can use prefixes to separate a bucket into different grouping of
499      * keys. (You can think of using prefix to make groups in the same way you'd use a
500      * folder in a file system.)</p>
501      */
WithPrefix(Aws::String && value)502     inline ListMultipartUploadsRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
503 
504     /**
505      * <p>Lists in-progress uploads only for those keys that begin with the specified
506      * prefix. You can use prefixes to separate a bucket into different grouping of
507      * keys. (You can think of using prefix to make groups in the same way you'd use a
508      * folder in a file system.)</p>
509      */
WithPrefix(const char * value)510     inline ListMultipartUploadsRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;}
511 
512 
513     /**
514      * <p>Together with key-marker, specifies the multipart upload after which listing
515      * should begin. If key-marker is not specified, the upload-id-marker parameter is
516      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
517      * might be included in the list only if they have an upload ID lexicographically
518      * greater than the specified <code>upload-id-marker</code>.</p>
519      */
GetUploadIdMarker()520     inline const Aws::String& GetUploadIdMarker() const{ return m_uploadIdMarker; }
521 
522     /**
523      * <p>Together with key-marker, specifies the multipart upload after which listing
524      * should begin. If key-marker is not specified, the upload-id-marker parameter is
525      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
526      * might be included in the list only if they have an upload ID lexicographically
527      * greater than the specified <code>upload-id-marker</code>.</p>
528      */
UploadIdMarkerHasBeenSet()529     inline bool UploadIdMarkerHasBeenSet() const { return m_uploadIdMarkerHasBeenSet; }
530 
531     /**
532      * <p>Together with key-marker, specifies the multipart upload after which listing
533      * should begin. If key-marker is not specified, the upload-id-marker parameter is
534      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
535      * might be included in the list only if they have an upload ID lexicographically
536      * greater than the specified <code>upload-id-marker</code>.</p>
537      */
SetUploadIdMarker(const Aws::String & value)538     inline void SetUploadIdMarker(const Aws::String& value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker = value; }
539 
540     /**
541      * <p>Together with key-marker, specifies the multipart upload after which listing
542      * should begin. If key-marker is not specified, the upload-id-marker parameter is
543      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
544      * might be included in the list only if they have an upload ID lexicographically
545      * greater than the specified <code>upload-id-marker</code>.</p>
546      */
SetUploadIdMarker(Aws::String && value)547     inline void SetUploadIdMarker(Aws::String&& value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker = std::move(value); }
548 
549     /**
550      * <p>Together with key-marker, specifies the multipart upload after which listing
551      * should begin. If key-marker is not specified, the upload-id-marker parameter is
552      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
553      * might be included in the list only if they have an upload ID lexicographically
554      * greater than the specified <code>upload-id-marker</code>.</p>
555      */
SetUploadIdMarker(const char * value)556     inline void SetUploadIdMarker(const char* value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker.assign(value); }
557 
558     /**
559      * <p>Together with key-marker, specifies the multipart upload after which listing
560      * should begin. If key-marker is not specified, the upload-id-marker parameter is
561      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
562      * might be included in the list only if they have an upload ID lexicographically
563      * greater than the specified <code>upload-id-marker</code>.</p>
564      */
WithUploadIdMarker(const Aws::String & value)565     inline ListMultipartUploadsRequest& WithUploadIdMarker(const Aws::String& value) { SetUploadIdMarker(value); return *this;}
566 
567     /**
568      * <p>Together with key-marker, specifies the multipart upload after which listing
569      * should begin. If key-marker is not specified, the upload-id-marker parameter is
570      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
571      * might be included in the list only if they have an upload ID lexicographically
572      * greater than the specified <code>upload-id-marker</code>.</p>
573      */
WithUploadIdMarker(Aws::String && value)574     inline ListMultipartUploadsRequest& WithUploadIdMarker(Aws::String&& value) { SetUploadIdMarker(std::move(value)); return *this;}
575 
576     /**
577      * <p>Together with key-marker, specifies the multipart upload after which listing
578      * should begin. If key-marker is not specified, the upload-id-marker parameter is
579      * ignored. Otherwise, any multipart uploads for a key equal to the key-marker
580      * might be included in the list only if they have an upload ID lexicographically
581      * greater than the specified <code>upload-id-marker</code>.</p>
582      */
WithUploadIdMarker(const char * value)583     inline ListMultipartUploadsRequest& WithUploadIdMarker(const char* value) { SetUploadIdMarker(value); return *this;}
584 
585 
586     /**
587      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
588      * different account, the request will fail with an HTTP <code>403 (Access
589      * Denied)</code> error.</p>
590      */
GetExpectedBucketOwner()591     inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
592 
593     /**
594      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
595      * different account, the request will fail with an HTTP <code>403 (Access
596      * Denied)</code> error.</p>
597      */
ExpectedBucketOwnerHasBeenSet()598     inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
599 
600     /**
601      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
602      * different account, the request will fail with an HTTP <code>403 (Access
603      * Denied)</code> error.</p>
604      */
SetExpectedBucketOwner(const Aws::String & value)605     inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
606 
607     /**
608      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
609      * different account, the request will fail with an HTTP <code>403 (Access
610      * Denied)</code> error.</p>
611      */
SetExpectedBucketOwner(Aws::String && value)612     inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
613 
614     /**
615      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
616      * different account, the request will fail with an HTTP <code>403 (Access
617      * Denied)</code> error.</p>
618      */
SetExpectedBucketOwner(const char * value)619     inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
620 
621     /**
622      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
623      * different account, the request will fail with an HTTP <code>403 (Access
624      * Denied)</code> error.</p>
625      */
WithExpectedBucketOwner(const Aws::String & value)626     inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
627 
628     /**
629      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
630      * different account, the request will fail with an HTTP <code>403 (Access
631      * Denied)</code> error.</p>
632      */
WithExpectedBucketOwner(Aws::String && value)633     inline ListMultipartUploadsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
634 
635     /**
636      * <p>The account ID of the expected bucket owner. If the bucket is owned by a
637      * different account, the request will fail with an HTTP <code>403 (Access
638      * Denied)</code> error.</p>
639      */
WithExpectedBucketOwner(const char * value)640     inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
641 
642 
643 
GetCustomizedAccessLogTag()644     inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
645 
646 
CustomizedAccessLogTagHasBeenSet()647     inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
648 
649 
SetCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)650     inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
651 
652 
SetCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)653     inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
654 
655 
WithCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)656     inline ListMultipartUploadsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
657 
658 
WithCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)659     inline ListMultipartUploadsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
660 
661 
AddCustomizedAccessLogTag(const Aws::String & key,const Aws::String & value)662     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
663 
664 
AddCustomizedAccessLogTag(Aws::String && key,const Aws::String & value)665     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
666 
667 
AddCustomizedAccessLogTag(const Aws::String & key,Aws::String && value)668     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
669 
670 
AddCustomizedAccessLogTag(Aws::String && key,Aws::String && value)671     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
672 
673 
AddCustomizedAccessLogTag(const char * key,Aws::String && value)674     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
675 
676 
AddCustomizedAccessLogTag(Aws::String && key,const char * value)677     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
678 
679 
AddCustomizedAccessLogTag(const char * key,const char * value)680     inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
681 
682   private:
683 
684     Aws::String m_bucket;
685     bool m_bucketHasBeenSet;
686 
687     Aws::String m_delimiter;
688     bool m_delimiterHasBeenSet;
689 
690     EncodingType m_encodingType;
691     bool m_encodingTypeHasBeenSet;
692 
693     Aws::String m_keyMarker;
694     bool m_keyMarkerHasBeenSet;
695 
696     int m_maxUploads;
697     bool m_maxUploadsHasBeenSet;
698 
699     Aws::String m_prefix;
700     bool m_prefixHasBeenSet;
701 
702     Aws::String m_uploadIdMarker;
703     bool m_uploadIdMarkerHasBeenSet;
704 
705     Aws::String m_expectedBucketOwner;
706     bool m_expectedBucketOwnerHasBeenSet;
707 
708     Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
709     bool m_customizedAccessLogTagHasBeenSet;
710   };
711 
712 } // namespace Model
713 } // namespace S3
714 } // namespace Aws
715