Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

You are viewing documentation for version 1 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: AWS::S3::AccessControlList::Grantee

Inherits:
Object
  • Object
show all
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 => 'foo@example.com')
    
  • 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: http://docs.aws.amazon.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

SIGNAL_ATTRIBUTES =
[
  :amazon_customer_email,
  :canonical_user_id,
  :group_uri,
  :uri,
]

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from AWS::S3::ACLObject

included, #to_s, #to_xml, #valid?

Instance Attribute Details

#amazon_customer_emailString

The e-mail address of an AWS customer.

Returns:

  • (String)

    the current value of amazon_customer_email


103
104
105
# File 'lib/aws/s3/access_control_list.rb', line 103

def amazon_customer_email
  @amazon_customer_email
end

#canonical_user_idString

The canonical user ID of an AWS customer.

Returns:

  • (String)

    the current value of canonical_user_id


103
104
105
# File 'lib/aws/s3/access_control_list.rb', line 103

def canonical_user_id
  @canonical_user_id
end

#display_nameString

The display name associated with the grantee. This is provided by S3 when reading an ACL.

Returns:

  • (String)

    the current value of display_name


103
104
105
# File 'lib/aws/s3/access_control_list.rb', line 103

def display_name
  @display_name
end

#group_uriString

A URI that identifies a particular group of users.

Returns:

  • (String)

    the current value of group_uri


103
104
105
# File 'lib/aws/s3/access_control_list.rb', line 103

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.

[View source]

120
121
122
123
124
125
126
# File 'lib/aws/s3/access_control_list.rb', line 120

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