Bucket:Create Bucket

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
</Tag>      
</TagSet>
<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
<retention> Default retention period in seconds Long
<is_stale_allowed> tag to allow stale data in bucket 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
</metadata>      
</search_metadata>
<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
</min_max_governor>      
</object_bucket_create>

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
</Tag>      
</TagSet>
<metaData>    
<metadata>     0-* Elements
<type> The meta key type. String
<name> The meta key name. String
<datatype> The meta key data type. String
</metadata>      
<isEnabled> Getter for the enabled flag. Boolean
<maxKeys> Getter for maxKeys. Integer
</metaData>      
<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
<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
</vdc>      
<internal> Indicated whether the resource is an internal resource Boolean Valid Values:
  •  true
  •  false
</object_bucket>

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>
Notes: