| 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