libs3  trunk
S3AclGrant Struct Reference

#include <libs3.h>

Public Attributes

S3GranteeType granteeType
 
union {
   struct {
      char   emailAddress [S3_MAX_GRANTEE_EMAIL_ADDRESS_SIZE]
 
   }   amazonCustomerByEmail
 
   struct {
      char   id [S3_MAX_GRANTEE_USER_ID_SIZE]
 
      char   displayName [S3_MAX_GRANTEE_DISPLAY_NAME_SIZE]
 
   }   canonicalUser
 
grantee
 
S3Permission permission
 

Detailed Description

S3AclGrant identifies a single grant in the ACL for a bucket or object. An ACL is composed of any number of grants, which specify a grantee and the permissions given to that grantee. S3 does not normalize ACLs in any way, so a redundant ACL specification will lead to a redundant ACL stored in S3.

Member Data Documentation

S3GranteeType S3AclGrant::granteeType

The granteeType gives the type of grantee specified by this grant.

char S3AclGrant::emailAddress[S3_MAX_GRANTEE_EMAIL_ADDRESS_SIZE]

This is the email address of the Amazon Customer being granted permissions by this S3AclGrant.

struct { ... } S3AclGrant::amazonCustomerByEmail

This structure is used iff the granteeType is S3GranteeTypeAmazonCustomerByEmail.

char S3AclGrant::id[S3_MAX_GRANTEE_USER_ID_SIZE]

This is the CanonicalUser ID of the grantee

char S3AclGrant::displayName[S3_MAX_GRANTEE_DISPLAY_NAME_SIZE]

This is the display name of the grantee

struct { ... } S3AclGrant::canonicalUser

This structure is used iff the granteeType is S3GranteeTypeCanonicalUser.

union { ... } S3AclGrant::grantee

The identifier of the grantee that is set is determined by the granteeType:

S3GranteeTypeAmazonCustomerByEmail - amazonCustomerByEmail.emailAddress S3GranteeTypeCanonicalUser - canonicalUser.id, canonicalUser.displayName S3GranteeTypeAllAwsUsers - none S3GranteeTypeAllUsers - none

S3Permission S3AclGrant::permission

This is the S3Permission to be granted to the grantee


The documentation for this struct was generated from the following file: