powerstore_metro_volume_group (Resource)
This resource is used to manage metro volume group replication on PowerStore. Metro replication provides synchronous replication (RPO=0) between two PowerStore clusters for disaster recovery. The resource takes an existing volume group ID and configures it as a metro volume group with a remote system. Running terraform destroy will end the metro configuration.
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.
*/
# Commands to run this tf file : terraform init && terraform plan && terraform apply
# This resource configures metro (synchronous) replication on an existing volume group.
# Metro replication provides RPO=0 (zero data loss) between two PowerStore clusters.
# The volume group must already exist - use powerstore_volumegroup resource to create it first.
# Example: Configure metro replication on an existing volume group
resource "powerstore_metro_volume_group" "example" {
volume_group_id = "volume-group-id-here"
remote_system_id = "remote-system-id-here"
# Optional: specify a remote appliance
# remote_appliance_id = "remote-appliance-id"
# Optional: control destroy behavior
# delete_remote_volume_group = false
# force = false
}
Schema
Required
remote_system_id(String) Unique identifier of the remote system for metro replication. The remote system must support metro volumes.volume_group_id(String) Unique identifier of the existing volume group to configure as a metro volume group.
Optional
delete_remote_volume_group(Boolean) Whether to delete the remote volume group when ending metro configuration. Default is false.force(Boolean) Force end metro even if the remote side has errors. Not recommended unless the remote is known to be down.is_replication_paused(Boolean) Whether the replication is paused. When set to true, replication is paused. When set to false, replication is resumed.remote_appliance_id(String) Specific remote appliance to assign the volume group. If not specified, the system chooses based on space, load, and connectivity.
Read-Only
data_transfer_state(String) Current data transfer state of the replication session.id(String) Unique identifier of the metro replication session.metro_replication_session_id(String) Unique identifier of the metro replication session assigned to the volume group.remote_resource_id(String) Unique identifier of the remote storage resource.state(String) Current state of the replication session.