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

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

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

@return [GrantBuilder]

@private

[Validate]