Skip to content

Latest commit

 

History

History
11163 lines (10723 loc) · 455 KB

Product Guide.md

File metadata and controls

11163 lines (10723 loc) · 455 KB

Ansible Modules for Dell Technologies PowerStore

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


Cluster Module

Manage cluster related opeartions on PowerStore

Synopsis

Managing cluster on PowerStore storage system includes getting details and modifying cluster configuration parameters.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
chap_mode str
  • Disabled
  • Single
  • Mutual

The mode that describes or sets the iSCSI CHAP mode for the cluster.
is_ssh_enabled bool
Whether SSH access is enabled for the cluster.
Either appliance_id or appliance_name is to be passed along with is_ssh_enabled.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
appliance_id str
ID of the appliance.
Parameters appliance_id and appliance_name are mutually exclusive.
Parameter is_ssh_enabled has to be passed along with appliance_id.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
new_name str
The new name for the cluster.
cluster_name str
The Name of cluster.
appliance_name str
Name of the appliance.
Parameters appliance_id and appliance_name are mutually exclusive.
Parameter is_ssh_enabled has to be passed along with appliance_name.
service_password str
The password for the service user.
cluster_id str
Id of the cluster.
state str True
  • absent
  • present

Define whether the cluster should exist or not.
Value present indicates that the cluster should exist on the system.
Value absent indicates that the cluster should not exist on the system.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
physical_mtu int
MTU for ethernet ports in the cluster.
The MTU can be set between 1500 to 9000.
array_ip str True
IP or FQDN of the PowerStore management system.

Notes

  • Creation and deletion of cluster is not supported by ansible modules.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get the details of cluster using id
  dellemc.powerstore.cluster:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    cluster_id: "0"
    state: "present"

- name: Modify details of cluster using the name
  dellemc.powerstore.cluster:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    cluster_name: "RT-D1320"
    appliance_id: "A1"
    is_ssh_enabled: True
    service_password: "S@mple_password"
    chap_mode: "Disabled"
    new_name: "new_RT-D1320"
    state: "present"

Return Values

Key Type Returned Description
cluster_details complex When Cluster exists. The cluster details.
  appliance_count int success Number of appliances configured in this cluster.
  service_user_details complex success Details of the service user for which the password can be updated.
    id str success Id of the service user.
    is_built_in bool success Whether the service user is built in or not.
    is_default_password bool success Whether the service user has default password or not.
    name str success Name of the service user.
  global_id str success The global unique identifier of the cluster.
  primary_appliance_id str success The unique identifier of the appliance acting as primary. This parameter was added in version 2.0.0.0.
  service_config_details complex success Details of the service config for the entered appliance.
    id str success Id of the service configuration.
    appliance_id str success Id of the appliance for which the service configuration exists.
    is_ssh_enabled bool success Whether the ssh is enabled for the appliance or not.
  id str success The ID of the cluster.
  storage_discovery_address str success The floating storage discovery IP address for the cluster in IPv4 or IPv6 format.
  master_appliance_id str success The unique identifier of the appliance acting as primary. This parameter is deprecated in version 2.0.0.0.
  appliance_details complex success Name and Id of the appliance for which is_ssh_enabled parameter is used.
    id str success Id of the appliance.
    name str success Name of the appliance.
  is_encryption_enabled bool success Whether or not Data at Rest Encryption is enabled on the cluster.
  system_time str success Current clock time for the system. System time and all the system reported times are in UTC (GMT+0:00) format.
  management_address str success The floating management IP address for the cluster in IPv4 or IPv6 format.
  compatibility_level int success The behavioral version of the software version API, It is used to ensure the compatibility across potentially different software versions.
  state str success Possible cluster states.
  name str success Name of the cluster.
  physical_mtu int success MTU for the cluster.
  is_ssh_enabled bool success Whether or not the ssh is enabled.
changed bool always Whether or not the resource has changed.

Authors


NTP Module

NTP operations on a PowerStore storage system

Synopsis

Performs all NTP operations on a PowerStore Storage System. This module supports get details of an existing NTP instance. You can modify existing NTP instance with supported parameters.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
ntp_id str True
Unique identifier of the NTP instance.
ntp_addresses list
elements: str

NTP server addresses, may contain host names or IPv4 addresses.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
array_ip str True
IP or FQDN of the PowerStore management system.
ntp_address_state str
  • present-in-ntp
  • absent-in-ntp

State of the addresses mentioned in ntp_addresses.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
state str True
  • present
  • absent

The state of the NTP instance after the task is performed.
For get and modify operations it should be set to "present".

Notes

  • Minimum 1 and maximum 3 addresses can be associated to a NTP instance.
  • Parameters ntp_addresses and ntp_address_state are required together.
  • Creation and deletion of NTP is not supported.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of NTP instance
    dellemc.powerstore.ntp:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       ntp_id: "NTP1"
       state: "present"

  - name: Add addresses to NTP instance
    dellemc.powerstore.ntp:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       ntp_id: "NTP1"
       ntp_addresses:
        - "XX.XX.XX.XX"
        - "YY.YY.YY.YY"
       ntp_address_state: "present-in-ntp"
       state: "present"

  - name: Remove addresses from NTP instance
    dellemc.powerstore.ntp:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       ntp_id: "NTP1"
       ntp_addresses:
        - "YY.YY.YY.YY"
       ntp_address_state: "absent-in-ntp"
       state: "present"

Return Values

Key Type Returned Description
ntp_details complex When NTP exists. Details of the NTP instance.
  addresses str success NTP server addresses, may contain host names or IPv4 addresses.
  id str success Unique identifier of NTP instance.
changed bool always Shows whether or not the resource has changed.

Authors


Volume Module

Manage volumes on a PowerStore storage system

Synopsis

Managing volume on PowerStore storage system includes create volume, get details of volume, modify volume attributes, map or unmap volume to host/host group, and delete volume.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
performance_policy str
  • high
  • medium
  • low

The performance_policy for the volume.
A volume can be assigned a performance policy at the time of creation of the volume, or later as well.
The policy can also be changed for a given volume, by simply passing the new value.
Check examples for more clarity.
If not given, performance policy will be 'medium'.
vg_name str
The name of the volume group. A volume can optionally be assigned to a volume group at the time of creation.
Use the Volume Group Module for modification of the assignment.
mapping_state str
  • mapped
  • unmapped

Define whether the volume should be mapped to a host or hostgroup.
Value mapped - indicates that the volume should be mapped to the host or host group.
Value unmapped - indicates that the volume should not be mapped to the host or host group.
Only one of a host or host group can be supplied in one call.
cap_unit str
  • MB
  • GB
  • TB

Volume size unit.
Used to signify unit of the size provided for creation and expansion of volume.
It defaults to 'GB', if not specified.
password str True
The password of the PowerStore host.
vol_id str
The 36 character long ID of the volume, automatically generated when a volume is created.
Cannot be used while creating a volume. All other functionalities on a volume are supported using volume name or ID.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
size float
Size of the volume. Minimum volume size is 1MB. Maximum volume size is 256TB. Size must be a multiple of 8192.
Required in case of create and expand volume.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
hlu int
Logical unit number for the host/host group volume access.
Optional parameter when mapping a volume to host/host group.
HLU modification is not supported.
new_name str
The new volume name for the volume, used in case of rename functionality.
host str
Host to be mapped/unmapped to a volume. If not specified, an unmapped volume is created. Only one of the host or host group can be supplied in one call.
To represent host, both name or ID can be used interchangeably. The module will detect both.
hostgroup str
Hostgroup to be mapped/unmapped to a volume. If not specified, an unmapped volume is created.
Only one of the host or host group can be mapped in one call.
To represent a hostgroup, both name or ID can be used interchangeably. The module will detect both.
description str
Description for the volume.
Optional parameter when creating a volume.
To modify, pass the new value in description field.
vol_name str
Unique name of the volume. This value must contain 128 or fewer printable unicode characters.
Required when creating a volume. All other functionalities on a volume are supported using volume name or ID.
state str True
  • absent
  • present

Define whether the volume should exist or not.
Value present - indicates that the volume should exist on the system.
Value absent - indicates that the volume should not exist on the system.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
protection_policy str
The protection_policy of the volume.
To represent policy, both name or ID can be used interchangably. The module will detect both.
A volume can be assigned a protection policy at the time of creation of volume or later as well.
The policy can also be changed for a given volume by simply passing the new value.
The policy can be removed by passing an empty string.
Check examples for more clarity.

Notes

  • To create a new volume, vol_name and size is required. cap_unit, description, vg_name, performance_policy, and protection_policy are optional.
  • Parameter new_name should not be provided when creating a new volume.
  • The size is a required parameter for expand volume.
  • Clones or Snapshots of a deleted production volume or a clone are not deleted.
  • A volume that is attached to a host/host group, or that is part of a volume group cannot be deleted.
  • The Check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create stand-alone volume
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    size: 1
    cap_unit: "{{cap_unit}}"
    state: 'present'

- name: Create stand-alone volume with performance and protection policy
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    size: 5
    cap_unit: "{{cap_unit}}"
    state: 'present'
    description: 'Description'
    performance_policy: 'low'
    protection_policy: 'protection_policy_name'

- name: Create volume and assign to a volume group
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    vg_name: "{{vg_name}}"
    size: 1
    cap_unit: "{{cap_unit}}"
    state: 'present'

- name: Create volume and map it to a host
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    size: 1
    cap_unit: "{{cap_unit}}"
    mapping_state: 'mapped'
    host: "{{host_name}}"
    state: 'present'

- name: Get volume details using ID
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_id: "{{result.volume_details.id}}"
    state: "present"

- name: Get volume details using name
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    state: "present"

- name: Modify volume size, name, description and performance policy
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    new_name: "{{new_name}}"
    vol_name: "{{vol_name}}"
    state: "present"
    size: 2
    performance_policy: 'high'
    description: 'new description'

- name: Remove protection policy from Volume
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    new_name: "{{new_name}}"
    vol_name: "{{vol_name}}"
    state: "present"
    protection_policy: ""

- name: Map volume to a host with HLU
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    state: 'present'
    mapping_state: 'mapped'
    host: 'host1'
    hlu: 12

- name: Map volume to a host without HLU
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_name: "{{vol_name}}"
    state: 'present'
    mapping_state: 'mapped'
    host: 'host2'

- name: Delete volume
  dellemc.powerstore.volume:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vol_id: "{{result.volume_details.id}}"
    state: "absent"

Return Values

Key Type Returned Description
volume_details complex When volume exists Details of the volume.
  performance_policy_id str success The performance policy for the volume.
  nguid int success NVMe Namespace globally unique identifier. Used for volumes attached to NVMEoF hosts.
  host_group complex success Host groups details mapped to the volume.
    id str success The host group ID mapped to the volume.
    name str success Name of the Host group mapped to the volume.
  mapped_volumes complex success This is the inverse of the resource type host_volume_mapping association.
    id str success Unique identifier of a mapping between a host and a volume.
    logical_unit_number int success Logical unit number for the host volume access.
  hlu_details complex success HLU details for mapped host/host group.
    id str success The HLU ID.
    host_group_id str success The host group ID mapped to the volume.
    host_id str success The host ID mapped to the volume.
    logical_unit_number int success Logical unit number for the host/host group volume access.
  wwn str success The world wide name of the volume.
  size int success Size of the volume.
  protection_policy_id str success The protection policy of the volume.
  nsid int success NVMe Namespace unique identifier in the NVME subsystem. Used for volumes attached to NVMEoF hosts.
  id str success The system generated ID given to the volume.
  node_affinity str success This attribute shows which node will be advertised as the optimized IO path to the volume.
  description str success description about the volume.
  volume_groups complex success The volume group details of the volume.
    id str success The system generated ID given to the volume group.
    name str success Name of the volume group.
  host complex success Hosts details mapped to the volume.
    id str success The host ID mapped to the volume.
    name str success Name of the Host mapped to the volume.
  name str success Name of the volume.
changed bool always Whether or not the resource has changed.

Authors


Local User Module

Local user operations on PowerStore Storage System

Synopsis

Supports the provisioning operations on a Local user such as create, modify, delete and get the details of a local user.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
role_id int
The unique identifier of the role to which the local user account will be mapped.
It is mutually exclusive with role_name.
array_ip str True
IP or FQDN of the PowerStore management system.
user_name str
Name of the local user account. Mutually exclusive with user_id.
Mandatory only for create operation.
user_id str
Unique identifier of the local user account.
Mutually exclusive with user_name.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
new_password str
New password for the existing local user account.
role_name str
The name of the role to which the local user account will be mapped.
It is mutually exclusive with role_id.
user_password str
Password for the new local user account to be created.
Mandatory only for create operation.
is_locked bool
Whether the user account is locked or not.
Defaults to false at creation time.
state str True
  • absent
  • present

Define whether the local user should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create local user
  dellemc.powerstore.local_user:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    user_name: "ansible_user_1"
    user_password: "Password123#"
    role_name: "role_1"
    is_locked: False
    state: "present"

- name: Get the details local user with user id
  dellemc.powerstore.local_user:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    user_id: "{{user_id}}"
    state: "present"

- name: Get the details local user with user name
  dellemc.powerstore.local_user:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    user_name: "ansible_user_1"
    state: "present"

- name: Modify attributes of local user
  dellemc.powerstore.local_user:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    user_name: "ansible_user_1"
    user_password: "Password123#"
    new_password: "Ansible123#"
    role_id: 4
    is_locked: True
    state: "present"

- name: Delete local user
  dellemc.powerstore.local_user:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    user_name: "ansible_user_1"
    state: "absent"

Return Values

Key Type Returned Description
local_user_details complex When local user exists Details of the local user.
  role_id str success Unique identifier of the role local user account is mapped to.
  is_default_password bool success Whether the user account has a default password or not. Only applies to default user accounts
  id str success The system generated ID given to the local user.
  name str success Name of the local user.
  is_built_in bool success Whether the user account is built-in or not.
  role_name str success Name of the role to which local user account is mapped.
  is_locked bool success Whether the user account is locked or not. Defaults to false at creation time.
changed bool always Whether or not the resource has changed.

Authors


Quota Module

Manage Tree Quotas and User Quotas on PowerStore

Synopsis

Managing Quotas on PowerStore storage system includes getting details, modifying, creating and deleting Quotas.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
uid int
The ID of the unix user account for which quota operations will be performed.
Any one among uid/unix_name/windows_name/windows_sid is required when quota_type is 'user'.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
quota dict
Specifies Quota parameters.
  cap_unit str GB
  • GB
  • TB

Unit of storage for the hard and soft limits.
This parameter is required if limit is specified.
  hard_limit int
Hard limit of the user quota.
No hard limit when set to 0.
  soft_limit int
Soft limit of the User/Tree quota.
No Soft limit when set to 0.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
filesystem str
The ID/Name of the filesystem for which the Tree/User Quota will be created.
If filesystem name is specified, then nas_server is required to uniquely identify the filesystem.
quota_id str
Id of the user/tree quota.
If quota_id is mentioned, then path/nas_server/file_system/quota_type is not required.
windows_sid str
The SID of the Windows User account for which quota operations will be performed.
Any one among uid/unix_name/windows_name/windows_sid is required when quota_type is 'user'.
windows_name str
The name of the Windows User for which quota operations will be performed.
The name should be mentioned along with Domain Name as 'DOMAIN_NAME\user_name' or as "DOMAIN_NAME\\user_name".
Any one among uid/unix_name/windows_name/windows_sid is required when quota_type is 'user'.
quota_type str
  • user
  • tree

The type of quota which will be imposed.
description str
Additional information that can be mentioned for a Tree Quota.
Description parameter can only be used when quota_type is 'tree'.
nas_server str
The NAS server. This could be the name or ID of the NAS server.
state str True
  • absent
  • present

Define whether the Quota should exist or not.
Value present indicates that the Quota should exist on the system.
Value absent indicates that the Quota should not exist on the system.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
path str
The path on which the quota will be imposed.
Path is relative to the root of the filesystem.
For user quota, if path is not specified, quota will be created at the root of the filesystem.
unix_name str
The name of the unix user account for which quota operations will be performed.
Any one among uid/unix_name/windows_name/windows_sid is required when quota_type is 'user'.

Notes

  • Tree quota cannot be created at the root of the filesystem.
  • When the ID of the filesystem is passed then nas_server is not required. If passed, then filesystem should exist for the nas_server, else the task will fail.
  • If a primary directory of the current directory or a subordinate directory of the path is having a Tree Quota configured, then the quota for that path cannot be created.
  • Hierarchical tree quotas are not allowed.
  • When the first quota is created for a directory/user in a filesystem then the quotas will be enabled for that filesystem automatically.
  • If a user quota is to be created on a tree quota, then the user quotas will be enabled automatically in a tree quota.
  • Delete User Quota operation is not supported.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

    - name: Create a Quota for a User using unix name
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_type: "user"
        unix_name: "{{unix_name}}"
        filesystem: "sample_fs"
        nas_server: "{{nas_server_id}}"
        quota:
          soft_limit: 5
          hard_limit: 10
          cap_unit: "TB"
        state: "present"

    - name: Create a Tree Quota
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_type: "tree"
        path: "/home"
        filesystem: "sample_fs"
        nas_server: "sample_nas_server"
        quota:
          soft_limit: 5
          hard_limit: 10
          cap_unit: "TB"
        state: "present"

    - name: Modify attributes for Tree Quota
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_id: "{{quota_id}}"
        quota:
          soft_limit: 10
          hard_limit: 15
          cap_unit: "TB"
        state: "present"

    - name: Get details of User Quota
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_type: "user"
        uid: 100
        path: "/home"
        filesystem: "{{filesystem_id}}"
        state: "present"

    - name: Get details of Tree Quota
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_id: "{{quota_id}}"
        state: "present"

    - name: Delete a Tree Quota
      dellemc.powerstore.quota:
        array_ip: "{{array_ip}}"
        verifycert: "{{verify_cert}}"
        user: "{{user}}"
        password: "{{password}}"
        quota_type: "tree"
        path: "/home"
        filesystem: "sample_fs"
        nas_server: "sample_nas_server"
        state: "absent"

Return Values

Key Type Returned Description
quota_details complex When Quota exists. The quota details.
  hard_limit(cap_unit) int success Value of the Hard Limit imposed on the quota.
  tree_quota_id str success ID of the Tree Quota on which the specific User Quota exists. Only applicable for user quotas.
  uid int success The ID of the unix host for which user quota exists. Only applicable for user quotas.
  unix_name str success The Name of the unix host for which user quota exists. Only applicable for user quotas.
  state_l10n str success Localized message string corresponding to state.
  size_used int success Size currently consumed by Tree/User on the filesystem.
  tree_quota_for_user_quota complex success Additional Information of Tree Quota limits on which user quota exists. Only applicable for User Quotas.
    description str success Description of Tree Quota for user quota.
    hard_limit(cap_unit) int success Value of the Hard Limit imposed on the quota.
    path str success The path on which the quota will be imposed.
  remaining_grace_period int success The time period remaining after which the grace period will expire.
  id str success The ID of the Quota.
  file_system complex success Includes ID and Name of filesystem and nas server for which smb share exists.
    filesystem_type str success Type of filesystem.
    nas_server dict success nas_server of filesystem.
    name str success Name of filesystem.
    id str success ID of filesystem.
  windows_sid str success The SID of the windows host for which user quota exists. Only applicable for user quotas.
  windows_name str success The Name of the Windows host for which user quota exists. Only applicable for user quotas.
  description str success Additional information about the tree quota. Only applicable for Tree Quotas.
  soft_limit(cap_unit) int success Value of the Soft Limit imposed on the quota.
  state str success State of the user quota or tree quota record period. OK means No quota limits are exceeded. Soft_Exceeded means Soft limit is exceeded, and grace period is not expired. Soft_Exceeded_And_Expired means Soft limit is exceeded, and grace period is expired. Hard_Reached means Hard limit is reached.
changed bool always Whether or not the resource has changed.

Authors


SMTP Config Module

SMTP configuration operations on a PowerStore storage system

Synopsis

Performs all SMTP configuration operations on a PowerStore Storage System. This module supports get details of an existing SMTP configuration. You can modify an existing SMTP configuration with supported parameters. You can also send a test mail through configured SMTP server.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
smtp_port int
Port used for sending SMTP messages.
smtp_id int True
Unique identifier of the SMTP configuration.
source_email str
Source email address used for sending SMTP messages.
destination_email str
Destination email address for the test.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
smtp_address str
IP address of the SMTP server.
state str True
  • present
  • absent

The state of the SMTP configuration after the task is performed.
For Delete operation only, it should be set to "absent".
For all operations it should be set to "present".
array_ip str True
IP or FQDN of the PowerStore management system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.

Notes

  • Idempotency is not supported for test operation for smtp_config module.
  • Creation and deletion of SMTP configuration is not supported.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of SMTP configuration
    dellemc.powerstore.smtp_config:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      smtp_id: "0"
      state: "present"

  - name: Modify SMTP config details
    dellemc.powerstore.smtp_config:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      smtp_id: "0"
      smtp_address: "sample.smtp.com"
      source_email: "[email protected]"
      state: "present"

  - name: Send a test mail through the SMTP server
    dellemc.powerstore.smtp_config:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      smtp_id: "0"
      destination_email: "[email protected]"
      state: "present"

Return Values

Key Type Returned Description
smtp_config_details complex When SMTP configuration exists. Details of the SMTP configuration.
  id int success Unique identifier of SMTP configuration.
  source_email str success Source email address used for sending SMTP messages.
  port int success Port used for sending SMTP messages.
  address str success IP address of the SMTP server.
changed bool always Whether or not the resource has changed.

Authors


SMB Share Module

Manage SMB shares on a PowerStore storage system

Synopsis

Managing SMB Shares on PowerStore storage system includes create, get, modify, and delete the SMB shares.

Parameters

Parameter Type Required Default Choices Description
is_abe_enabled bool
Indicates whether Access-based Enumeration (ABE) for SMB share is enabled.
During creation, if not mentioned, then the default is False.
snapshot str
The ID/Name of the Snapshot.
Either filesystem or snapshot is required for creation of the SMB share.
If snapshot name is specified, then nas_server is required to uniquely identify the snapshot.
If snapshot parameter is provided, then filesystem cannot be specified.
SMB share can be created only if access type of snapshot is "protocol".
is_continuous_availability_enabled bool
Indicates whether continuous availability for SMB 3.0 is enabled.
During creation, if not mentioned, then the default is False.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
is_branch_cache_enabled bool
Indicates whether Branch Cache optimization for SMB share is enabled.
During creation, if not mentioned then default is False.
password str True
The password of the PowerStore host.
offline_availability str
  • MANUAL
  • DOCUMENTS
  • PROGRAMS
  • NONE

Defines valid states of Offline Availability.
MANUAL- Only specified files will be available offline.
DOCUMENTS- All files that users open will be available offline.
PROGRAMS- Program will preferably run from the offline cache even when connected to the network. All files that users open will be available offline.
NONE- Prevents clients from storing documents and programs in offline cache.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
share_id str
ID of the SMB share.
Should not be specified during creation. ID is auto generated.
For all other operations either share_name or share_id is required.
If share_id is used then no need to pass nas_server/filesystem/snapshot/ path.
umask str
The default UNIX umask for new files created on the SMB Share.
During creation, if not mentioned, then the default is "022".
For all other operations, the default is None.
filesystem str
The ID/Name of the File System.
Either filesystem or snapshot is required for creation of the SMB share.
If filesystem name is specified, then nas_server is required to uniquely identify the filesystem.
If filesystem parameter is provided, then snapshot cannot be specified.
share_name str
Name of the SMB share.
Required during creation of the SMB share.
For all other operations either share_name or share_id is required.
is_encryption_enabled bool
Indicates whether encryption for SMB 3.0 is enabled at the shared folder level.
During creation, if not mentioned then default is False.
nas_server str
The ID/Name of the NAS Server.
It is not required if share_id is used.
description str
Description for the SMB share.
Optional parameter when creating a share.
To modify, pass the new value in description field.
user str True
The username of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
array_ip str True
IP or FQDN of the PowerStore management system.
path str
Local path to the file system/Snapshot or any existing sub-folder of the file system/Snapshot that is shared over the network.
Path is relative to the base of the NAS server and must start with the name of the filesystem.
Required for creation of the SMB share.
state str True
  • absent
  • present

Define whether the SMB share should exist or not.
Value present indicates that the share should exist on the system.
Value absent indicates that the share should not exist on the system.

Notes

  • When the ID of the filesystem/snapshot is passed then nas_server is not required. If passed, then the filesystem/snapshot should exist for the nas_server, else the task will fail.
  • Multiple SMB shares can be created for the same local path.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create SMB share for a filesystem
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_name: "sample_smb_share"
    filesystem: "sample_fs"
    nas_server: "{{nas_server_id}}"
    path: "{{path}}"
    description: "Sample SMB share created"
    is_abe_enabled: True
    is_branch_cache_enabled: True
    offline_availability: "DOCUMENTS"
    is_continuous_availability_enabled: True
    is_encryption_enabled: True
    state: "present"

- name: Modify Attributes of SMB share for a filesystem
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_name: "sample_smb_share"
    nas_server: "sample_nas_server"
    description: "Sample SMB share attributes updated"
    is_abe_enabled: False
    is_branch_cache_enabled: False
    offline_availability: "MANUAL"
    is_continuous_availability_enabled: False
    is_encryption_enabled: False
    umask: "022"
    state: "present"

- name: Create SMB share for a snapshot
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_name: "sample_snap_smb_share"
    snapshot: "sample_snapshot"
    nas_server: "{{nas_server_id}}"
    path: "{{path}}"
    description: "Sample SMB share created for snapshot"
    is_abe_enabled: True
    is_branch_cache_enabled: True
    is_continuous_availability_enabled: True
    state: "present"

- name: Modify Attributes of SMB share for a snapshot
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_name: "sample_snap_smb_share"
    nas_server: "sample_nas_server"
    description: "Sample SMB share attributes updated for snapshot"
    is_abe_enabled: False
    is_branch_cache_enabled: False
    offline_availability: "MANUAL"
    is_continuous_availability_enabled: False
    umask: "022"
    state: "present"

- name: Get details of SMB share
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_id: "{{smb_share_id}}"
    state: "present"

- name: Delete SMB share
  dellemc.powerstore.smbshare:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    share_id: "{{smb_share_id}}"
    state: "absent"

Return Values

Key Type Returned Description
smb_share_details complex When share exists. The SMB share details.
  description str success Additional information about the share.
  is_continuous_availability_enabled bool success Whether the share will be available continuously or not.
  is_encryption_enabled bool success Whether encryption is enabled or not.
  is_branch_cache_enabled bool success Whether branch cache is enabled or not.
  id str success The ID of the SMB share.
  is_ABE_enabled bool success Whether Access Based enumeration is enforced or not
  name str success Name of the SMB share.
  file_system complex success Includes ID and Name of filesystem and nas server for which smb share exists.
    filesystem_type str success Type of filesystem.
    nas_server dict success nas_server of filesystem.
    name str success Name of filesystem.
    id str success ID of filesystem.
changed bool always Whether or not the resource has changed.

Authors


DNS Module

DNS operations on a PowerStore storage system

Synopsis

Performs all DNS operations on a PowerStore Storage System. This module supports get details of an existing DNS instance. You can modify existing DNS instance with supported parameters.

Parameters

Parameter Type Required Default Choices Description
dns_addresses list
elements: str

DNS server addresses in IPv4 format.
user str True
The username of the PowerStore host.
dns_address_state str
  • present-in-dns
  • absent-in-dns

State of the addresses mentioned in dns_addresses.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
dns_id str True
Unique identifier of the DNS instance.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
state str True
  • present
  • absent

The state of the DNS instance after the task is performed.
For get and modify operations it should be set to "present".

Notes

  • Minimum 1 and maximum 3 addresses can be associated to a DNS instance.
  • Parameters dns_addresses and dns_address_state are required together.
  • Creation and deletion of DNS is not supported.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of DNS instance
    dellemc.powerstore.dns:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       dns_id: "DNS1"
       state: "present"

  - name: Add addresses to DNS instance
    dellemc.powerstore.dns:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       dns_id: "DNS1"
       dns_addresses:
        - "XX.XX.XX.XX"
        - "YY.YY.YY.YY"
       dns_address_state: "present-in-dns"
       state: "present"

  - name: Remove addresses from DNS instance
    dellemc.powerstore.dns:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       dns_id: "DNS1"
       dns_addresses:
        - "YY.YY.YY.YY"
       dns_address_state: "absent-in-dns"
       state: "present"

Return Values

Key Type Returned Description
dns_details complex When DNS exists. Details of the DNS instance.
  addresses str success DNS server addresses in IPv4 format.
  id str success Unique identifier of DNS instance.
changed bool always Whether or not the resource has changed.

Authors


Role Module

Get details of the roles present on the PowerStore storage system

Synopsis

Manage role in PowerStore storage system includes getting the details of a role.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
role_id str
Id of the role.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
state str True
  • absent
  • present

Define whether the role should exist or not.
Value present, indicates that the role should exist on the system.
Value absent, indicates that the role should not exist on the system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
role_name str
Name of the role.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • Only getting the details of the role is supported by the ansible module.
  • Creation, modification and deletion of roles is not supported by the ansible modules.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get the details of role by name
  dellemc.powerstore.role:
    array_ip: "{{array_ip}}"
    verifycert: "{{verify_cert}}"
    user: "{{user}}"
    password: "{{password}}"
    role_name: "Administrator"
    state: "present"

- name: Get the details of role by id
  dellemc.powerstore.role:
    array_ip: "{{array_ip}}"
    verifycert: "{{verify_cert}}"
    user: "{{user}}"
    password: "{{password}}"
    role_id: "1"
    state: "present"

Return Values

Key Type Returned Description
role_details complex When role exists. The role details.
  description str success Description of the role.
  id str success The ID of the role.
  is_built_in bool success Indicates whether the role is built-in.
  name str success The name of the role.
changed bool always Whether or not the resource has changed.

Authors


Replication Rule Module

Replication rule operations on a PowerStore storage system

Synopsis

Performs all replication rule operations on a PowerStore Storage System. This module supports get details of an existing replication rule, create new replication rule for supported parameters, modify replication rule and delete a specific replication rule.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
remote_system_address str
The management IPv4 address of the remote system.
It is required in case the remote system name passed in remote_system parameter is not unique on the PowerStore Array.
If ID of the remote system is passed then no need to pass remote_system_address.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
rpo str
  • Five_Minutes
  • Fifteen_Minutes
  • Thirty_Minutes
  • One_Hour
  • Six_Hours
  • Twelve_Hours
  • One_Day

Recovery point objective (RPO), which is the acceptable amount of data, measured in units of time, that may be lost in case of a failure.
new_name str
New name of the replication rule.
Used for renaming a replication rule.
replication_rule_id str
ID of the replication rule.
ID for the rule is autogenerated, cannot be passed during creation of a replication rule.
Parameter replication_rule_name and replication_rule_id are mutually exclusive.
replication_rule_name str
Name of the replication rule.
Required during creation of a replication rule.
Parameter replication_rule_name and replication_rule_id are mutually exclusive.
alert_threshold int
Acceptable delay between the expected and actual replication sync intervals. The system generates an alert if the delay between the expected and actual sync exceeds this threshold.
During creation, if not passed, then by default one RPO in minutes will be passed.
The range of integers supported are in between 0 and 1440 (inclusive of both).
state str True
  • present
  • absent

The state of the replication rule after the task is performed.
For Delete operation only, it should be set to "absent".
For all Create, Modify or Get details operations it should be set to "present".
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
remote_system str
ID or name of the remote system to which this rule will replicate the associated resources.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create new replication rule
  dellemc.powerstore.replicationrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    replication_rule_name: "sample_replication_rule"
    rpo: "Five_Minutes"
    alert_threshold: "15"
    remote_system: "WN-D8877"
    state: "present"

- name: Modify existing replication rule
  dellemc.powerstore.replicationrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    replication_rule_name: "sample_replication_rule"
    new_name: "new_sample_replication_rule"
    rpo: "One_Hour"
    alert_threshold: "60"
    remote_system: "WN-D0517"
    state: "present"

- name: Get details of replication rule
  dellemc.powerstore.replicationrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    replication_rule_id: "{{id}}"
    state: "present"

- name: Delete an existing replication rule
  dellemc.powerstore.replicationrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    replication_rule_name: "new_sample_replication_rule"
    state: "absent"

Return Values

Key Type Returned Description
replication_rule_details complex When replication rule exists Details of the replication rule.
  remote_system_id str success Unique identifier of the remote system to which this rule will replicate the associated resources.
  remote_system_name str success Name of the remote system to which this rule will replicate the associated resources.
  id str success The system generated ID of the replication rule.
  alert_threshold int success Acceptable delay in minutes between the expected and actual replication sync intervals.
  name str success Name of the replication rule.
  rpo str success Recovery point objective (RPO), which is the acceptable amount of data, measured in units of time, that may be lost in case of a failure.
changed bool always Whether or not the resource has changed.

Authors


Host Group Module

Manage host group on PowerStore Storage System

Synopsis

Managing host group on PowerStore storage system includes create host group with a set of hosts, add/remove hosts from host group, rename host group, and delete host group. Deletion of a host group results in deletion of the containing hosts as well. Remove hosts from the host group first to retain them.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
hostgroup_name str
The host group name. This value must contain 128 or fewer printable Unicode characters.
Creation of an empty host group is not allowed.
Required when creating a host group.
Use either hostgroup_id or hostgroup_name for modify and delete tasks.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
hostgroup_id str
The 36-character long host group id, automatically generated when a host group is created.
Use either hostgroup_id or hostgroup_name for modify and delete tasks.
The hostgroup_id cannot be used while creating host group, as it is generated by the array after creation of host group.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
new_name str
The new name for host group renaming function. This value must contain 128 or fewer printable Unicode characters.
hosts list
elements: str

List of hosts to be added or removed from the host group.
Subordinate hosts in a host group can only be of one type, either FC or iSCSI.
Required when creating a host group.
To represent host, both name or ID can be used interchangeably. The module will detect both.
state str True
  • absent
  • present

Define whether the host group should exist or not.
Value present - indicates that the host group should exist on the system.
Value absent - indicates that the host group should not exist on the system.
Deletion of a host group results in deletion of the containing hosts as well. Remove hosts from the host group first to retain them.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
host_state str
  • present-in-group
  • absent-in-group

Define whether the hosts should be present or absent in host group.
Value present-in-group - indicates that the hosts should exist on the host group.
Value absent-in-group - indicates that the hosts should not exist on the host group.
Required when creating a host group with hosts or adding/removing hosts from existing host group.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Create host group with hosts using host name
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      hosts:
        - host1
        - host2
      state: 'present'
      host_state: 'present-in-group'

  - name: Create host group with hosts using host ID
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      hosts:
        - c17fc987-bf82-480c-af31-9307b89923c3
      state: 'present'
      host_state: 'present-in-group'

  - name: Get host group details
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      state: 'present'

  - name: Get host group details using ID
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_id: "{{host group_id}}"
      state: 'present'

  - name: Add hosts to host group
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      hosts:
        - host3
      host_state: 'present-in-group'
      state: 'present'

  - name: Remove hosts from host group
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      hosts:
        - host3
      host_state: 'absent-in-group'
      state: 'present'

  - name: Rename host group
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      new_name: "{{new_hostgroup_name}}"
      state: 'present'

  - name: Delete host group
    dellemc.powerstore.hostgroup:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      hostgroup_name: "{{hostgroup_name}}"
      state: 'absent'

Return Values

Key Type Returned Description
hostgroup_details complex When host group exists Details of the host group.
  description str success Description about the host group.
  id str success The system generated ID given to the host group.
  hosts complex success The hosts details which are part of this host group.
    id str success The ID of the host.
    name str success The name of the host.
  name str success Name of the host group.
changed bool always Whether or not the resource has changed.

Authors


Network Module

Manage networks on Dell EMC PowerStore

Synopsis

Managing networks on PowerStore Storage System includes getting details of network, modifying attributes of network and adding/removing IP ports to/from storage network.

Parameters

Parameter Type Required Default Choices Description
vlan_id int
The ID of the VLAN.
network_id str
The ID of the network.
vasa_provider_credentials dict
Credentials required for re-registering the VASA vendor provider during the reconfiguration of the cluster management IP address.
  password str True
VASA vendor provider password.
  username str True
VASA vendor provider user name.
new_name str
New name of the network.
addresses list
elements: dict

IP addresses to add/remove in IPv4 format.
  current_address str
Existing IPv4 address.
  new_address str
New IPv4 address.
new_cluster_mgmt_address str
New cluster management IP address in IPv4 format.
esxi_credentials list
elements: dict

Credentials required for re-registering the ESXi hosts in the vCenter.
It should be passed only when ESXi host addresses or management network VLAN / prefix / gateway are changed during the reconfiguration of the PowerStore X model appliances.
This parameter is applicable only for PowerStore X model.
This parameter will be ignored if passed for PowerStore T model.
  node_id str True
Node identifier corresponding to the ESXi host.
  password str True
ESXi host root password.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
user str True
The username of the PowerStore host.
mtu int
Maximum Transmission Unit (MTU) packet size set on network interfaces, in bytes.
password str True
The password of the PowerStore host.
gateway str
Network gateway in IPv4 format. IP version.
Specify empty string to remove the gateway.
wait_for_completion bool False
Flag to indicate if the operation should be run synchronously or asynchronously. True signifies synchronous execution. By default, modify operation will run asynchronously.
storage_discovery_address str
New storage discovery IP address in IPv4 format.
Specify empty string to remove the storage discovery IP address.
port_state str
  • present-in-network
  • absent-in-network

Specifies whether port should mapped/unmapped from the storage network.
state str True
  • absent
  • present

Define whether the network exist or not.
network_name str
The name of the network.
This parameter is added in 2.0.0.0.
Specify either network_name or network_id for any operation.
ports list
elements: str

Ports to be mapped/unmapped to/from the storage network.
prefix_length int
Network prefix length.
array_ip str True
IP or FQDN of the PowerStore management system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.

Notes

  • It is recommended to perform task asynchronously while changing cluster management address.
  • Idempotency is not supported for vasa_provider_credentials and esxi_credentials.
  • For PowerStore X model, vasa_provider_credentials has to be specified along with new_cluster_mgmt_address.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get network details using ID
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    state: "present"

- name: Get network details using name
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_name: "Default Management Network"
    state: "present"

- name: Rename the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_name: "Default Storage Network"
    new_name: "iSCSI Network"
    wait_for_completion: True
    state: "present"

- name: Replace the IP's in the management network and re-register VASA vendor provider
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    addresses:
    - current_address: "100.230.x.x"
      new_address: "100.230.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.230.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.230.x.x"
    new_cluster_mgmt_address: "100.230.x.x"
    vasa_provider_credentials:
      username: "vmadmin"
      password: "{{vm_password}}"
    state: "present"

- name: Map port to the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW6"
    ports:
    - "IP1"
    port_state: "present-in-network"
    state: "present"

- name: Unmap port from the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW6"
    ports:
    - "IP1"
    port_state: "absent-in-network"
    state: "present"

- name: Replace the IP's in the management network and re-register VASA vendor
        provider for X model
  dellemc.powerstore.network:
    array_ip: "{{array_ip1}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    vlan_id: 0
    gateway: "100.231.x.x"
    mtu: 1500
    prefix_length: 24
    addresses:
    - current_address: "100.230.x.x"
      new_address: "100.231.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.231.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.231.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.231.x.x"
    - current_address: "100.230.x.x"
      new_address: "100.231.x.x"
    new_cluster_mgmt_address: "100.231.x.x"
    vasa_provider_credentials:
      username: "vmadmin"
      password: "{{vm_password}}"
    esxi_credentials:
    - "node_id": "N1"
      "password": "{{node_password}}"
    - "node_id": "N2"
      "password": "{{node_password}}"
    state: "present"

Return Values

Key Type Returned Description
job_details complex When asynchronous task is performed. The job details.
  id str success The ID of the job.
network_details complex When network exists. The network details.
  vcenter_details complex success Details of the vcenter.
    id str success Unique identifier of the vCenter instance.
    instance_uuid str success UUID instance of the vCenter.
    address str success IP address of vCenter host, in IPv4, IPv6, or hostname format.
    vendor_provider_status str success General status of the VASA vendor provider in vCenter.
    username str success User name to login to vCenter.
  ip_version str success IP protocol version
  vlan_id int success VLAN identifier.
  purposes list success Purposes of the network.
  id str success The ID of the network.
  type str success Network type
  gateway str success The gateway of the network.
  cluster_details complex success The details of the cluster.
    management_address str success The floating management IP address for the cluster in IPv4 or IPv6 format.
    appliance_count int success Number of appliances configured in this cluster.
    name str success The name of the cluster.
    storage_discovery_address str success The floating storage discovery IP address for the cluster in IPv4 or IPv6 format.
    id str success The unique identifier of the cluster.
  member_ips complex success Properties of the IP pool address.
    node_id str success Unique identifier of the cluster node to which the IP address belongs.
    address str success IP address value, in IPv4 or IPv6 format.
    purposes list success IP address purposes.
    network_id str success Unique identifier of the network to which the IP address belongs.
    id str success Unique identifier of the IP address.
    appliance_id str success Unique identifier of the appliance to which the IP address belongs.
    name str success Name of the IP address.
    ip_port_id str success Unique identifier of the port that uses this IP address to provide access to storage network services, such as iSCSI. This attribute can be set only for an IP address used by networks of type Storage.
  prefix_length int success Network prefix length.
  mtu int success Maximum Transmission Unit (MTU) packet size set on network interfaces, in bytes.
  name str success The name of the network.
changed bool always Whether or not the resource has changed.

Authors


NFS Module

Manage NFS exports on Dell EMC PowerStore

Synopsis

Managing NFS exports on PowerStore Storage System includes creating new NFS Export, getting details of NFS export, modifying attributes of NFS export, and deleting NFS export.

Parameters

Parameter Type Required Default Choices Description
snapshot str
The ID/Name of the Snapshot for which NFS export will be created.
Either filesystem or snapshot is required for creation of the NFS Export.
If snapshot name is specified, then nas_server is required to uniquely identify the snapshot.
If snapshot parameter is provided, then filesystem cannot be specified.
NFS export can be created only if access type of snapshot is "protocol".
min_security str
  • SYS
  • KERBEROS
  • KERBEROS_WITH_INTEGRITY
  • KERBEROS_WITH_ENCRYPTION

NFS enforced security type for users accessing an NFS export.
If not specified at the time of creation, it will be set to SYS.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
nfs_export_id str
The ID of the NFS export.
read_write_hosts list
elements: str

Hosts with read and write access to the NFS export.
default_access str
  • NO_ACCESS
  • READ_ONLY
  • READ_WRITE
  • ROOT
  • READ_ONLY_ROOT

Default access level for all hosts that can access the Export.
For hosts that need different access than the default, they can be configured by adding to the list.
If default_access is not mentioned during creation, then NFS export will be created with No_Access.
no_access_hosts list
elements: str

Hosts with no access to the NFS export.
read_only_hosts list
elements: str

Hosts with read-only access to the NFS export.
nas_server str
The NAS server. This could be the name or ID of the NAS server.
anonymous_uid int
Specifies the user ID of the anonymous account.
If not specified at the time of creation, it will be set to -2.
is_no_suid bool
If set, do not allow access to set SUID. Otherwise, allow access.
If not specified at the time of creation, it will be set to False.
path str
Local path to export relative to the NAS server root.
With NFS, each export of a file_system or file_snap must have a unique local path.
Mandatory while creating NFS export.
state str True
  • absent
  • present

Define whether the NFS export should exist or not.
nfs_export_name str
The name of the NFS export.
Mandatory for create operation.
Specify either nfs_export_name or nfs_export_id(but not both) for any operation.
user str True
The username of the PowerStore host.
read_only_root_hosts list
elements: str

Hosts with read-only access for root user to the NFS export.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
anonymous_gid int
Specifies the group ID of the anonymous account.
If not specified at the time of creation, it will be set to -2.
password str True
The password of the PowerStore host.
read_write_root_hosts list
elements: str

Hosts with read and write access for root user to the NFS export.
description str
The description for the NFS export.
filesystem str
The ID/Name of the filesystem for which the NFS export will be created.
Either filesystem or snapshot is required for creation of the NFS Export.
If filesystem name is specified, then nas_server is required to uniquely identify the filesystem.
If filesystem parameter is provided, then snapshot cannot be specified.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
array_ip str True
IP or FQDN of the PowerStore management system.
host_state str
  • present-in-export
  • absent-in-export

Define whether the hosts can access the NFS export.
Required when adding or removing host access from the export.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create NFS export (filesystem)
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_name: "{{export_name1}}"
    filesystem: "{{filesystem}}"
    nas_server: "{{nas_server}}"
    path: "{{path1}}"
    description: "sample description"
    default_access: "NO_ACCESS"
    no_access_hosts:
      - "{{host5}}"
    read_only_hosts:
      - "{{host1}}"
    read_only_root_hosts:
      - "{{host2}}"
    read_write_hosts:
      - "{{host3}}"
    read_write_root_hosts:
      - "{{host4}}"
    min_security: "SYS"
    anonymous_uid: 1000
    anonymous_gid: 1000
    is_no_suid: True
    host_state: "present-in-export"
    state: "present"

- name: Create NFS export Create NFS export for filesystem snapshot with mandatory parameters
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_name: "{{export_name2}}"
    snapshot: "{{snapshot}}"
    nas_server: "{{nas_server}}"
    path: "{{path2}}"
    state: "present"

- name: Get NFS export details using ID
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_id: "{{export_id}}"
    state: "present"

- name: Add Read-Only and Read-Write hosts to NFS export
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_id: "{{export_id}}"
    read_only_hosts:
      - "{{host5}}"
    read_write_hosts:
      - "{{host6}}"
    host_state: "present-in-export"
    state: "present"

- name: Remove Read-Only and Read-Write hosts from NFS export
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_id: "{{export_id}}"
    read_only_hosts:
      - "{{host1}}"
    read_write_hosts:
      - "{{host3}}"
    host_state: "absent-in-export"
    state: "present"

- name: Modify the attributes of NFS export
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_id: "{{export_id}}"
    description: "modify description"
    default_access: "ROOT"
    state: "present"

- name: Delete NFS export using name
  dellemc.powerstore.nfs:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    nfs_export_name: "{{export_name}}"
    nas_server: "{{nas_server}}"
    state: "absent"

Return Values

Key Type Returned Description
nfs_export_details complex When NFS export exists. The NFS export details.
  read_only_root_hosts list success Hosts with read-only for root user access to the NFS export.
  min_security str success NFS enforced security type for users accessing an NFS export.
  anonymous_GID int success The group ID of the anonymous account.
  path str success Local path to a location within the file system.
  read_write_hosts list success Hosts with read and write access to the NFS export.
  default_access str success Default access level for all hosts that can access the export.
  is_no_SUID bool success If set, do not allow access to set SUID. Otherwise, allow access.
  id str success The ID of the NFS export.
  file_system complex success Details of filesystem and NAS server on which NFS export is present.
    filesystem_type str success The type of the filesystem.
    nas_server complex success Details of NAS server.
      id str success The ID of the NAS server.
      name str success The name of the NAS server.
    name str success The name of the filesystem.
    id str success The ID of the filesystem.
  read_write_root_hosts list success Hosts with read and write for root user access to the NFS export.
  read_only_hosts list success Hosts with read-only access to the NFS export.
  no_access_hosts list success Hosts with no access to the NFS export.
  description str success The description for the NFS export.
  anonymous_UID int success The user ID of the anonymous account.
  name str success The name of the NFS export.
changed bool always Whether or not the resource has changed.

Authors


Snapshot Rule Module

Snapshot Rule operations on a PowerStore storage system

Synopsis

Performs all snapshot rule operations on PowerStore Storage System. This modules supports get details of a snapshot rule, create new Snapshot Rule with Interval, create new Snapshot Rule with specific time and days_of_week. Modify Snapshot Rule. Delete Snapshot Rule.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
snapshotrule_id str
String variable. Indicates the ID of the Snapshot rule.
time_of_day str
String variable. Indicates the time of the day to take a daily Snapshot, with the format "hh:mm" in 24 hour time format.
When creating a Snapshot rule, specify either "interval"or "time_of_day" but not both.
password str True
The password of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
desired_retention int
Integer variable. Indicates the desired Snapshot retention period.
It is required when creating a new Snapshot rule.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
delete_snaps bool
Boolean variable to specify whether all Snapshots previously created by this rule should also be deleted when this rule is removed.
True specifies to delete all previously created Snapshots by this rule while deleting this rule.
False specifies to retain all previously created Snapshots while deleting this rule.
new_name str
String variable. Indicates the new name of the Snapshot rule.
Used for renaming operation.
days_of_week list
elements: str
  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday

List of strings to specify days of the week on which the Snapshot rule should be applied. Must be applied for Snapshot rules where the 'time_of_day' parameter is set.
Optional for the Snapshot rule created with an interval. When 'days_of_week' is not specified for a new Snapshot rule, the rule is applied on every day of the week.
interval str
  • Five_Minutes
  • Fifteen_Minutes
  • Thirty_Minutes
  • One_Hour
  • Two_Hours
  • Three_Hours
  • Four_Hours
  • Six_Hours
  • Eight_Hours
  • Twelve_Hours
  • One_Day

String variable. Indicates the interval between Snapshots.
When creating a Snapshot rule, specify either "interval" or "time_of_day", but not both.
state str True
  • present
  • absent

String variable indicates the state of Snapshot rule.
For "Delete" operation only, it should be set to "absent".
For all Create, Modify or Get details operation it should be set to "present".
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
name str
String variable. Indicates the name of the Snapshot rule.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get details of an existing snapshot rule by name
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    state: "present"

- name: Get details of an existing snapshot rule by id
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    snapshotrule_id: "{{snapshotrule_id}}"
    state: "present"

- name: Create new snapshot rule by interval
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    interval: "{{interval}}"
    days_of_week:
          - Monday
    desired_retention: "{{desired_retention}}"
    state: "present"


- name: Create new snapshot rule by time_of_day and days_of_week
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    desired_retention: "{{desired_retention}}"
    days_of_week:
      - Monday
      - Wednesday
      - Friday
    time_of_day: "{{time_of_day}}"
    state: "present"

- name: Modify existing snapshot rule to time_of_day and days_of_week
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    days_of_week:
      - Monday
      - Wednesday
      - Friday
      - Sunday
    time_of_day: "{{time_of_day}}"
    state: "present"

- name: Modify existing snapshot rule to interval
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    interval: "{{interval}}"
    state: "present"

- name: Delete an existing snapshot rule by name
  dellemc.powerstore.snapshotrule:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    state: "absent"

Return Values

Key Type Returned Description
snapshotrule_details complex When snapshot rule exists Details of the snapshot rule.
  days_of_week list success List of string to specify days of the week on which the rule should be applied.
  policies complex success The protection policies details of the snapshot rule.
    id str success The protection policy ID in which the snapshot rule is selected.
    name str success Name of the protection policy in which the snapshot rule is selected.
  desired_retention int success Desired snapshot retention period.
  id str success The system generated ID given to the snapshot rule.
  interval str success The interval between snapshots.
  name str success Name of the snapshot rule.
  time_of_day str success The time of the day to take a daily snapshot.
changed bool always Whether or not the resource has changed.

Authors


Volume Group Module

Manage volume groups on a PowerStore Storage System

Synopsis

Managing volume group on PowerStore Storage System includes creating new volume group, adding volumes to volume group, removing volumes from volume group. Module also include renaming volume group, modifying volume group, and deleting volume group.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
is_write_order_consistent bool
A boolean flag to indicate whether Snapshot sets of the volume group will be write-order consistent.
If this parameter is not specified, the array by default sets it to true.
vg_name str
The name of the volume group.
array_ip str True
IP or FQDN of the PowerStore management system.
volumes list
elements: str

This is a list of volumes.
Either the volume ID or name must be provided for adding/removing existing volumes from a volume group.
If volumes are given, then vol_state should also be specified.
password str True
The password of the PowerStore host.
vol_state str
  • present-in-group
  • absent-in-group

String variable. Describes the state of volumes inside a volume group.
If volume is given, then vol_state should also be specified.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
vg_id str
The id of the volume group.
It can be used only for Modify, Add/Remove, or Delete operation.
new_vg_name str
The new name of the volume group.
description str
Description about the volume group.
state str True
  • absent
  • present

Define whether the volume group should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
protection_policy str
String variable. Represents Protection policy id or name used for volume group.
Specifying an empty string or "" removes the existing protection policy from volume group.

Notes

  • Parameter vol_state is mandatory if volumes are provided.
  • A protection policy can be specified either for an volume group, or for the individual volumes inside the volume group.
  • A volume can be a member of at most one volume group.
  • Specifying "protection_policy" as empty string or "" removes the existing protection policy from a volume group.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create volume group without protection policy
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_name: "{{vg_name}}"
    description: "This volume group is for ansible"
    state: "present"

- name: Get details of volume group
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_name: "{{vg_name}}"
    state: "present"

- name: Add volumes to volume group
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_name: "{{vg_name}}"
    state: "present"
    volumes:
      - "7f879569-676c-4749-a06f-c2c30e09b295"
      - "68e4dad5-5de5-4644-a98f-6d4fb916e169"
      - "Ansible_Testing"
    vol_state: "present-in-group"

- name: Remove volumes from volume group
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_name: "{{vg_name}}"
    state: "present"
    volumes:
      - "7f879569-676c-4749-a06f-c2c30e09b295"
      - "Ansible_Testing"
    vol_state: "absent-in-group"

- name: Rename volume group and change is_write_order_consistent flag
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_name: "{{vg_name}}"
    new_vg_name: "{{new_vg_name}}"
    is_write_order_consistent: False
    state: "present"

- name: Get details of volume group by ID
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    vg_id: "{{vg_id}}"
    state: "present"

- name: Delete volume group
  dellemc.powerstore.volumegroup:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{new_vg_name}}"
    state: "absent"

Return Values

Key Type Returned Description
delete_vg bool When value exists A boolean flag to indicate whether volume group got deleted.
add_vols_to_vg bool When value exists A boolean flag to indicate whether volume/s got added to volume group.
create_vg bool When value exists A boolean flag to indicate whether volume group got created.
remove_vols_from_vg bool When value exists A boolean flag to indicate whether volume/s got removed from volume group.
modify_vg bool When value exists A boolean flag to indicate whether volume group got modified.
volume_group_details complex When volume group exists Details of the volume group.
  description str success description about the volume group.
  volumes complex success The volumes details of the volume group.
    id str success The system generated ID given to the volume associated with the volume group.
    name str success The name of the volume associated with the volume group.
  id str success The system generated ID given to the volume group.
  type str success The type of the volume group.
  is_write_order_consistent bool success A boolean flag to indicate whether snapshot sets of the volume group will be write-order consistent.
  name str success Name of the volume group.
  protection_policy_id str success The protection policy of the volume group.
changed bool always Whether or not the resource has changed.

Authors


Remote Support Contact Module

Remote Support Contact operations on a PowerStore storage system

Synopsis

Performs all Remote Support Contact operations on a PowerStore Storage system. This module supports get details and you can modify a Remote Support Contact with supported parameters.

Parameters

Parameter Type Required Default Choices Description
phone str
The phone number of this support contact for this system.
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
first_name str
The first name of the support contact for this system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
last_name str
The last name of the support contact for this system.
email str
The email address of the support contact for this system.
contact_id int True
Unique identifier of the remote support contact.
state str True
  • present
  • absent

The state of the remote support contact after the task is performed.
For Delete operation only, it should be set to "absent".
For get/modify operation it should be set to "present".
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • Creation and deletion of remote support contact is not supported.
  • Parameters first_name, last_name, email and phone can be removed by passing empty string.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of remote support contact
    dellemc.powerstore.remote_support_contact:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       contact_id: 0
       state: "present"

  - name: Modify remote support contact
    dellemc.powerstore.remote_support_contact:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       contact_id: 0
       first_name: "abc"
       last_name: "xyz"
       phone: "111-222-333-444"
       email: "[email protected]"
       state: "present"

Return Values

Key Type Returned Description
remote_support_contact_details complex When remote support contact exists. Details of the remote support contact.
  id int success Unique identifier of remote support contact.
  phone str success The phone number of this support contact for this system.
  email str success The email address of the support contact for this system.
  last_name str success The last name of the support contact for this system.
  first_name str success The first name of the support contact for this system.
changed bool always Whether or not the resource has changed.

Authors


NAS Server Module

NAS Server operations on PowerStore Storage system

Synopsis

Supports getting the details and modifying the attributes of a NAS server.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
description str
Description of the NAS server.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
current_unix_directory_service str
  • NIS
  • LDAP
  • LOCAL_FILES
  • LOCAL_THEN_NIS
  • LOCAL_THEN_LDAP

Define the Unix directory service used for looking up identity information for Unix such as UIDs, GIDs, net groups, and so on.
preferred_node str
Unique identifier or name of the preferred node for the NAS server. The initial value (on NAS server create) is taken from the current node.
default_windows_user str
Default Windows user name used for granting access in case of Unix to Windows user mapping failure. When empty, access in such case is denied.
current_node str
Unique identifier or name of the node on which the NAS server is running.
nas_server_id str
Unique id of the NAS server. Mutually exclusive with nas_server_name.
nas_server_name str
Name of the NAS server. Mutually exclusive with nas_server_id.
default_unix_user str
Default Unix user name used for granting access in case of Windows to Unix user mapping failure. When empty, access in such case is denied.
state str True
  • absent
  • present

Define whether the nas server should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
nas_server_new_name str
New name of the NAS server for a rename operation.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

 - name: Get details of NAS Server by name
   dellemc.powerstore.nasserver:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     nas_server_name: "{{nas_server_name}}"
     state: "present"

 - name: Get Details of NAS Server by ID
   dellemc.powerstore.nasserver:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     nas_server_id: "{{nas_id}}"
     state: "present"

 - name: Rename NAS Server by Name
   dellemc.powerstore.nasserver:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     nas_server_name: "{{nas_server_name}}"
     nas_server_new_name : "{{nas_server_new_name}}"
     state: "present"

 - name: Modify NAS Server attributes by ID
   dellemc.powerstore.nasserver:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     nas_server_id: "{{nas_id}}"
     current_unix_directory_service: "LOCAL_FILES"
     current_node: "{{cur_node_n1}}"
     preferred_node: "{{prefered_node}}"
     state: "present"

Return Values

Key Type Returned Description
nasserver_details complex When nas server exists Details about the nas server.
  backup_IPv4_interface_id str success Unique identifier of the preferred IPv4 backup interface.
  production_IPv6_interface_id str success Unique identifier of the preferred IPv6 production interface.
  smb_servers str success This is the inverse of the resource type smb_server association.
  backup_IPv6_interface_id str success Unique identifier of the preferred IPv6 backup interface.
  file_interfaces dict success This is the inverse of the resource type file_interface association. Will return the id,name & ip_address of the associated file interface.
  operational_status str success NAS server operational status.
  file_ldaps str success This is the inverse of the resource type file_ldap association.
  nfs_servers str success This is the inverse of the resource type nfs_server association.
  is_username_translation_enabled bool success Enable the possibility to match a windows account to a Unix account with different names.
  current_unix_directory_service str success Define the Unix directory service used for looking up identity information for Unix such as UIDs, GIDs, net groups, and so on.
  preferred_node dict success Unique identifier and name of the preferred node for the NAS server.
  id str success The system generated ID given to the nas server.
  production_IPv4_interface_id str success Unique identifier of the preferred IPv4 production interface.
  current_node dict success Unique identifier and name of the node on which the NAS server is running.
  default_unix_user str success Default Unix user name used for granting access in case of Windows to Unix user mapping failure.
  description str success Additional information about the nas server.
  name str success Name of the nas server.
  file_systems dict success This is the inverse of the resource type file_system association.
changed bool always Whether or not the resource has changed.

Authors


Filesystem Snapshot Module

Manage Filesystem Snapshots on Dell EMC PowerStore

Synopsis

Supports the provisioning operations on a filesystem snapshot such as create, modify, delete and get the details of a filesystem snapshot.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
snapshot_name str
The name of the filesystem snapshot.
Mandatory for create operation.
Specify either snapshot name or ID (but not both) for any operation.
password str True
The password of the PowerStore host.
desired_retention int
The retention value for the Snapshot.
If the desired_retention/expiration_timestamp is not mentioned during creation, snapshot will be created with unlimited retention.
Maximum supported desired retention is 31 days.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
retention_unit str hours
  • hours
  • days

The unit for retention.
filesystem str
The ID/Name of the filesystem for which snapshot will be taken.
If filesystem name is specified, then nas_server is required to uniquely identify the filesystem.
Mandatory for create operation.
access_type str
  • SNAPSHOT
  • PROTOCOL

Specifies whether the snapshot directory or protocol access is granted to the filesystem snapshot.
For create operation, if access_type is not specified, snapshot will be created with 'SNAPSHOT' access type.
snapshot_id str
The ID of the Snapshot.
expiration_timestamp str
The expiration timestamp of the snapshot. This should be provided in UTC format, e.g 2020-07-24T10:54:54Z.
To remove the expiration timestamp, specify it as an empty string.
description str
The description for the filesystem snapshot.
nas_server str
The NAS server, this could be the name or ID of the NAS server.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
state str True
  • absent
  • present

Define whether the filesystem snapshot should exist or not.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create filesystem snapshot
  dellemc.powerstore.filesystem_snapshot:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      snapshot_name: "sample_filesystem_snapshot"
      nas_server: "ansible_nas_server"
      filesystem: "sample_filesystem"
      desired_retention: 20
      retention_unit: "days"
      state: "present"

- name: Get the details of filesystem snapshot
  dellemc.powerstore.filesystem_snapshot:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      snapshot_id: "{{fs_snapshot_id}}"
      state: "present"

- name: Modify the filesystem snapshot
  dellemc.powerstore.filesystem_snapshot:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      snapshot_name: "sample_filesystem_snapshot"
      nas_server: "ansible_nas_server"
      description: "modify description"
      expiration_timestamp: ""
      state: "present"

- name: Delete filesystem snapshot
  dellemc.powerstore.filesystem_snapshot:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      snapshot_id: "{{fs_snapshot_id}}"
      state: "absent"

Return Values

Key Type Returned Description
create_fs_snap bool always Whether or not the resource has created.
filesystem_snap_details dict When snapshot exists. Details of the snapshot.
  access_type str success Displays the type of access allowed to the snapshot.
  parent_name str success Name of the filesystem on which snapshot is taken.
  expiration_timestamp str success The date and time the snapshot is due to be automatically deleted by the system.
  id str success Unique identifier of the filesystem snapshot instance.
  nas_server dict success Details of NAS server on which snapshot is present.
    id str success ID of the NAS server.
    name str success Name of the NAS server
  description str success Description of the filesystem snapshot.
  name str success The name of the snapshot.
  creation_timestamp str success The date and time the snapshot was created.
  parent_id str success ID of the filesystem on which snapshot is taken.
delete_fs_snap bool always Whether or not the resource has deleted.
modify_fs_snap bool always Whether or not the resource has modified.
changed bool always Whether or not the resource has changed.

Authors


Security Config Module

Security configuration operations on PowerStore Storage System

Synopsis

Managing security configuration on PowerStore storage system includes getting details and modifying security configuration parameters.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
protocol_mode str
  • TLSv1_0
  • TLSv1_1
  • TLSv1_2

Protocol mode of the security configuration.
Mandatory only for modify operation.
security_config_id int True
ID of the security configuration.
Mandatory for all operations.
password str True
The password of the PowerStore host.
state str True
  • absent
  • present

Define whether the security config should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • Creation and deletion of security configs is not supported by Ansible modules.
  • Modification of protocol mode is only supported for PowerStore v2.0.0.0 and above.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get security config
  dellemc.powerstore.security_config:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    security_config_id: 1
    state: "present"

- name: Modify attribute of security config
  dellemc.powerstore.security_config:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    security_config_id: 1
    protocol_mode: "TLSv1_1"
    state: "present"

Return Values

Key Type Returned Description
security_config_details complex When security config exists Details of the security configuration.
  id str success The system generated ID given to the security configuration.
  protocol_mode str success The protocol mode of the security configuration.
  idle_timeout int success Idle time (in seconds) after which login sessions will expire and require re-authentication.
changed bool always Whether or not the resource has changed.

Authors


Host Module

Manage host on PowerStore storage system

Synopsis

Managing host on PowerStore storage system includes create host with a set of initiators, add/remove initiators from host, rename host and delete host.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
host_id str
The 36 character long host id automatically generated when a host is created.
Use either host_id or host_name for modify and delete tasks.
The host_id cannot be used while creating host, as it is generated by the array after creation of host.
state str True
  • absent
  • present

Define whether the host should exist or not.
Value present - indicates that the host should exist in system.
Value absent - indicates that the host should not exist in system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
new_name str
The new name of host for renaming function. This value must contain 128 or fewer printable Unicode characters.
Cannot be specified when creating a host.
initiator_state str
  • present-in-host
  • absent-in-host

Define whether the initiators should be present or absent in host.
Value present-in-host - indicates that the initiators should exist on host.
Value absent-in-host - indicates that the initiators should not exist on host.
Required when creating a host with initiators or adding/removing initiators to/from existing host.
host_name str
The host name. This value must contain 128 or fewer printable Unicode characters.
Creation of an empty host is not allowed.
Required when creating a host.
Use either host_id or host_name for modify and delete tasks.
os_type str
  • Windows
  • Linux
  • ESXi
  • AIX
  • HP-UX
  • Solaris

Operating system of the host.
Required when creating a host.
OS type cannot be modified for a given host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
detailed_initiators list
elements: dict

Initiator properties.
It is mutually exclusive with initiators.
  chap_mutual_username str
Username for mutual CHAP authentication.
CHAP username is required when the cluster CHAP mode is mutual authentication.
Minimum length is 1 and maximum length is 64 characters.
  port_name str True
Name of port type.
The port_name is mandatory key.
  chap_single_username str
Username for single CHAP authentication.
CHAP username is required when the cluster CHAP mode is mutual authentication.
Minimum length is 1 and maximum length is 64 characters.
  chap_single_password str
Password for single CHAP authentication.
CHAP password is required when the cluster CHAP mode is mutual authentication.
Minimum length is 12 and maximum length is 64 characters.
  port_type str
  • iSCSI
  • FC
  • NVMe

Protocol type of the host initiator.
  chap_mutual_password str
Password for mutual CHAP authentication.
CHAP password is required when the cluster CHAP mode is mutual authentication.
Minimum length is 12 and maximum length is 64 characters.
initiators list
elements: str

List of Initiator WWN or IQN or NQN to be added or removed from the host.
Subordinate initiators in a host can only be of one type, either FC or iSCSI.
Required when creating a host.
It is mutually exclusive with detailed_initiators.

Notes

  • Only completely and correctly configured iSCSI initiators can be associated with a host.
  • The parameters initiators and detailed_initiators are mutually exclusive.
  • For mutual CHAP authentication, single CHAP credentials are mandatory.
  • Support of NVMe type of initiators is for PowerStore 2.0 and beyond.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Create host with FC initiator
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-1"
      os_type: 'Windows'
      initiators:
        - 21:00:00:24:ff:31:e9:fc
      state: 'present'
      initiator_state: 'present-in-host'

  - name: Create host with iSCSI initiator and its details
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-2"
      os_type: 'Windows'
      detailed_initiators:
        - port_name: 'iqn.1998-01.com.vmware:lgc198248-5b06fb37'
          port_type: 'iSCSI'
          chap_single_username: 'chapuserSingle'
          chap_single_password: 'chappasswd12345'
        - port_name: 'iqn.1998-01.com.vmware:imn198248-5b06fb37'
          port_type: 'iSCSI'
          chap_mutual_username: 'chapuserMutual'
          chap_mutual_password: 'chappasswd12345'
      state: 'present'
      initiator_state: 'present-in-host'

  - name: Get host details by name
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-1"
      state: 'present'

  - name: Get host details by id
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_id: "5c1e869b-ed8a-4845-abae-b102bc249d41"
      state: 'present'

  - name: Add initiators to host by name
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-1"
      initiators:
        - 21:00:00:24:ff:31:e9:ee
      initiator_state: 'present-in-host'
      state: 'present'

  - name: Add initiators to host by id
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_id: "5c1e869b-ed8a-4845-abae-b102bc249d41"
      detailed_initiators:
        - port_name: 'iqn.1998-01.com.vmware:imn198248-5b06fb37'
          port_type: 'iSCSI'
          chap_mutual_username: 'chapuserMutual'
          chap_mutual_password: 'chappasswd12345'
      initiator_state: 'present-in-host'
      state: 'present'

  - name: Remove initiators from host by name
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-2"
      detailed_initiators:
        - port_name: 'iqn.1998-01.com.vmware:imn198248-5b06fb37'
          port_type: 'iSCSI'
          chap_mutual_username: 'chapuserMutual'
          chap_mutual_password: 'chappasswd12345'
      initiator_state: 'absent-in-host'
      state: 'present'

  - name: Remove initiators from by id
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_id: "8c1e869b-fe8a-4845-hiae-h802bc249d41"
      initiators:
        - 21:00:00:24:ff:31:e9:ee
      initiator_state: 'absent-in-host'
      state: 'present'

  - name: Rename host by name
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-1"
      new_name: "ansible-test-host-1-new"
      state: 'present'

  - name: Rename host by id
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_id: "5c1e869b-ed8a-4845-abae-b102bc249d41"
      new_name: "ansible-test-host-2-new"
      state: 'present'

  - name: Delete host
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_name: "ansible-test-host-1-new"
      state: 'absent'

  - name: Delete host by id
    dellemc.powerstore.host:
      array_ip: "{{array_ip}}"
      verifycert: "{{verifycert}}"
      user: "{{user}}"
      password: "{{password}}"
      host_id: "5c1e869b-ed8a-4845-abae-b102bc249d41"
      state: 'absent'

Return Values

Key Type Returned Description
host_details complex When host exists Details of the host.
  description str success Description about the host.
  os_type str success The os type of the host.
  mapped_hosts complex success This is the inverse of the resource type host_volume_mapping association.
    id str success Unique identifier of a mapping between a host and a volume.
    volume dict success Details about a volume which has mapping with the host.
      id str success ID of the volume.
      name str success Name of the volume.
    host_group dict success Details about a host group to which host is mapped.
      id str success ID of the host group.
      name str success Name of the host group.
    logical_unit_number int success Logical unit number for the host volume access.
  id str success The system generated ID given to the host.
  type str success Type of the host.
  host_group_id str success The host group ID of host.
  name str success Name of the host.
  host_initiators complex success The initiator details of this host.
    active_sessions list success List of active login sessions between an initiator and a target port.
    chap_mutual_username str success Username for mutual CHAP authentication.
    port_name str success Name of the port.
    chap_single_username str success Username for single CHAP authentication.
    port_type str success The type of the port.
changed bool always Whether or not the resource has changed.

Authors


Job Module

Manage jobs on Dell EMC PowerStore

Synopsis

Managing jobs on PowerStore Storage System includes getting details of job.

Parameters

Parameter Type Required Default Choices Description
job_id str True
The ID of the job.
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
array_ip str True
IP or FQDN of the PowerStore management system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get Job Details
  dellemc.powerstore.job:
    array_ip: "{{mgmt_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    job_id: "a544981c-e94a-40ab-9eae-e578e182d2bb"

Return Values

Key Type Returned Description
job_details complex When job exists. The job details.
  start_time str success Date and time when the job execution started.
  user str success Name of the user associated with the job.
  end_time str success Date and time when the job execution completed.
  step_order int success Order of a given job step with respect to its siblings within the job hierarchy.
  resource_action str success User-specified action to be performed on the given resource.
  response_status str success Possible HTTP status values of completed or failed jobs.
  description_l10n str success Description of the job.
  root_id str success Unique identifier of the root job, if applicable. The root job is the job at the top of the parent hierarchy.
  estimated_completion_time str success Estimated completion date and time.
  resource_id str success Unique identifier of the resource on which the job is operating.
  resource_type str success Resource Type for the given resource.
  resource_name str success Name of the resource on which the job is operating.
  id str success Unique identifier of the job.
  state str success Current status of the job.
  progress_percentage int success Percent complete of the job.
  response_body complex success Base response object.
    messages complex success The details of the error response.
      code str success Hexadecimal code of the error.
      message_l10n str success The description of the error.
      severity str success Type of the severity.
      arguments list success Values involved in the error.
    response_type str success Job error response.
  phase str success Current status of the job.
  parent_id str success Unique identifier of the parent job, if applicable.
changed bool always Whether or not the resource has changed.

Authors


Remote Support Module

Remote Support operations on a PowerStore storage system

Synopsis

Performs all Remote Support operations on a PowerStore Storage System. This module supports getting details of an existing Remote Support configuration. This module also supports modifying an existing Remote Support configuration. Verify a remote support configuration. You can send a test alert through the remote support configuration.

Parameters

Parameter Type Required Default Choices Description
remote_support_id int True
Unique identifier of the remote support configuration.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
state str True
  • present
  • absent

The state of the remote support configuration after the task is performed.
For Delete operation only, it should be set to "absent".
For get/modify operation it should be set to "present".
proxy_username str
User name for proxy server access.
user str True
The username of the PowerStore host.
support_type str
  • SRS_Gateway
  • SRS_Gateway_Tier2
  • SRS_Gateway_Tier3
  • SRS_Integrated_Tier2
  • SRS_Integrated_Tier3
  • Disabled

The type of remote support that is configured.
Mandatory for modify and verify operation.
SRS_Gateway support_type is only supported for verify operation.
password str True
The password of the PowerStore host.
wait_for_completion bool False
Flag to indicate if the operation should be run synchronously or asynchronously. True signifies synchronous execution. By default, modify operation will run asynchronously.
is_icw_configured bool
Client already configured ICW.
is_support_assist_license_accepted bool
Indicates whether user has accepted remote support license agreement before enabling the Support Assist on the system for the first time.
is_cloudiq_enabled bool
Indicates whether support for CloudIQ is enabled.
verify_connection bool False
Indicates whether to perform the verify call or not.
proxy_password str
Password for proxy server access.
is_rsc_enabled bool
Indicates whether support for Remote Service Credentials is enabled.
server_state str
  • present-in-server
  • absent-in-server

Indicates the state of the remote-support_servers.
Required with remote_support_servers.
proxy_port int
Proxy server port number.
remote_support_servers list
elements: dict

One or two remote support servers.
  port int
Gateway server port.
  is_primary bool
Indicates whether the server is acting as the primary.
One server must be set to false when two servers are configured.
  address str True
Gateway server IP address (IPv4).
The address is a mandatory key.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
array_ip str True
IP or FQDN of the PowerStore management system.
send_test_alert bool False
Indicates whether to send a test alert or not.
return_support_license_text bool False
Indicates whether to return support license agreement text or not.
proxy_address str
Proxy server IP address (IPv4).

Notes

  • Creation and deletion of remote support configuration is not supported.
  • Support for check_mode is not available for this module.
  • Verify and send test alert operations do not support idempotency.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of remote support configuration
    dellemc.powerstore.remote_support:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       remote_support_id: 0
       state: "present"

  - name: Modify remote support configuration - SRS_Gateway_Tier2
    dellemc.powerstore.remote_support:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      remote_support_id: 0
      support_type: "SRS_Gateway_Tier2"
      remote_support_servers:
      - address: "10.XX.XX.XX"
        port: 9443
        is_primary: True
      - address: "10.XX.XX.YY"
        port: 9443
        is_primary: False
      server_state: "present-in-server"
      is_rsc_enabled: True
      is_cloudiq_enabled: False
      timeout: 300
      state: "present"

  - name: Modify remote support configuration - SRS_Integrated_Tier2
    dellemc.powerstore.remote_support:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      remote_support_id: 0
      support_type: "SRS_Integrated_Tier2"
      proxy_address: "10.XX.XX.ZZ"
      proxy_port: 3128
      proxy_username: "user"
      proxy_password: "password"
      timeout: 300
      state: "present"

  - name: Verify remote support configuration
    dellemc.powerstore.remote_support:
      array_ip: "{{array_ip}}"
      user: "{{user}}"
      password: "{{password}}"
      verifycert: "{{verifycert}}"
      remote_support_id: 0
      support_type: "SRS_Integrated_Tier3"
      timeout: 300
      verify_connection: True
      state: "present"

  - name: Send a test alert
    dellemc.powerstore.remote_support:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       remote_support_id: 0
       send_test_alert: True
       state: "present"

Return Values

Key Type Returned Description
job_details complex When asynchronous task is performed. The job details.
  id str success The ID of the job.
remote_support_details complex When remote support configuration exists. Details of the remote support configuration.
  is_rsc_enabled bool success Indicates whether support for Remote Service Credentials is enabled.
  proxy_address str success Proxy server IP address (IPv4).
  proxy_password str success Password for proxy server access.
  type str success The type of remote support that is configured.
  id int success Unique identifier of remote support configuration.
  support_assist_license_agreement_text str success The support assist license agreement text.
  proxy_username str success User name for proxy server access.
  proxy_port int success Proxy server port number.
  remote_support_servers complex success ['Details of two remote support servers.']
    id str success Unique identifier of the remote support server.
    port int success Gateway server port.
    is_primary bool success Indicates whether the server is acting as the primary.
    address str success Gateway server IP address (IPv4).
  is_support_assist_license_accepted bool success Indicates whether user has accepted remote support license agreement before enabling the Support Assist on the system for the first time.
  is_cloudiq_enabled bool success Indicates whether support for CloudIQ is enabled.
changed bool always Whether or not the resource has changed.

Authors


Replication Session Module

Replication session operations on a PowerStore storage system

Synopsis

Performs all replication session state change operations on a PowerStore Storage System. This module supports get details of an existing replication session. Updating the state of the replication session.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
session_state str
  • failed_over
  • paused
  • synchronizing

State in which the replication session is present after performing the task.
password str True
The password of the PowerStore host.
session_id str
ID of the replication session.
Parameter volume_group, volume, and session_id are mutually exclusive.
volume str
Name/ID of the volume for which replication session exists.
Parameter volume_group, volume, and session_id are mutually exclusive.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
volume_group str
Name/ID of the volume group for which a replication session exists.
Parameter volume_group, volume, and session_id are mutually exclusive.

Notes

  • Manual synchronization for a replication session is not supported through the Ansible module.
  • When the current state of the replication session is 'OK' and in the playbook task 'synchronizing', then it will return "changed" as False.
  • The changed as False in above scenario is because of there is a scheduled synchronization in place with the associated replication rule's RPO in the protection policy.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Pause a replication session
  dellemc.powerstore.replicationsession:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    volume: "sample_volume_1"
    session_state: "paused"

- name: Synchronize a replication session
  dellemc.powerstore.replicationsession:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    volume: "sample_volume_1"
    session_state: "synchronizing"

- name: Get details of a replication session
  dellemc.powerstore.replicationsession:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    volume: "sample_volume_1"

- name: Fail over a replication session
  dellemc.powerstore.replicationsession:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    volume: "sample_volume_1"
    session_state: "failed_over"

Return Values

Key Type Returned Description
replication_session_details complex When replication session exists Details of the replication session.
  resource_type str success Storage resource type eligible for replication protection. volume - Replication session created on a volume. volume_group - Replication session created on a volume group.
  role str success Role of the replication session. Source - The local resource is the source of the remote replication session. Destination - The local resource is the destination of the remote replication session.
  id str success The system generated ID of the replication session. Unique across source and destination roles.
  estimated_completion_timestamp str success Estimated completion time of the current replication operation.
  progress_percentage int success Progress of the current replication operation.
  local_resource_id str success Unique identifier of the local storage resource for the replication session.
  remote_system_id str success Unique identifier of the remote system instance.
  last_sync_timestamp str success Time of last successful synchronization.
  remote_resource_id str success Unique identifier of the remote storage resource for the replication session.
  state str success State of the replication session.
  name str success Name of the replication rule.
  replication_rule_id str success Associated replication rule instance if created by policy engine.
changed bool always Whether or not the resource has changed.

Authors


Remote System Module

Remote system operations on a PowerStore storage system

Synopsis

Performs all remote system operations on a PowerStore Storage System. This module supports get details of a remote systems, create/Add new remote system for all supported parameters, modify remote system with supported parameters and delete/remove a remote system.

Parameters

Parameter Type Required Default Choices Description
new_remote_address str
New management IP of the remote system.
user str True
The username of the PowerStore host.
remote_name str
Name of the remote system.
Parameter remote_name cannot be mentioned during addition of a new remote system.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
wait_for_completion bool False
  • True
  • False

Flag to indicate if the operation should be run synchronously or asynchronously.
True signifies synchronous execution.
By default, modify and delete operation will run asynchronously.
remote_password str
Password used in basic authentication to remote PowerStore cluster.
It can be mentioned only during creation of the remote system.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
remote_id str
ID of the remote system.
ID for the remote system is autogenerated, cannot be passed during creation of a remote system.
Parameter remote_id and remote_address are mutually exclusive.
network_latency str
  • Low
  • High

Replication traffic can be tuned for higher efficiency depending on the expected network latency.
Setting to low will have latency of less than five milliseconds.
Setting to high will have latency of more than five milliseconds.
remote_user str
Username used in basic authentication to remote PowerStore cluster.
It can be mentioned only during creation of the remote system.
description str
Additional information about the remote system.
To remove the description empty string is to be passed.
remote_address str
Management IP of the remote system.
Parameter remote_id and remote_address are mutually exclusive.
remote_port int 443
Remote system's port number.
It can be mentioned only during creation of the remote system.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
state str True
  • present
  • absent

The state of the remote system after the task is performed.
For Delete operation only, it should be set to "absent".
For all Create, Modify or Get details operations it should be set to "present".

Notes

  • The module support allows create/delete/update only for remote PowerStore arrays.
  • Get details can be done for all type of remote arrays.
  • Parameters remote_user, remote_port and remote_password are not required during modification, getting and deleting. If passed then these parameters will be ignored and the operation will be performed.
  • If wait_for_completion is set to True then the connection will be terminated after the timeout is exceeded. User can tweak timeout and pass it in the playbook task.
  • By default, the timeout is set to 120 seconds.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Add a new remote system
  dellemc.powerstore.remotesystem:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    remote_address: "xxx.xxx.xxx.xxx"
    remote_user: "admin"
    remote_password: "{{remote_password}}"
    remote_port: 443
    network_latency: "Low"
    decription: "Adding a new remote system"
    state: "present"

- name: Modify attributes of remote system using remote_id
  dellemc.powerstore.remotesystem:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    remote_id: "7d7e7917-735b-3eef-8cc3-1302001c08e7"
    remote_address: "xxx.xxx.xxx.xxx"
    network_latency: "Low"
    wait_for_completion: True
    timeout: 300
    decription: "Updating the description"
    state: "present"

- name: Get details of remote system using remote_id
  dellemc.powerstore.remotesystem:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    remote_id: "D7d7e7917-735b-3eef-8cc3-1302001c08e7"
    state: "present"

- name: Delete remote system using remote_id
  dellemc.powerstore.remotesystem:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    remote_id: "D7d7e7917-735b-3eef-8cc3-1302001c08e7"
    state: "absent"

Return Values

Key Type Returned Description
job_details complex When wait_for_completion is not set to True. Details of the job.
  id str success The id of the job.
remote_system_details complex When remote system exists Details of the remote system.
  user_name str success Username used to access the non-PowerStore remote systems.
  session_chap_mode str success Challenge Handshake Authentication Protocol (CHAP) status.
  type str success Remote system connection type between the local system.
  data_connections complex success ['List of data connections from each appliance in the local cluster to iSCSI target IP address.']
    node_id str success Unique identifier of the local, initiating node.
    target_address str success Target address from the remote system.
    initiator_address str success Initiating address from the local node.
    status str success Possible transit connection statuses.
  serial_number str success Serial number of the remote system instance.
  management_address str success The management cluster IP address of the remote system.
  discovery_chap_mode str success Challenge Handshake Authentication Protocol (CHAP) statu.
  version str success ['Version of the remote system.', 'It was added in PowerStore version 2.0.0.0.']
  id str success The system generated ID of the remote system.
  data_network_latency str success ['Network latency choices for a remote system. Replication traffic can be tuned for higher efficiency depending on the expected network latency.', 'This will only be used when the remote system type is PowerStore.']
  state str success ['Possible remote system states.', 'OK, Normal conditions.', 'Update_Needed, Verify and update needed to handle network configuration changes on the systems.', 'Management_Connection_Lost, Management connection to the remote peer is lost.']
  description str success User-specified description of the remote system instance.
  name str success Name of the remote system.
  data_connection_state str success Data connection states of a remote system.
changed bool always Whether or not the resource has changed.

Authors


File System Module

Filesystem operations on PowerStore Storage system

Synopsis

Supports the provisioning operations on a filesystem such as create, modify, delete and get the details of a filesystem.

Parameters

Parameter Type Required Default Choices Description
filesystem_id str
Unique id of the file system. Mutually exclusive with filesystem_name.
smb_properties dict
Advance settings for SMB. It contains below optional candidate variables.
  is_smb_no_notify_enabled bool False
Indicates whether notifications of changes to directory file structure are enabled.
  is_smb_notify_on_access_enabled bool False
Indicates whether file access notifications are enabled on the file system.
  is_smb_notify_on_write_enabled bool False
Indicates whether file write notifications are enabled on the file system.
  is_smb_sync_writes_enabled bool False
Indicates whether the synchronous writes option is enabled on the file system.
  is_smb_op_locks_enabled bool False
Indicates whether opportunistic file locking is enabled on the file system.
  smb_notify_on_change_dir_depth int False
Integer variable , determines the lowest directory level to which the enabled notifications apply. minimum value is 1.
cap_unit str
  • GB
  • TB

Capacity unit for the size.
It defaults to 'GB', if not specified.
password str True
The password of the PowerStore host.
folder_rename_policy str
  • ALL_ALLOWED
  • SMB_FORBIDDEN
  • ALL_FORBIDDEN

File system folder rename policies for the file system with multi-protocol access enabled.
ALL_ALLOWED - All protocols are allowed to rename directories without any restrictions.
SMB_FORBIDDEN - A directory rename from the SMB protocol will be denied if at least one file is opened in the directory or in one of its child directories.
All_FORBIDDEN - Any directory rename request will be denied regardless of the protocol used, if at least one file is opened in the directory or in one of its child directories.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
size int
Size that the file system presents to the host or end user. Mandatory only for create operation.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
quota_defaults dict
Contains the default attributes for a filesystem quota.It contains below optional candidate variables.
  default_soft_limit int False
Default soft limit of user quotas and tree quotas.
  default_hard_limit int False
Default hard limit of user quotas and tree quotas.
  grace_period int False
Grace period of soft limit.
  cap_unit str False
  • GB
  • TB

Capacity unit for default hard & soft limit.
  grace_period_unit str False
  • days
  • weeks
  • months

Unit of the grace period of soft limit.
filesystem_name str
Name of the file system. Mutually exclusive with filesystem_id. Mandatory only for create operation.
description str
Description of the file system.
protection_policy str
Name or ID of the protection policy applied to the file system.
Specifying "" (empty string) removes the existing protection policy from file system.
user str True
The username of the PowerStore host.
nas_server str
Name or ID of the NAS Server on which the file system is created. Mandatory parameter whenever filesystem_name is provided, since filesystem names are unique only within a NAS server.
state str True
  • absent
  • present

Define whether the filesystem should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
locking_policy str
  • ADVISORY
  • MANDATORY

File system locking policies. ADVISORY- No lock checking for NFS and honor SMB lock range only for SMB. MANDATORY- Honor SMB and NFS lock range.
array_ip str True
IP or FQDN of the PowerStore management system.
access_policy str
  • NATIVE
  • UNIX
  • WINDOWS

File system security access policies.

Notes

  • It is recommended to remove the protection policy before deleting the filesystem.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

 - name: Create FileSystem by Name
   register: result_fs
   dellemc.powerstore.filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_name: "{{filesystem_name}}"
     description: "{{description}}"
     nas_server: "{{nas_server_id}}"
     size: "5"
     cap_unit: "GB"
     access_policy: "UNIX"
     locking_policy: "MANDATORY"
     smb_properties:
       is_smb_no_notify_enabled: True
       is_smb_notify_on_access_enabled: True
     quota_defaults:
       grace_period: 1
       grace_period_unit: 'days'
       default_hard_limit: 3
       default_soft_limit: 2
     protection_policy: "{{protection_policy_id}}"
     state: "present"

 - name: Modify File System by id
   dellemc.powerstore.filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{fs_id}}"
     folder_rename_policy: "ALL_ALLOWED"
     smb_properties:
       is_smb_op_locks_enabled: True
       smb_notify_on_change_dir_depth: 3
     quota_defaults:
       grace_period: 2
       grace_period_unit: 'weeks'
       default_hard_limit: 2
       default_soft_limit: 1
     state: "present"

 - name: Get File System details by id
   dellemc.powerstore.filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{result_fs.filesystem_details.id}}"
     state: "present"

 - name: Delete File System by id
   dellemc.powerstore.filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{result_fs.filesystem_details.id}}"
     state: "absent"

Return Values

Key Type Returned Description
filesystem_details complex When filesystem exists Details of the filesystem.
  default_soft_limit int success Default soft limit period for a filesystem quota in byte.
  is_smb_op_locks_enabled bool success Whether smb op lock is enabled.
  total_size_with_unit str success Total size of the filesystem with appropriate unit.
  used_size_with_unit str success Used size of the filesystem with appropriate unit.
  size_used int success Used size of the filesystem in bytes.
  snapshots list success Id and name of the snapshots of a filesystem.
  id str success The system generated ID given to the filesystem.
  is_smb_no_notify_enabled bool success Whether smb notify policy is enabled for a filesystem.
  size_total int success Total size of the filesystem in bytes.
  is_smb_notify_on_access_enabled bool success Whether smb on access notify policy is enabled.
  description str success The description about the filesystem.
  nas_server dict success Id and name of the nas server to which the filesystem belongs.
  default_hard_limit int success Default hard limit period for a filesystem quota in byte.
  grace_period int success Default grace period for a filesystem quota in second.
  name str success Name of the filesystem.
  locking_policy str success Locking policy about the filesystem.
  protection_policy dict success Id and name of the protection policy associated with the filesystem.
  access_policy str success Access policy about the filesystem.
changed bool always Whether or not the resource has changed.

Authors


Certificate Module

Certificate operations on PowerStore Storage System

Synopsis

Supports the provisioning operations on a Certificate such as add/import, modify, reset, exchange and get the details of a certificate.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
remote_password str
The password of the remote cluster.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
certificate_id str
Unique identifier of the certificate.
Mandatory only for modify operation.
certificate str
Concatenated PEM encoded x509_certificate string from end-entity certificate to root certificate.
scope str
Defines a subset of certificates belonging to one Service.
is_current bool
Indicates whether this is the current X509 certificate to be used by the service or this X509 Certificate will be used in the future.
certificate_type str
  • Server
  • Client
  • CA_Client_Validation
  • CA_Server_Validation

Type of the certificate.
remote_user str
The username of the remote cluster.
remote_address str
IPv4 or DNS name of the remote cluster.
state str True
  • absent
  • present

Define whether the certificate should exist or not.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
remote_port int
The port address of the remote cluster.
service str
  • Management_HTTP
  • Replication_HTTP
  • VASA_HTTP
  • Import_HTTP
  • LDAP_HTTP
  • Syslog_HTTP

Type of the service for which the certificate is used.
Mandatory for reset and exchange operation.

Notes

  • Idempotency is not supported for adding/importing certificates, exchange of certificates and the reset of certificates.
  • Only is_current parameter is supported for modification of certificate.
  • Reset operation can reset more than one certificate at a time.
  • Add/import, modify and reset are supported for PowerStore versions 2.0 and above only.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get details of certificate with certificate_id
  dellemc.powerstore.certificate:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    certificate_id: "e940144f-393f-4e9c-8f54-9a4d57b38c48"
    state: "present"

- name: Reset certificates
  dellemc.powerstore.certificate:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    service: "VASA_HTTP"
    state: "present"

- name: Exchange certificates
  dellemc.powerstore.certificate:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    service: "Replication_HTTP"
    remote_address: "{{remote_array_ip}}"
    remote_port: 443
    remote_user: "{{remote_user}}"
    remote_password: "{{remote_password}}"
    state: "present"

- name: Add/import a certificate
  dellemc.powerstore.certificate:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    certificate_type: "CA_Client_Validation"
    service: "VASA_HTTP"
    certificate: "{{certificate_string}}"
    is_current: True
    state: "present"

- name: Modify certificate
  dellemc.powerstore.certificate:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    certificate_id: "37b76535-612b-456a-a694-1389f17632c7"
    is_current: True
    state: "present"

Return Values

Key Type Returned Description
certificate_details complex When certificate exists Details of the certificate.
  is_current bool success Whether the certificate can be used now or not.
  type_l10n str success Localized message string corresponding to type.
  id str success The system generated ID given to the certificate.
  type str success Type of the certificate.
  service_l10n str success Localized message string corresponding to service.
  is_valid bool success Indicates whether this is a valid X509 certificate.
  members complex success Member certificates included in this x509_certificate.
    key_length int success Private key length.
    thumbprint str success CeHash value of the certificate.
    subject str success Certificate subject or so called distinguished name.
    public_key_algorithm str success Public key algorithm used to generate the key pair.
    signature_algorithm str success Certificate signature algorithm.
    depth str success Depth indicates the position of this member certificate in the X509 Certificate chain.
    thumbprint_algorithm_l10n str success Localized message string corresponding to thumbprint_algorithm.
    subject_alternative_names list success Additional DNS names or IP addresses in the x509_certificate.
    serial_number str success Certificate serial number.
    valid_from str success Date and time when the certificate becomes valid.
    certificate str success Base64 encoded certificate without any line breaks.
    thumbprint_algorithm str success The thumbprint algorithm.
    valid_to str success Date and time when the certificate will expire.
    issuer str success Distinguished name of the certificate issuer.
  service str success Type of the service for which the certificate is used.
changed bool always Whether or not the resource has changed.

Authors


Email Module

Destination Email operations on a PowerStore storage system

Synopsis

Performs all destination email operations on a PowerStore Storage System. This module supports get details of an existing destination email address. Create/Add new destination email address for all supported parameters. This Module supports modify destination email address with supported parameters. This Module supports delete/remove a specific destination email address. Send a test mail to a specific destination email address.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
email_id str
Unique identifier of the destination email address.
Mutually exclusive with email_address.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
new_address str
New email address to receive notifications.
send_test_email bool False
Whether to send the test email to the destination email address.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
notify dict
Whether to send different types of notifications. It contains below optional candidate variables.
  critical bool False
Whether to send notifications for critical alerts.
  info bool False
Whether to send notifications for informational alerts.
  minor bool False
Whether to send notifications for minor alerts.
  major bool False
Whether to send notifications for major alerts.
email_address str
Email address to receive notifications.
Mutually exclusive with email_id.
state str True
  • present
  • absent

The state of the destination email address after the task is performed.
For Delete operation only, it should be set to "absent".
For all Create, Modify, Test or Get details operations it should be set to "present".
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • Idempotency is not supported for Test operation of Email module.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

  - name: Get details of destination email with email_id
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_id: "780b6220-2d0b-4b9f-a485-4ae7f673bd98"
       state: "present"

  - name: Get details of destination email with email_address
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_address: "[email protected]"
       state: "present"

  - name: Create destination email
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_address: "[email protected]"
       notify:
         info: True
         critical: True
         major: False
       state: "present"

  - name: Modify destination email
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_address: "[email protected]"
       new_address: "[email protected]"
       notify:
         info: False
         major: False
       state: "present"

  - name: Send a test mail to the destination email with email_id
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_id: "780b6220-2d0b-4b9f-a485-4ae7f673bd98"
       send_test_email: True
       state: "present"

  - name: Delete destination email
    dellemc.powerstore.email:
       array_ip: "{{array_ip}}"
       user: "{{user}}"
       password: "{{password}}"
       verifycert: "{{verifycert}}"
       email_address: "[email protected]"
       state: "absent"

Return Values

Key Type Returned Description
email_details complex When destination email address exists Details of the destination email address.
  id str success The system generated ID of the destination email instance.
  notify complex success ['Whether to send different types of notifications.']
    critical bool success Whether to send notifications for critical alerts.
    info bool success Whether to send notifications for informational alerts.
    minor bool success Whether to send notifications for minor alerts.
    major bool success Whether to send notifications for major alerts.
  email_address str success Email address to receive notifications.
changed bool always Whether or not the resource has changed.

Authors


Protection Policy Module

Perform Protection policy operations on PowerStore storage system

Synopsis

Performs all protection policy operations on PowerStore Storage System. This module supports create, modify, get and delete a protection policy.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
snapshotrules list
elements: str

List of strings to specify the name or ids of snapshot rules which are to be added or removed, to or from, the protection policy.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
password str True
The password of the PowerStore host.
protectionpolicy_id str
String variable. Indicates the id of the protection policy.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
new_name str
String variable. Indicates the new name of the protection policy.
Used for renaming operation.
description str
String variable. Indicates the description of the protection policy.
replicationrule str
The name or ids of the replcation rule which is to be added to the protection policy.
To remove the replication rule, an empty string has to be passed.
state str True
  • present
  • absent

String variable. Indicates the state of protection policy.
For Delete operation only, it should be set to "absent".
For all other operations like Create, Modify or Get details, it should be set to "present".
array_ip str True
IP or FQDN of the PowerStore management system.
name str
String variable. Indicates the name of the protection policy.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
snapshotrule_state str
  • present-in-policy
  • absent-in-policy

String variable. Indicates the state of a snapshotrule in a protection policy.
When snapshot rules are specified, this variable is required.
Value present-in-policy indicates to add to protection policy.
Value absent-in-policy indicates to remove from protection policy.

Notes

  • Before deleting a protection policy, the replication rule has to be removed from the protection policy.
  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Create a protection policy with snapshot rule and replication rule
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    description: "{{description}}"
    snapshotrules:
      - "Ansible_test_snap_rule_1"
    replicationrule: "ansible_replication_rule_1"
    snapshotrule_state: "present-in-policy"
    state: "present"


- name : Modify protection policy, change name
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    new_name: "{{new_name}}"
    state: "present"


- name : Modify protection policy, add snapshot rule
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    snapshotrules:
      - "Ansible_test_snaprule_1"
    snapshotrule_state: "present-in-policy"
    state: "present"

- name : Modify protection policy, remove snapshot rule, replication rule
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    snapshotrules:
      - "Ansible_test_to_be_removed"
    replicationrule: ""
    snapshotrule_state: "absent-in-policy"
    state: "present"

- name : Get details of protection policy by name
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    state: "present"

- name : Get details of protection policy by ID
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    protectionpolicy_id: "{{protectionpolicy_id}}"
    state: "present"

- name : Delete protection policy
  dellemc.powerstore.protectionpolicy:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    name: "{{name}}"
    state: "absent"

Return Values

Key Type Returned Description
protectionpolicy_details complex When protection policy exists Details of the protection policy.
  description str success description about the protection policy.
  snapshot_rules complex success The snapshot rules details of the protection policy.
    id str success The snapshot rule ID of the protection policy.
    name str success The snapshot rule name of the protection policy.
  id str success The system generated ID given to the protection policy.
  type str success The type for the protection policy.
  name str success Name of the protection policy.
  replication_rules complex success The replication rule details of the protection policy.
    id str success The replication rule ID of the protection policy.
    name str success The replication rule name of the protection policy.
changed bool always Whether or not the resource has changed.

Authors


Snapshot Module

Manage Snapshots on Dell EMC PowerStore

Synopsis

Managing Snapshots on PowerStore storage system, Create a new Volume Group Snapshot, Get details of Volume Group Snapshot, Modify Volume Group Snapshot, Delete an existing Volume Group Snapshot. Module also supports Create a new Volume Snapshot, Get details of Volume Snapshot, Modify Volume Snapshot, Delete an existing Volume Snapshot.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
array_ip str True
IP or FQDN of the PowerStore management system.
password str True
The password of the PowerStore host.
snapshot_name str
The name of the Snapshot. Either snapshot name or ID is required.
desired_retention str
The retention value for the Snapshot.
If the retention value is not specified, the Snapshot details would be returned.
To create a Snapshot, either a retention or expiration timestamp must be given.
If the Snapshot does not have any retention value - specify it as 'None'.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
retention_unit str
  • hours
  • days

The unit for retention.
If this unit is not specified, 'hours' is taken as default retention_unit.
If desired_retention is specified, expiration_timestamp cannot be specified.
snapshot_id str
The ID of the Snapshot. Either snapshot ID or Snapshot name is required.
new_snapshot_name str
The new name of the Snapshot.
expiration_timestamp str
The expiration timestamp of the Snapshot. This should be provided in UTC format, e.g 2019-07-24T10:54:54Z.
description str
The description for the Snapshot.
volume str
The volume. This could be the volume name or ID.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
state str True
  • absent
  • present

Defines whether the Snapshot should exist or not.
volume_group str
The volume group. This could be the volume group name or ID.

Notes

  • The check_mode is not supported.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

    - name: Create a volume snapshot on PowerStore
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        volume: "{{volume}}"
        description: "{{description}}"
        desired_retention: "{{desired_retention}}"
        retention_unit: "{{retention_unit_days}}"
        state: "{{state_present}}"

    - name: Get details of a volume snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        volume: "{{volume}}"
        state: "{{state_present}}"

    - name: Rename volume snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        new_snapshot_name: "{{new_snapshot_name}}"
        volume: "{{volume}}"
        state: "{{state_present}}"

    - name: Delete volume snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{new_snapshot_name}}"
        volume: "{{volume}}"
        state: "{{state_absent}}"

    - name: Create a volume group snapshot on PowerStore
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        volume_group: "{{volume_group}}"
        description: "{{description}}"
        expiration_timestamp: "{{expiration_timestamp}}"
        state: "{{state_present}}"

    - name: Get details of a volume group snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        volume_group: "{{volume_group}}"
        state: "{{state_present}}"

    - name: Modify volume group snapshot expiration timestamp
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        volume_group: "{{volume_group}}"
        description: "{{description}}"
        expiration_timestamp: "{{expiration_timestamp_new}}"
        state: "{{state_present}}"

    - name: Rename volume group snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{snapshot_name}}"
        new_snapshot_name: "{{new_snapshot_name}}"
        volume_group: "{{volume_group}}"
        state: "{{state_present}}"

    - name: Delete volume group snapshot
      dellemc.powerstore.snapshot:
        array_ip: "{{mgmt_ip}}"
        verifycert: "{{verifycert}}"
        user: "{{user}}"
        password: "{{password}}"
        snapshot_name: "{{new_snapshot_name}}"
        volume_group: "{{volume_group}}"
        state: "{{state_absent}}"

Return Values

Key Type Returned Description
create_fs_snap bool always Whether or not the resource has created.
filesystem_snap_details dict When snapshot exists. Details of the snapshot.
  access_type str success Displays the type of access allowed to the snapshot.
  parent_name str success Name of the filesystem on which snapshot is taken.
  expiration_timestamp str success The date and time the snapshot is due to be automatically deleted by the system.
  id str success Unique identifier of the filesystem snapshot instance.
  nas_server dict success Details of NAS server on which snapshot is present.
    id str success ID of the NAS server.
    name str success Name of the NAS server
  description str success Description of the filesystem snapshot.
  name str success The name of the snapshot.
  creation_timestamp str success The date and time the snapshot was created.
  parent_id str success ID of the filesystem on which snapshot is taken.
delete_fs_snap bool always Whether or not the resource has deleted.
modify_fs_snap bool always Whether or not the resource has modified.
changed bool always Whether or not the resource has changed.

Authors


Info Module

Gathers information about PowerStore Storage entities

Synopsis

Gathers the list of specified PowerStore Storage System entities, includes block/file provisioning modules, replication modules and configuration modules. Block provisioning module includes volumes, volume groups, hosts, host groups, snapshot rules, protection policies. File provisioning module includes NAS servers, NFS exports, SMB shares, tree quotas, user quotas, file systems. Replication module includes replication rules, replication sessions, remote system. Configuration module includes cluster nodes, network, roles, local users, appliances, security configs, certificates, AD/LDAP servers. It also includes DNS/NTP servers, smtp configs, email destinations, remote support, remote support contacts.

Parameters

Parameter Type Required Default Choices Description
user str True
The username of the PowerStore host.
gather_subset list
elements: str
True
  • vol
  • vg
  • host
  • hg
  • node
  • protection_policy
  • snapshot_rule
  • nas_server
  • nfs_export
  • smb_share
  • tree_quota
  • user_quota
  • file_system
  • replication_rule
  • replication_session
  • remote_system
  • network
  • role
  • user
  • appliance
  • ad
  • ldap
  • security_config
  • certificate
  • dns
  • ntp
  • smtp_config
  • email_notification
  • remote_support
  • remote_support_contact

A list of string variables which specify the PowerStore system entities requiring information.
Volumes - vol.
All the nodes - node.
Volume groups - vg.
Protection policies - protection_policy.
Hosts - host.
Host groups - hg.
Snapshot rules - snapshot_rule.
NAS servers - nas_server.
NFS exports - nfs_export.
SMB shares - smb_share.
Tree quotas - tree_quota.
User quotas - user_quota.
File systems - file_system.
Replication rules - replication_rule.
Replication sessions - replication_session.
Remote systems - remote_system.
Various networks - network.
Roles - role.
Local users - user.
Appliances - appliance.
Security configurations - security_config.
Certificates - certificate.
Active directories - ad.
LDAPs - ldap.
DNS servers - dns.
NTP servers - ntp.
Email notification destinations - email_notification.
SMTP configurations - smtp_config.
Remote Support - remote_support.
Remote support contacts - remote_support_contact.
timeout int 120
Time after which the connection will get terminated.
It is to be mentioned in seconds.
filters list
elements: dict

A 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_operator str True
  • equal
  • greater
  • lesser
  • like
  • notequal

Operation to be performed on the filter key.
  filter_key str True
Name identifier of the filter.
  filter_value str True
Value of the filter key.
password str True
The password of the PowerStore host.
all_pages bool False
Indicates whether to return all available entities on the storage system.
If set to True, the Info module will implement pagination and return all entities. Otherwise, a maximum of the first 100 entities of any type will be returned.
port int
Port number for the PowerStore array.
If not passed, it will take 443 as default.
array_ip str True
IP or FQDN of the PowerStore management system.
verifycert bool True
  • True
  • False

Boolean variable to specify whether to validate SSL certificate or not.
True - indicates that the SSL certificate should be verified. Set the environment variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
False - indicates that the SSL certificate should not be verified.

Notes

  • Pagination is not supported for role, local user and security configs. If all_pages is passed, it will be ignored.
  • Check mode is not currently supported for info Ansible module.
  • The modules present in this collection named as 'dellemc.powerstore' are built to support the Dell EMC PowerStore storage platform.

Examples

- name: Get list of volumes, volume groups, hosts, host groups and node
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - vol
      - vg
      - host
      - hg
      - node

- name: Get list of replication related entities
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - replication_rule
      - replication_session
      - remote_system

- name: Get list of volumes whose state notequal to ready
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - vol
    filters:
      - filter_key: "state"
        filter_operator: "notequal"
        filter_value: "ready"

- name: Get list of protection policies and snapshot rules
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - protection_policy
      - snapshot_rule

- name: Get list of snapshot rules whose desired_retention between 101-499
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - snapshot_rule
    filters:
      - filter_key: "desired_retention"
        filter_operator: "greater"
        filter_value: "100"
      - filter_key: "desired_retention"
        filter_operator: "lesser"
        filter_value: "500"

- name: Get list of nas server, nfs_export and smb share
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
      - nfs_export
      - smb_share

- name: Get list of tree quota, user quota and file system
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - tree_quota
      - user_quota
      - file_system

- name: Get list of nas server whose name equal to 'nas_server'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
    filters:
      - filter_key: "name"
        filter_operator: "equal"
        filter_value: "nas_server"

- name: Get list of smb share whose name contains 'share'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
    filters:
      - filter_key: "name"
        filter_operator: "like"
        filter_value: "*share*"

- name: Get list of user, role, network and appliances
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - user
      - role
      - network
      - appliance

- name: Get list of ad, certificate, security config and ldaps
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ad
      - ldap
      - certificate
      - security_config

- name: Get list of networks whose name contains 'Management'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - network
    filters:
      - filter_key: "name"
        filter_operator: "like"
        filter_value: "*Management*"

- name: Get list of dns, email notification, ntp, remote support, remote support contact and smtp config
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - dns
      - email_notification
      - ntp
      - remote_support
      - remote_support_contact
      - smtp_config

- name: Get list of emails which receives minor notifications
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    verifycert: "{{verifycert}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
    - email_notification
    filters:
        - filter_key: 'notify_minor'
          filter_operator: 'equal'
          filter_value: 'False'

Return Values

Key Type Returned Description
VolumeGroups list When vg is in a given gather_subset Provides details of all volume groups.
  id str success ID of the volume group.
  name str success Name of the volume group.
RemoteSupport list When remote_support is in a given gather_subset Provides details of all remote support config.
  id str success ID of the remote support.
UserQuotas list When user_quota is in a given gather_subset Provides details of all user quotas.
  id str success ID of the user quota.
SMBShares list When smb_share is in a given gather_subset Provides details of all smb shares.
  id str success ID of the smb share.
  name str success name of the smb share.
SecurityConfig list When security_config is in a given gather_subset Provides details of all security configs.
  id str success ID of the security config.
Volumes list When vol is in a given gather_subset Provides details of all volumes.
  id str success ID of the volume.
  name str success Name of the volume.
FileSystems list When file_system is in a given gather_subset Provides details of all filesystems.
  id str success ID of the filesystem.
  name str success Name of the filesystem.
Nodes list When a node is in a given gather_subset Provides details of all nodes.
  id str success ID of the node.
  name str success Name of the node.
RemoteSystems list When remote_system is in a given gather_subset Provides details of all remote systems.
  id str success ID of the remote system.
  name str success Name of the remote system.
HostGroups list When hg is in a given gather_subset Provides details of all host groups.
  id str success ID of the host group.
  name str success Name of the host group.
NASServers list When nas_server is in a given gather_subset Provides details of all nas servers.
  id str success ID of the nas server.
  name str success Name of the nas server.
NTP list When ntp is in a given gather_subset Provides details of all NTP servers.
  id str success ID of the NTP server.
DNS list When dns is in a given gather_subset Provides details of all DNS servers.
  id str success ID of the DNS server.
LDAP list When ldap is in a given gather_subset Provides details of all LDAPs.
  id str success ID of the LDAP.
ActiveDirectory list When ad is in a given gather_subset Provides details of all active directories.
  id str success ID of the active directory.
Appliance list When appliance is in a given gather_subset Provides details of all appliances.
  id str success ID of the appliance.
  name str success Name of the appliance.
  model str success Model type of the PowerStore.
EmailNotification list When email_notification is in a given gather_subset Provides details of all emails to which notifications will be sent.
  id str success ID of the email.
  email_address str success Email address.
Cluster list always Provides details of all clusters.
  id str success ID of the cluster.
  name str success Name of the cluster.
TreeQuotas list When tree_quota is in a given gather_subset Provides details of all tree quotas.
  id str success ID of the tree quota.
  path str success Path of the tree quota.
NFSExports list When nfs_export is in a given gather_subset Provides details of all nfs exports.
  id str success ID of the nfs export.
  name str success Name of the nfs export.
changed bool always Shows whether or not the resource has changed.
ProtectionPolicies list When protection_policy is in a given gather_subset Provides details of all protection policies.
  id str success ID of the protection policy.
  name str success Name of the protection policy.
ReplicationSession list when replication_session given in gather_subset Details of all replication sessions.
  id str success ID of the replication session.
Roles list When role is in a given gather_subset Provides details of all roles.
  id str success ID of the role.
  name str success Name of the role.
Certificate list When certificates is in a given gather_subset Provides details of all certificates.
  id str success ID of the certificate.
SnapshotRules list When snapshot_rule is in a given gather_subset Provides details of all snapshot rules.
  id str success ID of the snapshot rule.
  name str success Name of the snapshot rule.
Array_Software_Version str always API version of PowerStore array.
RemoteSupportContact list When remote_support_contact is in a given gather_subset Provides details of all remote support contacts.
  id str success ID of the remote support contact.
SMTPConfig list When smtp_config is in a given gather_subset Provides details of all smtp config.
  id str success ID of the smtp config.
Networks list When network is in a given gather_subset Provides details of all networks.
  id str success ID of the network.
  name str success Name of the network.
Hosts list When host is in a given gather_subset Provides details of all hosts.
  id str success ID of the host.
  name str success Name of the host.
LocalUsers list When user is in a given gather_subset Provides details of all local users.
  id str success ID of the user.
  name str success Name of the user.
ReplicationRules list When replication_rule is in a given gather_subset Provides details of all replication rules.
  id str success ID of the replication rule.
  name str success Name of the replication rule.

Authors