Class | AWS::S3::ACL::Grantee |
In: |
lib/aws/s3/acl.rb
|
Parent: | Object |
Grants bestow a access permission to grantees. Each grant of some access control list Policy is associated with a grantee. There are three ways of specifying a grantee at the time of this writing.
Owner object of a bucket, object or policy. grantee.id = 'bb2041a25975c3d4ce9775fe9e93e5b77a6a9fad97dc7e00686191f3790b13f1'
Often the id will just be fetched from some owner object.
grantee.id = some_object.owner.id
though it must be unique across the entire Amazon system. This email address is normalized into a canonical user representation once the grant has been sent back up to the S3 servers.
grantee.email_address = 'joe@example.org'
Grantee.group= method for details.
grantee.group = 'Authenticated'
# File lib/aws/s3/acl.rb, line 390 390: def initialize(attributes = {}) 391: # Set default values for attributes that may not be passed in but we still want the object 392: # to respond to 393: attributes = {'id' => nil, 'display_name' => nil, 'email_address' => nil, 'uri' => nil}.merge(attributes) 394: @attributes = attributes 395: extract_type! 396: yield self if block_given? 397: end
Sets the grantee‘s group by name.
grantee.group = 'AllUsers'
Currently, valid groups defined by S3 are:
# File lib/aws/s3/acl.rb, line 428 428: def group=(group_name) 429: section = %w(AllUsers Authenticated).include?(group_name) ? 'global' : 's3' 430: self.uri = "http://acs.amazonaws.com/groups/#{section}/#{group_name}" 431: end
The xml representation of the current grantee object.
# File lib/aws/s3/acl.rb, line 400 400: def to_xml 401: Builder.new(self).to_s 402: end
Returns the type of grantee. Will be one of CanonicalUser, AmazonCustomerByEmail or Group.
# File lib/aws/s3/acl.rb, line 405 405: def type 406: return attributes['type'] if attributes['type'] 407: 408: # Lookups are in order of preference so if, for example, you set the uri but display_name and id are also 409: # set, we'd rather go with the canonical representation. 410: if display_name && id 411: 'CanonicalUser' 412: elsif email_address 413: 'AmazonCustomerByEmail' 414: elsif uri 415: 'Group' 416: end 417: end