class AWS::S3::AccessControlList::Grantee
the grantee. This is provided by S3 when reading an ACL.
@attr [String] display_name The display name associated with
group of users.
@attr [String] group_uri A URI that identifies a particular
AWS customer.
@attr [String] canonical_user_id The canonical user ID of an
an AWS customer.
@attr [String] amazon_customer_email The e-mail address of
* ‘group_uri`
* `canonical_user_id`
* `amazon_customer_email`
exactly one of the following attributes:
When constructing a grantee, you must provide a value for
For more details about group URIs, see:
Grantee.new(:group_uri => ’acs.amazonaws.com/groups/global/AllUsers’)
* You can specify a group URI, for example:
Grantee.new(:amazon_customer_email => ‘foo@example.com’)
* You can specify the e-mail address of an AWS customer, for example:
Grantee.new(:canonical_user_id => “8a6925ce4adf588a4f21c32aa379004fef”)
this way, and the display_name attribute will also be provided.
you read an ACL from S3, all grantees will be identified
* You can specify the canonical user ID, for example. When
through a Grant. There are three ways to specify a grantee:
Represents a user who is granted some kind of permission
def signal_attribute
- Api: - private
def signal_attribute SIGNAL_ATTRIBUTES.find { |att| send(att) } end
def stag
- Api: - private
def stag if attr = signal_attribute super + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" + " xsi:type=\"#{type_for_attr(attr)}\"" else super end end
def type_for_attr(attr)
- Api: - private
def type_for_attr(attr) { :amazon_customer_email => "AmazonCustomerByEmail", :canonical_user_id => "CanonicalUser", :group_uri => "Group", :uri => "Group", }[attr] end
def validate!
def validate! attr = signal_attribute raise "missing amazon_customer_email, canonical_user_id, "+ "or group_uri" unless attr raise "display_name is invalid with #{attr}" if attr != :canonical_user_id and display_name end