Class AWS::S3::AccessControlList
In: lib/aws/s3/access_control_list.rb
Parent: Object

Represents an access control list for S3 objects and buckets. For example:

    acl = AccessControlList.new
    acl.grant(:full_control).
      to(:canonical_user_id => "8a6925ce4adf588a4f21c32aa379004fef")
    acl.to_xml                   # => '<AccessControlPolicy>...'

You can also construct an AccessControlList from a hash:

    AccessControlList.new(
      :owner => { :id => "8a6925ce4adf588a4f21c32aa379004fef" },
      :grants => [{
        :grantee => { :canonical_user_id => "8a6925ce4adf588a4f21c32aa379004fef" },
        :permission => :full_control,
      }]
    )

@see ACLObject

@attr [AccessControlList::Owner] owner The owner of the access

  control list.  You can set this as a hash, for example:
   acl.owner = { :id => '8a6925ce4adf588a4f21c32aa379004fef' }
  This attribute is required when setting an ACL.

@attr [list of AccessControlList::Grant] grants The list of

  grants.  You can set this as a list of hashes, for example:

      acl.grants = [{
        :grantee => { :canonical_user_id => "8a6925ce4adf588a4f21c32aa379004fef" },
        :permission => :full_control,
      }]

Methods

element_name   grant   stag  

Included Modules

ACLObject

Classes and Modules

Class AWS::S3::AccessControlList::Grant
Class AWS::S3::AccessControlList::GrantBuilder
Class AWS::S3::AccessControlList::Grantee
Class AWS::S3::AccessControlList::Owner
Class AWS::S3::AccessControlList::Permission

Public Instance methods

@api private

Convenience method for constructing a new grant and adding it to the ACL.

@example

  acl.grants.size # => 0
  acl.grant(:full_control).to(:canonical_user_id => "8a6925ce4adf588a4f21c32aa379004fef")
  acl.grants.size # => 1

@return [GrantBuilder]

@api private

[Validate]