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/core/utils/DateTime.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/s3-crt/model/ServerSideEncryption.h> 11 #include <aws/s3-crt/model/RequestCharged.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Xml 22 { 23 class XmlDocument; 24 } // namespace Xml 25 } // namespace Utils 26 namespace S3Crt 27 { 28 namespace Model 29 { 30 class AWS_S3CRT_API CreateMultipartUploadResult 31 { 32 public: 33 CreateMultipartUploadResult(); 34 CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 35 CreateMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 36 37 38 /** 39 * <p>If the bucket has a lifecycle rule configured with an action to abort 40 * incomplete multipart uploads and the prefix in the lifecycle rule matches the 41 * object name in the request, the response includes this header. The header 42 * indicates when the initiated multipart upload becomes eligible for an abort 43 * operation. For more information, see <a 44 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> 45 * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> 46 * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that 47 * provides the ID of the lifecycle configuration rule that defines this 48 * action.</p> 49 */ GetAbortDate()50 inline const Aws::Utils::DateTime& GetAbortDate() const{ return m_abortDate; } 51 52 /** 53 * <p>If the bucket has a lifecycle rule configured with an action to abort 54 * incomplete multipart uploads and the prefix in the lifecycle rule matches the 55 * object name in the request, the response includes this header. The header 56 * indicates when the initiated multipart upload becomes eligible for an abort 57 * operation. For more information, see <a 58 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> 59 * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> 60 * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that 61 * provides the ID of the lifecycle configuration rule that defines this 62 * action.</p> 63 */ SetAbortDate(const Aws::Utils::DateTime & value)64 inline void SetAbortDate(const Aws::Utils::DateTime& value) { m_abortDate = value; } 65 66 /** 67 * <p>If the bucket has a lifecycle rule configured with an action to abort 68 * incomplete multipart uploads and the prefix in the lifecycle rule matches the 69 * object name in the request, the response includes this header. The header 70 * indicates when the initiated multipart upload becomes eligible for an abort 71 * operation. For more information, see <a 72 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> 73 * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> 74 * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that 75 * provides the ID of the lifecycle configuration rule that defines this 76 * action.</p> 77 */ SetAbortDate(Aws::Utils::DateTime && value)78 inline void SetAbortDate(Aws::Utils::DateTime&& value) { m_abortDate = std::move(value); } 79 80 /** 81 * <p>If the bucket has a lifecycle rule configured with an action to abort 82 * incomplete multipart uploads and the prefix in the lifecycle rule matches the 83 * object name in the request, the response includes this header. The header 84 * indicates when the initiated multipart upload becomes eligible for an abort 85 * operation. For more information, see <a 86 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> 87 * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> 88 * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that 89 * provides the ID of the lifecycle configuration rule that defines this 90 * action.</p> 91 */ WithAbortDate(const Aws::Utils::DateTime & value)92 inline CreateMultipartUploadResult& WithAbortDate(const Aws::Utils::DateTime& value) { SetAbortDate(value); return *this;} 93 94 /** 95 * <p>If the bucket has a lifecycle rule configured with an action to abort 96 * incomplete multipart uploads and the prefix in the lifecycle rule matches the 97 * object name in the request, the response includes this header. The header 98 * indicates when the initiated multipart upload becomes eligible for an abort 99 * operation. For more information, see <a 100 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> 101 * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> 102 * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that 103 * provides the ID of the lifecycle configuration rule that defines this 104 * action.</p> 105 */ WithAbortDate(Aws::Utils::DateTime && value)106 inline CreateMultipartUploadResult& WithAbortDate(Aws::Utils::DateTime&& value) { SetAbortDate(std::move(value)); return *this;} 107 108 109 /** 110 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 111 * It identifies the applicable lifecycle configuration rule that defines the 112 * action to abort incomplete multipart uploads.</p> 113 */ GetAbortRuleId()114 inline const Aws::String& GetAbortRuleId() const{ return m_abortRuleId; } 115 116 /** 117 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 118 * It identifies the applicable lifecycle configuration rule that defines the 119 * action to abort incomplete multipart uploads.</p> 120 */ SetAbortRuleId(const Aws::String & value)121 inline void SetAbortRuleId(const Aws::String& value) { m_abortRuleId = value; } 122 123 /** 124 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 125 * It identifies the applicable lifecycle configuration rule that defines the 126 * action to abort incomplete multipart uploads.</p> 127 */ SetAbortRuleId(Aws::String && value)128 inline void SetAbortRuleId(Aws::String&& value) { m_abortRuleId = std::move(value); } 129 130 /** 131 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 132 * It identifies the applicable lifecycle configuration rule that defines the 133 * action to abort incomplete multipart uploads.</p> 134 */ SetAbortRuleId(const char * value)135 inline void SetAbortRuleId(const char* value) { m_abortRuleId.assign(value); } 136 137 /** 138 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 139 * It identifies the applicable lifecycle configuration rule that defines the 140 * action to abort incomplete multipart uploads.</p> 141 */ WithAbortRuleId(const Aws::String & value)142 inline CreateMultipartUploadResult& WithAbortRuleId(const Aws::String& value) { SetAbortRuleId(value); return *this;} 143 144 /** 145 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 146 * It identifies the applicable lifecycle configuration rule that defines the 147 * action to abort incomplete multipart uploads.</p> 148 */ WithAbortRuleId(Aws::String && value)149 inline CreateMultipartUploadResult& WithAbortRuleId(Aws::String&& value) { SetAbortRuleId(std::move(value)); return *this;} 150 151 /** 152 * <p>This header is returned along with the <code>x-amz-abort-date</code> header. 153 * It identifies the applicable lifecycle configuration rule that defines the 154 * action to abort incomplete multipart uploads.</p> 155 */ WithAbortRuleId(const char * value)156 inline CreateMultipartUploadResult& WithAbortRuleId(const char* value) { SetAbortRuleId(value); return *this;} 157 158 159 /** 160 * <p>The name of the bucket to which the multipart upload was initiated. Does not 161 * return the access point ARN or access point alias if used.</p> <p>When using 162 * this action with an access point, you must direct requests to the access point 163 * hostname. The access point hostname takes the form 164 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 165 * When using this action with an access point through the Amazon Web Services 166 * SDKs, you provide the access point ARN in place of the bucket name. For more 167 * information about access point ARNs, see <a 168 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 169 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 170 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 171 * Outposts hostname. The S3 on Outposts hostname takes the form 172 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 173 * When using this action using S3 on Outposts through the Amazon Web Services 174 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 175 * information about S3 on Outposts ARNs, see <a 176 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 177 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 178 */ GetBucket()179 inline const Aws::String& GetBucket() const{ return m_bucket; } 180 181 /** 182 * <p>The name of the bucket to which the multipart upload was initiated. Does not 183 * return the access point ARN or access point alias if used.</p> <p>When using 184 * this action with an access point, you must direct requests to the access point 185 * hostname. The access point hostname takes the form 186 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 187 * When using this action with an access point through the Amazon Web Services 188 * SDKs, you provide the access point ARN in place of the bucket name. For more 189 * information about access point ARNs, see <a 190 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 191 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 192 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 193 * Outposts hostname. The S3 on Outposts hostname takes the form 194 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 195 * When using this action using S3 on Outposts through the Amazon Web Services 196 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 197 * information about S3 on Outposts ARNs, see <a 198 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 199 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 200 */ SetBucket(const Aws::String & value)201 inline void SetBucket(const Aws::String& value) { m_bucket = value; } 202 203 /** 204 * <p>The name of the bucket to which the multipart upload was initiated. Does not 205 * return the access point ARN or access point alias if used.</p> <p>When using 206 * this action with an access point, you must direct requests to the access point 207 * hostname. The access point hostname takes the form 208 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 209 * When using this action with an access point through the Amazon Web Services 210 * SDKs, you provide the access point ARN in place of the bucket name. For more 211 * information about access point ARNs, see <a 212 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 213 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 214 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 215 * Outposts hostname. The S3 on Outposts hostname takes the form 216 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 217 * When using this action using S3 on Outposts through the Amazon Web Services 218 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 219 * information about S3 on Outposts ARNs, see <a 220 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 221 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 222 */ SetBucket(Aws::String && value)223 inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } 224 225 /** 226 * <p>The name of the bucket to which the multipart upload was initiated. Does not 227 * return the access point ARN or access point alias if used.</p> <p>When using 228 * this action with an access point, you must direct requests to the access point 229 * hostname. The access point hostname takes the form 230 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 231 * When using this action with an access point through the Amazon Web Services 232 * SDKs, you provide the access point ARN in place of the bucket name. For more 233 * information about access point ARNs, see <a 234 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 235 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 236 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 237 * Outposts hostname. The S3 on Outposts hostname takes the form 238 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 239 * When using this action using S3 on Outposts through the Amazon Web Services 240 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 241 * information about S3 on Outposts ARNs, see <a 242 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 243 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 244 */ SetBucket(const char * value)245 inline void SetBucket(const char* value) { m_bucket.assign(value); } 246 247 /** 248 * <p>The name of the bucket to which the multipart upload was initiated. Does not 249 * return the access point ARN or access point alias if used.</p> <p>When using 250 * this action with an access point, you must direct requests to the access point 251 * hostname. The access point hostname takes the form 252 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 253 * When using this action with an access point through the Amazon Web Services 254 * SDKs, you provide the access point ARN in place of the bucket name. For more 255 * information about access point ARNs, see <a 256 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 257 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 258 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 259 * Outposts hostname. The S3 on Outposts hostname takes the form 260 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 261 * When using this action using S3 on Outposts through the Amazon Web Services 262 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 263 * information about S3 on Outposts ARNs, see <a 264 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 265 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 266 */ WithBucket(const Aws::String & value)267 inline CreateMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} 268 269 /** 270 * <p>The name of the bucket to which the multipart upload was initiated. Does not 271 * return the access point ARN or access point alias if used.</p> <p>When using 272 * this action with an access point, you must direct requests to the access point 273 * hostname. The access point hostname takes the form 274 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 275 * When using this action with an access point through the Amazon Web Services 276 * SDKs, you provide the access point ARN in place of the bucket name. For more 277 * information about access point ARNs, see <a 278 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 279 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 280 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 281 * Outposts hostname. The S3 on Outposts hostname takes the form 282 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 283 * When using this action using S3 on Outposts through the Amazon Web Services 284 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 285 * information about S3 on Outposts ARNs, see <a 286 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 287 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 288 */ WithBucket(Aws::String && value)289 inline CreateMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} 290 291 /** 292 * <p>The name of the bucket to which the multipart upload was initiated. Does not 293 * return the access point ARN or access point alias if used.</p> <p>When using 294 * this action with an access point, you must direct requests to the access point 295 * hostname. The access point hostname takes the form 296 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 297 * When using this action with an access point through the Amazon Web Services 298 * SDKs, you provide the access point ARN in place of the bucket name. For more 299 * information about access point ARNs, see <a 300 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 301 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 302 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 303 * Outposts hostname. The S3 on Outposts hostname takes the form 304 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 305 * When using this action using S3 on Outposts through the Amazon Web Services 306 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 307 * information about S3 on Outposts ARNs, see <a 308 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 309 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 310 */ WithBucket(const char * value)311 inline CreateMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} 312 313 314 /** 315 * <p>Object key for which the multipart upload was initiated.</p> 316 */ GetKey()317 inline const Aws::String& GetKey() const{ return m_key; } 318 319 /** 320 * <p>Object key for which the multipart upload was initiated.</p> 321 */ SetKey(const Aws::String & value)322 inline void SetKey(const Aws::String& value) { m_key = value; } 323 324 /** 325 * <p>Object key for which the multipart upload was initiated.</p> 326 */ SetKey(Aws::String && value)327 inline void SetKey(Aws::String&& value) { m_key = std::move(value); } 328 329 /** 330 * <p>Object key for which the multipart upload was initiated.</p> 331 */ SetKey(const char * value)332 inline void SetKey(const char* value) { m_key.assign(value); } 333 334 /** 335 * <p>Object key for which the multipart upload was initiated.</p> 336 */ WithKey(const Aws::String & value)337 inline CreateMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} 338 339 /** 340 * <p>Object key for which the multipart upload was initiated.</p> 341 */ WithKey(Aws::String && value)342 inline CreateMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 343 344 /** 345 * <p>Object key for which the multipart upload was initiated.</p> 346 */ WithKey(const char * value)347 inline CreateMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;} 348 349 350 /** 351 * <p>ID for the initiated multipart upload.</p> 352 */ GetUploadId()353 inline const Aws::String& GetUploadId() const{ return m_uploadId; } 354 355 /** 356 * <p>ID for the initiated multipart upload.</p> 357 */ SetUploadId(const Aws::String & value)358 inline void SetUploadId(const Aws::String& value) { m_uploadId = value; } 359 360 /** 361 * <p>ID for the initiated multipart upload.</p> 362 */ SetUploadId(Aws::String && value)363 inline void SetUploadId(Aws::String&& value) { m_uploadId = std::move(value); } 364 365 /** 366 * <p>ID for the initiated multipart upload.</p> 367 */ SetUploadId(const char * value)368 inline void SetUploadId(const char* value) { m_uploadId.assign(value); } 369 370 /** 371 * <p>ID for the initiated multipart upload.</p> 372 */ WithUploadId(const Aws::String & value)373 inline CreateMultipartUploadResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} 374 375 /** 376 * <p>ID for the initiated multipart upload.</p> 377 */ WithUploadId(Aws::String && value)378 inline CreateMultipartUploadResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} 379 380 /** 381 * <p>ID for the initiated multipart upload.</p> 382 */ WithUploadId(const char * value)383 inline CreateMultipartUploadResult& WithUploadId(const char* value) { SetUploadId(value); return *this;} 384 385 386 /** 387 * <p>The server-side encryption algorithm used when storing this object in Amazon 388 * S3 (for example, AES256, aws:kms).</p> 389 */ GetServerSideEncryption()390 inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } 391 392 /** 393 * <p>The server-side encryption algorithm used when storing this object in Amazon 394 * S3 (for example, AES256, aws:kms).</p> 395 */ SetServerSideEncryption(const ServerSideEncryption & value)396 inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } 397 398 /** 399 * <p>The server-side encryption algorithm used when storing this object in Amazon 400 * S3 (for example, AES256, aws:kms).</p> 401 */ SetServerSideEncryption(ServerSideEncryption && value)402 inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } 403 404 /** 405 * <p>The server-side encryption algorithm used when storing this object in Amazon 406 * S3 (for example, AES256, aws:kms).</p> 407 */ WithServerSideEncryption(const ServerSideEncryption & value)408 inline CreateMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} 409 410 /** 411 * <p>The server-side encryption algorithm used when storing this object in Amazon 412 * S3 (for example, AES256, aws:kms).</p> 413 */ WithServerSideEncryption(ServerSideEncryption && value)414 inline CreateMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} 415 416 417 /** 418 * <p>If server-side encryption with a customer-provided encryption key was 419 * requested, the response will include this header confirming the encryption 420 * algorithm used.</p> 421 */ GetSSECustomerAlgorithm()422 inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } 423 424 /** 425 * <p>If server-side encryption with a customer-provided encryption key was 426 * requested, the response will include this header confirming the encryption 427 * algorithm used.</p> 428 */ SetSSECustomerAlgorithm(const Aws::String & value)429 inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } 430 431 /** 432 * <p>If server-side encryption with a customer-provided encryption key was 433 * requested, the response will include this header confirming the encryption 434 * algorithm used.</p> 435 */ SetSSECustomerAlgorithm(Aws::String && value)436 inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } 437 438 /** 439 * <p>If server-side encryption with a customer-provided encryption key was 440 * requested, the response will include this header confirming the encryption 441 * algorithm used.</p> 442 */ SetSSECustomerAlgorithm(const char * value)443 inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } 444 445 /** 446 * <p>If server-side encryption with a customer-provided encryption key was 447 * requested, the response will include this header confirming the encryption 448 * algorithm used.</p> 449 */ WithSSECustomerAlgorithm(const Aws::String & value)450 inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} 451 452 /** 453 * <p>If server-side encryption with a customer-provided encryption key was 454 * requested, the response will include this header confirming the encryption 455 * algorithm used.</p> 456 */ WithSSECustomerAlgorithm(Aws::String && value)457 inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} 458 459 /** 460 * <p>If server-side encryption with a customer-provided encryption key was 461 * requested, the response will include this header confirming the encryption 462 * algorithm used.</p> 463 */ WithSSECustomerAlgorithm(const char * value)464 inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} 465 466 467 /** 468 * <p>If server-side encryption with a customer-provided encryption key was 469 * requested, the response will include this header to provide round-trip message 470 * integrity verification of the customer-provided encryption key.</p> 471 */ GetSSECustomerKeyMD5()472 inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } 473 474 /** 475 * <p>If server-side encryption with a customer-provided encryption key was 476 * requested, the response will include this header to provide round-trip message 477 * integrity verification of the customer-provided encryption key.</p> 478 */ SetSSECustomerKeyMD5(const Aws::String & value)479 inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } 480 481 /** 482 * <p>If server-side encryption with a customer-provided encryption key was 483 * requested, the response will include this header to provide round-trip message 484 * integrity verification of the customer-provided encryption key.</p> 485 */ SetSSECustomerKeyMD5(Aws::String && value)486 inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } 487 488 /** 489 * <p>If server-side encryption with a customer-provided encryption key was 490 * requested, the response will include this header to provide round-trip message 491 * integrity verification of the customer-provided encryption key.</p> 492 */ SetSSECustomerKeyMD5(const char * value)493 inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } 494 495 /** 496 * <p>If server-side encryption with a customer-provided encryption key was 497 * requested, the response will include this header to provide round-trip message 498 * integrity verification of the customer-provided encryption key.</p> 499 */ WithSSECustomerKeyMD5(const Aws::String & value)500 inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} 501 502 /** 503 * <p>If server-side encryption with a customer-provided encryption key was 504 * requested, the response will include this header to provide round-trip message 505 * integrity verification of the customer-provided encryption key.</p> 506 */ WithSSECustomerKeyMD5(Aws::String && value)507 inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} 508 509 /** 510 * <p>If server-side encryption with a customer-provided encryption key was 511 * requested, the response will include this header to provide round-trip message 512 * integrity verification of the customer-provided encryption key.</p> 513 */ WithSSECustomerKeyMD5(const char * value)514 inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} 515 516 517 /** 518 * <p>If present, specifies the ID of the Amazon Web Services Key Management 519 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 520 * for the object.</p> 521 */ GetSSEKMSKeyId()522 inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } 523 524 /** 525 * <p>If present, specifies the ID of the Amazon Web Services Key Management 526 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 527 * for the object.</p> 528 */ SetSSEKMSKeyId(const Aws::String & value)529 inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } 530 531 /** 532 * <p>If present, specifies the ID of the Amazon Web Services Key Management 533 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 534 * for the object.</p> 535 */ SetSSEKMSKeyId(Aws::String && value)536 inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } 537 538 /** 539 * <p>If present, specifies the ID of the Amazon Web Services Key Management 540 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 541 * for the object.</p> 542 */ SetSSEKMSKeyId(const char * value)543 inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } 544 545 /** 546 * <p>If present, specifies the ID of the Amazon Web Services Key Management 547 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 548 * for the object.</p> 549 */ WithSSEKMSKeyId(const Aws::String & value)550 inline CreateMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} 551 552 /** 553 * <p>If present, specifies the ID of the Amazon Web Services Key Management 554 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 555 * for the object.</p> 556 */ WithSSEKMSKeyId(Aws::String && value)557 inline CreateMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} 558 559 /** 560 * <p>If present, specifies the ID of the Amazon Web Services Key Management 561 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 562 * for the object.</p> 563 */ WithSSEKMSKeyId(const char * value)564 inline CreateMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} 565 566 567 /** 568 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 569 * for object encryption. The value of this header is a base64-encoded UTF-8 string 570 * holding JSON with the encryption context key-value pairs.</p> 571 */ GetSSEKMSEncryptionContext()572 inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } 573 574 /** 575 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 576 * for object encryption. The value of this header is a base64-encoded UTF-8 string 577 * holding JSON with the encryption context key-value pairs.</p> 578 */ SetSSEKMSEncryptionContext(const Aws::String & value)579 inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } 580 581 /** 582 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 583 * for object encryption. The value of this header is a base64-encoded UTF-8 string 584 * holding JSON with the encryption context key-value pairs.</p> 585 */ SetSSEKMSEncryptionContext(Aws::String && value)586 inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } 587 588 /** 589 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 590 * for object encryption. The value of this header is a base64-encoded UTF-8 string 591 * holding JSON with the encryption context key-value pairs.</p> 592 */ SetSSEKMSEncryptionContext(const char * value)593 inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } 594 595 /** 596 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 597 * for object encryption. The value of this header is a base64-encoded UTF-8 string 598 * holding JSON with the encryption context key-value pairs.</p> 599 */ WithSSEKMSEncryptionContext(const Aws::String & value)600 inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} 601 602 /** 603 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 604 * for object encryption. The value of this header is a base64-encoded UTF-8 string 605 * holding JSON with the encryption context key-value pairs.</p> 606 */ WithSSEKMSEncryptionContext(Aws::String && value)607 inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} 608 609 /** 610 * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use 611 * for object encryption. The value of this header is a base64-encoded UTF-8 string 612 * holding JSON with the encryption context key-value pairs.</p> 613 */ WithSSEKMSEncryptionContext(const char * value)614 inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} 615 616 617 /** 618 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 619 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 620 */ GetBucketKeyEnabled()621 inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } 622 623 /** 624 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 625 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 626 */ SetBucketKeyEnabled(bool value)627 inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } 628 629 /** 630 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 631 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 632 */ WithBucketKeyEnabled(bool value)633 inline CreateMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} 634 635 636 GetRequestCharged()637 inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } 638 639 SetRequestCharged(const RequestCharged & value)640 inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } 641 642 SetRequestCharged(RequestCharged && value)643 inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } 644 645 WithRequestCharged(const RequestCharged & value)646 inline CreateMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} 647 648 WithRequestCharged(RequestCharged && value)649 inline CreateMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} 650 651 private: 652 653 Aws::Utils::DateTime m_abortDate; 654 655 Aws::String m_abortRuleId; 656 657 Aws::String m_bucket; 658 659 Aws::String m_key; 660 661 Aws::String m_uploadId; 662 663 ServerSideEncryption m_serverSideEncryption; 664 665 Aws::String m_sSECustomerAlgorithm; 666 667 Aws::String m_sSECustomerKeyMD5; 668 669 Aws::String m_sSEKMSKeyId; 670 671 Aws::String m_sSEKMSEncryptionContext; 672 673 bool m_bucketKeyEnabled; 674 675 RequestCharged m_requestCharged; 676 }; 677 678 } // namespace Model 679 } // namespace S3Crt 680 } // namespace Aws 681