1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/s3-crt/S3Crt_EXPORTS.h> 8 #include <aws/s3-crt/S3CrtRequest.h> 9 #include <aws/s3-crt/model/ObjectCannedACL.h> 10 #include <aws/s3-crt/model/AccessControlPolicy.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <aws/s3-crt/model/RequestPayer.h> 13 #include <aws/core/utils/memory/stl/AWSMap.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Http 19 { 20 class URI; 21 } //namespace Http 22 namespace S3Crt 23 { 24 namespace Model 25 { 26 27 /** 28 */ 29 class AWS_S3CRT_API PutObjectAclRequest : public S3CrtRequest 30 { 31 public: 32 PutObjectAclRequest(); 33 34 // Service request name is the Operation name which will send this request out, 35 // each operation should has unique request name, so that we can get operation's name from this request. 36 // Note: this is not true for response, multiple operations may have the same response name, 37 // so we can not get operation's name from response. GetServiceRequestName()38 inline virtual const char* GetServiceRequestName() const override { return "PutObjectAcl"; } 39 40 Aws::String SerializePayload() const override; 41 42 void AddQueryStringParameters(Aws::Http::URI& uri) const override; 43 44 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 45 ShouldComputeContentMd5()46 inline bool ShouldComputeContentMd5() const override { return true; } 47 48 49 /** 50 * <p>The canned ACL to apply to the object. For more information, see <a 51 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 52 * ACL</a>.</p> 53 */ GetACL()54 inline const ObjectCannedACL& GetACL() const{ return m_aCL; } 55 56 /** 57 * <p>The canned ACL to apply to the object. For more information, see <a 58 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 59 * ACL</a>.</p> 60 */ ACLHasBeenSet()61 inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } 62 63 /** 64 * <p>The canned ACL to apply to the object. For more information, see <a 65 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 66 * ACL</a>.</p> 67 */ SetACL(const ObjectCannedACL & value)68 inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } 69 70 /** 71 * <p>The canned ACL to apply to the object. For more information, see <a 72 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 73 * ACL</a>.</p> 74 */ SetACL(ObjectCannedACL && value)75 inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } 76 77 /** 78 * <p>The canned ACL to apply to the object. For more information, see <a 79 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 80 * ACL</a>.</p> 81 */ WithACL(const ObjectCannedACL & value)82 inline PutObjectAclRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;} 83 84 /** 85 * <p>The canned ACL to apply to the object. For more information, see <a 86 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned 87 * ACL</a>.</p> 88 */ WithACL(ObjectCannedACL && value)89 inline PutObjectAclRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;} 90 91 92 /** 93 * <p>Contains the elements that set the ACL permissions for an object per 94 * grantee.</p> 95 */ GetAccessControlPolicy()96 inline const AccessControlPolicy& GetAccessControlPolicy() const{ return m_accessControlPolicy; } 97 98 /** 99 * <p>Contains the elements that set the ACL permissions for an object per 100 * grantee.</p> 101 */ AccessControlPolicyHasBeenSet()102 inline bool AccessControlPolicyHasBeenSet() const { return m_accessControlPolicyHasBeenSet; } 103 104 /** 105 * <p>Contains the elements that set the ACL permissions for an object per 106 * grantee.</p> 107 */ SetAccessControlPolicy(const AccessControlPolicy & value)108 inline void SetAccessControlPolicy(const AccessControlPolicy& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = value; } 109 110 /** 111 * <p>Contains the elements that set the ACL permissions for an object per 112 * grantee.</p> 113 */ SetAccessControlPolicy(AccessControlPolicy && value)114 inline void SetAccessControlPolicy(AccessControlPolicy&& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = std::move(value); } 115 116 /** 117 * <p>Contains the elements that set the ACL permissions for an object per 118 * grantee.</p> 119 */ WithAccessControlPolicy(const AccessControlPolicy & value)120 inline PutObjectAclRequest& WithAccessControlPolicy(const AccessControlPolicy& value) { SetAccessControlPolicy(value); return *this;} 121 122 /** 123 * <p>Contains the elements that set the ACL permissions for an object per 124 * grantee.</p> 125 */ WithAccessControlPolicy(AccessControlPolicy && value)126 inline PutObjectAclRequest& WithAccessControlPolicy(AccessControlPolicy&& value) { SetAccessControlPolicy(std::move(value)); return *this;} 127 128 129 /** 130 * <p>The bucket name that contains the object to which you want to attach the ACL. 131 * </p> <p>When using this action with an access point, you must direct requests to 132 * the access point hostname. The access point hostname takes the form 133 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 134 * When using this action with an access point through the Amazon Web Services 135 * SDKs, you provide the access point ARN in place of the bucket name. For more 136 * information about access point ARNs, see <a 137 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 138 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 139 */ GetBucket()140 inline const Aws::String& GetBucket() const{ return m_bucket; } 141 142 /** 143 * <p>The bucket name that contains the object to which you want to attach the ACL. 144 * </p> <p>When using this action with an access point, you must direct requests to 145 * the access point hostname. The access point hostname takes the form 146 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 147 * When using this action with an access point through the Amazon Web Services 148 * SDKs, you provide the access point ARN in place of the bucket name. For more 149 * information about access point ARNs, see <a 150 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 151 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 152 */ BucketHasBeenSet()153 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } 154 155 /** 156 * <p>The bucket name that contains the object to which you want to attach the ACL. 157 * </p> <p>When using this action with an access point, you must direct requests to 158 * the access point hostname. The access point hostname takes the form 159 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 160 * When using this action with an access point through the Amazon Web Services 161 * SDKs, you provide the access point ARN in place of the bucket name. For more 162 * information about access point ARNs, see <a 163 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 164 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 165 */ SetBucket(const Aws::String & value)166 inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } 167 168 /** 169 * <p>The bucket name that contains the object to which you want to attach the ACL. 170 * </p> <p>When using this action with an access point, you must direct requests to 171 * the access point hostname. The access point hostname takes the form 172 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 173 * When using this action with an access point through the Amazon Web Services 174 * SDKs, you provide the access point ARN in place of the bucket name. For more 175 * information about access point ARNs, see <a 176 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 177 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 178 */ SetBucket(Aws::String && value)179 inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } 180 181 /** 182 * <p>The bucket name that contains the object to which you want to attach the ACL. 183 * </p> <p>When using this action with an access point, you must direct requests to 184 * the access point hostname. The access point hostname takes the form 185 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 186 * When using this action with an access point through the Amazon Web Services 187 * SDKs, you provide the access point ARN in place of the bucket name. For more 188 * information about access point ARNs, see <a 189 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 190 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 191 */ SetBucket(const char * value)192 inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } 193 194 /** 195 * <p>The bucket name that contains the object to which you want to attach the ACL. 196 * </p> <p>When using this action with an access point, you must direct requests to 197 * the access point hostname. The access point hostname takes the form 198 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 199 * When using this action with an access point through the Amazon Web Services 200 * SDKs, you provide the access point ARN in place of the bucket name. For more 201 * information about access point ARNs, see <a 202 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 203 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 204 */ WithBucket(const Aws::String & value)205 inline PutObjectAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} 206 207 /** 208 * <p>The bucket name that contains the object to which you want to attach the ACL. 209 * </p> <p>When using this action with an access point, you must direct requests to 210 * the access point hostname. The access point hostname takes the form 211 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 212 * When using this action with an access point through the Amazon Web Services 213 * SDKs, you provide the access point ARN in place of the bucket name. For more 214 * information about access point ARNs, see <a 215 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 216 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 217 */ WithBucket(Aws::String && value)218 inline PutObjectAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} 219 220 /** 221 * <p>The bucket name that contains the object to which you want to attach the ACL. 222 * </p> <p>When using this action with an access point, you must direct requests to 223 * the access point hostname. The access point hostname takes the form 224 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 225 * When using this action with an access point through the Amazon Web Services 226 * SDKs, you provide the access point ARN in place of the bucket name. For more 227 * information about access point ARNs, see <a 228 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 229 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> 230 */ WithBucket(const char * value)231 inline PutObjectAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} 232 233 234 /** 235 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 236 * as a message integrity check to verify that the request body was not corrupted 237 * in transit. For more information, go to <a 238 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 239 * requests made using the Amazon Web Services Command Line Interface (CLI) or 240 * Amazon Web Services SDKs, this field is calculated automatically.</p> 241 */ GetContentMD5()242 inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } 243 244 /** 245 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 246 * as a message integrity check to verify that the request body was not corrupted 247 * in transit. For more information, go to <a 248 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 249 * requests made using the Amazon Web Services Command Line Interface (CLI) or 250 * Amazon Web Services SDKs, this field is calculated automatically.</p> 251 */ ContentMD5HasBeenSet()252 inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } 253 254 /** 255 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 256 * as a message integrity check to verify that the request body was not corrupted 257 * in transit. For more information, go to <a 258 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 259 * requests made using the Amazon Web Services Command Line Interface (CLI) or 260 * Amazon Web Services SDKs, this field is calculated automatically.</p> 261 */ SetContentMD5(const Aws::String & value)262 inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } 263 264 /** 265 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 266 * as a message integrity check to verify that the request body was not corrupted 267 * in transit. For more information, go to <a 268 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 269 * requests made using the Amazon Web Services Command Line Interface (CLI) or 270 * Amazon Web Services SDKs, this field is calculated automatically.</p> 271 */ SetContentMD5(Aws::String && value)272 inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } 273 274 /** 275 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 276 * as a message integrity check to verify that the request body was not corrupted 277 * in transit. For more information, go to <a 278 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 279 * requests made using the Amazon Web Services Command Line Interface (CLI) or 280 * Amazon Web Services SDKs, this field is calculated automatically.</p> 281 */ SetContentMD5(const char * value)282 inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } 283 284 /** 285 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 286 * as a message integrity check to verify that the request body was not corrupted 287 * in transit. For more information, go to <a 288 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 289 * requests made using the Amazon Web Services Command Line Interface (CLI) or 290 * Amazon Web Services SDKs, this field is calculated automatically.</p> 291 */ WithContentMD5(const Aws::String & value)292 inline PutObjectAclRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} 293 294 /** 295 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 296 * as a message integrity check to verify that the request body was not corrupted 297 * in transit. For more information, go to <a 298 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 299 * requests made using the Amazon Web Services Command Line Interface (CLI) or 300 * Amazon Web Services SDKs, this field is calculated automatically.</p> 301 */ WithContentMD5(Aws::String && value)302 inline PutObjectAclRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} 303 304 /** 305 * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used 306 * as a message integrity check to verify that the request body was not corrupted 307 * in transit. For more information, go to <a 308 * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For 309 * requests made using the Amazon Web Services Command Line Interface (CLI) or 310 * Amazon Web Services SDKs, this field is calculated automatically.</p> 311 */ WithContentMD5(const char * value)312 inline PutObjectAclRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} 313 314 315 /** 316 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 317 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 318 */ GetGrantFullControl()319 inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } 320 321 /** 322 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 323 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 324 */ GrantFullControlHasBeenSet()325 inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } 326 327 /** 328 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 329 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 330 */ SetGrantFullControl(const Aws::String & value)331 inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } 332 333 /** 334 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 335 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 336 */ SetGrantFullControl(Aws::String && value)337 inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } 338 339 /** 340 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 341 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 342 */ SetGrantFullControl(const char * value)343 inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } 344 345 /** 346 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 347 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 348 */ WithGrantFullControl(const Aws::String & value)349 inline PutObjectAclRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} 350 351 /** 352 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 353 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 354 */ WithGrantFullControl(Aws::String && value)355 inline PutObjectAclRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} 356 357 /** 358 * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the 359 * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> 360 */ WithGrantFullControl(const char * value)361 inline PutObjectAclRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} 362 363 364 /** 365 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 366 * supported by Amazon S3 on Outposts.</p> 367 */ GetGrantRead()368 inline const Aws::String& GetGrantRead() const{ return m_grantRead; } 369 370 /** 371 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 372 * supported by Amazon S3 on Outposts.</p> 373 */ GrantReadHasBeenSet()374 inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } 375 376 /** 377 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 378 * supported by Amazon S3 on Outposts.</p> 379 */ SetGrantRead(const Aws::String & value)380 inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } 381 382 /** 383 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 384 * supported by Amazon S3 on Outposts.</p> 385 */ SetGrantRead(Aws::String && value)386 inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } 387 388 /** 389 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 390 * supported by Amazon S3 on Outposts.</p> 391 */ SetGrantRead(const char * value)392 inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } 393 394 /** 395 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 396 * supported by Amazon S3 on Outposts.</p> 397 */ WithGrantRead(const Aws::String & value)398 inline PutObjectAclRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} 399 400 /** 401 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 402 * supported by Amazon S3 on Outposts.</p> 403 */ WithGrantRead(Aws::String && value)404 inline PutObjectAclRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} 405 406 /** 407 * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not 408 * supported by Amazon S3 on Outposts.</p> 409 */ WithGrantRead(const char * value)410 inline PutObjectAclRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} 411 412 413 /** 414 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 415 * Amazon S3 on Outposts.</p> 416 */ GetGrantReadACP()417 inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } 418 419 /** 420 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 421 * Amazon S3 on Outposts.</p> 422 */ GrantReadACPHasBeenSet()423 inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } 424 425 /** 426 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 427 * Amazon S3 on Outposts.</p> 428 */ SetGrantReadACP(const Aws::String & value)429 inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } 430 431 /** 432 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 433 * Amazon S3 on Outposts.</p> 434 */ SetGrantReadACP(Aws::String && value)435 inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } 436 437 /** 438 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 439 * Amazon S3 on Outposts.</p> 440 */ SetGrantReadACP(const char * value)441 inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } 442 443 /** 444 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 445 * Amazon S3 on Outposts.</p> 446 */ WithGrantReadACP(const Aws::String & value)447 inline PutObjectAclRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} 448 449 /** 450 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 451 * Amazon S3 on Outposts.</p> 452 */ WithGrantReadACP(Aws::String && value)453 inline PutObjectAclRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} 454 455 /** 456 * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by 457 * Amazon S3 on Outposts.</p> 458 */ WithGrantReadACP(const char * value)459 inline PutObjectAclRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} 460 461 462 /** 463 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 464 * object owners of existing objects, also allows deletions and overwrites of those 465 * objects.</p> 466 */ GetGrantWrite()467 inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } 468 469 /** 470 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 471 * object owners of existing objects, also allows deletions and overwrites of those 472 * objects.</p> 473 */ GrantWriteHasBeenSet()474 inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } 475 476 /** 477 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 478 * object owners of existing objects, also allows deletions and overwrites of those 479 * objects.</p> 480 */ SetGrantWrite(const Aws::String & value)481 inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } 482 483 /** 484 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 485 * object owners of existing objects, also allows deletions and overwrites of those 486 * objects.</p> 487 */ SetGrantWrite(Aws::String && value)488 inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } 489 490 /** 491 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 492 * object owners of existing objects, also allows deletions and overwrites of those 493 * objects.</p> 494 */ SetGrantWrite(const char * value)495 inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } 496 497 /** 498 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 499 * object owners of existing objects, also allows deletions and overwrites of those 500 * objects.</p> 501 */ WithGrantWrite(const Aws::String & value)502 inline PutObjectAclRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} 503 504 /** 505 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 506 * object owners of existing objects, also allows deletions and overwrites of those 507 * objects.</p> 508 */ WithGrantWrite(Aws::String && value)509 inline PutObjectAclRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} 510 511 /** 512 * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and 513 * object owners of existing objects, also allows deletions and overwrites of those 514 * objects.</p> 515 */ WithGrantWrite(const char * value)516 inline PutObjectAclRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} 517 518 519 /** 520 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 521 * is not supported by Amazon S3 on Outposts.</p> 522 */ GetGrantWriteACP()523 inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } 524 525 /** 526 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 527 * is not supported by Amazon S3 on Outposts.</p> 528 */ GrantWriteACPHasBeenSet()529 inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } 530 531 /** 532 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 533 * is not supported by Amazon S3 on Outposts.</p> 534 */ SetGrantWriteACP(const Aws::String & value)535 inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } 536 537 /** 538 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 539 * is not supported by Amazon S3 on Outposts.</p> 540 */ SetGrantWriteACP(Aws::String && value)541 inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } 542 543 /** 544 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 545 * is not supported by Amazon S3 on Outposts.</p> 546 */ SetGrantWriteACP(const char * value)547 inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } 548 549 /** 550 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 551 * is not supported by Amazon S3 on Outposts.</p> 552 */ WithGrantWriteACP(const Aws::String & value)553 inline PutObjectAclRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} 554 555 /** 556 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 557 * is not supported by Amazon S3 on Outposts.</p> 558 */ WithGrantWriteACP(Aws::String && value)559 inline PutObjectAclRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} 560 561 /** 562 * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action 563 * is not supported by Amazon S3 on Outposts.</p> 564 */ WithGrantWriteACP(const char * value)565 inline PutObjectAclRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} 566 567 568 /** 569 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 570 * with an access point, you must direct requests to the access point hostname. The 571 * access point hostname takes the form 572 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 573 * When using this action with an access point through the Amazon Web Services 574 * SDKs, you provide the access point ARN in place of the bucket name. For more 575 * information about access point ARNs, see <a 576 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 577 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 578 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 579 * Outposts hostname. The S3 on Outposts hostname takes the form 580 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 581 * When using this action using S3 on Outposts through the Amazon Web Services 582 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 583 * information about S3 on Outposts ARNs, see <a 584 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 585 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 586 */ GetKey()587 inline const Aws::String& GetKey() const{ return m_key; } 588 589 /** 590 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 591 * with an access point, you must direct requests to the access point hostname. The 592 * access point hostname takes the form 593 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 594 * When using this action with an access point through the Amazon Web Services 595 * SDKs, you provide the access point ARN in place of the bucket name. For more 596 * information about access point ARNs, see <a 597 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 598 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 599 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 600 * Outposts hostname. The S3 on Outposts hostname takes the form 601 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 602 * When using this action using S3 on Outposts through the Amazon Web Services 603 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 604 * information about S3 on Outposts ARNs, see <a 605 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 606 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 607 */ KeyHasBeenSet()608 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } 609 610 /** 611 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 612 * with an access point, you must direct requests to the access point hostname. The 613 * access point hostname takes the form 614 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 615 * When using this action with an access point through the Amazon Web Services 616 * SDKs, you provide the access point ARN in place of the bucket name. For more 617 * information about access point ARNs, see <a 618 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 619 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 620 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 621 * Outposts hostname. The S3 on Outposts hostname takes the form 622 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 623 * When using this action using S3 on Outposts through the Amazon Web Services 624 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 625 * information about S3 on Outposts ARNs, see <a 626 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 627 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 628 */ SetKey(const Aws::String & value)629 inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } 630 631 /** 632 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 633 * with an access point, you must direct requests to the access point hostname. The 634 * access point hostname takes the form 635 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 636 * When using this action with an access point through the Amazon Web Services 637 * SDKs, you provide the access point ARN in place of the bucket name. For more 638 * information about access point ARNs, see <a 639 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 640 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 641 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 642 * Outposts hostname. The S3 on Outposts hostname takes the form 643 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 644 * When using this action using S3 on Outposts through the Amazon Web Services 645 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 646 * information about S3 on Outposts ARNs, see <a 647 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 648 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 649 */ SetKey(Aws::String && value)650 inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } 651 652 /** 653 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 654 * with an access point, you must direct requests to the access point hostname. The 655 * access point hostname takes the form 656 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 657 * When using this action with an access point through the Amazon Web Services 658 * SDKs, you provide the access point ARN in place of the bucket name. For more 659 * information about access point ARNs, see <a 660 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 661 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 662 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 663 * Outposts hostname. The S3 on Outposts hostname takes the form 664 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 665 * When using this action using S3 on Outposts through the Amazon Web Services 666 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 667 * information about S3 on Outposts ARNs, see <a 668 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 669 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 670 */ SetKey(const char * value)671 inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } 672 673 /** 674 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 675 * with an access point, you must direct requests to the access point hostname. The 676 * access point hostname takes the form 677 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 678 * When using this action with an access point through the Amazon Web Services 679 * SDKs, you provide the access point ARN in place of the bucket name. For more 680 * information about access point ARNs, see <a 681 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 682 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 683 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 684 * Outposts hostname. The S3 on Outposts hostname takes the form 685 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 686 * When using this action using S3 on Outposts through the Amazon Web Services 687 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 688 * information about S3 on Outposts ARNs, see <a 689 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 690 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 691 */ WithKey(const Aws::String & value)692 inline PutObjectAclRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} 693 694 /** 695 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 696 * with an access point, you must direct requests to the access point hostname. The 697 * access point hostname takes the form 698 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 699 * When using this action with an access point through the Amazon Web Services 700 * SDKs, you provide the access point ARN in place of the bucket name. For more 701 * information about access point ARNs, see <a 702 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 703 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 704 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 705 * Outposts hostname. The S3 on Outposts hostname takes the form 706 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 707 * When using this action using S3 on Outposts through the Amazon Web Services 708 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 709 * information about S3 on Outposts ARNs, see <a 710 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 711 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 712 */ WithKey(Aws::String && value)713 inline PutObjectAclRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 714 715 /** 716 * <p>Key for which the PUT action was initiated.</p> <p>When using this action 717 * with an access point, you must direct requests to the access point hostname. The 718 * access point hostname takes the form 719 * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 720 * When using this action with an access point through the Amazon Web Services 721 * SDKs, you provide the access point ARN in place of the bucket name. For more 722 * information about access point ARNs, see <a 723 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using 724 * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this 725 * action with Amazon S3 on Outposts, you must direct requests to the S3 on 726 * Outposts hostname. The S3 on Outposts hostname takes the form 727 * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. 728 * When using this action using S3 on Outposts through the Amazon Web Services 729 * SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more 730 * information about S3 on Outposts ARNs, see <a 731 * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using 732 * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> 733 */ WithKey(const char * value)734 inline PutObjectAclRequest& WithKey(const char* value) { SetKey(value); return *this;} 735 736 737 GetRequestPayer()738 inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } 739 740 RequestPayerHasBeenSet()741 inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } 742 743 SetRequestPayer(const RequestPayer & value)744 inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } 745 746 SetRequestPayer(RequestPayer && value)747 inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } 748 749 WithRequestPayer(const RequestPayer & value)750 inline PutObjectAclRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} 751 752 WithRequestPayer(RequestPayer && value)753 inline PutObjectAclRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} 754 755 756 /** 757 * <p>VersionId used to reference a specific version of the object.</p> 758 */ GetVersionId()759 inline const Aws::String& GetVersionId() const{ return m_versionId; } 760 761 /** 762 * <p>VersionId used to reference a specific version of the object.</p> 763 */ VersionIdHasBeenSet()764 inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } 765 766 /** 767 * <p>VersionId used to reference a specific version of the object.</p> 768 */ SetVersionId(const Aws::String & value)769 inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } 770 771 /** 772 * <p>VersionId used to reference a specific version of the object.</p> 773 */ SetVersionId(Aws::String && value)774 inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } 775 776 /** 777 * <p>VersionId used to reference a specific version of the object.</p> 778 */ SetVersionId(const char * value)779 inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } 780 781 /** 782 * <p>VersionId used to reference a specific version of the object.</p> 783 */ WithVersionId(const Aws::String & value)784 inline PutObjectAclRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} 785 786 /** 787 * <p>VersionId used to reference a specific version of the object.</p> 788 */ WithVersionId(Aws::String && value)789 inline PutObjectAclRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} 790 791 /** 792 * <p>VersionId used to reference a specific version of the object.</p> 793 */ WithVersionId(const char * value)794 inline PutObjectAclRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} 795 796 797 /** 798 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 799 * different account, the request will fail with an HTTP <code>403 (Access 800 * Denied)</code> error.</p> 801 */ GetExpectedBucketOwner()802 inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } 803 804 /** 805 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 806 * different account, the request will fail with an HTTP <code>403 (Access 807 * Denied)</code> error.</p> 808 */ ExpectedBucketOwnerHasBeenSet()809 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } 810 811 /** 812 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 813 * different account, the request will fail with an HTTP <code>403 (Access 814 * Denied)</code> error.</p> 815 */ SetExpectedBucketOwner(const Aws::String & value)816 inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } 817 818 /** 819 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 820 * different account, the request will fail with an HTTP <code>403 (Access 821 * Denied)</code> error.</p> 822 */ SetExpectedBucketOwner(Aws::String && value)823 inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } 824 825 /** 826 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 827 * different account, the request will fail with an HTTP <code>403 (Access 828 * Denied)</code> error.</p> 829 */ SetExpectedBucketOwner(const char * value)830 inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } 831 832 /** 833 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 834 * different account, the request will fail with an HTTP <code>403 (Access 835 * Denied)</code> error.</p> 836 */ WithExpectedBucketOwner(const Aws::String & value)837 inline PutObjectAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} 838 839 /** 840 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 841 * different account, the request will fail with an HTTP <code>403 (Access 842 * Denied)</code> error.</p> 843 */ WithExpectedBucketOwner(Aws::String && value)844 inline PutObjectAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} 845 846 /** 847 * <p>The account ID of the expected bucket owner. If the bucket is owned by a 848 * different account, the request will fail with an HTTP <code>403 (Access 849 * Denied)</code> error.</p> 850 */ WithExpectedBucketOwner(const char * value)851 inline PutObjectAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} 852 853 854 GetCustomizedAccessLogTag()855 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } 856 857 CustomizedAccessLogTagHasBeenSet()858 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } 859 860 SetCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)861 inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } 862 863 SetCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)864 inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } 865 866 WithCustomizedAccessLogTag(const Aws::Map<Aws::String,Aws::String> & value)867 inline PutObjectAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} 868 869 WithCustomizedAccessLogTag(Aws::Map<Aws::String,Aws::String> && value)870 inline PutObjectAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} 871 872 AddCustomizedAccessLogTag(const Aws::String & key,const Aws::String & value)873 inline PutObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } 874 875 AddCustomizedAccessLogTag(Aws::String && key,const Aws::String & value)876 inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } 877 878 AddCustomizedAccessLogTag(const Aws::String & key,Aws::String && value)879 inline PutObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } 880 881 AddCustomizedAccessLogTag(Aws::String && key,Aws::String && value)882 inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } 883 884 AddCustomizedAccessLogTag(const char * key,Aws::String && value)885 inline PutObjectAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } 886 887 AddCustomizedAccessLogTag(Aws::String && key,const char * value)888 inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } 889 890 AddCustomizedAccessLogTag(const char * key,const char * value)891 inline PutObjectAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } 892 893 private: 894 895 ObjectCannedACL m_aCL; 896 bool m_aCLHasBeenSet; 897 898 AccessControlPolicy m_accessControlPolicy; 899 bool m_accessControlPolicyHasBeenSet; 900 901 Aws::String m_bucket; 902 bool m_bucketHasBeenSet; 903 904 Aws::String m_contentMD5; 905 bool m_contentMD5HasBeenSet; 906 907 Aws::String m_grantFullControl; 908 bool m_grantFullControlHasBeenSet; 909 910 Aws::String m_grantRead; 911 bool m_grantReadHasBeenSet; 912 913 Aws::String m_grantReadACP; 914 bool m_grantReadACPHasBeenSet; 915 916 Aws::String m_grantWrite; 917 bool m_grantWriteHasBeenSet; 918 919 Aws::String m_grantWriteACP; 920 bool m_grantWriteACPHasBeenSet; 921 922 Aws::String m_key; 923 bool m_keyHasBeenSet; 924 925 RequestPayer m_requestPayer; 926 bool m_requestPayerHasBeenSet; 927 928 Aws::String m_versionId; 929 bool m_versionIdHasBeenSet; 930 931 Aws::String m_expectedBucketOwner; 932 bool m_expectedBucketOwnerHasBeenSet; 933 934 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; 935 bool m_customizedAccessLogTagHasBeenSet; 936 }; 937 938 } // namespace Model 939 } // namespace S3Crt 940 } // namespace Aws 941