objectscale_namespace resource
objectscale_namespace (Resource)
This resource manages the full lifecycle of a Dell ObjectScale Namespace; It also configures key tenant-level settings—such as quotas.
Example Usage
/*
Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved.
Licensed under the Mozilla Public License Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://mozilla.org/MPL/2.0/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
# Available actions: Create, Update, Delete and Import
# After `terraform apply` of this example file it will create a new namespace with the name set in `name` attribute on the ObjectScale
resource "objectscale_namespace" "all" {
name = "namespace1"
default_data_services_vpool = "urn:storageos:ReplicationGroupInfo:55ca12b2-e908-4bac-a5fe-3fdaa975e3eb:global"
allowed_vpools_list = [
"urn:storageos:ReplicationGroupInfo:cd8bffcb-7a99-4023-82a8-982054fd73c2:global"
]
disallowed_vpools_list = [
"urn:storageos:ReplicationGroupInfo:e0b539a3-6ddd-4412-b4d0-ce08049f64cd:global"
]
namespace_admins = "admin2,admin3"
user_mapping = [{
domain = "domain2"
groups = ["group3", "group4"]
attributes = [
{
key = "key3"
value = ["value5", "value6"]
},
{
key = "key4"
value = ["value7", "value8"]
}
]
}]
default_bucket_block_size = 1024
external_group_admins = "admin3@foo,admin4@bar"
is_stale_allowed = true
is_object_lock_with_ado_allowed = true
retention_classes = [
{
name = "class1"
period = 500
},
{
name = "class2"
period = 2000
}
]
quota = {
notification_size = 90
block_size = 124
}
root_user_password = "password1"
}
# After the execution of above resource block, namespace would have been created on the ObjectScale array. For more information, Please check the terraform state file.
Schema
Required
default_data_services_vpool(String) Default replication group identifier for this tenant when creating buckets. Required. Updatable.name(String) Name assigned to this resource in ObjectScale. The resource name is set by a user and can be changed at any time. It is not a unique identifier. Required.
Optional
allowed_vpools_list(List of String) List of replication group that are allowed access to namespace.current_root_user_password(String, Sensitive) Current root user password. Only to be provided when updating the root user password.default_audit_delete_expiration(Number) Default bucket audit delete expiration. Updatable.default_bucket_block_size(Number) Default bucket quota size. Default: -1. Updatable.disallowed_vpools_list(List of String) List of replication group that are not allowed access to namespace.external_group_admins(String) List of groups from AD Server. Default: ‘’. Updatable.is_compliance_enabled(Boolean) Namespace isComplianceEnabled flag. Default: false.is_encryption_enabled(Boolean) Encryption status of the namesapce. Default: false.is_object_lock_with_ado_allowed(Boolean) Defines the default behavior for allowing Object Lock with ADO on new buckets created in the namespace. Default: false. Updatable.is_stale_allowed(Boolean) Namespace isStaleAllowed flag. Default: false. Updatable..namespace_admins(String) Comma separated list of namespace admins. Default: ‘’. Updatable.quota(Attributes) Namespace Quota. (see below for nested schema)retention_classes(Attributes Set) Retention Class. (see below for nested schema)root_user_password(String, Sensitive) root user password.user_mapping(Attributes List) User Mapping. Default: []. Updatable. (see below for nested schema)
Read-Only
id(String) Identifier that is generated by ObjectScale when the resource is created. The resource Id is guaranteed to be unique and immutable across all virtual data centers for all time.root_user_name(String) root user name.
Nested Schema for quota
Optional:
block_size(Number) Block Size in GB. Default: -1. Updatable.notification_size(Number) Notification Size in GB. Default: -1. Updatable.
Nested Schema for retention_classes
Required:
name(String) Name of the retention class.period(Number) Period of the retention class in seconds.
Nested Schema for user_mapping
Optional:
attributes(Attributes List) Attributes. (see below for nested schema)domain(String) A single-valued attribute indicating the user’s IDP domaingroups(List of String) Groups.
Nested Schema for user_mapping.attributes
Optional:
key(String) Lookup string for this key-value pairvalue(List of String) Lookup result for this key-value pair.
Unless specified otherwise, all fields of this resource can be updated.
Import
Import is supported using the following syntax:
# Copyright (c) 2025 Dell Inc., or its subsidiaries. All Rights Reserved.
# Licensed under the Mozilla Public License Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://mozilla.org/MPL/2.0/
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The command is
# terraform import objectscale_namespace.namespace <id>
# Example:
terraform import objectscale_namespace.namespace namespace_id
# after running this command, populate the name field and other required parameters in the config file to start managing this resource.
# Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.