Cloud Enterprise Object Storage REST API

Search (SHIFT+S)




Create Namespace

POST /object/namespaces/namespace

Creates a namespace with the given details.


Required Roles

  • SYSTEM_ADMIN


Request Payload

All parameters are required unless otherwise stated.

Field Description Type Notes
namespace_create
namespace User provided namespace (verified unique)

can not include dots or slashes (.|/) in the name

String Valid Values:
  •  Can contain slashes (/)
  •  Can contain dots (.)
default_object_project Default project id for this tenant when creating buckets URI
default_data_services_vpool Default replication group identifier for this tenant when creating buckets URI
allowed_vpools_list List of replication groups that are allowed to create buckets on the corresponding namespace URI 0-* Elements
disallowed_vpools_list List of replication groups that are not allowed to create buckets on the corresponding namespace URI 0-* Elements
namespace_admins Comma separated list of namespace admins String
user_mapping     0-* Elements
domain A single-valued attribute indicating the user's IDP domain String Valid Values:
  •  Examples: "emc.com" or "netapp.com"
attributes
attribute     0-* Elements
key Lookup string for this key-value pair String
value Lookup result for this key-value pair String 0-* Elements
groups
group String 0-* Elements
is_encryption_enabled tag to enable encryption for the namespace Boolean
default_bucket_block_size Default bucket quota size. Long
external_group_admins List of groups from AD Server String
is_stale_allowed Tag to allow stale data within the namespace Boolean
compliance_enabled Tag to enable namespace compliance Boolean
default_audit_delete_expiration default bucket audit delete expiration Long
root_user_password password for namespace 'virtual root' user String

Response Body

Response indicating the result of the create operation

Field Description Type Notes
namespace
default_data_services_vpool Default replication group identifier for this tenant when creating buckets URI
allowed_vpools_list List of replication group that are allowed access to namespace URI 0-* Elements
disallowed_vpools_list List of replication group that are not allowed access to namespace URI 0-* Elements
namespace_admins Comma separated list of namespace admins String
is_encryption_enabled encryption status of the namesapce String
user_mapping     0-* Elements
domain A single-valued attribute indicating the user's IDP domain String Valid Values:
  •  Examples: "emc.com" or "netapp.com"
attributes
attribute     0-* Elements
key Lookup string for this key-value pair String
value Lookup result for this key-value pair String 0-* Elements
groups
group String 0-* Elements
default_bucket_block_size Default bucket quota size. Long
external_group_admins List of groups from AD Server String
is_stale_allowed Namespace isStaleAllowed flag Boolean
is_compliance_enabled Namespace isComplianceEnabled flag Boolean
notificationSize Notification Size in GB. Long
blockSize Blocksize in GB Long
retention_classes    
retention_class     0-* Elements
name Name of the retention class String
period Period of the retention class in seconds Long
default_audit_delete_expiration Default bucket audit delete expiration Long
root_user_name String
root_user_password String
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/namespaces/namespace HTTP/1.1

Content-Type: application/xml
X-SDS-AUTH-TOKEN: <AUTH_TOKEN>

<?xml version="1.0" encoding="UTF-8"?>
<namespace_create>
  <namespace>jt_namespace2</namespace>
  <namespace_admins>admin1,admin2,admin3</namespace_admins>
  <default_object_project>project4</default_object_project>
  <isStaleAllowed>true</isStaleAllowed>
  <user_mapping>
    <domain>jt_domain</domain>
    <attributes>
      <attribute>
                <key>key1</key>
                <value>value1</value>
          </attribute>
        <attribute>
                <key>key2</key>
                <value>value2</value>
          </attribute>
    </attributes>
    <groups>
      <group>group1</group>
    </groups>
  </user_mapping>
  <user_mapping>
    <domain>jt_domain_2</domain>
    <attributes>
      <attribute>
                <key>key2_1</key>
                <value>value2_1</value>
          </attribute>
        <attribute>
                <key>key2_2</key>
                <value>value2_2</value>
          </attribute>
    </attributes>
    <groups>
      <group>group2</group>
    </groups>
  </user_mapping>
</namespace_create>
Response
HTTP/1.1 200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<namespace>
    <id>jt_namespace2</id>
    <inactive>false</inactive>
    <link rel="self" href="/object/namespaces/namespace/jt_namespace2"/>
    <name>jt_namespace2</name>
    <tags/>
    <namespace_admins>admin1,admin2,admin3</namespace_admins>
    <default_data_services_vpool></default_data_services_vpool>
    <user_mapping>
        <attributes>
            <attribute>
                <key>key1</key>
                <value>value1</value>
            </attribute>
            <attribute>
                <key>key2</key>
                <value>value2</value>
            </attribute>
        </attributes>
        <domain>jt_domain</domain>
        <groups>
            <group>group1</group>
        </groups>
    </user_mapping>
    <user_mapping>
        <attributes>
            <attribute>
                <key>key2_1</key>
                <value>value2_1</value>
            </attribute>
            <attribute>
                <key>key2_2</key>
                <value>value2_2</value>
            </attribute>
        </attributes>
        <domain>jt_domain_2</domain>
        <groups>
            <group>group2</group>
        </groups>
    </user_mapping>
</namespace>