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/memory/stl/AWSString.h> 9 #include <aws/s3-crt/model/ServerSideEncryption.h> 10 #include <aws/s3-crt/model/RequestCharged.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Xml 21 { 22 class XmlDocument; 23 } // namespace Xml 24 } // namespace Utils 25 namespace S3Crt 26 { 27 namespace Model 28 { 29 class AWS_S3CRT_API CompleteMultipartUploadResult 30 { 31 public: 32 CompleteMultipartUploadResult(); 33 CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 34 CompleteMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 35 36 37 /** 38 * <p>The URI that identifies the newly created object.</p> 39 */ GetLocation()40 inline const Aws::String& GetLocation() const{ return m_location; } 41 42 /** 43 * <p>The URI that identifies the newly created object.</p> 44 */ SetLocation(const Aws::String & value)45 inline void SetLocation(const Aws::String& value) { m_location = value; } 46 47 /** 48 * <p>The URI that identifies the newly created object.</p> 49 */ SetLocation(Aws::String && value)50 inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } 51 52 /** 53 * <p>The URI that identifies the newly created object.</p> 54 */ SetLocation(const char * value)55 inline void SetLocation(const char* value) { m_location.assign(value); } 56 57 /** 58 * <p>The URI that identifies the newly created object.</p> 59 */ WithLocation(const Aws::String & value)60 inline CompleteMultipartUploadResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} 61 62 /** 63 * <p>The URI that identifies the newly created object.</p> 64 */ WithLocation(Aws::String && value)65 inline CompleteMultipartUploadResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} 66 67 /** 68 * <p>The URI that identifies the newly created object.</p> 69 */ WithLocation(const char * value)70 inline CompleteMultipartUploadResult& WithLocation(const char* value) { SetLocation(value); return *this;} 71 72 73 /** 74 * <p>The name of the bucket that contains the newly created object. Does not 75 * return the access point ARN or access point alias if used.</p> <p>When using 76 * this action with an access point, you must direct requests to the access point 77 * hostname. The access point hostname takes the form 78 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 79 * When using this action with an access point through the Amazon Web Services 80 * SDKs, you provide the access point ARN in place of the bucket name. For more 81 * information about access point ARNs, see <a 82 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 83 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 84 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 85 * Outposts hostname. The S3 on Outposts hostname takes the form 86 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 87 * When using this action using S3 on Outposts through the Amazon Web Services 88 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 89 * information about S3 on Outposts ARNs, see <a 90 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 91 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 92 */ GetBucket()93 inline const Aws::String& GetBucket() const{ return m_bucket; } 94 95 /** 96 * <p>The name of the bucket that contains the newly created object. Does not 97 * return the access point ARN or access point alias if used.</p> <p>When using 98 * this action with an access point, you must direct requests to the access point 99 * hostname. The access point hostname takes the form 100 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 101 * When using this action with an access point through the Amazon Web Services 102 * SDKs, you provide the access point ARN in place of the bucket name. For more 103 * information about access point ARNs, see <a 104 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 105 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 106 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 107 * Outposts hostname. The S3 on Outposts hostname takes the form 108 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 109 * When using this action using S3 on Outposts through the Amazon Web Services 110 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 111 * information about S3 on Outposts ARNs, see <a 112 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 113 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 114 */ SetBucket(const Aws::String & value)115 inline void SetBucket(const Aws::String& value) { m_bucket = value; } 116 117 /** 118 * <p>The name of the bucket that contains the newly created object. Does not 119 * return the access point ARN or access point alias if used.</p> <p>When using 120 * this action with an access point, you must direct requests to the access point 121 * hostname. The access point hostname takes the form 122 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 123 * When using this action with an access point through the Amazon Web Services 124 * SDKs, you provide the access point ARN in place of the bucket name. For more 125 * information about access point ARNs, see <a 126 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 127 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 128 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 129 * Outposts hostname. The S3 on Outposts hostname takes the form 130 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 131 * When using this action using S3 on Outposts through the Amazon Web Services 132 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 133 * information about S3 on Outposts ARNs, see <a 134 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 135 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 136 */ SetBucket(Aws::String && value)137 inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } 138 139 /** 140 * <p>The name of the bucket that contains the newly created object. Does not 141 * return the access point ARN or access point alias if used.</p> <p>When using 142 * this action with an access point, you must direct requests to the access point 143 * hostname. The access point hostname takes the form 144 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 145 * When using this action with an access point through the Amazon Web Services 146 * SDKs, you provide the access point ARN in place of the bucket name. For more 147 * information about access point ARNs, see <a 148 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 149 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 150 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 151 * Outposts hostname. The S3 on Outposts hostname takes the form 152 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 153 * When using this action using S3 on Outposts through the Amazon Web Services 154 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 155 * information about S3 on Outposts ARNs, see <a 156 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 157 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 158 */ SetBucket(const char * value)159 inline void SetBucket(const char* value) { m_bucket.assign(value); } 160 161 /** 162 * <p>The name of the bucket that contains the newly created object. Does not 163 * return the access point ARN or access point alias if used.</p> <p>When using 164 * this action with an access point, you must direct requests to the access point 165 * hostname. The access point hostname takes the form 166 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 167 * When using this action with an access point through the Amazon Web Services 168 * SDKs, you provide the access point ARN in place of the bucket name. For more 169 * information about access point ARNs, see <a 170 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 171 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 172 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 173 * Outposts hostname. The S3 on Outposts hostname takes the form 174 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 175 * When using this action using S3 on Outposts through the Amazon Web Services 176 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 177 * information about S3 on Outposts ARNs, see <a 178 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 179 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 180 */ WithBucket(const Aws::String & value)181 inline CompleteMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} 182 183 /** 184 * <p>The name of the bucket that contains the newly created object. Does not 185 * return the access point ARN or access point alias if used.</p> <p>When using 186 * this action with an access point, you must direct requests to the access point 187 * hostname. The access point hostname takes the form 188 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 189 * When using this action with an access point through the Amazon Web Services 190 * SDKs, you provide the access point ARN in place of the bucket name. For more 191 * information about access point ARNs, see <a 192 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 193 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 194 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 195 * Outposts hostname. The S3 on Outposts hostname takes the form 196 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 197 * When using this action using S3 on Outposts through the Amazon Web Services 198 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 199 * information about S3 on Outposts ARNs, see <a 200 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 201 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 202 */ WithBucket(Aws::String && value)203 inline CompleteMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} 204 205 /** 206 * <p>The name of the bucket that contains the newly created object. Does not 207 * return the access point ARN or access point alias if used.</p> <p>When using 208 * this action with an access point, you must direct requests to the access point 209 * hostname. The access point hostname takes the form 210 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 211 * When using this action with an access point through the Amazon Web Services 212 * SDKs, you provide the access point ARN in place of the bucket name. For more 213 * information about access point ARNs, see <a 214 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 215 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 216 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 217 * Outposts hostname. The S3 on Outposts hostname takes the form 218 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 219 * When using this action using S3 on Outposts through the Amazon Web Services 220 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 221 * information about S3 on Outposts ARNs, see <a 222 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 223 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 224 */ WithBucket(const char * value)225 inline CompleteMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} 226 227 228 /** 229 * <p>The object key of the newly created object.</p> 230 */ GetKey()231 inline const Aws::String& GetKey() const{ return m_key; } 232 233 /** 234 * <p>The object key of the newly created object.</p> 235 */ SetKey(const Aws::String & value)236 inline void SetKey(const Aws::String& value) { m_key = value; } 237 238 /** 239 * <p>The object key of the newly created object.</p> 240 */ SetKey(Aws::String && value)241 inline void SetKey(Aws::String&& value) { m_key = std::move(value); } 242 243 /** 244 * <p>The object key of the newly created object.</p> 245 */ SetKey(const char * value)246 inline void SetKey(const char* value) { m_key.assign(value); } 247 248 /** 249 * <p>The object key of the newly created object.</p> 250 */ WithKey(const Aws::String & value)251 inline CompleteMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} 252 253 /** 254 * <p>The object key of the newly created object.</p> 255 */ WithKey(Aws::String && value)256 inline CompleteMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 257 258 /** 259 * <p>The object key of the newly created object.</p> 260 */ WithKey(const char * value)261 inline CompleteMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;} 262 263 264 /** 265 * <p>If the object expiration is configured, this will contain the expiration date 266 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 267 */ GetExpiration()268 inline const Aws::String& GetExpiration() const{ return m_expiration; } 269 270 /** 271 * <p>If the object expiration is configured, this will contain the expiration date 272 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 273 */ SetExpiration(const Aws::String & value)274 inline void SetExpiration(const Aws::String& value) { m_expiration = value; } 275 276 /** 277 * <p>If the object expiration is configured, this will contain the expiration date 278 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 279 */ SetExpiration(Aws::String && value)280 inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } 281 282 /** 283 * <p>If the object expiration is configured, this will contain the expiration date 284 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 285 */ SetExpiration(const char * value)286 inline void SetExpiration(const char* value) { m_expiration.assign(value); } 287 288 /** 289 * <p>If the object expiration is configured, this will contain the expiration date 290 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 291 */ WithExpiration(const Aws::String & value)292 inline CompleteMultipartUploadResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} 293 294 /** 295 * <p>If the object expiration is configured, this will contain the expiration date 296 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 297 */ WithExpiration(Aws::String && value)298 inline CompleteMultipartUploadResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} 299 300 /** 301 * <p>If the object expiration is configured, this will contain the expiration date 302 * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> 303 */ WithExpiration(const char * value)304 inline CompleteMultipartUploadResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} 305 306 307 /** 308 * <p>Entity tag that identifies the newly created object's data. Objects with 309 * different object data will have different entity tags. The entity tag is an 310 * opaque string. The entity tag may or may not be an MD5 digest of the object 311 * data. If the entity tag is not an MD5 digest of the object data, it will contain 312 * one or more nonhexadecimal characters and/or will consist of less than 32 or 313 * more than 32 hexadecimal digits.</p> 314 */ GetETag()315 inline const Aws::String& GetETag() const{ return m_eTag; } 316 317 /** 318 * <p>Entity tag that identifies the newly created object's data. Objects with 319 * different object data will have different entity tags. The entity tag is an 320 * opaque string. The entity tag may or may not be an MD5 digest of the object 321 * data. If the entity tag is not an MD5 digest of the object data, it will contain 322 * one or more nonhexadecimal characters and/or will consist of less than 32 or 323 * more than 32 hexadecimal digits.</p> 324 */ SetETag(const Aws::String & value)325 inline void SetETag(const Aws::String& value) { m_eTag = value; } 326 327 /** 328 * <p>Entity tag that identifies the newly created object's data. Objects with 329 * different object data will have different entity tags. The entity tag is an 330 * opaque string. The entity tag may or may not be an MD5 digest of the object 331 * data. If the entity tag is not an MD5 digest of the object data, it will contain 332 * one or more nonhexadecimal characters and/or will consist of less than 32 or 333 * more than 32 hexadecimal digits.</p> 334 */ SetETag(Aws::String && value)335 inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } 336 337 /** 338 * <p>Entity tag that identifies the newly created object's data. Objects with 339 * different object data will have different entity tags. The entity tag is an 340 * opaque string. The entity tag may or may not be an MD5 digest of the object 341 * data. If the entity tag is not an MD5 digest of the object data, it will contain 342 * one or more nonhexadecimal characters and/or will consist of less than 32 or 343 * more than 32 hexadecimal digits.</p> 344 */ SetETag(const char * value)345 inline void SetETag(const char* value) { m_eTag.assign(value); } 346 347 /** 348 * <p>Entity tag that identifies the newly created object's data. Objects with 349 * different object data will have different entity tags. The entity tag is an 350 * opaque string. The entity tag may or may not be an MD5 digest of the object 351 * data. If the entity tag is not an MD5 digest of the object data, it will contain 352 * one or more nonhexadecimal characters and/or will consist of less than 32 or 353 * more than 32 hexadecimal digits.</p> 354 */ WithETag(const Aws::String & value)355 inline CompleteMultipartUploadResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} 356 357 /** 358 * <p>Entity tag that identifies the newly created object's data. Objects with 359 * different object data will have different entity tags. The entity tag is an 360 * opaque string. The entity tag may or may not be an MD5 digest of the object 361 * data. If the entity tag is not an MD5 digest of the object data, it will contain 362 * one or more nonhexadecimal characters and/or will consist of less than 32 or 363 * more than 32 hexadecimal digits.</p> 364 */ WithETag(Aws::String && value)365 inline CompleteMultipartUploadResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} 366 367 /** 368 * <p>Entity tag that identifies the newly created object's data. Objects with 369 * different object data will have different entity tags. The entity tag is an 370 * opaque string. The entity tag may or may not be an MD5 digest of the object 371 * data. If the entity tag is not an MD5 digest of the object data, it will contain 372 * one or more nonhexadecimal characters and/or will consist of less than 32 or 373 * more than 32 hexadecimal digits.</p> 374 */ WithETag(const char * value)375 inline CompleteMultipartUploadResult& WithETag(const char* value) { SetETag(value); return *this;} 376 377 378 /** 379 * <p>If you specified server-side encryption either with an Amazon S3-managed 380 * encryption key or an Amazon Web Services KMS key in your initiate multipart 381 * upload request, the response includes this header. It confirms the encryption 382 * algorithm that Amazon S3 used to encrypt the object.</p> 383 */ GetServerSideEncryption()384 inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } 385 386 /** 387 * <p>If you specified server-side encryption either with an Amazon S3-managed 388 * encryption key or an Amazon Web Services KMS key in your initiate multipart 389 * upload request, the response includes this header. It confirms the encryption 390 * algorithm that Amazon S3 used to encrypt the object.</p> 391 */ SetServerSideEncryption(const ServerSideEncryption & value)392 inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } 393 394 /** 395 * <p>If you specified server-side encryption either with an Amazon S3-managed 396 * encryption key or an Amazon Web Services KMS key in your initiate multipart 397 * upload request, the response includes this header. It confirms the encryption 398 * algorithm that Amazon S3 used to encrypt the object.</p> 399 */ SetServerSideEncryption(ServerSideEncryption && value)400 inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } 401 402 /** 403 * <p>If you specified server-side encryption either with an Amazon S3-managed 404 * encryption key or an Amazon Web Services KMS key in your initiate multipart 405 * upload request, the response includes this header. It confirms the encryption 406 * algorithm that Amazon S3 used to encrypt the object.</p> 407 */ WithServerSideEncryption(const ServerSideEncryption & value)408 inline CompleteMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} 409 410 /** 411 * <p>If you specified server-side encryption either with an Amazon S3-managed 412 * encryption key or an Amazon Web Services KMS key in your initiate multipart 413 * upload request, the response includes this header. It confirms the encryption 414 * algorithm that Amazon S3 used to encrypt the object.</p> 415 */ WithServerSideEncryption(ServerSideEncryption && value)416 inline CompleteMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} 417 418 419 /** 420 * <p>Version ID of the newly created object, in case the bucket has versioning 421 * turned on.</p> 422 */ GetVersionId()423 inline const Aws::String& GetVersionId() const{ return m_versionId; } 424 425 /** 426 * <p>Version ID of the newly created object, in case the bucket has versioning 427 * turned on.</p> 428 */ SetVersionId(const Aws::String & value)429 inline void SetVersionId(const Aws::String& value) { m_versionId = value; } 430 431 /** 432 * <p>Version ID of the newly created object, in case the bucket has versioning 433 * turned on.</p> 434 */ SetVersionId(Aws::String && value)435 inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } 436 437 /** 438 * <p>Version ID of the newly created object, in case the bucket has versioning 439 * turned on.</p> 440 */ SetVersionId(const char * value)441 inline void SetVersionId(const char* value) { m_versionId.assign(value); } 442 443 /** 444 * <p>Version ID of the newly created object, in case the bucket has versioning 445 * turned on.</p> 446 */ WithVersionId(const Aws::String & value)447 inline CompleteMultipartUploadResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} 448 449 /** 450 * <p>Version ID of the newly created object, in case the bucket has versioning 451 * turned on.</p> 452 */ WithVersionId(Aws::String && value)453 inline CompleteMultipartUploadResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} 454 455 /** 456 * <p>Version ID of the newly created object, in case the bucket has versioning 457 * turned on.</p> 458 */ WithVersionId(const char * value)459 inline CompleteMultipartUploadResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} 460 461 462 /** 463 * <p>If present, specifies the ID of the Amazon Web Services Key Management 464 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 465 * for the object.</p> 466 */ GetSSEKMSKeyId()467 inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } 468 469 /** 470 * <p>If present, specifies the ID of the Amazon Web Services Key Management 471 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 472 * for the object.</p> 473 */ SetSSEKMSKeyId(const Aws::String & value)474 inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } 475 476 /** 477 * <p>If present, specifies the ID of the Amazon Web Services Key Management 478 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 479 * for the object.</p> 480 */ SetSSEKMSKeyId(Aws::String && value)481 inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } 482 483 /** 484 * <p>If present, specifies the ID of the Amazon Web Services Key Management 485 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 486 * for the object.</p> 487 */ SetSSEKMSKeyId(const char * value)488 inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } 489 490 /** 491 * <p>If present, specifies the ID of the Amazon Web Services Key Management 492 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 493 * for the object.</p> 494 */ WithSSEKMSKeyId(const Aws::String & value)495 inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} 496 497 /** 498 * <p>If present, specifies the ID of the Amazon Web Services Key Management 499 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 500 * for the object.</p> 501 */ WithSSEKMSKeyId(Aws::String && value)502 inline CompleteMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} 503 504 /** 505 * <p>If present, specifies the ID of the Amazon Web Services Key Management 506 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 507 * for the object.</p> 508 */ WithSSEKMSKeyId(const char * value)509 inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} 510 511 512 /** 513 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 514 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 515 */ GetBucketKeyEnabled()516 inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } 517 518 /** 519 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 520 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 521 */ SetBucketKeyEnabled(bool value)522 inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } 523 524 /** 525 * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side 526 * encryption with Amazon Web Services KMS (SSE-KMS).</p> 527 */ WithBucketKeyEnabled(bool value)528 inline CompleteMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} 529 530 531 GetRequestCharged()532 inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } 533 534 SetRequestCharged(const RequestCharged & value)535 inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } 536 537 SetRequestCharged(RequestCharged && value)538 inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } 539 540 WithRequestCharged(const RequestCharged & value)541 inline CompleteMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} 542 543 WithRequestCharged(RequestCharged && value)544 inline CompleteMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} 545 546 private: 547 548 Aws::String m_location; 549 550 Aws::String m_bucket; 551 552 Aws::String m_key; 553 554 Aws::String m_expiration; 555 556 Aws::String m_eTag; 557 558 ServerSideEncryption m_serverSideEncryption; 559 560 Aws::String m_versionId; 561 562 Aws::String m_sSEKMSKeyId; 563 564 bool m_bucketKeyEnabled; 565 566 RequestCharged m_requestCharged; 567 }; 568 569 } // namespace Model 570 } // namespace S3Crt 571 } // namespace Aws 572