© 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.
- Cluster Module
- NTP Module
- Volume Module
- Local User Module
- Quota Module
- SMTP Config Module
- SMB Share Module
- DNS Module
- Role Module
- Replication Rule Module
- Host Group Module
- Network Module
- NFS Module
- Snapshot Rule Module
- Volume Group Module
- Remote Support Contact Module
- NAS Server Module
- Filesystem Snapshot Module
- Security Config Module
- Host Module
- Job Module
- Remote Support Module
- Replication Session Module
- Remote System Module
- File System Module
- Certificate Module
- Email Module
- Protection Policy Module
- Snapshot Module
- Info Module
Manage cluster related opeartions on PowerStore
Managing cluster on PowerStore storage system includes getting details and modifying cluster configuration parameters.
Parameter | Type | Required | Default | Choices | Description |
---|---|---|---|---|---|
user | str | True | The username of the PowerStore host. |
||
chap_mode | str |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
NTP operations on a PowerStore storage system
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.
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 |
|
State of the addresses mentioned in ntp_addresses. |
||
verifycert | bool | True |
|
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 |
|
The state of the NTP instance after the task is performed. For get and modify operations it should be set to "present". |
- 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.
- 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"
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. |
- Bhavneet Sharma (@sharmb5) [email protected]
Manage volumes on a PowerStore storage system
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.
Parameter | Type | Required | Default | Choices | Description |
---|---|---|---|---|---|
user | str | True | The username of the PowerStore host. |
||
performance_policy | str |
|
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 |
|
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Ambuj Dubey (@AmbujDube) [email protected]
- Manisha Agrawal (@agrawm3) [email protected]
Local user operations on PowerStore Storage System
Supports the provisioning operations on a Local user such as create, modify, delete and get the details of a local user.
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Arindam Datta (@dattaarindam) [email protected]
Manage Tree Quotas and User Quotas on PowerStore
Managing Quotas on PowerStore storage system includes getting details, modifying, creating and deleting Quotas.
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 |
|
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 |
|
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 |
|
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 |
|
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'. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
SMTP configuration operations on a PowerStore storage system
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.
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
Manage SMB shares on a PowerStore storage system
Managing SMB Shares on PowerStore storage system includes create, get, modify, and delete the SMB shares.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
DNS operations on a PowerStore storage system
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.
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 |
|
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 |
|
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 |
|
The state of the DNS instance after the task is performed. For get and modify operations it should be set to "present". |
- 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.
- 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"
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
Get details of the roles present on the PowerStore storage system
Manage role in PowerStore storage system includes getting the details of a role.
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
Replication rule operations on a PowerStore storage system
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.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
Manage host group on PowerStore Storage System
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.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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'
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. |
- Manisha Agrawal (@agrawm3) [email protected]
Manage networks on Dell EMC PowerStore
Managing networks on PowerStore Storage System includes getting details of network, modifying attributes of network and adding/removing IP ports to/from storage network.
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 |
|
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 |
|
Specifies whether port should mapped/unmapped from the storage network. |
|||
state | str | True |
|
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. |
- 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.
- 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"
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. |
- Akash Shendge (@shenda1) [email protected]
Manage NFS exports on Dell EMC PowerStore
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.
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Define whether the hosts can access the NFS export. Required when adding or removing host access from the export. |
- 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.
- 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"
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. |
- Akash Shendge (@shenda1) [email protected]
Snapshot Rule operations on a PowerStore storage system
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.
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 |
|
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Arindam Datta (@dattaarindam) [email protected]
Manage volume groups on a PowerStore Storage System
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.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Akash Shendge (@shenda1) [email protected]
- Arindam Datta (@dattaarindam) [email protected]
Remote Support Contact operations on a PowerStore storage system
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.
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. |
|||
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 |
|
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 |
|
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. |
- 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.
- 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"
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. | |
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
NAS Server operations on PowerStore Storage system
Supports getting the details and modifying the attributes of a NAS server.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Arindam Datta (@dattaarindam) [email protected]
Manage Filesystem Snapshots on Dell EMC PowerStore
Supports the provisioning operations on a filesystem snapshot such as create, modify, delete and get the details of a filesystem snapshot.
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 |
|
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 |
|
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 |
|
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 |
|
Define whether the filesystem snapshot should exist or not. |
- 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.
- 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"
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. |
- Akash Shendge (@shenda1) [email protected]
Security configuration operations on PowerStore Storage System
Managing security configuration on PowerStore storage system includes getting details and modifying security configuration parameters.
Parameter | Type | Required | Default | Choices | Description |
---|---|---|---|---|---|
user | str | True | The username of the PowerStore host. |
||
protocol_mode | str |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Bhavneet Sharma (@sharmb5) [email protected]
Manage host on PowerStore storage system
Managing host on PowerStore storage system includes create host with a set of initiators, add/remove initiators from host, rename host and delete host.
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 |
|
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 |
|
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 |
|
Operating system of the host. Required when creating a host. OS type cannot be modified for a given host. |
|||
verifycert | bool | True |
|
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 |
|
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. |
- 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.
- 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'
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. |
- Manisha Agrawal (@agrawm3) [email protected]
Manage jobs on Dell EMC PowerStore
Managing jobs on PowerStore Storage System includes getting details of job.
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 |
|
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. |
- 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.
- name: Get Job Details
dellemc.powerstore.job:
array_ip: "{{mgmt_ip}}"
verifycert: "{{verifycert}}"
user: "{{user}}"
password: "{{password}}"
job_id: "a544981c-e94a-40ab-9eae-e578e182d2bb"
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. |
- Akash Shendge (@shenda1) [email protected]
Remote Support operations on a PowerStore storage system
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.
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 |
|
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 |
|
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 |
|
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 |
|
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). |
- 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.
- 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"
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
Replication session operations on a PowerStore storage system
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.
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
Remote system operations on a PowerStore storage system
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.
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 |
|
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 |
|
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 |
|
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 |
|
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". |
- 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.
- 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"
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. |
- P Srinivas Rao (@srinivas-rao5) [email protected]
Filesystem operations on PowerStore Storage system
Supports the provisioning operations on a filesystem such as create, modify, delete and get the details of a filesystem.
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 |
|
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 |
|
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 |
|
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 |
|
Capacity unit for default hard & soft limit. |
||
grace_period_unit | str | False |
|
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 |
|
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 |
|
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 |
|
File system security access policies. |
- 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.
- 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"
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. |
- Arindam Datta (@dattaarindam) [email protected]
Certificate operations on PowerStore Storage System
Supports the provisioning operations on a Certificate such as add/import, modify, reset, exchange and get the details of a certificate.
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 |
|
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 |
|
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 |
|
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 |
|
Type of the service for which the certificate is used. Mandatory for reset and exchange operation. |
- 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.
- 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"
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
Destination Email operations on a PowerStore storage system
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.
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Trisha Datta (@Trisha_Datta) [email protected]
Perform Protection policy operations on PowerStore storage system
Performs all protection policy operations on PowerStore Storage System. This module supports create, modify, get and delete a protection policy.
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 |
|
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 |
|
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 |
|
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. |
- 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.
- 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"
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. |
- Arindam Datta (@dattaarindam) [email protected]
- P Srinivas Rao (@srinivas-rao5) [email protected]
Manage Snapshots on Dell EMC PowerStore
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.
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 |
|
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 |
|
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 |
|
Defines whether the Snapshot should exist or not. |
|
volume_group | str | The volume group. This could be the volume group name or ID. |
- 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.
- 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}}"
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. |
- Rajshree Khare (@khareRajshree) [email protected]
- Prashant Rakheja (@prashant-dell) [email protected]
Gathers information about PowerStore Storage entities
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.
Parameter | Type | Required | Default | Choices | Description | |
---|---|---|---|---|---|---|
user | str | True | The username of the PowerStore host. |
|||
gather_subset | list elements: str |
True |
|
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 |
|
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 |
|
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. |
- 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.
- 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'
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. |
- Arindam Datta (@dattaarindam) [email protected]
- Vivek Soni (@v-soni11) [email protected]
- Akash Shendge (@shenda1) [email protected]