# Ansible Modules for Dell Technologies PowerFlex ## Product Guide 1.5.0 © 2022 Dell Inc. or its subsidiaries. All rights reserved. Dell, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. -------------- ## Contents * [Device Module](#device-module) * [Synopsis](#synopsis) * [Parameters](#parameters) * [Notes](#notes) * [Examples](#examples) * [Return Values](#return-values) * [Authors](#authors) * [Info Module](#info-module) * [Synopsis](#synopsis-1) * [Parameters](#parameters-1) * [Notes](#notes-1) * [Examples](#examples-1) * [Return Values](#return-values-1) * [Authors](#authors-1) * [MDM Cluster Module](#mdm-cluster-module) * [Synopsis](#synopsis-2) * [Parameters](#parameters-2) * [Notes](#notes-2) * [Examples](#examples-2) * [Return Values](#return-values-2) * [Authors](#authors-2) * [Protection Domain Module](#protection-domain-module) * [Synopsis](#synopsis-3) * [Parameters](#parameters-3) * [Notes](#notes-3) * [Examples](#examples-3) * [Return Values](#return-values-3) * [Authors](#authors-3) * [Replication Consistency Group Module](#replication-consistency-group-module) * [Synopsis](#synopsis-4) * [Parameters](#parameters-4) * [Notes](#notes-4) * [Examples](#examples-4) * [Return Values](#return-values-4) * [Authors](#authors-4) * [SDC Module](#sdc-module) * [Synopsis](#synopsis-5) * [Parameters](#parameters-5) * [Notes](#notes-5) * [Examples](#examples-5) * [Return Values](#return-values-5) * [Authors](#authors-5) * [SDS Module](#sds-module) * [Synopsis](#synopsis-6) * [Parameters](#parameters-6) * [Notes](#notes-6) * [Examples](#examples-6) * [Return Values](#return-values-6) * [Authors](#authors-6) * [Storage Pool Module](#storage-pool-module) * [Synopsis](#synopsis-7) * [Parameters](#parameters-7) * [Notes](#notes-7) * [Examples](#examples-7) * [Return Values](#return-values-7) * [Authors](#authors-7) * [Volume Module](#volume-module) * [Synopsis](#synopsis-8) * [Parameters](#parameters-8) * [Notes](#notes-8) * [Examples](#examples-8) * [Return Values](#return-values-8) * [Authors](#authors-8) -------------- # Device Module Manage device on Dell PowerFlex ### Synopsis Managing device on PowerFlex storage system includes adding new device, getting details of device, and removing a device. ### Parameters
Parameter Type Required Default Choices Description
current_pathname str
Full path of the device to be added.
Required while adding a device.
device_name str
Device name.
Mutually exclusive with device_id.
device_id str
Device ID.
Mutually exclusive with device_name.
sds_name str
The name of the SDS.
Required while adding a device.
Mutually exclusive with sds_id.
sds_id str
The ID of the SDS.
Required while adding a device.
Mutually exclusive with sds_name.
storage_pool_name str
Storage Pool name.
Used while adding a storage device.
Mutually exclusive with storage_pool_id, acceleration_pool_id and acceleration_pool_name.
storage_pool_id str
Storage Pool ID.
Used while adding a storage device.
Media type supported are SSD and HDD.
Mutually exclusive with storage_pool_name, acceleration_pool_id and acceleration_pool_name.
acceleration_pool_name str
Acceleration Pool Name.
Used while adding an acceleration device.
Media type supported are SSD and NVDIMM.
Mutually exclusive with storage_pool_id, storage_pool_name and acceleration_pool_name.
acceleration_pool_id str
Acceleration Pool ID.
Used while adding an acceleration device.
Media type supported are SSD and NVDIMM.
Mutually exclusive with acceleration_pool_name, storage_pool_name and storage_pool_id.
protection_domain_name str
Protection domain name.
Used while identifying a storage pool along with storage_pool_name.
Mutually exclusive with protection_domain_id.
protection_domain_id str
Protection domain ID.
Used while identifying a storage pool along with storage_pool_name.
Mutually exclusive with protection_domain_name.
external_acceleration_type str
  • Invalid
  • None
  • Read
  • Write
  • ReadAndWrite

Device external acceleration types.
Used while adding a device.
media_type str
  • HDD
  • SSD
  • NVDIMM

Device media types.
Required while adding a device.
state str True
  • present
  • absent

State of the device.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The value for device_id is generated only after successful addition of the device. * To uniquely identify a device, either device_id can be passed or one of current_pathname or device_name must be passed with sds_id or sds_name. * It is recommended to install Rfcache driver for SSD device on SDS in order to add it to an acceleration pool. * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Add a device dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" current_pathname: "/dev/sdb" sds_name: "node1" media_type: "HDD" device_name: "device2" storage_pool_name: "pool1" protection_domain_name: "domain1" external_acceleration_type: "ReadAndWrite" state: "present" - name: Get device details using device_id dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" device_id: "d7fe088900000000" state: "present" - name: Get device details using (current_pathname, sds_name) dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" current_pathname: "/dev/sdb" sds_name: "node0" state: "present" - name: Get device details using (current_pathname, sds_id) dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" current_pathname: "/dev/sdb" sds_id: "5717d71800000000" state: "present" - name: Remove a device using device_id dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" device_id: "76eb7e2f00010000" state: "absent" - name: Remove a device using (current_pathname, sds_id) dellemc.powerflex.device: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" current_pathname: "/dev/sdb" sds_name: "node1" state: "absent" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
device_details dict When device exists Details of the device.
  accelerationPoolId str success Acceleration pool ID.
  accelerationPoolName str success Acceleration pool name.
  accelerationProps str success Indicates acceleration props.
  aggregatedState str success Indicates aggregated state.
  ataSecurityActive bool success Indicates ATA security active state.
  autoDetectMediaType str success Indicates auto detection of media type.
  cacheLookAheadActive bool success Indicates cache look ahead active state.
  capacity int success Device capacity.
  capacityLimitInKb int success Device capacity limit in KB.
  deviceCurrentPathName str success Device current path name.
  deviceOriginalPathName str success Device original path name.
  deviceState str success Indicates device state.
  deviceType str success Indicates device type.
  errorState str success Indicates error state.
  externalAccelerationType str success Indicates external acceleration type.
  fglNvdimmMetadataAmortizationX100 int success Indicates FGL NVDIMM meta data amortization value.
  fglNvdimmWriteCacheSize int success Indicates FGL NVDIMM write cache size.
  firmwareVersion str success Indicates firmware version.
  id str success Device ID.
  ledSetting str success Indicates LED setting.
  links list success Device links.
    href str success Device instance URL.
    rel str success Relationship of device with different entities.
  logicalSectorSizeInBytes int success Logical sector size in bytes.
  longSuccessfulIos list success Indicates long successful IOs.
  maxCapacityInKb int success Maximum device capacity limit in KB.
  mediaFailing bool success Indicates media failing.
  mediaType str success Indicates media type.
  modelName str success Indicates model name.
  name str success Device name.
  persistentChecksumState str success Indicates persistent checksum state.
  physicalSectorSizeInBytes int success Physical sector size in bytes.
  protectionDomainId str success Protection domain ID.
  protectionDomainName str success Protection domain name.
  raidControllerSerialNumber str success RAID controller serial number.
  rfcacheErrorDeviceDoesNotExist bool success Indicates RF cache error device does not exist.
  rfcacheProps str success RF cache props.
  sdsId str success SDS ID.
  sdsName str success SDS name.
  serialNumber str success Indicates Serial number.
  spSdsId str success Indicates SPs SDS ID.
  ssdEndOfLifeState str success Indicates SSD end of life state.
  storagePoolId str success Storage Pool ID.
  storagePoolName str success Storage Pool name.
  storageProps list success Storage props.
  temperatureState str success Indicates temperature state.
  vendorName str success Indicates vendor name.
  writeCacheActive bool success Indicates write cache active.
### Authors * Rajshree Khare (@khareRajshree) -------------------------------- # Info Module Gathering information about Dell PowerFlex ### Synopsis Gathering information about Dell PowerFlex storage system includes getting the api details, list of volumes, SDSs, SDCs, storage pools, protection domains, snapshot policies, and devices. ### Parameters
Parameter Type Required Default Choices Description
gather_subset list
elements: str
  • vol
  • storage_pool
  • protection_domain
  • sdc
  • sds
  • snapshot_policy
  • device
  • rcg

List of string variables to specify the Powerflex storage system entities for which information is required.
Volumes - vol.
Storage pools - storage_pool.
Protection domains - protection_domain.
SDCs - sdc.
SDSs - sds.
Snapshot policies - snapshot_policy.
Devices - device.
Replication consistency groups - rcg.
filters list
elements: dict

List of filters to support filtered output for storage entities.
Each filter is a list of filter_key, filter_operator, filter_value.
Supports passing of multiple filters.
  filter_key str True
Name identifier of the filter.
  filter_operator str True
  • equal

Operation to be performed on filter key.
  filter_value str True
Value of the filter key.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The check_mode is supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Get detailed list of PowerFlex entities dellemc.powerflex.info: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" gather_subset: - vol - storage_pool - protection_domain - sdc - sds - snapshot_policy - device - rcg - name: Get a subset list of PowerFlex volumes dellemc.powerflex.info: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" gather_subset: - vol filters: - filter_key: "name" filter_operator: "equal" filter_value: "ansible_test" ``` ### Return Values
Key Type Returned Description
API_Version str always API version of PowerFlex API Gateway.
Array_Details dict always System entities of PowerFlex storage array.
  addressSpaceUsage str success Address space usage.
  authenticationMethod str success Authentication method.
  capacityAlertCriticalThresholdPercent int success Capacity alert critical threshold percentage.
  capacityAlertHighThresholdPercent int success Capacity alert high threshold percentage.
  capacityTimeLeftInDays str success Capacity time left in days.
  cliPasswordAllowed bool success CLI password allowed.
  daysInstalled int success Days installed.
  defragmentationEnabled bool success Defragmentation enabled.
  enterpriseFeaturesEnabled bool success Enterprise features enabled.
  id str success The ID of the system.
  installId str success installation Id.
  isInitialLicense bool success Initial license.
  lastUpgradeTime int success Last upgrade time.
  managementClientSecureCommunicationEnabled bool success Management client secure communication enabled.
  maxCapacityInGb dict success Maximum capacity in GB.
  mdmCluster dict success MDM cluster details.
  mdmExternalPort int success MDM external port.
  mdmManagementPort int success MDM management port.
  mdmSecurityPolicy str success MDM security policy.
  showGuid bool success Show guid.
  swid str success SWID.
  systemVersionName str success System version and name.
  tlsVersion str success TLS version.
  upgradeState str success Upgrade state.
Devices list always Details of devices.
  id str success device id.
  name str success device name.
Protection_Domains list always Details of all protection domains.
  id str success protection domain id.
  name str success protection domain name.
Replication_Consistency_Groups list always Details of rcgs.
  abstractState str success The abstract state of the replication consistency group.
  activeLocal bool success Whether the local replication consistency group is active.
  activeRemote bool success Whether the remote replication consistency group is active
  currConsistMode str success The current consistency mode of the replication consistency group.
  disasterRecoveryState str success The state of disaster recovery of the local replication consistency group.
  error int success The error code of the replication consistency group.
  failoverState str success The state of failover of the replication consistency group.
  failoverType str success The type of failover of the replication consistency group.
  freezeState str success The freeze state of the replication consistency group.
  id str success The ID of the replication consistency group.
  inactiveReason int success The reason for the inactivity of the replication consistency group.
  lastSnapCreationRc int success The return code of the last snapshot of the replication consistency group.
  lastSnapGroupId str success ID of the last snapshot of the replication consistency group.
  lifetimeState str success The Lifetime state of the replication consistency group.
  localActivityState str success The state of activity of the local replication consistency group.
  name str success The name of the replication consistency group.
  pauseMode str success The Lifetime state of the replication consistency group.
  peerMdmId str success The ID of the peer MDM of the replication consistency group.
  protectionDomainId str success The Protection Domain ID of the replication consistency group.
  remoteActivityState str success The state of activity of the remote replication consistency group..
  remoteDisasterRecoveryState str success The state of disaster recovery of the remote replication consistency group.
  remoteId str success The ID of the remote replication consistency group.
  remoteMdmId str success The ID of the remote MDM of the replication consistency group.
  remoteProtectionDomainId str success The ID of the remote Protection Domain.
  remoteProtectionDomainName str success The Name of the remote Protection Domain.
  replicationDirection str success The direction of the replication of the replication consistency group.
  rpoInSeconds int success The RPO value of the replication consistency group in seconds.
  snapCreationInProgress bool success Whether the process of snapshot creation of the replication consistency group is in progress or not.
  targetVolumeAccessMode str success The access mode of the target volume of the replication consistency group.
  type str success The type of the replication consistency group.
SDCs list always Details of storage data clients.
  id str success storage data client id.
  name str success storage data client name.
SDSs list always Details of storage data servers.
  id str success storage data server id.
  name str success storage data server name.
Snapshot_Policies list always Details of snapshot policies.
  id str success snapshot policy id.
  name str success snapshot policy name.
Storage_Pools list always Details of storage pools.
  id str success ID of the storage pool under protection domain.
  mediaType str success Type of devices in the storage pool.
  name str success Name of the storage pool under protection domain.
  protectionDomainId str success ID of the protection domain in which pool resides.
  protectionDomainName str success Name of the protection domain in which pool resides.
  statistics dict success Statistics details of the storage pool.
    capacityInUseInKb str success Total capacity of the storage pool.
    deviceIds list success Device Ids of the storage pool.
    unusedCapacityInKb str success Unused capacity of the storage pool.
  useRfcache bool success Enable/Disable RFcache on a specific storage pool.
  useRmcache bool success Enable/Disable RMcache on a specific storage pool.
Volumes list always Details of volumes.
  id str success The ID of the volume.
  mappedSdcInfo dict success The details of the mapped SDC.
    accessMode str success mapping access mode for the specified volume.
    limitBwInMbps int success Bandwidth limit for the SDC.
    limitIops int success IOPS limit for the SDC.
    sdcId str success ID of the SDC.
    sdcIp str success IP of the SDC.
    sdcName str success Name of the SDC.
  name str success Name of the volume.
  protectionDomainId str success ID of the protection domain in which volume resides.
  protectionDomainName str success Name of the protection domain in which volume resides.
  sizeInGb int success Size of the volume in Gb.
  sizeInKb int success Size of the volume in Kb.
  snapshotPolicyId str success ID of the snapshot policy associated with volume.
  snapshotPolicyName str success Name of the snapshot policy associated with volume.
  snapshotsList str success List of snapshots associated with the volume.
  statistics dict success Statistics details of the storage pool.
    numOfChildVolumes int success Number of child volumes.
    numOfMappedSdcs int success Number of mapped Sdcs of the volume.
  storagePoolId str success ID of the storage pool in which volume resides.
  storagePoolName str success Name of the storage pool in which volume resides.
changed bool always Whether or not the resource has changed.
### Authors * Arindam Datta (@dattaarindam) -------------------------------- # MDM Cluster Module Manage MDM cluster on Dell PowerFlex ### Synopsis Managing MDM cluster and MDMs on PowerFlex storage system includes adding/removing standby MDM, modify MDM name and virtual interface. It also includes getting details of MDM cluster, modify MDM cluster ownership, cluster mode, and performance profile. ### Parameters
Parameter Type Required Default Choices Description
mdm_name str
The name of the MDM. It is unique across the PowerFlex array.
Mutually exclusive with mdm_id.
If mdm_name passed in add standby operation, then same name will be assigned to the new standby mdm.
mdm_id str
The ID of the MDM.
Mutually exclusive with mdm_name.
mdm_new_name str
To rename the MDM.
standby_mdm dict
Specifies add standby MDM parameters.
  mdm_ips list
elements: str
True
List of MDM IPs that will be assigned to new MDM. It can contain IPv4 addresses.
  role str True
  • Manager
  • TieBreaker

Role of new MDM.
  management_ips list
elements: str

List of management IPs to manage MDM. It can contain IPv4 addresses.
  port int
Specifies the port of new MDM.
  allow_multiple_ips bool
Allow the added node to have different number of IPs from the primary node.
  virtual_interfaces list
elements: str

List of NIC interfaces that will be used for virtual IP addresses.
is_primary bool
Set is_primary as True to change MDM cluster ownership from the current master MDM to different MDM.
Set is_primary as False, will return MDM cluster details.
New owner MDM must be an MDM with a manager role.
cluster_mode str
  • OneNode
  • ThreeNodes
  • FiveNodes

Mode of the cluster.
mdm list
elements: dict

Specifies parameters to add/remove MDMs to/from the MDM cluster.
  mdm_id str
ID of MDM that will be added/removed to/from the cluster.
  mdm_name str
Name of MDM that will be added/removed to/from the cluster.
  mdm_type str True
  • Secondary
  • TieBreaker

Type of the MDM.
Either mdm_id or mdm_name must be passed with mdm_type.
mdm_state str
  • present-in-cluster
  • absent-in-cluster

Mapping state of MDM.
virtual_ip_interfaces list
elements: str

List of interfaces to be used for virtual IPs.
The order of interfaces must be matched with virtual IPs assigned to the cluster.
Interfaces of the primary and secondary type MDMs are allowed to modify.
The virtual_ip_interfaces is mutually exclusive with clear_interfaces.
clear_interfaces bool
Clear all virtual IP interfaces.
The clear_interfaces is mutually exclusive with virtual_ip_interfaces.
performance_profile str
  • Compact
  • HighPerformance

Apply performance profile to cluster MDMs.
state str True
  • present
  • absent

State of the MDM cluster.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * Parameters mdm_name or mdm_id are mandatory for rename and modify virtual IP interfaces. * Parameters mdm_name or mdm_id are not required while modifying performance profile. * For change MDM cluster ownership operation, only changed as True will be returned and for idempotency case MDM cluster details will be returned. * Reinstall all SDC after changing ownership to some newly added MDM. * To add manager standby MDM, MDM package must be installed with manager role. * The check_mode is supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Add a standby MDM dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_1" standby_mdm: mdm_ips: - "10.x.x.x" role: "TieBreaker" management_ips: - "10.x.y.z" state: "present" - name: Remove a standby MDM dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_1" state: "absent" - name: Switch cluster mode from 3 node to 5 node MDM cluster dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" cluster_mode: "FiveNodes" mdm: - mdm_id: "5f091a8a013f1100" mdm_type: "Secondary" - mdm_name: "mdm_1" mdm_type: "TieBreaker" sdc_state: "present-in-cluster" state: "present" - name: Switch cluster mode from 5 node to 3 node MDM cluster dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" cluster_mode: "ThreeNodes" mdm: - mdm_id: "5f091a8a013f1100" mdm_type: "Secondary" - mdm_name: "mdm_1" mdm_type: "TieBreaker" sdc_state: "absent-in-cluster" state: "present" - name: Get the details of the MDM cluster dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" state: "present" - name: Change ownership of MDM cluster dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_2" is_primary: True state: "present" - name: Modify performance profile dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" performance_profile: "HighPerformance" state: "present" - name: Rename the MDM dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_1" mdm_new_name: "new_mdm_1" state: "present" - name: Modify virtual IP interface of the MDM dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_1" virtual_ip_interface: - "ens224" state: "present" - name: Clear virtual IP interface of the MDM dellemc.powerflex.mdm_cluster: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" mdm_name: "mdm_1" clear_interfaces: True state: "present" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
mdm_cluster_details dict When MDM cluster exists Details of the MDM cluster.
  clusterMode str success Mode of the MDM cluster.
  clusterState str success State of the MDM cluster.
  goodNodesNum int success Number of Nodes in MDM cluster.
  goodReplicasNum int success Number of nodes for Replication.
  id str success The ID of the MDM cluster.
  master dict success The details of the master MDM.
    id str success ID of the MDM.
    ips list success List of IPs for master MDM.
    managementIPs list success List of management IPs for master MDM.
    name str success Name of the MDM.
    opensslVersion str success OpenSSL version.
    port str success Port of the MDM.
    role str success Role of MDM.
    status str success Status of MDM.
    versionInfo str success Version of MDM.
    virtualInterfaces list success List of virtual interfaces
  name str success Name of MDM cluster.
  slaves list success The list of the secondary MDMs.
    id str success ID of the MDM.
    ips list success List of IPs for secondary MDM.
    managementIPs list success List of management IPs for secondary MDM.
    name str success Name of the MDM.
    opensslVersion str success OpenSSL version.
    port str success Port of the MDM.
    role str success Role of MDM.
    status str success Status of MDM.
    versionInfo str success Version of MDM.
    virtualInterfaces list success List of virtual interfaces
  standbyMDMs list success The list of the standby MDMs.
    id str success ID of the MDM.
    ips list success List of IPs for MDM.
    managementIPs list success List of management IPs for MDM.
    name str success Name of the MDM.
    opensslVersion str success OpenSSL version.
    port str success Port of the MDM.
    role str success Role of MDM.
    status str success Status of MDM.
    versionInfo str success Version of MDM.
    virtualInterfaces list success List of virtual interfaces.
  tieBreakers list success The list of the TieBreaker MDMs.
    id str success ID of the MDM.
    ips list success List of IPs for tie-breaker MDM.
    managementIPs list success List of management IPs for tie-breaker MDM.
    name str success Name of the MDM.
    opensslVersion str success OpenSSL version.
    port str success Port of the MDM.
    role str success Role of MDM.
    status str success Status of MDM.
    versionInfo str success Version of MDM.
  virtualIps list success List of virtual IPs.
### Authors * Bhavneet Sharma (@sharmb5) -------------------------------- # Protection Domain Module Manage Protection Domain on Dell PowerFlex ### Synopsis Managing Protection Domain on PowerFlex storage system includes creating, modifying attributes, deleting and getting details of Protection Domain. ### Parameters
Parameter Type Required Default Choices Description
protection_domain_name str
The name of the protection domain.
Mandatory for create operation.
It is unique across the PowerFlex array.
Mutually exclusive with protection_domain_id.
protection_domain_id str
The ID of the protection domain.
Except for create operation, all other operations can be performed using protection_domain_id.
Mutually exclusive with protection_domain_name.
protection_domain_new_name str
Used to rename the protection domain.
is_active bool
Used to activate or deactivate the protection domain.
network_limits dict
Network bandwidth limit used by all SDS in protection domain.
  rebuild_limit int
Limit the network bandwidth for rebuild.
  rebalance_limit int
Limit the network bandwidth for rebalance.
  vtree_migration_limit int
Limit the network bandwidth for vtree migration.
  overall_limit int
Limit the overall network bandwidth.
  bandwidth_unit str KBps
  • KBps
  • MBps
  • GBps

Unit for network bandwidth limits.
rf_cache_limits dict
Used to set the RFcache parameters of the protection domain.
  is_enabled bool
Used to enable or disable RFcache in the protection domain.
  page_size int
Used to set the cache page size in KB.
  max_io_limit int
Used to set cache maximum I/O limit in KB.
  pass_through_mode str
  • None
  • Read
  • Write
  • ReadAndWrite
  • WriteMiss

Used to set the cache mode.
state str True
  • present
  • absent

State of the protection domain.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The protection domain can only be deleted if all its related objects have been dissociated from the protection domain. * If the protection domain set to inactive, then no operation can be performed on protection domain. * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Create protection domain dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1" state: "present" - name: Create protection domain with all parameters dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1" is_active: true network_limits: rebuild_limit: 10 rebalance_limit: 17 vtree_migration_limit: 14 overall_limit: 20 bandwidth_unit: "MBps" rf_cache_limits: is_enabled: true page_size: 16 max_io_limit: 128 pass_through_mode: "Read" state: "present" - name: Get protection domain details using name dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1" state: "present" - name: Get protection domain details using ID dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_id: "5718253c00000004" state: "present" - name: Modify protection domain attributes dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1" protection_domain_new_name: "domain1_new" network_limits: rebuild_limit: 14 rebalance_limit: 20 overall_limit: 25 bandwidth_unit: "MBps" rf_cache_limits: page_size: 64 pass_through_mode: "WriteMiss" state: "present" - name: Delete protection domain using name dellemc.powerflex.protection_domain: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1_new" state: "absent" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
protection_domain_details dict When protection domain exists Details of the protection domain.
  fglDefaultMetadataCacheSize int success FGL metadata cache size.
  fglDefaultNumConcurrentWrites str success FGL concurrent writes.
  fglMetadataCacheEnabled bool success Whether FGL cache enabled.
  id str success Protection domain ID.
  links list success Protection domain links.
    href str success Protection domain instance URL.
    rel str success Protection domain's relationship with different entities.
  mdmSdsNetworkDisconnectionsCounterParameters dict success MDM's SDS counter parameter.
    longWindow int success Long window for Counter Parameters.
    mediumWindow int success Medium window for Counter Parameters.
    shortWindow int success Short window for Counter Parameters.
  name str success Name of the protection domain.
  overallIoNetworkThrottlingEnabled bool success Whether overall network throttling enabled.
  overallIoNetworkThrottlingInKbps int success Overall network throttling in KBps.
  protectedMaintenanceModeNetworkThrottlingEnabled bool success Whether protected maintenance mode network throttling enabled.
  protectedMaintenanceModeNetworkThrottlingInKbps int success Protected maintenance mode network throttling in KBps.
  protectionDomainState int success State of protection domain.
  rebalanceNetworkThrottlingEnabled int success Whether rebalance network throttling enabled.
  rebalanceNetworkThrottlingInKbps int success Rebalance network throttling in KBps.
  rebuildNetworkThrottlingEnabled int success Whether rebuild network throttling enabled.
  rebuildNetworkThrottlingInKbps int success Rebuild network throttling in KBps.
  rfcacheAccpId str success Id of RF cache acceleration pool.
  rfcacheEnabled bool success Whether RF cache is enabled or not.
  rfcacheMaxIoSizeKb int success RF cache maximum I/O size in KB.
  rfcacheOpertionalMode str success RF cache operational mode.
  rfcachePageSizeKb bool success RF cache page size in KB.
  sdrSdsConnectivityInfo dict success Connectivity info of SDR and SDS.
    clientServerConnStatus str success Connectivity status of client and server.
    disconnectedClientId str success Disconnected client ID.
    disconnectedClientName str success Disconnected client name.
    disconnectedServerId str success Disconnected server ID.
    disconnectedServerIp str success Disconnected server IP.
    disconnectedServerName str success Disconnected server name.
  sdsSdsNetworkDisconnectionsCounterParameters dict success Counter parameter for SDS-SDS network.
    longWindow int success Long window for Counter Parameters.
    mediumWindow int success Medium window for Counter Parameters.
    shortWindow int success Short window for Counter Parameters.
  storagePool list success List of storage pools.
  systemId str success ID of system.
  vtreeMigrationNetworkThrottlingEnabled bool success Whether V-Tree migration network throttling enabled.
  vtreeMigrationNetworkThrottlingInKbps int success V-Tree migration network throttling in KBps.
### Authors * Bhavneet Sharma (@sharmb5) -------------------------------- # Replication Consistency Group Module Manage replication consistency groups on Dell PowerFlex ### Synopsis Managing replication consistency groups on PowerFlex storage system includes getting details, creating, modifying, creating snapshots, pause, resume, freeze, unfreeze, activate, inactivate and deleting a replication consistency group. ### Parameters
Parameter Type Required Default Choices Description
rcg_name str
The name of the replication consistency group.
It is unique across the PowerFlex array.
Mutually exclusive with rcg_id.
rcg_id str
The ID of the replication consistency group.
Mutually exclusive with rcg_name.
create_snapshot bool
Whether to create the snapshot of the replication consistency group.
rpo int
Desired RPO in seconds.
protection_domain_id str
Protection domain id.
Mutually exclusive with protection_domain_name.
protection_domain_name str
Protection domain name.
Mutually exclusive with protection_domain_id.
activity_mode str
  • Active
  • Inactive

Activity mode of RCG.
This parameter is supported for version 3.6 and above.
pause bool
Pause or resume the RCG.
freeze bool
Freeze or unfreeze the RCG.
pause_mode str
  • StopDataTransfer
  • OnlyTrackChanges

Pause mode.
It is required if pause is set as True.
target_volume_access_mode str
  • ReadOnly
  • NoAccess

Target volume access mode.
is_consistent bool
Consistency of RCG.
new_rcg_name str
Name of RCG to rename to.
remote_peer dict
Remote peer system.
  hostname str True
IP or FQDN of the remote peer host.
  username str True
The username of the remote peer host.
  password str True
The password of the remote peer host.
  validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
  port int 443
Port number through which communication happens with remote peer host.
  timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
  protection_domain_id str
Remote protection domain id.
Mutually exclusive with protection_domain_name.
  protection_domain_name str
Remote protection domain name.
Mutually exclusive with protection_domain_id.
state str present
  • present
  • absent

State of the replication consistency group.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The check_mode is supported. * Idempotency is not supported for create snapshot operation. * There is a delay in reflection of final state of RCG after few update operations on RCG. * In 3.6 and above, the replication consistency group will return back to consistent mode on changing to inconsistent mode if consistence barrier arrives. Hence idempotency on setting to inconsistent mode will return changed as True. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Get RCG details dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "{{rcg_name}}" - name: Create a snapshot of the RCG dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_id: "{{rcg_id}}" create_snapshot: True state: "present" - name: Create a replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" rpo: 60 protection_domain_name: "domain1" activity_mode: "active" remote_peer: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" protection_domain_name: "domain1" - name: Modify replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" rpo: 60 target_volume_access_mode: "ReadOnly" activity_mode: "Inactive" is_consistent: True - name: Rename replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" new_rcg_name: "rcg_test_rename" - name: Pause replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" action: "pause" pause_mode: "StopDataTransfer" - name: Resume replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" action: "resume" - name: Freeze replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" action: "freeze" - name: UnFreeze replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" action: "unfreeze" - name: Delete replication consistency group dellemc.powerflex.replication_consistency_group: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" rcg_name: "rcg_test" state: "absent" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
replication_consistency_group_details dict When replication consistency group exists Details of the replication consistency group.
  abstractState str success The abstract state of the replication consistency group.
  activeLocal bool success Whether the local replication consistency group is active.
  activeRemote bool success Whether the remote replication consistency group is active
  currConsistMode str success The current consistency mode of the replication consistency group.
  disasterRecoveryState str success The state of disaster recovery of the local replication consistency group.
  error int success The error code of the replication consistency group.
  failoverState str success The state of failover of the replication consistency group.
  failoverType str success The type of failover of the replication consistency group.
  freezeState str success The freeze state of the replication consistency group.
  id str success The ID of the replication consistency group.
  inactiveReason int success The reason for the inactivity of the replication consistency group.
  lastSnapCreationRc int success The return code of the last snapshot of the replication consistency group.
  lastSnapGroupId str success ID of the last snapshot of the replication consistency group.
  lifetimeState str success The Lifetime state of the replication consistency group.
  localActivityState str success The state of activity of the local replication consistency group.
  name str success The name of the replication consistency group.
  pauseMode str success The Lifetime state of the replication consistency group.
  peerMdmId str success The ID of the peer MDM of the replication consistency group.
  protectionDomainId str success The Protection Domain ID of the replication consistency group.
  remoteActivityState str success The state of activity of the remote replication consistency group..
  remoteDisasterRecoveryState str success The state of disaster recovery of the remote replication consistency group.
  remoteId str success The ID of the remote replication consistency group.
  remoteMdmId str success The ID of the remote MDM of the replication consistency group.
  remoteProtectionDomainId str success The ID of the remote Protection Domain.
  remoteProtectionDomainName str success The Name of the remote Protection Domain.
  replicationDirection str success The direction of the replication of the replication consistency group.
  rpoInSeconds int success The RPO value of the replication consistency group in seconds.
  snapCreationInProgress bool success Whether the process of snapshot creation of the replication consistency group is in progress or not.
  targetVolumeAccessMode str success The access mode of the target volume of the replication consistency group.
  type str success The type of the replication consistency group.
### Authors * Trisha Datta (@Trisha-Datta) * Jennifer John (@Jennifer-John) -------------------------------- # SDC Module Manage SDCs on Dell PowerFlex ### Synopsis Managing SDCs on PowerFlex storage system includes getting details of SDC and renaming SDC. ### Parameters
Parameter Type Required Default Choices Description
sdc_name str
Name of the SDC.
Specify either sdc_name, sdc_id or sdc_ip for get/rename operation.
Mutually exclusive with sdc_id and sdc_ip.
sdc_id str
ID of the SDC.
Specify either sdc_name, sdc_id or sdc_ip for get/rename operation.
Mutually exclusive with sdc_name and sdc_ip.
sdc_ip str
IP of the SDC.
Specify either sdc_name, sdc_id or sdc_ip for get/rename operation.
Mutually exclusive with sdc_id and sdc_name.
sdc_new_name str
New name of the SDC. Used to rename the SDC.
state str True
  • present
  • absent

State of the SDC.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Get SDC details using SDC ip dellemc.powerflex.sdc: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" sdc_ip: "{{sdc_ip}}" state: "present" - name: Rename SDC using SDC name dellemc.powerflex.sdc: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" sdc_name: "centos_sdc" sdc_new_name: "centos_sdc_renamed" state: "present" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
sdc_details dict When SDC exists Details of the SDC.
  id str success The ID of the SDC.
  mapped_volumes list success The details of the mapped volumes.
    id str success The ID of the volume.
    name str success The name of the volume.
    volumeType str success Type of the volume.
  name str success Name of the SDC.
  osType str success OS type of the SDC.
  sdcApproved bool success Indicates whether an SDC has approved access to the system.
  sdcIp str success IP of the SDC.
### Authors * Akash Shendge (@shenda1) -------------------------------- # SDS Module Manage SDS on Dell PowerFlex ### Synopsis Managing SDS on PowerFlex storage system includes creating new SDS, getting details of SDS, adding/removing IP to/from SDS, modifying attributes of SDS, and deleting SDS. ### Parameters
Parameter Type Required Default Choices Description
sds_name str
The name of the SDS.
Mandatory for create operation.
It is unique across the PowerFlex array.
Mutually exclusive with sds_id.
sds_id str
The ID of the SDS.
Except create operation, all other operations can be performed using sds_id.
Mutually exclusive with sds_name.
protection_domain_name str
The name of the protection domain.
Mutually exclusive with protection_domain_id.
protection_domain_id str
The ID of the protection domain.
Mutually exclusive with protection_domain_name.
sds_ip_list list
elements: dict

Dictionary of IPs and their roles for the SDS.
At least one IP-role is mandatory while creating a SDS.
IP-roles can be updated as well.
  ip str True
IP address of the SDS.
  role str True
  • sdsOnly
  • sdcOnly
  • all

Role assigned to the SDS IP address.
sds_ip_state str
  • present-in-sds
  • absent-in-sds

State of IP with respect to the SDS.
rfcache_enabled bool
Whether to enable the Read Flash cache.
rmcache_enabled bool
Whether to enable the Read RAM cache.
rmcache_size int
Read RAM cache size (in MB).
Minimum size is 128 MB.
Maximum size is 3911 MB.
sds_new_name str
SDS new name.
performance_profile str
  • Compact
  • HighPerformance

Performance profile to apply to the SDS.
The HighPerformance profile configures a predefined set of parameters for very high performance use cases.
Default value by API is HighPerformance.
state str True
  • present
  • absent

State of the SDS.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The maximum limit for the IPs that can be associated with an SDS is 8. * There needs to be at least 1 IP for SDS communication and 1 for SDC communication. * If only 1 IP exists, it must be with role 'all'; else 1 IP can be with role 'all'and other IPs with role 'sdcOnly'; or 1 IP must be with role 'sdsOnly' and others with role 'sdcOnly'. * There can be 1 or more IPs with role 'sdcOnly'. * There must be only 1 IP with SDS role (either with role 'all' or 'sdsOnly'). * SDS can be created with RF cache disabled, but, be aware that the RF cache is not always updated. In this case, the user should re-try the operation. * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Create SDS dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" protection_domain_name: "domain1" sds_ip_list: - ip: "198.10.xxx.xxx" role: "all" sds_ip_state: "present-in-sds" state: "present" - name: Create SDS with all parameters dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node1" protection_domain_name: "domain1" sds_ip_list: - ip: "198.10.xxx.xxx" role: "sdcOnly" sds_ip_state: "present-in-sds" rmcache_enabled: true rmcache_size: 128 performance_profile: "HighPerformance" state: "present" - name: Get SDS details using name dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" state: "present" - name: Get SDS details using ID dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_id: "5718253c00000004" state: "present" - name: Modify SDS attributes using name dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" sds_new_name: "node0_new" rfcache_enabled: true rmcache_enabled: true rmcache_size: 256 performance_profile: "HighPerformance" state: "present" - name: Modify SDS attributes using ID dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_id: "5718253c00000004" sds_new_name: "node0_new" rfcache_enabled: true rmcache_enabled: true rmcache_size: 256 performance_profile: "HighPerformance" state: "present" - name: Add IP and role to an SDS dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" sds_ip_list: - ip: "198.10.xxx.xxx" role: "sdcOnly" sds_ip_state: "present-in-sds" state: "present" - name: Remove IP and role from an SDS dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" sds_ip_list: - ip: "198.10.xxx.xxx" role: "sdcOnly" sds_ip_state: "absent-in-sds" state: "present" - name: Delete SDS using name dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_name: "node0" state: "absent" - name: Delete SDS using ID dellemc.powerflex.sds: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" sds_id: "5718253c00000004" state: "absent" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
sds_details dict When SDS exists Details of the SDS.
  authenticationError str success Indicates authentication error.
  certificateInfo str success Information about certificate.
  configuredDrlMode str success Configured DRL mode.
  drlMode str success DRL mode.
  faultSetId str success Fault set ID.
  fglMetadataCacheSize int success FGL metadata cache size.
  fglMetadataCacheState str success FGL metadata cache state.
  fglNumConcurrentWrites int success FGL concurrent writes.
  id str success SDS ID.
  ipList list success SDS IP list.
    ip str success IP present in the SDS.
    role str success Role of the SDS IP.
  lastUpgradeTime str success Last time SDS was upgraded.
  links list success SDS links.
    href str success SDS instance URL.
    rel str success SDS's relationship with different entities.
  maintenanceState str success Maintenance state.
  maintenanceType str success Maintenance type.
  mdmConnectionState str success MDM connection state.
  membershipState str success Membership state.
  name str success Name of the SDS.
  numOfIoBuffers int success Number of IO buffers.
  numRestarts int success Number of restarts.
  onVmWare bool success Presence on VMware.
  perfProfile str success Performance profile.
  port int success SDS port.
  protectionDomainId str success Protection Domain ID.
  protectionDomainName str success Protection Domain Name.
  raidControllers int success Number of RAID controllers.
  rfcacheEnabled bool success Whether RF cache is enabled or not.
  rfcacheErrorApiVersionMismatch bool success RF cache error for API version mismatch.
  rfcacheErrorDeviceDoesNotExist bool success RF cache error for device does not exist.
  rfcacheErrorInconsistentCacheConfiguration bool success RF cache error for inconsistent cache configuration.
  rfcacheErrorInconsistentSourceConfiguration bool success RF cache error for inconsistent source configuration.
  rfcacheErrorInvalidDriverPath bool success RF cache error for invalid driver path.
  rfcacheErrorLowResources bool success RF cache error for low resources.
  rmcacheEnabled bool success Whether Read RAM cache is enabled or not.
  rmcacheFrozen bool success RM cache frozen.
  rmcacheMemoryAllocationState bool success RM cache memory allocation state.
  rmcacheSizeInKb int success RM cache size in KB.
  rmcacheSizeInMb int success RM cache size in MB.
  sdsConfigurationFailure str success SDS configuration failure.
  sdsDecoupled str success SDS decoupled.
  sdsReceiveBufferAllocationFailures str success SDS receive buffer allocation failures.
  sdsState str success SDS state.
  softwareVersionInfo str success SDS software version information.
### Authors * Rajshree Khare (@khareRajshree) -------------------------------- # Storage Pool Module Managing Dell PowerFlex storage pool ### Synopsis Dell PowerFlex storage pool module includes getting the details of storage pool, creating a new storage pool, and modifying the attribute of a storage pool. ### Parameters
Parameter Type Required Default Choices Description
storage_pool_name str
The name of the storage pool.
If more than one storage pool is found with the same name then protection domain id/name is required to perform the task.
Mutually exclusive with storage_pool_id.
storage_pool_id str
The id of the storage pool.
It is auto generated, hence should not be provided during creation of a storage pool.
Mutually exclusive with storage_pool_name.
protection_domain_name str
The name of the protection domain.
During creation of a pool, either protection domain name or id must be mentioned.
Mutually exclusive with protection_domain_id.
protection_domain_id str
The id of the protection domain.
During creation of a pool, either protection domain name or id must be mentioned.
Mutually exclusive with protection_domain_name.
media_type str
  • HDD
  • SSD
  • TRANSITIONAL

Type of devices in the storage pool.
storage_pool_new_name str
New name for the storage pool can be provided.
This parameter is used for renaming the storage pool.
use_rfcache bool
Enable/Disable RFcache on a specific storage pool.
use_rmcache bool
Enable/Disable RMcache on a specific storage pool.
state str True
  • present
  • absent

State of the storage pool.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * TRANSITIONAL media type is supported only during modification. * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Get the details of storage pool by name dellemc.powerflex.storagepool: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" storage_pool_name: "sample_pool_name" protection_domain_name: "sample_protection_domain" state: "present" - name: Get the details of storage pool by id dellemc.powerflex.storagepool: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" storage_pool_id: "abcd1234ab12r" state: "present" - name: Create a new storage pool by name dellemc.powerflex.storagepool: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" storage_pool_name: "ansible_test_pool" protection_domain_id: "1c957da800000000" media_type: "HDD" state: "present" - name: Modify a storage pool by name dellemc.powerflex.storagepool: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" storage_pool_name: "ansible_test_pool" protection_domain_id: "1c957da800000000" use_rmcache: True use_rfcache: True state: "present" - name: Rename storage pool by id dellemc.powerflex.storagepool: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" storage_pool_id: "abcd1234ab12r" storage_pool_new_name: "new_ansible_pool" state: "present" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
storage_pool_details dict When storage pool exists Details of the storage pool.
  id str success ID of the storage pool under protection domain.
  mediaType str success Type of devices in the storage pool.
  name str success Name of the storage pool under protection domain.
  protectionDomainId str success ID of the protection domain in which pool resides.
  protectionDomainName str success Name of the protection domain in which pool resides.
  statistics dict success Statistics details of the storage pool.
    capacityInUseInKb str success Total capacity of the storage pool.
    deviceIds list success Device Ids of the storage pool.
    unusedCapacityInKb str success Unused capacity of the storage pool.
  useRfcache bool success Enable/Disable RFcache on a specific storage pool.
  useRmcache bool success Enable/Disable RMcache on a specific storage pool.
### Authors * Arindam Datta (@dattaarindam) * P Srinivas Rao (@srinivas-rao5) -------------------------------- # Volume Module Manage volumes on Dell PowerFlex ### Synopsis Managing volumes on PowerFlex storage system includes creating, getting details, modifying attributes and deleting volume. It also includes adding/removing snapshot policy, mapping/unmapping volume to/from SDC and listing associated snapshots. ### Parameters
Parameter Type Required Default Choices Description
vol_name str
The name of the volume.
Mandatory for create operation.
It is unique across the PowerFlex array.
Mutually exclusive with vol_id.
vol_id str
The ID of the volume.
Except create operation, all other operations can be performed using vol_id.
Mutually exclusive with vol_name.
storage_pool_name str
The name of the storage pool.
Either name or the id of the storage pool is required for creating a volume.
During creation, if storage pool name is provided then either protection domain name or id must be mentioned along with it.
Mutually exclusive with storage_pool_id.
storage_pool_id str
The ID of the storage pool.
Either name or the id of the storage pool is required for creating a volume.
Mutually exclusive with storage_pool_name.
protection_domain_name str
The name of the protection domain.
During creation of a volume, if more than one storage pool exists with the same name then either protection domain name or id must be mentioned along with it.
Mutually exclusive with protection_domain_id.
protection_domain_id str
The ID of the protection domain.
During creation of a volume, if more than one storage pool exists with the same name then either protection domain name or id must be mentioned along with it.
Mutually exclusive with protection_domain_name.
vol_type str
  • THICK_PROVISIONED
  • THIN_PROVISIONED

Type of volume provisioning.
compression_type str
  • NORMAL
  • NONE

Type of the compression method.
use_rmcache bool
Whether to use RM Cache or not.
snapshot_policy_name str
Name of the snapshot policy.
To remove/detach snapshot policy, empty snapshot_policy_id/snapshot_policy_name is to be passed along with auto_snap_remove_type.
snapshot_policy_id str
ID of the snapshot policy.
To remove/detach snapshot policy, empty snapshot_policy_id/snapshot_policy_name is to be passed along with auto_snap_remove_type.
auto_snap_remove_type str
  • remove
  • detach

Whether to remove or detach the snapshot policy.
To remove/detach snapshot policy, empty snapshot_policy_id/snapshot_policy_name is to be passed along with auto_snap_remove_type.
If the snapshot policy name/id is passed empty then auto_snap_remove_type is defaulted to detach.
size int
The size of the volume.
Size of the volume will be assigned as higher multiple of 8 GB.
cap_unit str
  • GB
  • TB

The unit of the volume size. It defaults to 'GB'.
vol_new_name str
New name of the volume. Used to rename the volume.
allow_multiple_mappings bool
Specifies whether to allow or not allow multiple mappings.
If the volume is mapped to one SDC then for every new mapping allow_multiple_mappings has to be passed as True.
sdc list
elements: dict

Specifies SDC parameters.
  sdc_name str
Name of the SDC.
Specify either sdc_name, sdc_id or sdc_ip.
Mutually exclusive with sdc_id and sdc_ip.
  sdc_id str
ID of the SDC.
Specify either sdc_name, sdc_id or sdc_ip.
Mutually exclusive with sdc_name and sdc_ip.
  sdc_ip str
IP of the SDC.
Specify either sdc_name, sdc_id or sdc_ip.
Mutually exclusive with sdc_id and sdc_ip.
  access_mode str
  • READ_WRITE
  • READ_ONLY
  • NO_ACCESS

Define the access mode for all mappings of the volume.
  bandwidth_limit int
Limit of volume network bandwidth.
Need to mention in multiple of 1024 Kbps.
To set no limit, 0 is to be passed.
  iops_limit int
Limit of volume IOPS.
Minimum IOPS limit is 11 and specify 0 for unlimited iops.
sdc_state str
  • mapped
  • unmapped

Mapping state of the SDC.
delete_snapshots bool
If True, the volume and all its dependent snapshots will be deleted.
If False, only the volume will be deleted.
It can be specified only when the state is absent.
It defaults to False, if not specified.
state str True
  • present
  • absent

State of the volume.
hostname str True
IP or FQDN of the PowerFlex host.
username str True
The username of the PowerFlex host.
password str True
The password of the PowerFlex host.
validate_certs bool True
Boolean variable to specify whether or not to validate SSL certificate.
True - Indicates that the SSL certificate should be verified.
False - Indicates that the SSL certificate should not be verified.
port int 443
Port number through which communication happens with PowerFlex host.
timeout int 120
Time after which connection will get terminated.
It is to be mentioned in seconds.
### Notes * The check_mode is not supported. * The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform. ### Examples ``` - name: Create a volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" storage_pool_name: "pool_1" protection_domain_name: "pd_1" vol_type: "THICK_PROVISIONED" compression_type: "NORMAL" use_rmcache: True size: 16 state: "present" - name: Map a SDC to volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" allow_multiple_mappings: True sdc: - sdc_id: "92A304DB-EFD7-44DF-A07E-D78134CC9764" access_mode: "READ_WRITE" sdc_state: "mapped" state: "present" - name: Unmap a SDC to volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" sdc: - sdc_id: "92A304DB-EFD7-44DF-A07E-D78134CC9764" sdc_state: "unmapped" state: "present" - name: Map multiple SDCs to a volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" protection_domain_name: "pd_1" sdc: - sdc_id: "92A304DB-EFD7-44DF-A07E-D78134CC9764" access_mode: "READ_WRITE" bandwidth_limit: 2048 iops_limit: 20 - sdc_ip: "198.10.xxx.xxx" access_mode: "READ_ONLY" allow_multiple_mappings: True sdc_state: "mapped" state: "present" - name: Get the details of the volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_id: "fe6c8b7100000005" state: "present" - name: Modify the details of the Volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" storage_pool_name: "pool_1" new_vol_name: "new_sample_volume" size: 64 state: "present" - name: Delete the Volume dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" delete_snapshots: False state: "absent" - name: Delete the Volume and all its dependent snapshots dellemc.powerflex.volume: hostname: "{{hostname}}" username: "{{username}}" password: "{{password}}" validate_certs: "{{validate_certs}}" port: "{{port}}" vol_name: "sample_volume" delete_snapshots: True state: "absent" ``` ### Return Values
Key Type Returned Description
changed bool always Whether or not the resource has changed.
volume_details dict When volume exists Details of the volume.
  id str success The ID of the volume.
  mappedSdcInfo dict success The details of the mapped SDC.
    accessMode str success Mapping access mode for the specified volume.
    limitBwInMbps int success Bandwidth limit for the SDC.
    limitIops int success IOPS limit for the SDC.
    sdcId str success ID of the SDC.
    sdcIp str success IP of the SDC.
    sdcName str success Name of the SDC.
  name str success Name of the volume.
  protectionDomainId str success ID of the protection domain in which volume resides.
  protectionDomainName str success Name of the protection domain in which volume resides.
  sizeInGb int success Size of the volume in Gb.
  sizeInKb int success Size of the volume in Kb.
  snapshotPolicyId str success ID of the snapshot policy associated with volume.
  snapshotPolicyName str success Name of the snapshot policy associated with volume.
  snapshotsList str success List of snapshots associated with the volume.
  statistics dict success Statistics details of the storage pool.
    numOfChildVolumes int success Number of child volumes.
    numOfMappedSdcs int success Number of mapped Sdcs of the volume.
  storagePoolId str success ID of the storage pool in which volume resides.
  storagePoolName str success Name of the storage pool in which volume resides.
### Authors * P Srinivas Rao (@srinivas-rao5) --------------------------------