• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. API Reference (PHP SDK)
  4. Bucket-Related APIs
  5. PUT Bucket acl

PUT Bucket acl

API Description

You can use this API to set the ACL for a bucket.

Method Definition

1. ObsClient->setBucketAcl(array $parameter)
2. ObsClient->setBucketAclAsync(array $parameter, callable $callback)

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

string

Mandatory

Bucket name

ACL

string

Optional

Pre-defined access policy. Possible values are:

  • ObsClient::AclPrivate
  • ObsClient::AclPublicRead
  • ObsClient::AclPublicReadWrite
  • ObsClient::AclAuthenticatedRead
  • ObsClient::AclBucketOwnerRead
  • ObsClient::AclBucketOwnerFullControl
  • ObsClient::AclLogDeliveryWrite

Owner

associative array

Optional

Bucket owner

  

ID

string

Mandatory

ID of the domain to which the bucket owner belongs

DisplayName

string

Optional

Name of the bucket owner

Grants

indexed array

Optional

List of grantees' permission information

  

Grantee

associative array

Mandatory

Grantee

  

Type

string

Mandatory

Grantee group. Possible values are:

  • CanonicalUser
  • Group

DisplayName

string

Optional when Type is CanonicalUser. In other cases, leave it null.

Grantee name

ID

string

Mandatory when Type is CanonicalUser. In other cases, leave it null.

ID of the domain to which the grantee belongs

URI

string

Mandatory when Type is Group. In other cases, leave it null.

Grantee group. Possible values are:

  • ObsClient::GroupAllUsers
  • ObsClient::GroupAuthenticatedUsers
  • ObsClient::GroupLogDelivery

Permission

string

Mandatory

Granted permission. Possible values are:

  • ObsClient::PermissionRead
  • ObsClient::PermissionWrite
  • ObsClient::PermissionReadAcp
  • ObsClient::PermissionWriteAcp
  • ObsClient::PermissionFullControl
NOTE:
  • Owner and Grants must be used together and they cannot be used with ACL.
  • You must set either the two fields or ACL.

Returned Result

Field

Type

Description

HttpStatusCode

integer

HTTP status code

Reason

string

Reason description

RequestId

string

Request ID returned by the OBS server

Sample Code

try{
       $resp = $obsClient -> setBucketAcl([
              'Bucket' => 'bucketname',
              'Owner' => ['ID' => 'ownerid', 'DisplayName' => 'ownername'],
              'Grants' => [
                     ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionRead],
                     ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionWrite],
                     ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupLogDelivery], 'Permission' => ObsClient::PermissionWrite],
                     ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupLogDelivery], 'Permission' => ObsClient::PermissionReadAcp],
              ]
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());              
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}