Product Guide

Terraform Provider for Dell PowerFlex


Contents


Provider

Configure the provider on Dell Powerflex

Synopsis

To create any resource / datasource , we need to provide authentication details to connect to the PowerFlex

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
endpoint The endpoint to which it needs to be connected. Required string

username The username required for authentication. Required  string

password The password required for the authentication.  Required string

insecure Specifies if the user wants to do SSL verification.  Optional bool 

timeout Specifies the timeout (in seconds) for any https request.  Optional int64 

Examples

    
        provider "powerflex" {
            username = "username"
            password = "password"
            endpoint = "10.10.10.1"
            insecure = true
            timeout = 120
        }
    

Note

  • Provider details must be provided to authenticate and connect to the PowerFlex Storage system before creating any resource / datasource
  • If timeout value is not mentioned then the value for timeout becomes 0 which means indefinite time
  • If we don't set the insecure attribute in provider block, the authentication will require SSL verification
  • In order to execute all resource/datasource operations, the user role should be either 'Configure' or 'Administrator'.

Volume Resource

Manage volumes on Dell PowerFlex

Synopsis

Managing volumes on PowerFlex storage system includes creating new volume, mapping/unmapping volume to/from SDC, modifying attributes of volume and deleting volume.

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Can be updated
Type
Default Value
Choices
name The Name of the Volume. Required Yes string

storage_pool_id Storage Pool id. Optional And Computed  No string

storage_pool_name Storage Pool Name.  Optional And Computed No string

protection_domain_id Protection Domain ID.  Optional And Computed No string 

protection_domain_name Protection Domain Name. Optional And Computed No string

size Size of the Volume.  Required Yes int64 

capacity_unit The unit of the volume size. Optional And Computed  Yes string  GB
  • GB
  • TB
volume_type Type of volume provisioning. Optional And Computed Yes string ThinProvisioned
  • ThickProvisioned
  • ThinProvisioned
use_rm_cache Whether to use RM Cache or not. Optional And Computed Yes bool

compression_method Type of the compression method. Optional And Computed Yes string
  • None
  • Normal
id The ID of the volume. Computed No string

size_in_kb Size in KB. Computed No int64

access_mode The Access mode of Volume. Optional And Computed Yes string ReadOnly
  • ReadOnly
  • ReadWrite
remove_mode remove mode of Volume. Optional And Computed Yes string ONLY_ME
  • ONLY_ME
  • INCLUDING_DESCENDANTS
sdc_list mapped sdc info. Optional And Computed
list

  sdc_id The ID of the SDC. Optional And Computed No string

  sdc_name The Name of the SDC. Optional And Computed No string

  limit_iops Limit of volume IOPS. Optional And Computed Yes int64

  limit_bw_in_mbps Limit of volume network bandwidth. Optional And Computed Yes int64

  access_mode Define the access mode for all mappings of the volume. Optional And Computed Yes string ReadOnly
  • ReadOnly
  • ReadWrite
  • NoAccess

Examples

        resource "powerflex_volume" "avengers-volume-create"{
        name = "avengers-volume-create"
        protection_domain_name = "domain1"
        storage_pool_name = "pool1" 
        size = 8
        use_rm_cache = true 
        volume_type = "ThickProvisioned" 
        access_mode = "ReadWrite"
        sdc_list = [
        {
                sdc_name = "sdc_name"
                limit_iops = 11
                limit_bw_in_mbps = 11
                access_mode = "ReadOnly"
                },
            ]   
        }

Create Volume using Meta-Argument ‘count’

Sample code where 10 volume resources (with name vol-create-0 to vol-create-9 ) will be created using ‘count’ Meta-Argument

    resource "powerflex_volume" "avengers-volume-create"{
	count = 10
	name = "vol-create-${count.index}"
	protection_domain_name = "domain1"
	storage_pool_name = "pool1" #pool1 have medium granularity
	size = 8
	use_rm_cache = true 
	volume_type = "ThickProvisioned" 
	access_mode = "ReadWrite"
	sdc_list = [
	  {
			   sdc_name = "Block_S34"
			   limit_iops = 119
			   limit_bw_in_mbps = 19
			   access_mode = "ReadOnly"
		   },
	]
  }

Note

  • Volume creation or update is not atomic. In case of partially completed operations, Terraform can mark the resource as tainted. One can manually remove the taint and try applying the configuration (after making necessary adjustments). Warning: If the taint is not removed, Terraform will destroy and recreate the resource.
  • Volume name is unique across the PowerFlex array.
  • Either name or the id of the storage pool is required for creating / modifying a volume.
  • Either name or the id of the protection domain is required for creating / modifying a volume.
  • Size of the volume should be a multiple of 8.
  • specify 0 for unlimited IOPS.
  • To set no limit over bandwidth, 0 is to be passed.
  • Specify either sdc_name or sdc_id, if sdc_list is specified
  • User cannot provide empty value to any of these : name, storage_pool_id, storage_pool_name, protection_domain_id, protection_domain_name
  • IOPS limit value should be specified greater than 10. if not specified unlimited IOPS with value 0
  • Steps to import volume resource
  • To update the imported resource , mandatory fields need to be present in the resource block

SDC Resource

Manage SDCs on Dell PowerFlex

Synopsis

Managing SDCs on PowerFlex storage system includes importing details of SDC and renaming SDC

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Can be updated
Type
Default Value
Choices
id SDC ID. Required No string

last_updated Last updated timestamp. Computed  No string

name SDC Name.  Required Yes string

sdc_guid SDC GUID.  Computed No string 

on_vmware Presence on VMware. Computed No bool
sdc_approved Indicates whether an SDC has approved access to the system. Computed  No bool 

system_id ID of the System. Computed No string

sdc_ip IP of the SDC. Computed No string

mdm_connection_state MDM connection state. Computed No string

links Underlying REST API links. Computed
list

  rel Specifies the relationship with the SDC. Computed No string

  href Specifies the exact path to fetch the details. Computed No string

Examples

    
        resource "powerflex_sdc" "sdc" {
            id = "c423b09800000003"
            name = "powerflex_sdc26"
        }
    

Note

Storage Pool Resource

Manage storage pools on Dell PowerFlex

Synopsis

Managing storage pools on PowerFlex storage system includes creating a new storage pool, and modifying the attributes of a storage pool and deleting a storage pool.

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Can be updated
Type
Default Value
Choices
id ID of the Storage pool. Computed No string

protection_domain_id ID of the Protection domain. Optional  No string

protection_domain_name Name of the Protection domain.  Optional No string

name Name of the Storage pool.  Required Yes string 

media_type Type of devices in the storage pool. Required Yes string
  • HDD
  • SSD
  • Transitional
use_rmcache Enable/Disable RMcache on a specific storage pool. Optional And Computed  Yes bool 

use_rfcache Enable/Disable RFcache on a specific storage pool. Optional And Computed Yes bool

Examples

    
        resource "powerflex_storagepool" "storagepool" {
            name = "storagepool3"
            protection_domain_id = "4eeb304600000000"
            media_type = "HDD"
            use_rmcache = true
            use_rfcache = false
        }
    

Note

  • Either protection_domain_id or protection_domain_name is required in order to create / modify storage pool.
  • Transitional media type is supported only during modification.
  • Steps to import storage pool resource
  • To update the imported resource , mandatory fields need to be present in the resource block

Snapshot Resource

Details about snapshot resource

Synopsis

Managing snapshots on PowerFlex storage system includes creating snapshot for a volume, modifying attributes of snapshot and deleting snapshot.

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Can be updated
Type
Default Value
Choices
name The name of the snapshot. Required Yes string

volume_id The volume id for which snapshot is created. Optional And Computed  No string

volume_name The volume name for which snapshot is created.  Optional And Computed No string

access_mode The Access mode of snapshot. Optional And Computed Yes string ReadOnly
  • ReadOnly
  • ReadWrite
id The ID of the snapshot. Computed No string

size Size of the snapshot.  Optional And Computed Yes int64 

capacity_unit The unit of the snapshot size. Optional And Computed  Yes string  GB
  • GB
  • TB
size_in_kb Size in KB. Computed No int64

lock_auto_snapshot lock auto snapshot. Optional And Computed Yes bool

desired_retention desired retention of snapshot. Optional Yes int64

retention_unit retention unit of snapshot. Optional And Computed Yes string hours
  • hours
  • days
retention_in_min retention of snapshot in min. Computed No string

remove_mode remove mode of snapshot. Optional And Computed Yes string ONLY_ME
  • ONLY_ME
  • INCLUDING_DESCENDANTS
sdc_list mapped sdc info. Optional And Computed
list

  sdc_id The ID of the SDC. Optional And Computed No string

  sdc_name The Name of the SDC. Optional And Computed No string

  limit_iops Limit of volume IOPS. Optional And Computed Yes int64

       limit_bw_in_mbps Limit of volume network bandwidth. Optional And Computed Yes int64

  access_mode Define the access mode for all mappings of the volume. Optional And Computed Yes string ReadOnly
  • ReadOnly
  • ReadWrite
  • NoAccess

Examples

    
        resource "powerflex_snapshot" "snapshots-create-access-mode-sdc-map" {
            name = "snapshots-create-epsilon"
            volume_id = "4577c84000000120"
            access_mode = "ReadWrite"
            size = 16
            capacity_unit = "GB"
            remove_mode = "INCLUDING_DESCENDANTS"
            sdc_list = [
                {	
                    sdc_id = "c423b09900000004"
                    limit_iops = 150
                    limit_bw_in_mbps = 20
                    access_mode = "ReadWrite"
                },
            ]
        }
    

Note

  • Snapshot creation or update is not atomic. In case of partially completed operations, Terraform can mark the resource as tainted. One can manually remove the taint and try applying the configuration (after making necessary adjustments). Warning: If the taint is not removed, Terraform will destroy and recreate the resource.
  • Either volume_id or volume_name is required in order to create / modify snapshot.
  • Size of the volume should be a multiple of 8.
  • specify 0 for unlimited IOPS.
  • To set no limit over bandwidth, 0 is to be passed.
  • Specify either sdc_name or sdc_id, if sdc_list is specified
  • Steps to import snapshot resource
  • To update the imported resource , mandatory fields need to be present in the resource block

SDS Resource

Manage SDS on Dell PowerFlex

Synopsis

Managing SDS on PowerFlex storage system includes creating new SDS, adding/removing IP and role to/from SDS, modifying attributes of SDS, and deleting SDS.

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Can be updated
Type
Default Value
Choices
id The id of the SDS. Computed No string

protection_domain_id Protection domain id. Optional  No string

protection_domain_name Protection domain name.  Optional No string

name Name of SDS. Required Yes string

ip_list IP list of SDS. Required
list

  ip IP address to be assigned to the SDS.  Required Yes string 

  role Role to be assigned to the IP address. Required  Yes string 
  • all
  • sdcOnly
  • sdsOnly
drl_mode DRL mode of SDS. Optional & Computed Yes string

rmcache_frozen RMcache frozen state of SDS. Computed No bool

fault_set_id Fault set id of SDS. Computed No string

rmcache_memory_allocation_state Rmcache memory allocation state of SDS. Computed No string

port Port of SDS. Optinal And Computed Yes int64

membership_state Membership state of SDS. Computed No string

rmcache_enabled Rmcache enabled state of SDS. Optional And Computed Yes bool

performance_profile Performance Profile of SDS. Optional And Computed Yes string

rfcache_enabled Rfcache enabled state of SDS. Optional And Computed Yes bool

is_on_vmware Is on vmware state of SDS. Computed No bool

mdm_connection_state Mdm connection state of SDS. Computed No string

rmcache_size_in_mb Rmcache size in MB of SDS. Optional And Computed Yes int64

num_of_io_buffers Number of I/O buffers of SDS. Computed No int64

sds_state State of SDS. Computed No string

Examples

    
resource "powerflex_sds" "sds" {
    name = "Tf_SDS_01"
    ip_list = [
        {
            ip = "10.10.10.1"
            role = "all"
        },
        {
            ip = "10.10.10.2"
            role = "sdcOnly"
        }
    ]
    performance_profile = "Compact"
    rmcache_enabled = true
    rmcache_size_in_mb = 156
    rfcache_enabled = true
    drl_mode = "NonVolatile"
    protection_domain_id = "4eeb304600000000"
}
    

Note

  • Either protection_domain_id or protection_domain_name is required in order to create / modify SDS.
  • SDS creation or update is not atomic. In case of partially completed operations, Terraform can mark the resource as tainted. One can manually remove the taint and try applying the configuration (after making necessary adjustments). Warning: If the taint is not removed, Terraform will destroy and recreate the resource.
  • Steps to import SDS resource
  • To update the imported resource , mandatory fields need to be present in the resource block

SDC Datasource

Manage SDCs on Dell PowerFlex

Synopsis

Managing SDCs on PowerFlex storage system includes getting details of SDC using id or name of SDC

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
id SDC ID. Optional And Computed String

name SDC name. Optional And Computed  string

sdcs result SDCs.  Computed list

  id SDC ID.  Computed String 

  name SDC name. Computed string
  sdc_guid SDC GUID. Computed  string 

  on_vmware Presence on VMware. Computed bool

  sdc_approved Indicates whether an SDC has approved access to the system. Computed bool

  system_id SDC System ID. Computed string

  sdc_ip SDC IP. Computed string

       mdm_connection_state MDM connection state. Computed string

  links Underlying REST API links. Computed List

    rel Specifies the relationship with the SDC. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get SDC details by id

        data "powerflex_sdc" "selected" {
		id = "c423b09800000003"
	    }

Get SDC details by name

        data "powerflex_sdc" "selected" {
		name = "sdc-1"
	    }

Get all SDC’s

        data "powerflex_sdc" "selected" {
	    }

Note

  • id and name are mutually exclusive.
  • id cannot be empty.

Protection Domain Datasource

Manage protection domain on Dell PowerFlex

Synopsis

Managing protection domain on PowerFlex storage system includes getting details of protection domain using id or name of protection domain

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
id Unique identifier of the protection domain instance. Optional String

name Unique name of the protection domain instance. Optional  string

protection_domains List of protection domains fetched.  Computed list

  id Unique identifier of the protection domain instance.  Computed String 

  name Unique name of the protection domain instance. Computed string
  state State of a PD, which can be Active, ActivePending, Inactive or InactivePending. Computed  string 

  system_id System ID of the PD. Computed string

  rf_cache_accp_id Rf Cache Acceleration Pool ID. Computed string

  rf_cache_enabled Whether SDS Rf Cache is enabled or not. Computed bool

  rf_cache_opertional_mode Operational Mode of the SDS RF Cache. Computed string

  rf_cache_page_size_kb Page size of the SDS RF Cache in KB. Computed int64

  rf_cache_max_io_size_kb Maximum io of the SDS RF Cache in KB. Computed int64

  fgl_default_num_concurrent_writes Fine Granularity default number of concurrent writes. Computed int64

  fgl_metadata_cache_enabled Whether Fine Granularity Metadata Cache is enabled or not. Computed bool

  fgl_default_metadata_cache_size Fine Granularity Metadata Cache size. Computed int64

       protected_maintenance_mode_network_throttling_enabled Whether network throttling is enabled for protected maintenance mode. Computed bool

  protected_maintenance_mode_network_throttling_in_kbps Maximum allowed io for protected maintenance mode in KBps. Computed int64

  rebuild_network_throttling_enabled Whether network throttling is enabled for rebuilding. Computed bool

  rebuild_network_throttling_in_kbps Maximum allowed io for rebuilding in KBps. Computed int64

  rebalance_network_throttling_enabled Whether network throttling is enabled for rebalancing. Computed bool

  rebalance_network_throttling_in_kbps PMaximum allowed io for rebalancing in KBps. Computed int64

  vtree_migration_network_throttling_enabled Whether network throttling is enabled for vtree migration. Computed bool

  overall_io_network_throttling_enabled Whether network throttling is enabled for overall io. Computed bool

  overall_io_network_throttling_in_kbps Maximum allowed io for protected maintenance mode in KBps. Must be greater than any other network throttling parameter. Computed int64

  sdr_sds_connectivity SDR-SDS Connectivity information. Computed list

  client_server_conn_status Connectivity Status. Computed string

  disconnected_client_id ID of the disconnected client. Computed string

  disconnected_client_name Name of the disconnected client. Computed string

  disconnected_server_id ID of the disconnected server. Computed string

  disconnected_server_name Name of the disconnected server. Computed string

  disconnected_server_ip IP address of the disconnected server. Computed string

  sds_decoupled_counter SDS Decoupled Counter windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  sds_configuration_failure_counter SDS Configuration Failure Counter windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  mdm_sds_network_disconnections_counter MDM-SDS Network Disconnection Counter windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  sds_sds_network_disconnections_counter SDS-SDS Network Disconnection Counter windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  sds_receive_buffer_allocation_failures_counter SDS receive Buffer Allocation Failure Counter windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  replication_capacity_max_ratio Maximum Replication Capacity Ratio. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

  links Underlying REST API links. Computed List

    rel Specifies the relationship with the protection domain. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get protection domain details by id

data "powerflex_protection_domain" "pd1" {						
    id = "4eeb304600000000"
}

Get protection domain details by name

data "powerflex_protection_domain" "pd2" {			
    name = "domain1"
}

Get all protection domains

data "powerflex_protection_domain" "pd3" {						
}

Note

  • id and name are mutually exclusive.

SDS Datasource

Manage SDS on Dell PowerFlex

Synopsis

Managing SDS on PowerFlex storage system includes getting details of SDS using id or name of SDS

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
protection_domain_id Protection Domain ID. Optional string

protection_domain_name Protection Domain Name. Optional  string

sds_ids List of SDS IDs.  Optional list

sds_names List of SDS names.  Optional list 

sds_details List of SDS. Computed list
  id SDS ID. Computed  string 

  name SDS name. Computed string

  ip_list List of IPs associated with SDS. Computed list

    ip SDS IP. Computed string

    role SDS IP role. Computed string

  port SDS port. Computed int64

  sds_state SDS state. Computed string

  membership_state Membership state. Computed string

  mdm_connection_state MDM connection state. Computed string

  drl_mode DRL mode. Computed string

  rmcache_enabled Whether RM cache is enabled or not. Computed bool

  rmcache_size Indicates the size of Read RAM Cache on the specified SDS in KB. Computed int64

  rmcache_frozen Indicates whether the Read RAM Cache is currently temporarily not in use. Computed bool

  on_vmware Presence on VMware. Computed bool

  faultset_id Fault set ID. Computed string

  num_io_buffers Number of IO buffers. Computed int64

  rmcache_memory_allocation_state Indicates the state of the memory allocation process (in progress/done). Computed string

  performance_profile Performance profile. Computed string

  software_version_info Software version information. Computed string

  configured_drl_mode Configured DRL mode. Computed string

  rfcache_enabled Whether RF cache is enabled or not. Computed bool

  maintenance_state Maintenance state. Computed string

  maintenance_type Maintenance type. Computed string

  rfcache_error_low_resources RF cache error for low resources. Computed bool

  rfcache_error_api_version_mismatch RF cache error for API version mismatch. Computed bool

       rfcache_error_inconsistent_cache_configuration RF cache error for inconsistent cache configuration. Computed bool

       rfcache_error_inconsistent_source_configuration RF cache error for inconsistent source configuration. Computed bool

  rfcache_error_invalid_driver_path RF cache error for invalid driver path. Computed bool

  rfcache_error_device_does_not_exist RF cache error for device does not exist. Computed bool

  authentication_error Authentication error. Computed string

  fgl_num_concurrent_writes FGL concurrent writes. Computed int64

  fgl_metadata_cache_state FGL metadata cache state. Computed string

  fgl_metadata_cache_size FGL metadata cache size. Computed int64

  num_restarts Number of restarts. Computed list

  last_upgrade_time Last time SDS was upgraded. Computed int64

  sds_decoupled SDS decoupled windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

  sds_configuration_failure SDS configuration failure windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

  sds_receive_buffer_allocation_failures SDS receive buffer allocation failure windows. Computed list

    short_window Short Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    medium_window Medium Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

    long_window Long Window Parameters. Computed list

      threshold Threshold Computed int64

      window_size_in_sec Window Size in seconds. Computed int64

      last_oscillation_count Last oscillation count. Computed int64

      last_oscillation_time Last oscillation time. Computed int64

      max_failures_count Maximum failures count. Computed int64

  certificate_info Certificate Information. Computed list

    subject Certificate subject. Computed string

    valid_from The start date of the certificate validity. Computed string

    valid_to The end date of the certificate validity. Computed string

    thumbprint Certificate thumbprint.. Computed string

    valid_from_asn1_format The start date of the Asn1 format. Computed string

    valid_to_asn1_format The end date of the Asn1 format. Computed string

  raid_controllers RAID controllers information. Computed list

    serial_number Serial number. Computed string

    model_name Model name. Computed string

    vendor_name Vendor name. Computed string

    firmware_version Firmware version. Computed string

    driver_version Driver version. Computed string

    driver_name Driver name. Computed string

    pci_address PCI address. Computed string

    status RAID status. Computed string

    battery_status Battery status. Computed string

  links Underlying REST API links. Computed List

    rel Specifies the relationship with the SDS. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get sds details by sds names and protection domain id

    
        data "powerflex_sds" "example1" {
            protection_domain_id = "4eeb304600000000"
            sds_names = ["SDS_Test_Tf"]
        }

Get sds details by sds ids and protection domain id

        data "powerflex_sds" "example2" {
            protection_domain_id = "4eeb304600000000"
            sds_ids = ["6ae199c500000007"]
        }

Get sds details by sds names and protection domain name

        data "powerflex_sds" "example3" {
            protection_domain_name = "domain1"
            sds_names = ["SDS_Test_Tf"]
        }

Get sds details by sds id and protection domain name

        data "powerflex_sds" "example4" {
            protection_domain_name = "domain1"
            sds_ids = ["6ae199c500000007"]
        }

Get all sds under a protection domain id

        data "powerflex_sds" "example5" {
            protection_domain_id = "4eeb304600000000"
        }

Note

  • protection_domain_id and protection_domain_name are mutually exclusive.
  • sds_ids and sds_names are mutually exclusive.
  • Either protection_domain_id or protection_domain_name must mentioned to fetch the details of an sds.

Storage Pool Datasource

Manage Storage Pool on Dell PowerFlex

Synopsis

Managing storage pool on PowerFlex storage system includes getting details of storage pool using id or name of storage pool

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
protection_domain_id Protection Domain ID. Optional string

protection_domain_name Protection Domain Name. Optional  string

storage_pool_ids List of storage pool IDs.  Optional list

storage_pool_names List of storage pool names.  Optional list 

storage_pools List of storage pools. Computed list
  id Storage pool ID. Computed  string 

  name Storage pool name. Computed string

  rebalance_io_priority_policy Rebalance IO Priority Policy. Computed string

  rebuild_io_priority_policy Rebuild IO Priority Policy. Computed string

  rebuild_io_priority_bw_limit_per_device_in_kbps Rebuild Bandwidth Limit per Device. Computed int64

  rebuild_io_priority_num_of_concurrent_ios_per_device Number of Concurrent Rebuild IOPS per Device. Computed int64

  rebalance_io_priority_num_of_concurrent_ios_per_device Number of Concurrent Rebalance IOPS per Device. Computed int64

  rebalance_io_priority_bw_limit_per_device_kbps Rebalance Bandwidth Limit per Device. Computed int64

  rebuild_io_priority_app_iops_per_device_threshold Rebuild Application IOPS per Device Threshold. Computed int64

  rebalance_io_priority_app_iops_per_device_threshold Rebalance Application IOPS per Device Threshold. Computed int64

  rebuild_io_priority_app_bw_per_device_threshold_kbps Rebuild Application Bandwidth per Device Threshold. Computed int64

  rebalance_io_priority_app_bw_per_device_threshold_kbps Rebalance Application Bandwidth per Device Threshold. Computed int64

  rebuild_io_priority_quiet_period_msec Rebuild Quiet Period. Computed int64

  rebalance_io_priority_quiet_period_msec Rebalance Quiet Period. Computed int64

  zero_padding_enabled Zero Padding Enabled. Computed bool

  use_rm_cache Use RAM Read Cache. Computed bool

  spare_percentage Spare Percentage. Computed int64

  rm_cache_write_handling_mode RAM Read Cache Write Handling Mode. Computed string

  rebuild_enabled Rebuild Enabled. Computed bool

  rebalance_enabled Rebalance Enabled. Computed bool

  num_of_parallel_rebuild_rebalance_jobs_per_device Number of Parallel Rebuild/Rebalance Jobs per Device. Computed int64

  background_scanner_bw_limit_kbps Background Scanner Bandwidth Limit. Computed int64

       protected_maintenance_mode_io_priority_num_of_concurrent_ios_per_device Number of Concurrent Protected Maintenance Mode IOPS per Device. Computed int64

  data_layout Data Layout. Computed string

  vtree_migration_io_priority_bw_limit_per_device_kbps VTree Migration Bandwidth Limit per Device. Computed int64

  vtree_migration_io_priority_policy VTree Migration IO Priority Policy. Computed string

  address_space_usage Address space usage. Computed string

  external_acceleration_type External acceleration type. Computed string

  persistent_checksum_state Persistent Checksum State. Computed string

  use_rf_cache Use Read Flash Cache. Computed bool

  checksum_enabled Checksum Enabled. Computed bool

  compression_method Compression method. Computed string

  fragmentation_enabled Fragmentation Enabled. Computed bool

  capacity_usage_state Capacity usage state (normal/high/critical/full). Computed string

  capacity_usage_type Usage state reason. Computed string

  address_space_usage_type Address space usage reason. Computed string

  bg_scanner_compare_error_action Scanner compare-error action. Computed string

  bg_scanner_read_error_action Scanner read-error action. Computed string

  replication_capacity_max_ratio Replication allowed capacity. Computed int64

  persistent_checksum_enabled Persistent checksum enabled. Computed bool

  persistent_checksum_builder_limit_kb Persistent checksum builder limit. Computed int64

  persistent_checksum_validate_on_read Persistent checksum validation on read. Computed bool

  vtree_migration_io_priority_num_of_concurrent_ios_per_device Number of concurrent VTree migration IOPS per device. Computed int64

  protected_maintenance_mode_io_priority_policy Protected maintenance mode IO priority policy. Computed string

  background_scanner_mode Scanner mode. Computed string

  media_type Media type. Computed string

  capacity_alert_high_threshold Capacity alert high threshold. Computed int64

  capacity_alert_critical_threshold Capacity alert critical threshold. Computed int64

  vtree_migration_io_priority_app_iops_per_device_threshold VTree migration IO priority App IOPS per device threshold. Computed int64

  vtree_migration_io_priority_app_bw_per_device_threshold_kbps VTree migration IO priority App bandwidth per device threshold in Kbps. Computed int64

  vtree_migration_io_priority_quiet_period_msec VTree migration IO priority quiet period in Msec. Computed int64

  fgl_accp_id FGL ID. Computed string

  fgl_extra_capacity FGL extra capacity. Computed int64

  fgl_overprovisioning_factor FGL overprovisioning factor. Computed int64

  fgl_write_atomicity_size FGL write atomicity size. Computed int64

  fgl_nvdimm_write_cache_size_mb FGL NVDIMM write cache size in Mb. Computed int64

  fgl_nvdimm_metadata_amotization_x100 FGL NVDIMM metadata amortization. Computed int64

  fgl_perf_profile FGL performance profile. Computed string

  protected_maintenance_mode_io_priority_bw_limit_per_device_kbps Protected maintenance mode IO priority bandwidth limit per device in Kbps. Computed int64

  protected_maintenance_mode_io_priority_app_iops_per_device_threshold Protected maintenance mode IO priority app IOPS per device threshold. Computed int64

      protected_maintenance_mode_io_priority_app_bw_per_device_threshold_kbps Protected maintenance mode IO priority app bandwidth per device threshold in Kbps. Computed int64

  protected_maintenance_mode_io_priority_quiet_period_msec Protected maintenance mode IO priority quiet period in Msec. Computed int64

  volumes List of volumes associated with storage pool. Computed list

    id Volume ID. Computed string

    name Volume Name. Computed string

  sds List of SDS associated with storage pool. Computed list

    id SDS ID. Computed string

    name SDS Name. Computed string

  links Underlying REST API links. Computed List

    rel Specifies the relationship with the storage pool. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get storage pool details by storage pool names and protection domain id

        data "powerflex_storagepool" "example1" {
            protection_domain_id = "4eeb304600000000"
            storage_pool_names = ["pool2", "pool1"]
        }

Get storage pool details by storage pool ids and protection domain id

        data "powerflex_storagepool" "example2" {
            protection_domain_id = "4eeb304600000000"
            storage_pool_ids = ["7630a24600000000", "7630a24800000002"]
        }

Get storage pool details by storage pool names and protection domain name

        data "powerflex_storagepool" "example3" {
            protection_domain_name = "domain1"
            storage_pool_names = ["pool2", "pool1"]
        }

Get storage pool details by storage pool id and protection domain name

        data "powerflex_storagepool" "example4" {
            protection_domain_name = "domain1"
            storage_pool_ids = ["7630a24600000000", "7630a24800000002"]
        }

Get all storage pools under a protection domain id

        data "powerflex_storagepool" "example5" {
            protection_domain_name = "domain1"
        }

Note

  • protection_domain_id and protection_domain_name are mutually exclusive.
  • storage_pool_ids and storage_pool_names are mutually exclusive.
  • Either protection_domain_id or protection_domain_name must be mentioned to fetch the details of an sds.

Snapshot Policy Datasource

Manage Snapshot Policy on Dell PowerFlex

Synopsis

Managing snapshot policy on PowerFlex storage system includes getting details of snapshot policy using id or name of snapshot policy

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
id ID of the snapshot policy instance. Optional And Computed string

name Name of the snapshot policy. Optional  string

snapshotpolicies List of snapshot policies.  Computed list

  id ID of the snapshot policy instance. Optional And Computed string

  name Name of the snapshot policy. Optional  string

  snapshot_policy_state Specifies the current state of the snapshot policy. Computed  string 

       auto_snapshot_creation_cadence_in_min Auto snapshot creation cadence in min. Computed int64

  max_vtree_auto_snapshots Max vtree auto snapshots. Computed int64

  num_of_source_volumes Number of source Volumes. Computed int64

  num_of_expired_but_locked_snapshots Number of expired but locked snapshots. Computed int64

  num_of_creation_failures Number of creation failures. Computed int64

  num_of_retained_snapshots_per_level Number of retained snapshots per level. Computed list of int64

  snapshot_access_mode Snapshot Access Mode. Computed string

  secure_snapshots Secure snapshots. Computed bool

  time_of_last_auto_snapshot Time of last auto snapshot. Computed int64

  next_auto_snapshot_creation_time Next auto snapshot creation time. Computed int64

       time_of_last_auto_snapshot_creation_failure Time of last auto snapshot creation failure. Computed int64

  last_auto_snapshot_creation_failure_reason Last auto snapshot creation failure reason. Computed string

  last_auto_snapshot_failure_in_first_level Last auto snapshot failure in first level. Computed bool

  num_of_auto_snapshots Number of auto snapshots. Computed int64

  num_of_locked_snapshots Number of locked snapshots. Computed int64

  system_id System Identifier. Computed string

  links Underlying REST API links. Computed list

    rel Specifies the relationship with the snapshot policy. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get snapshot policy details by snapshot policy id

    
        data "powerflex_snapshotpolicy" "sp1" {						
            id = "15ad99b900000001"
        }

Get snapshot policy details by snapshot policy name

        data "powerflex_snapshotpolicy" "sp2" {						
            name = "sample_snap_policy_1"
        }

Get all the snapshot policies

        data "powerflex_snapshotpolicy" "sp3" {						
        }

Note

  • id and name are mutually exclusive.
  • id and name cannot be empty

Volume Datasource

Manage Volume on Dell PowerFlex

Synopsis

Managing volume on PowerFlex storage system includes getting details of volume using id or name of volume

List Of Parameters

Parameter Name
Description
Required/Optional/Computed
Type
Default Value
Choices
id ID of the volume instance. Optional And Computed string

name Name of the volume. Optional  string

storage_pool_id ID of the storage pool instance.  Optional string

storage_pool_name Name of the storage pool. Optional string

volumes List of volumes. Computed  list

  id ID of the volume instance. Computed string

  name Name of the volume. Computed  string

  creation_time Specifies the time of creation. Computed int64

  size_in_kb Size of the volume in KB. Computed int64

  ancestor_volume_id The volume id to which the snapshot is linked to. Computed string

  vtree_id Unique identifier of the VTree Computed string

  consistency_group_id The unique id for the consistency group. Computed string

  volume_type Specifies the type of that volume. Computed string

  use_rm_cache Enable rm cache. Computed bool

  storage_pool_id Specifies the unique identifier of the storage pool. Computed string

  data_layout Specifies the layout for the data. Computed string

  not_genuine_snapshot Specifies if not genuine snapshot. Computed bool

  access_mode_limit Specifies the access mode limit. Computed string

  secure_snapshot_exp_time Specifies the secure snapshot expiry time. Computed int64

  managed_by Specifies by whom it's managed by. Computed string

  locked_auto_snapshot Specifies if it's a locked auto snapshot. Computed bool

       locked_auto_snapshot_marked_for_removal Specifies if it's a locked auto snapshot marked for removal. Computed bool

  compression_method Specifies the compression method. Computed string

  time_stamp_is_accurate Specifies if the time stamp is accurate. Computed bool

  original_expiry_time Specifies the original expiry time. Computed int64

  volume_replication_state Specifies the volume replication state. Computed string

  replication_journal_volume Specifies the replication journal volume. Computed bool

  replication_time_stamp Specifies the replication time stamp. Computed int64

  mapped_sdc_info Specifies the list of sdc's mapped to a volume. Computed List

    sdc_id Unique identifier for sdc. Computed string

    sdc_ip Ip of the sdc. Computed string

    limit_iops Specifies the IOPS limits. Computed int64

    limit_bw_in_mbps Specifies the bandwidth limits in Mbps. Computed int64

    sdc_name Specifies the name of the sdc. Computed string

    access_mode Specifies the access mode. Computed string

    is_direct_buffer_mapping Specifies if it is direct buffer mapping. Computed bool

  links Underlying REST API links. Computed list

    rel Specifies the relationship with the volume. Computed string

    href Specifies the exact path to fetch the details. Computed string

Examples

Get volume details by volume id

    
        data "powerflex_volume" "all" {						
            id = "457752ff000000c7"
        }

Get volume details by volume name

        data "powerflex_volume" "all" {						
            name = "cicd-dbc5a5909d"
        }

Get all the volumes

        data "powerflex_volume" "all" {						
        }

Get all the volumes under a storage pool using storage pool id

        data "powerflex_volume" "all" {						
            storage_pool_id = "7630a24600000000"
        }

Get all the volumes under a storage pool using storage pool name

        data "powerflex_volume" "all" {						
            storage_pool_name = "pool1"
        }               

Note

  • id , name , storage_pool_id, storage_pool_name are mutually exclusive and cannot be empty.