Cloud Enterprise Object Storage REST API

Search (SHIFT+S)




Create Bucket

POST /object/bucket

Creates a bucket in which users can create objects. The bucket is created in a storage pool associated with the specified replication group.

  • Current user will become the bucket owner.

  • If namespace to this bucket creation does not exist, user's namespace is used

  • For non SYSTEM_ADMIN user, namespace should be current user's namespace


Required Roles

Requires one of the following roles:

  • SYSTEM_ADMIN

  • NAMESPACE_ADMIN


Prerequisites

The following conditions must be met in order to call this operation.

  • A qualifying storage pool must exist corresponding to the replication group for bucket

  • Only authenticated users can create buckets

  • Bucket name should be less than 255 characters

  • Bucket name should contain only alphanumeric, '.','-' and '_'.


Request Payload

All parameters are required unless otherwise stated.

Field Description Type Notes
object_bucket_create
blockSize Block size in GB. Cannot be less than 1GB or use decimal values. Can be set to -1 to indicate quota value not defined. Long
notificationSize Notification size in GB. Cannot be less than 1GB or use decimal values. Can be set to -1 to indicate quota value not defined. Long
name Bucket name String
vpool Replication group identifier URI
filesystem_enabled flag indicating whether file-system is enabled for this bucket Boolean
head_type HeadType indicates the object head type that is allowed to access the bucket. If the bucket has FS-Enabled, then the FS heads are implicitly allowed to access this bucket String
namespace Namespace associated with the user/tenant that is allowed to access the bucket String
TagSet Tags - list of tags set for the Bucket
Tag     0-* Elements
Key The key of a tag String
Value The value of a tag String
is_encryption_enabled tag to enable encryption for the bucket Boolean
default_group_file_read_permission Flag indicating the Read permission for default group Boolean
default_group_file_write_permission Flag indicating the file write permission for default group Boolean
default_group_file_execute_permission Flag indicating the file execute permission for default group Boolean
default_group_dir_read_permission Flag indicating the directory read permission for default group. This is only applicable to folders created within the Filesystem-Enabled bucket. It is not applicable to files/objects Boolean
default_group_dir_write_permission Flag indicating the directory write permission for default group. This is only applicable to folders created within the Filesystem-Enabled bucket. It is not applicable to files/objects Boolean
default_group_dir_execute_permission Flag indicating the directory execute permission for default group. This is only applicable to folders created within the Filesystem-Enabled bucket. It is not applicable to files/objects Boolean
default_group Default group for Filesystem-enabled buckets String
autocommit_period Default autocommit period in seconds Long
retention Default retention period in seconds Long
is_stale_allowed tag to allow stale data in bucket Boolean
is_tso_read_only Boolean
search_metadata Searchable tags assigned to objects created within the bucket.
metadata     0-* Elements
type The meta key type. String
name The meta key name. String
datatype The meta key data type. String
owner Bucket owner String
min_max_governor    
enforce_retention Boolean
minimum_fixed_retention Long
maximum_fixed_retention Long
minimum_variable_retention Long
maximum_variable_retention Long
audited_delete_expiration Audit delete expiration time in seconds Long

Response Body

Indicating success or failure of the bucket create operation

Field Description Type Notes
object_bucket
error_message Message returned by the server indicating the reason for create bucket failure (if any) String
TagSet Keywords and labels that can be added by a user to a resource to make it easy to find when doing a search.
Tag     0-* Elements
Key The key of a tag String
Value The value of a tag String
metaData    
metadata     0-* Elements
type The meta key type. String
name The meta key name. String
datatype The meta key data type. String
isEnabled Getter for the enabled flag. Boolean
maxKeys Getter for maxKeys. Integer
name Name assigned to this resource in ECS. The resource name is set by a user and can be changed at any time. It is not a unique identifier. String
id Identifier that is generated by ECS when the resource is created. The resource Id is guaranteed to be unique and immutable across all virtual data centers for all time. URI Valid Values:
  •  urn:storageos:resource-type:UUID:
link Hyperlink to the details for this resource
creation_time Timestamp that shows when this resource was created in ECS DateTime Valid Values:
  •  YYYY-MM-DDTHH:mm:ssZ
  •  Unix timestamp
inactive Indicates whether the resource is inactive. When a user removes a resource, the resource is put in this state before it is removed from the ECS database. Boolean Valid Values:
  •  true
  •  false
global Indicates whether the resource is global. Boolean Valid Values:
  •  true
  •  false
remote Indicates whether the resource is remote. Boolean Valid Values:
  •  true
  •  false
vdc    
id ECS Id of the related object URI
link Hyperlink to the related object
internal Indicated whether the resource is an internal resource Boolean Valid Values:
  •  true
  •  false

Examples

Request
POST https://192.168.0.0:4443/object/bucket

HTTP/1.1
Content-Type: application/xml
X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
<object_bucket_create>
   <name>bucket3</name>
   <vpool></vpool>
   <filesystem_enabled>false</filesystem_enabled>
   <head_type>s3</head_type>
   <namespace>s3</namespace>
   <is_stale_allowed>false</is_stale_allowed>
   <retention>3</retention>
   <compliance_enabled>false</compliance_enabled>
   <search_metadata>
      <metadata>
         <name>x-amz-meta-custom-type</name>
         <datatype>integer</datatype>
      </metadata>
   </search_metadata>
</object_bucket_create>
Response
HTTP/1.1 200 OK
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object_bucket>
    <id>s3.bucket3</id>
    <inactive>false</inactive>
    <name>bucket3</name>
    <tags/>
    <search_metadata>
        <type>User</type>
        <metadata>
           <name>x-amz-meta-custom</name>
           <datatype>integer</datatype>
        </metadata>
    </search_metadata>
</object_bucket>