apex_navigator_block_mobility_targets (Resource)

This Terraform resource is used to manage Mobility Targets on Apex Navigator. We can create, read, update, delete Data Mobility Targets on Apex Navigator.We can also import existing Data Mobility Targets from Apex Navigator.

Example Usage

/*
Copyright (c) 2024 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.
*/

resource "apex_navigator_block_mobility_targets" "example" {
  # Name of the Mobility target
  name = "TerraformMobilityTarget"
  # Source Mobility Group Id
  source_mobility_group_id = "POWERFLEX-ABCD1234567890__DATAMOBILITYGROUP__12345678-1234-1234-1234-123456789012"
  # Target System Id
  system_id = "POWERFLEX-ABCD1234567890"
  # Target System Type
  system_type = "POWERFLEX"
  # Storage pool id to use for allocating target volumes
  target_system_options = "POWERFLEX-ABCD1234567890_STORAGE_POOL__1234567890123456"

  # Note: PowerFlex credentials are required to activate the system for mobility related operations.

  # The source mobility group Powerflex
  powerflex_source {
    username = "example-source-username"
    password = "example-source-pass"
  }

  # The Powerflex where you want to create the target
  powerflex_target {
    username = "example-target-username"
    password = "example-target-pass"
  }
}

output "examples_mobility_target" {
  value     = apex_navigator_block_mobility_targets.example
  sensitive = true
}

Schema

Required

  • name (String) Name of the mobility target
  • source_mobility_group_id (String) ID of the source mobility group
  • system_id (String) ID of the target system
  • system_type (String) The source system type (e.g.: POWERFLEX)
  • target_system_options (String) Storage pool id to use for allocating target volumes

Optional

  • bandwidth_limit (Number) Bandwidth limit in Mbps (Mega bits per second)
  • description (String) Description of the mobility target
  • powerflex_source (Block, Optional) (see below for nested schema)
  • powerflex_target (Block, Optional) (see below for nested schema)

Read-Only

  • creation_timestamp (String) Timestamp from when the target was created
  • id (String) Idenifier of this target mobility group
  • image_timestamp (String) Timestamp of the last source image copied to this target
  • last_copy_job_id (String) Last copy job ID
  • target_members (Attributes List) A mobility member map is a mapping of a mobility member and it’s related member. For example a target volume with a reference to the source volume. Or a clone volume and its related target volume. (see below for nested schema)
  • type (String)

Nested Schema for powerflex_source

Required:

  • password (String, Sensitive) Password of the powerflex
  • username (String) Username of the powerflex

Optional:

  • host (String) Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID
  • insecure (Boolean) Validated the certificate when connecting to the powerflex, defaults if unset to true
  • scheme (String) Scheme of the powerflex, defaults if unset to https

Nested Schema for powerflex_target

Required:

  • password (String, Sensitive) Password of the powerflex
  • username (String) Username of the powerflex

Optional:

  • host (String) Host, ip or hostname of the powerflex. If left empty we will attempt to get the ip through Apex from the ID
  • insecure (Boolean) Validated the certificate when connecting to the powerflex, defaults if unset to true
  • scheme (String) Scheme of the powerflex, defaults if unset to https

Nested Schema for target_members

Read-Only:

  • id (String) ID of the member
  • name (String) Name of the member
  • parent_id (String) Identifier of the related mobility member
  • size (String) Size of the member

Import

Import is supported using the following syntax:

/*
Copyright (c) 2021-2024 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.
*/

terraform import apex_navigator_block_mobility_targets.example "{\"id\":\"<mobility-target-id>\",\"target_username\":\"<powerflex-target-username>\",\"target_password\":\"<powerflex-target-password>\",\"target_host\":\"<powerflex-target-host>\",\"source_username\":\"<powerflex-source-username>\",\"source_password\":\"<powerflex-source-password>\",\"source_host\":\"<powerflex-source-host>\",\"insecure\":<insecure>,\"scheme\":\"<powerflex-scheme>\"}"