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/ObjectLockRetention.h> 11 #include <aws/s3/model/RequestPayer.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Http 18 { 19 class URI; 20 } //namespace Http 21 namespace S3 22 { 23 namespace Model 24 { 25 26 /** 27 */ 28 class AWS_S3_API PutObjectRetentionRequest : public S3Request 29 { 30 public: 31 PutObjectRetentionRequest(); 32 33 // Service request name is the Operation name which will send this request out, 34 // each operation should has unique request name, so that we can get operation's name from this request. 35 // Note: this is not true for response, multiple operations may have the same response name, 36 // so we can not get operation's name from response. GetServiceRequestName()37 inline virtual const char* GetServiceRequestName() const override { return "PutObjectRetention"; } 38 39 Aws::String SerializePayload() const override; 40 41 void AddQueryStringParameters(Aws::Http::URI& uri) const override; 42 43 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 44 ShouldComputeContentMd5()45 inline bool ShouldComputeContentMd5() const override { return true; } 46 47 48 /** 49 * <p>The bucket name that contains the object you want to apply this Object 50 * Retention configuration to. </p> <p>When using this action with an access point, 51 * you must direct requests to the access point hostname. The access point hostname 52 * takes the form 53 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 54 * When using this action with an access point through the Amazon Web Services 55 * SDKs, you provide the access point ARN in place of the bucket name. For more 56 * information about access point ARNs, see <a 57 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 58 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 59 */ GetBucket()60 inline const Aws::String& GetBucket() const{ return m_bucket; } 61 62 /** 63 * <p>The bucket name that contains the object you want to apply this Object 64 * Retention configuration to. </p> <p>When using this action with an access point, 65 * you must direct requests to the access point hostname. The access point hostname 66 * takes the form 67 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 68 * When using this action with an access point through the Amazon Web Services 69 * SDKs, you provide the access point ARN in place of the bucket name. For more 70 * information about access point ARNs, see <a 71 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 72 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 73 */ BucketHasBeenSet()74 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } 75 76 /** 77 * <p>The bucket name that contains the object you want to apply this Object 78 * Retention configuration to. </p> <p>When using this action with an access point, 79 * you must direct requests to the access point hostname. The access point hostname 80 * takes the form 81 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 82 * When using this action with an access point through the Amazon Web Services 83 * SDKs, you provide the access point ARN in place of the bucket name. For more 84 * information about access point ARNs, see <a 85 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 86 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 87 */ SetBucket(const Aws::String & value)88 inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } 89 90 /** 91 * <p>The bucket name that contains the object you want to apply this Object 92 * Retention configuration to. </p> <p>When using this action with an access point, 93 * you must direct requests to the access point hostname. The access point hostname 94 * takes the form 95 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 96 * When using this action with an access point through the Amazon Web Services 97 * SDKs, you provide the access point ARN in place of the bucket name. For more 98 * information about access point ARNs, see <a 99 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 100 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 101 */ SetBucket(Aws::String && value)102 inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } 103 104 /** 105 * <p>The bucket name that contains the object you want to apply this Object 106 * Retention configuration to. </p> <p>When using this action with an access point, 107 * you must direct requests to the access point hostname. The access point hostname 108 * takes the form 109 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 110 * When using this action with an access point through the Amazon Web Services 111 * SDKs, you provide the access point ARN in place of the bucket name. For more 112 * information about access point ARNs, see <a 113 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 114 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 115 */ SetBucket(const char * value)116 inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } 117 118 /** 119 * <p>The bucket name that contains the object you want to apply this Object 120 * Retention configuration to. </p> <p>When using this action with an access point, 121 * you must direct requests to the access point hostname. The access point hostname 122 * takes the form 123 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 124 * When using this action with an access point through the Amazon Web Services 125 * SDKs, you provide the access point ARN in place of the bucket name. For more 126 * information about access point ARNs, see <a 127 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 128 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 129 */ WithBucket(const Aws::String & value)130 inline PutObjectRetentionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} 131 132 /** 133 * <p>The bucket name that contains the object you want to apply this Object 134 * Retention configuration to. </p> <p>When using this action with an access point, 135 * you must direct requests to the access point hostname. The access point hostname 136 * takes the form 137 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 138 * When using this action with an access point through the Amazon Web Services 139 * SDKs, you provide the access point ARN in place of the bucket name. For more 140 * information about access point ARNs, see <a 141 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 142 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 143 */ WithBucket(Aws::String && value)144 inline PutObjectRetentionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} 145 146 /** 147 * <p>The bucket name that contains the object you want to apply this Object 148 * Retention configuration to. </p> <p>When using this action with an access point, 149 * you must direct requests to the access point hostname. The access point hostname 150 * takes the form 151 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 152 * When using this action with an access point through the Amazon Web Services 153 * SDKs, you provide the access point ARN in place of the bucket name. For more 154 * information about access point ARNs, see <a 155 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 156 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 157 */ WithBucket(const char * value)158 inline PutObjectRetentionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} 159 160 161 /** 162 * <p>The key name for the object that you want to apply this Object Retention 163 * configuration to.</p> 164 */ GetKey()165 inline const Aws::String& GetKey() const{ return m_key; } 166 167 /** 168 * <p>The key name for the object that you want to apply this Object Retention 169 * configuration to.</p> 170 */ KeyHasBeenSet()171 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } 172 173 /** 174 * <p>The key name for the object that you want to apply this Object Retention 175 * configuration to.</p> 176 */ SetKey(const Aws::String & value)177 inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } 178 179 /** 180 * <p>The key name for the object that you want to apply this Object Retention 181 * configuration to.</p> 182 */ SetKey(Aws::String && value)183 inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } 184 185 /** 186 * <p>The key name for the object that you want to apply this Object Retention 187 * configuration to.</p> 188 */ SetKey(const char * value)189 inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } 190 191 /** 192 * <p>The key name for the object that you want to apply this Object Retention 193 * configuration to.</p> 194 */ WithKey(const Aws::String & value)195 inline PutObjectRetentionRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} 196 197 /** 198 * <p>The key name for the object that you want to apply this Object Retention 199 * configuration to.</p> 200 */ WithKey(Aws::String && value)201 inline PutObjectRetentionRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 202 203 /** 204 * <p>The key name for the object that you want to apply this Object Retention 205 * configuration to.</p> 206 */ WithKey(const char * value)207 inline PutObjectRetentionRequest& WithKey(const char* value) { SetKey(value); return *this;} 208 209 210 /** 211 * <p>The container element for the Object Retention configuration.</p> 212 */ GetRetention()213 inline const ObjectLockRetention& GetRetention() const{ return m_retention; } 214 215 /** 216 * <p>The container element for the Object Retention configuration.</p> 217 */ RetentionHasBeenSet()218 inline bool RetentionHasBeenSet() const { return m_retentionHasBeenSet; } 219 220 /** 221 * <p>The container element for the Object Retention configuration.</p> 222 */ SetRetention(const ObjectLockRetention & value)223 inline void SetRetention(const ObjectLockRetention& value) { m_retentionHasBeenSet = true; m_retention = value; } 224 225 /** 226 * <p>The container element for the Object Retention configuration.</p> 227 */ SetRetention(ObjectLockRetention && value)228 inline void SetRetention(ObjectLockRetention&& value) { m_retentionHasBeenSet = true; m_retention = std::move(value); } 229 230 /** 231 * <p>The container element for the Object Retention configuration.</p> 232 */ WithRetention(const ObjectLockRetention & value)233 inline PutObjectRetentionRequest& WithRetention(const ObjectLockRetention& value) { SetRetention(value); return *this;} 234 235 /** 236 * <p>The container element for the Object Retention configuration.</p> 237 */ WithRetention(ObjectLockRetention && value)238 inline PutObjectRetentionRequest& WithRetention(ObjectLockRetention&& value) { SetRetention(std::move(value)); return *this;} 239 240 241 GetRequestPayer()242 inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } 243 244 RequestPayerHasBeenSet()245 inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } 246 247 SetRequestPayer(const RequestPayer & value)248 inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } 249 250 SetRequestPayer(RequestPayer && value)251 inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } 252 253 WithRequestPayer(const RequestPayer & value)254 inline PutObjectRetentionRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} 255 256 WithRequestPayer(RequestPayer && value)257 inline PutObjectRetentionRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} 258 259 260 /** 261 * <p>The version ID for the object that you want to apply this Object Retention 262 * configuration to.</p> 263 */ GetVersionId()264 inline const Aws::String& GetVersionId() const{ return m_versionId; } 265 266 /** 267 * <p>The version ID for the object that you want to apply this Object Retention 268 * configuration to.</p> 269 */ VersionIdHasBeenSet()270 inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } 271 272 /** 273 * <p>The version ID for the object that you want to apply this Object Retention 274 * configuration to.</p> 275 */ SetVersionId(const Aws::String & value)276 inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } 277 278 /** 279 * <p>The version ID for the object that you want to apply this Object Retention 280 * configuration to.</p> 281 */ SetVersionId(Aws::String && value)282 inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } 283 284 /** 285 * <p>The version ID for the object that you want to apply this Object Retention 286 * configuration to.</p> 287 */ SetVersionId(const char * value)288 inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } 289 290 /** 291 * <p>The version ID for the object that you want to apply this Object Retention 292 * configuration to.</p> 293 */ WithVersionId(const Aws::String & value)294 inline PutObjectRetentionRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} 295 296 /** 297 * <p>The version ID for the object that you want to apply this Object Retention 298 * configuration to.</p> 299 */ WithVersionId(Aws::String && value)300 inline PutObjectRetentionRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} 301 302 /** 303 * <p>The version ID for the object that you want to apply this Object Retention 304 * configuration to.</p> 305 */ WithVersionId(const char * value)306 inline PutObjectRetentionRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} 307 308 309 /** 310 * <p>Indicates whether this action should bypass Governance-mode restrictions.</p> 311 */ GetBypassGovernanceRetention()312 inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } 313 314 /** 315 * <p>Indicates whether this action should bypass Governance-mode restrictions.</p> 316 */ BypassGovernanceRetentionHasBeenSet()317 inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } 318 319 /** 320 * <p>Indicates whether this action should bypass Governance-mode restrictions.</p> 321 */ SetBypassGovernanceRetention(bool value)322 inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } 323 324 /** 325 * <p>Indicates whether this action should bypass Governance-mode restrictions.</p> 326 */ WithBypassGovernanceRetention(bool value)327 inline PutObjectRetentionRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} 328 329 330 /** 331 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 332 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 333 * field is calculated automatically.</p> 334 */ GetContentMD5()335 inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } 336 337 /** 338 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 339 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 340 * field is calculated automatically.</p> 341 */ ContentMD5HasBeenSet()342 inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } 343 344 /** 345 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 346 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 347 * field is calculated automatically.</p> 348 */ SetContentMD5(const Aws::String & value)349 inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } 350 351 /** 352 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 353 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 354 * field is calculated automatically.</p> 355 */ SetContentMD5(Aws::String && value)356 inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } 357 358 /** 359 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 360 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 361 * field is calculated automatically.</p> 362 */ SetContentMD5(const char * value)363 inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } 364 365 /** 366 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 367 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 368 * field is calculated automatically.</p> 369 */ WithContentMD5(const Aws::String & value)370 inline PutObjectRetentionRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} 371 372 /** 373 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 374 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 375 * field is calculated automatically.</p> 376 */ WithContentMD5(Aws::String && value)377 inline PutObjectRetentionRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} 378 379 /** 380 * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon 381 * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this 382 * field is calculated automatically.</p> 383 */ WithContentMD5(const char * value)384 inline PutObjectRetentionRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} 385 386 387 /** 388 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 389 * different account, the request will fail with an HTTP <code>403 (Access 390 * Denied)</code> error.</p> 391 */ GetExpectedBucketOwner()392 inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } 393 394 /** 395 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 396 * different account, the request will fail with an HTTP <code>403 (Access 397 * Denied)</code> error.</p> 398 */ ExpectedBucketOwnerHasBeenSet()399 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } 400 401 /** 402 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 403 * different account, the request will fail with an HTTP <code>403 (Access 404 * Denied)</code> error.</p> 405 */ SetExpectedBucketOwner(const Aws::String & value)406 inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } 407 408 /** 409 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 410 * different account, the request will fail with an HTTP <code>403 (Access 411 * Denied)</code> error.</p> 412 */ SetExpectedBucketOwner(Aws::String && value)413 inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } 414 415 /** 416 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 417 * different account, the request will fail with an HTTP <code>403 (Access 418 * Denied)</code> error.</p> 419 */ SetExpectedBucketOwner(const char * value)420 inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } 421 422 /** 423 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 424 * different account, the request will fail with an HTTP <code>403 (Access 425 * Denied)</code> error.</p> 426 */ WithExpectedBucketOwner(const Aws::String & value)427 inline PutObjectRetentionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} 428 429 /** 430 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 431 * different account, the request will fail with an HTTP <code>403 (Access 432 * Denied)</code> error.</p> 433 */ WithExpectedBucketOwner(Aws::String && value)434 inline PutObjectRetentionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} 435 436 /** 437 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 438 * different account, the request will fail with an HTTP <code>403 (Access 439 * Denied)</code> error.</p> 440 */ WithExpectedBucketOwner(const char * value)441 inline PutObjectRetentionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} 442 443 444 GetCustomizedAccessLogTag()445 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } 446 447 CustomizedAccessLogTagHasBeenSet()448 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } 449 450 SetCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)451 inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } 452 453 SetCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)454 inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } 455 456 WithCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)457 inline PutObjectRetentionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} 458 459 WithCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)460 inline PutObjectRetentionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} 461 462 AddCustomizedAccessLogTag(const Aws::String & key,const Aws::String & value)463 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } 464 465 AddCustomizedAccessLogTag(Aws::String && key,const Aws::String & value)466 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } 467 468 AddCustomizedAccessLogTag(const Aws::String & key,Aws::String && value)469 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } 470 471 AddCustomizedAccessLogTag(Aws::String && key,Aws::String && value)472 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } 473 474 AddCustomizedAccessLogTag(const char * key,Aws::String && value)475 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } 476 477 AddCustomizedAccessLogTag(Aws::String && key,const char * value)478 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } 479 480 AddCustomizedAccessLogTag(const char * key,const char * value)481 inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } 482 483 private: 484 485 Aws::String m_bucket; 486 bool m_bucketHasBeenSet; 487 488 Aws::String m_key; 489 bool m_keyHasBeenSet; 490 491 ObjectLockRetention m_retention; 492 bool m_retentionHasBeenSet; 493 494 RequestPayer m_requestPayer; 495 bool m_requestPayerHasBeenSet; 496 497 Aws::String m_versionId; 498 bool m_versionIdHasBeenSet; 499 500 bool m_bypassGovernanceRetention; 501 bool m_bypassGovernanceRetentionHasBeenSet; 502 503 Aws::String m_contentMD5; 504 bool m_contentMD5HasBeenSet; 505 506 Aws::String m_expectedBucketOwner; 507 bool m_expectedBucketOwnerHasBeenSet; 508 509 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; 510 bool m_customizedAccessLogTagHasBeenSet; 511 }; 512 513 } // namespace Model 514 } // namespace S3 515 } // namespace Aws 516