powermax_storagegroup (Resource)
Resource for managing StorageGroups in PowerMax array. PowerMax storage groups are a collection of devices that are stored on the array. An application, a server, or a collection of servers use them.
Example Usage
/*
Copyright (c) 2023 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 (name, compression, host_io_limit, workload, slo, srp_id, volume_ids), Delete and Import an existing storage group from the PowerMax Array.
# After `terraform apply` of this example file it will create a new storage group with the name set in `name` attribute on the PowerMax
# PowerMax storage groups are a collection of devices that are stored on the array.
# An application, a server, or a collection of servers use them.
resource "powermax_storagegroup" "test" {
# Attributes which are able to be modified after create (name, compression, host_io_limit, workload, slo, srp_id, volume_ids)
# Required the name of the new storage group
name = "terraform_sg"
# Required The Srp to be associated with the Storage Group. If you dont want an SRP the srp_id can be set to 'None'
srp_id = "SRP_1"
# Optional the service level of the storage group
slo = "Gold"
# Optional enable or disable compression on the storage group (Default to disabled)
compression = false
# Optional the workload of the storage group
workload = "workload"
# Optional Set Host I/O limits for the specified storage sroup
host_io_limit = {
# The MBs per Second Host IO limit for the specified storage group, NOLIMIT means no limits
host_io_limit_io_sec = "1000"
# The IOs per Second Host IO limit for the specified storage group , NOLIMIT means no limits
host_io_limit_mb_sec = "1000"
# The dynamic distribution type which can be "Never","Always" or "OnFailure"
dynamic_distribution = "Never"
}
# Optional a list of volume ids to be added to the storage groups
volume_ids = ["0008F"]
}
# After the execution of above resource block, a PowerMax storage group has been created at PowerMax array.
# For more information about the newly created resource use the `terraform show` command to review the current state
Schema
Required
name
(String) The name of the storage group. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed. (Update Supported)srp_id
(String) The Srp to be associated with the Storage Group. If you dont want an SRP the srp_id can be set to ‘None’. (Update Supported)
Optional
compression
(Boolean) States whether compression is enabled on storage group. (Update Supported)host_io_limit
(Object) Host IO limit of the storage group. (Update Supported) (see below for nested schema)num_of_vols
(Number) The number of volumes associated with the storage groupslo
(String) The service level associated with the storage group. (Update Supported)volume_ids
(List of String) The IDs of the volume associated with the storage group. Only pre-existing volumes are considered here. (Update Supported)workload
(String) The workload associated with the storage group. (Update Supported)
Read-Only
cap_gb
(Number) The capacity of the storage groupchild_storage_group
(List of String) The child storage group(s) associated with the storage groupcompression_ratio
(String) States whether compression is enabled on storage groupcompression_ratio_to_one
(Number) Compression ratio numeric value of the storage groupdevice_emulation
(String) The emulation of the volumes in the storage groupid
(String) The ID of the storage groupmaskingview
(List of String) The masking views associated with the storage groupnum_of_child_sgs
(Number) The number of child storage groups associated with the storage groupnum_of_masking_views
(Number) The number of masking views associated with the storage groupnum_of_parent_sgs
(Number) The number of parent storage groups associated with the storage groupnum_of_snapshot_policies
(Number) The number of snapshot policies associated with the storage groupnum_of_snapshots
(Number) The number of snapshots associated with the storage groupparent_storage_group
(List of String) The parent storage group(s) associated with the storage groupservice_level
(String) The service level associated with the storage groupslo_compliance
(String) The service level compliance status of the storage groupsnapshot_policies
(List of String) The snapshot policies associated with the storage grouptags
(String) The tags associated with the storage grouptype
(String) The storage group typeunprotected
(Boolean) States whether the storage group is protectedunreducible_data_gb
(Number) The amount of unreducible data in Gb.uuid
(String) Storage Group UUIDvp_saved_percent
(Number) VP saved percentage figure
Nested Schema for host_io_limit
Optional:
dynamic_distribution
(String)host_io_limit_io_sec
(String)host_io_limit_mb_sec
(String)
Import
Import is supported using the following syntax:
# Copyright (c) 2023 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 powermax_storagegroup.test <id>
# Example:
terraform import powermax_storagegroup.test terraform_sg
# after running this command, populate the name field in the config file to start managing this resource