class Aws::S3::Types::PutObjectAclRequest

@note When making an API call, you may pass PutObjectAclRequest

data as a hash:

    {
      acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
      access_control_policy: {
        grants: [
          {
            grantee: {
              display_name: "DisplayName",
              email_address: "EmailAddress",
              id: "ID",
              type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
              uri: "URI",
            },
            permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
          },
        ],
        owner: {
          display_name: "DisplayName",
          id: "ID",
        },
      },
      bucket: "BucketName", # required
      content_md5: "ContentMD5",
      grant_full_control: "GrantFullControl",
      grant_read: "GrantRead",
      grant_read_acp: "GrantReadACP",
      grant_write: "GrantWrite",
      grant_write_acp: "GrantWriteACP",
      key: "ObjectKey", # required
      request_payer: "requester", # accepts requester
      version_id: "ObjectVersionId",
      expected_bucket_owner: "AccountId",
    }

@!attribute [rw] acl

The canned ACL to apply to the object. For more information, see
[Canned ACL][1].

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@return [String]

@!attribute [rw] access_control_policy

Contains the elements that set the ACL permissions for an object per
grantee.
@return [Types::AccessControlPolicy]

@!attribute [rw] bucket

The bucket name that contains the object to which you want to attach
the ACL.

When using this action with an access point, you must direct
requests to the access point hostname. The access point hostname
takes the form
*AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
When using this action with an access point through the Amazon Web
Services SDKs, you provide the access point ARN in place of the
bucket name. For more information about access point ARNs, see
[Using access points][1] in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
@return [String]

@!attribute [rw] content_md5

The base64-encoded 128-bit MD5 digest of the data. This header must
be used as a message integrity check to verify that the request body
was not corrupted in transit. For more information, go to [RFC
1864.>][1]

For requests made using the Amazon Web Services Command Line
Interface (CLI) or Amazon Web Services SDKs, this field is
calculated automatically.

[1]: http://www.ietf.org/rfc/rfc1864.txt
@return [String]

@!attribute [rw] grant_full_control

Allows grantee the read, write, read ACP, and write ACP permissions
on the bucket.

This action is not supported by Amazon S3 on Outposts.
@return [String]

@!attribute [rw] grant_read

Allows grantee to list the objects in the bucket.

This action is not supported by Amazon S3 on Outposts.
@return [String]

@!attribute [rw] grant_read_acp

Allows grantee to read the bucket ACL.

This action is not supported by Amazon S3 on Outposts.
@return [String]

@!attribute [rw] grant_write

Allows grantee to create new objects in the bucket.

For the bucket and object owners of existing objects, also allows
deletions and overwrites of those objects.
@return [String]

@!attribute [rw] grant_write_acp

Allows grantee to write the ACL for the applicable bucket.

This action is not supported by Amazon S3 on Outposts.
@return [String]

@!attribute [rw] key

Key for which the PUT action was initiated.

When using this action with an access point, you must direct
requests to the access point hostname. The access point hostname
takes the form
*AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
When using this action with an access point through the Amazon Web
Services SDKs, you provide the access point ARN in place of the
bucket name. For more information about access point ARNs, see
[Using access points][1] in the *Amazon S3 User Guide*.

When using this action with Amazon S3 on Outposts, you must direct
requests to the S3 on Outposts hostname. The S3 on Outposts hostname
takes the form
*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
When using this action using S3 on Outposts through the Amazon Web
Services SDKs, you provide the Outposts bucket ARN in place of the
bucket name. For more information about S3 on Outposts ARNs, see
[Using S3 on Outposts][2] in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
[2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
@return [String]

@!attribute [rw] request_payer

Confirms that the requester knows that they will be charged for the
request. Bucket owners need not specify this parameter in their
requests. For information about downloading objects from requester
pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@return [String]

@!attribute [rw] version_id

VersionId used to reference a specific version of the object.
@return [String]

@!attribute [rw] expected_bucket_owner

The account ID of the expected bucket owner. If the bucket is owned
by a different account, the request will fail with an HTTP `403
(Access Denied)` error.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclRequest AWS API Documentation

Constants

SENSITIVE