Class: AWS::S3::AccessControlList::Grantee
- Inherits:
-
Object
- Object
- AWS::S3::AccessControlList::Grantee
- Includes:
- AWS::S3::ACLObject
- Defined in:
- lib/aws/s3/access_control_list.rb
Overview
Represents a user who is granted some kind of permission through a Grant. There are three ways to specify a grantee:
-
You can specify the canonical user ID, for example. When you read an ACL from S3, all grantees will be identified this way, and the display_name attribute will also be provided.
Grantee.new(:canonical_user_id => "8a6925ce4adf588a4f21c32aa379004fef")
-
You can specify the e-mail address of an AWS customer, for example:
Grantee.new(:amazon_customer_email => '[email protected]')
-
You can specify a group URI, for example:
Grantee.new(:group_uri => 'http://acs.amazonaws.com/groups/global/AllUsers')
For more details about group URIs, see: docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html
When constructing a grantee, you must provide a value for exactly one of the following attributes:
-
amazon_customer_email
-
canonical_user_id
-
group_uri
Constant Summary collapse
- SIGNAL_ATTRIBUTES =
[:amazon_customer_email, :canonical_user_id, :group_uri]
Instance Attribute Summary collapse
-
#amazon_customer_email ⇒ String
The e-mail address of an AWS customer.
-
#canonical_user_id ⇒ String
The canonical user ID of an AWS customer.
-
#display_name ⇒ String
The display name associated with the grantee.
-
#group_uri ⇒ String
A URI that identifies a particular group of users.
Instance Method Summary collapse
-
#validate! ⇒ Object
Raises an exception unless this object is valid according to S3’s published ACL schema.
Methods included from AWS::S3::ACLObject
Instance Attribute Details
#amazon_customer_email ⇒ String
The e-mail address of an AWS customer.
100 101 102 |
# File 'lib/aws/s3/access_control_list.rb', line 100 def amazon_customer_email @amazon_customer_email end |
#canonical_user_id ⇒ String
The canonical user ID of an AWS customer.
100 101 102 |
# File 'lib/aws/s3/access_control_list.rb', line 100 def canonical_user_id @canonical_user_id end |
#display_name ⇒ String
The display name associated with the grantee. This is provided by S3 when reading an ACL.
100 101 102 |
# File 'lib/aws/s3/access_control_list.rb', line 100 def display_name @display_name end |
#group_uri ⇒ String
A URI that identifies a particular group of users.
100 101 102 |
# File 'lib/aws/s3/access_control_list.rb', line 100 def group_uri @group_uri end |
Instance Method Details
#validate! ⇒ Object
Raises an exception unless this object is valid according to S3’s published ACL schema.
113 114 115 116 117 118 119 |
# File 'lib/aws/s3/access_control_list.rb', line 113 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 |