diff --git a/CHANGELOG.rst b/CHANGELOG.rst index bb87408..e454b21 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,7 +4,7 @@ Dellemc.Powermax Change Logs .. contents:: Topics -v2.2.0 +v2.2.1 ====== Minor Changes diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 8c22add..ea281d3 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -164,7 +164,7 @@ releases: minor_changes: - Added a note on idempotency for the storage group module. release_date: '2023-03-31' - 2.2.0: + 2.2.1: changes: minor_changes: - Added fix for storagegroup_id keyword in storage group module. diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 8a9267c..1c89bb9 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -10,7 +10,7 @@ You may obtain a copy of the License at # How to contribute -Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/CODE_OF_CONDUCT.md). +Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/CODE_OF_CONDUCT.md). ## Table of contents @@ -76,7 +76,7 @@ Triage helps resolve issues quickly by: If you do not have the knowledge or time to code, consider helping with _issue triage_. The Ansible modules for Dell PowerMax community thanks you for saving them time by spending some of yours. -Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/ISSUE_TRIAGE.md). +Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/ISSUE_TRIAGE.md). ## Your first contribution @@ -90,7 +90,7 @@ When you are ready to contribute, it is time to create a pull request. For information about branching, see ## Branching -* [Branching Strategy for Ansible modules for Dell PowerMax](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/BRANCHING.md) +* [Branching Strategy for Ansible modules for Dell PowerMax](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/BRANCHING.md) ## Signing your commits @@ -145,7 +145,7 @@ Ensure that the title for your pull request uses the same format as the subject ### Quality gates for pull requests -GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will investigate the check log, understand the problem, and resolve the issue. If help is needed, reach out to the maintainers of the project for [support](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/SUPPORT.md). +GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will investigate the check log, understand the problem, and resolve the issue. If help is needed, reach out to the maintainers of the project for [support](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/SUPPORT.md). #### Code sanitization diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 9961c06..316f824 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -40,7 +40,7 @@ Depending on which PowerMax Unisphere version is being used, follow this procedu 2. Use this command to install the collection anywhere in your system: - ansible-galaxy collection install dellemc-powermax-2.2.0.tar.gz -p + ansible-galaxy collection install dellemc-powermax-2.2.1.tar.gz -p 3. Set the environment variable: @@ -67,7 +67,7 @@ Depending on which PowerMax Unisphere version is being used, follow this procedu ## Running Ansible modules -The Ansible server must be configured with Python library for Unisphere to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powermax/blob/2.2.0/docs) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which need to be configured before running the modules. +The Ansible server must be configured with Python library for Unisphere to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powermax/blob/2.2.1/docs) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which need to be configured before running the modules. ## SSL certificate validation diff --git a/docs/ISSUE_TRIAGE.md b/docs/ISSUE_TRIAGE.md index d4f4654..c77d0b8 100644 --- a/docs/ISSUE_TRIAGE.md +++ b/docs/ISSUE_TRIAGE.md @@ -43,7 +43,7 @@ Bug reports should explain what happened, what was expected and how to reproduce - Ansible Version: [e.g. 2.13] - Python Version [e.g. 3.10] - - Ansible modules for Dell PowerMax Version: [e.g. 2.2.0] + - Ansible modules for Dell PowerMax Version: [e.g. 2.2.1] - PowerMax SDK version: [e.g. PyU4V 10.0.0.16] - Any other additional information... diff --git a/docs/MAINTAINER_GUIDE.md b/docs/MAINTAINER_GUIDE.md index 90bdef9..b25fc73 100644 --- a/docs/MAINTAINER_GUIDE.md +++ b/docs/MAINTAINER_GUIDE.md @@ -27,7 +27,7 @@ If a candidate is approved, a Maintainer contacts the candidate to invite them t ## Maintainer policies * Lead by example -* Follow the [Code of Conduct](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powermax/blob/2.2.0/docs/COMMITTER_GUIDE.md) guides +* Follow the [Code of Conduct](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powermax/blob/2.2.1/docs/COMMITTER_GUIDE.md) guides * Promote a friendly and collaborative environment within our community * Be actively engaged in discussions, answering questions, updating defects, and reviewing pull requests * Criticize code, not people. Ideally, tell the contributor a better way to do what they need achieve. diff --git a/docs/Product Guide.md b/docs/Product Guide.md deleted file mode 100644 index 051c3d4..0000000 --- a/docs/Product Guide.md +++ /dev/null @@ -1,7612 +0,0 @@ -# Ansible Modules for Dell Technologies PowerMax -## Product Guide 2.1.0 -© 2022 Dell Inc. or its subsidiaries. All rights reserved. Dell, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. - --------------- -## Contents -* [Host Module](#host-module) - * [Synopsis](#synopsis) - * [Parameters](#parameters) - * [Notes](#notes) - * [Examples](#examples) - * [Return Values](#return-values) - * [Authors](#authors) -* [Host Group Module](#host-group-module) - * [Synopsis](#synopsis-1) - * [Parameters](#parameters-1) - * [Notes](#notes-1) - * [Examples](#examples-1) - * [Return Values](#return-values-1) - * [Authors](#authors-1) -* [Info Module](#info-module) - * [Synopsis](#synopsis-2) - * [Parameters](#parameters-2) - * [Notes](#notes-2) - * [Examples](#examples-2) - * [Return Values](#return-values-2) - * [Authors](#authors-2) -* [Initiator Module](#initiator-module) - * [Synopsis](#synopsis-3) - * [Parameters](#parameters-3) - * [Notes](#notes-3) - * [Examples](#examples-3) - * [Return Values](#return-values-3) - * [Authors](#authors-3) -* [Job Module](#job-module) - * [Synopsis](#synopsis-4) - * [Parameters](#parameters-4) - * [Notes](#notes-4) - * [Examples](#examples-4) - * [Return Values](#return-values-4) - * [Authors](#authors-4) -* [Masking View Module](#masking-view-module) - * [Synopsis](#synopsis-5) - * [Parameters](#parameters-5) - * [Notes](#notes-5) - * [Examples](#examples-5) - * [Return Values](#return-values-5) - * [Authors](#authors-5) -* [Metro DR Module](#metro-dr-module) - * [Synopsis](#synopsis-6) - * [Parameters](#parameters-6) - * [Notes](#notes-6) - * [Examples](#examples-6) - * [Return Values](#return-values-6) - * [Authors](#authors-6) -* [Port Module](#port-module) - * [Synopsis](#synopsis-7) - * [Parameters](#parameters-7) - * [Notes](#notes-7) - * [Examples](#examples-7) - * [Return Values](#return-values-7) - * [Authors](#authors-7) -* [Port Group Module](#port-group-module) - * [Synopsis](#synopsis-8) - * [Parameters](#parameters-8) - * [Notes](#notes-8) - * [Examples](#examples-8) - * [Return Values](#return-values-8) - * [Authors](#authors-8) -* [Storage Pool Dict Module](#storage-pool-dict-module) - * [Synopsis](#synopsis-9) - * [Parameters](#parameters-9) - * [Notes](#notes-9) - * [Examples](#examples-9) - * [Return Values](#return-values-9) - * [Authors](#authors-9) -* [RDF Group Module](#rdf-group-module) - * [Synopsis](#synopsis-10) - * [Parameters](#parameters-10) - * [Notes](#notes-10) - * [Examples](#examples-10) - * [Return Values](#return-values-10) - * [Authors](#authors-10) -* [Snapshot Module](#snapshot-module) - * [Synopsis](#synopsis-11) - * [Parameters](#parameters-11) - * [Notes](#notes-11) - * [Examples](#examples-11) - * [Return Values](#return-values-11) - * [Authors](#authors-11) -* [Snapshot Policy Module](#snapshot-policy-module) - * [Synopsis](#synopsis-12) - * [Parameters](#parameters-12) - * [Notes](#notes-12) - * [Examples](#examples-12) - * [Return Values](#return-values-12) - * [Authors](#authors-12) -* [SRDF Module](#srdf-module) - * [Synopsis](#synopsis-13) - * [Parameters](#parameters-13) - * [Notes](#notes-13) - * [Examples](#examples-13) - * [Return Values](#return-values-13) - * [Authors](#authors-13) -* [Storage Group Module](#storage-group-module) - * [Synopsis](#synopsis-14) - * [Parameters](#parameters-14) - * [Notes](#notes-14) - * [Examples](#examples-14) - * [Return Values](#return-values-14) - * [Authors](#authors-14) -* [Storage Pool Module](#storage-pool-module) - * [Synopsis](#synopsis-15) - * [Parameters](#parameters-15) - * [Notes](#notes-15) - * [Examples](#examples-15) - * [Return Values](#return-values-15) - * [Authors](#authors-15) -* [Volume Module](#volume-module) - * [Synopsis](#synopsis-16) - * [Parameters](#parameters-16) - * [Notes](#notes-16) - * [Examples](#examples-16) - * [Return Values](#return-values-16) - * [Authors](#authors-16) -* [Intelligent Volume Placement](#intelligent-volume-placement) - * [Synopsis](#synopsis-17) - * [Parameters](#parameters-17) - * [Notes](#notes-17) - * [Examples](#examples-17) - * [Return Values](#return-values-17) - * [Authors](#authors-17) - --------------- - -# Host Module - -Manage host (initiator group) on PowerMax/VMAX Storage System - -### Synopsis - Managing hosts on a PowerMax storage system includes creating a host with a set of initiators and host flags, adding and removing initiators to or from a host, modifying host flag values, renaming a host, and deleting a host. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
host_name str True
The name of the host. No Special Character support except for _. Case sensitive for REST Calls.
Creation of an empty host is allowed.
initiators list
elements: str

List of Initiator WWN or IQN or alias to be added to or removed from the host.
state str True
  • absent
  • present

Define whether the host should exist or not.
absent - indicates that the host should not exist in the system.
present - indicates that the host should exist in the system.
initiator_state str
  • absent-in-host
  • present-in-host

Define whether the initiators should be present or absent on the host.
absent-in-host - indicates that the initiators should not exist on the host.
present-in-host - indicates that the initiators should exist on the host.
Required when creating a host with initiators or adding and removing initiators to or from an existing host.
host_flags dict
Input as a yaml dictionary.
List of all host_flags-
1. volume_set_addressing.
2. disable_q_reset_on_ua.
3. environ_set.
4. avoid_reset_broadcast.
5. openvms.
6. scsi_3.
7. spc2_protocol_version.
8. scsi_support1.
9. consistent_lun.
Possible values are true, false, unset (default state).
host_type str
  • default
  • hpux

Describing the OS type.
new_name str
The new name of the host for the renaming function. No Special Character support except for _. Case sensitive for REST Calls.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* host_flags and host_type are mutually exclusive parameters. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create host with host_type 'default' - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - host_type: "default" - state: 'present' - -- name: Create host with host_type 'hpux' - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_2" - host_type: "hpux" - state: 'present' - -- name: Create host with host_flags - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_3" - initiators: - - 1000000000000001 - - 'host/HBA01' - host_flags: - spc2_protocol_version: true - consistent_lun: true - volume_set_addressing: 'unset' - disable_q_reset_on_ua: false - openvms: 'unset' - state: 'present' - initiator_state: 'present-in-host' - -- name: Get host details - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - state: 'present' - -- name: Adding initiator to host - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - initiators: - - 1000000000000001 - - 'host/HBA01' - initiator_state: 'present-in-host' - state: 'present' - -- name: Removing initiator from host - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - initiators: - - 1000000000000001 - - 'host/HBA01' - initiator_state: 'absent-in-host' - state: 'present' - -- name: Modify host using host_type - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - host_type: "hpux" - state: 'present' - -- name: Modify host using host_flags - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - host_flags: - spc2_protocol_version: unset - consistent_lun: unset - volume_set_addressing: true - disable_q_reset_on_ua: false - openvms: false - avoid_reset_broadcast: true - state: 'present' - -- name: Rename host - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1" - new_name: "ansible_test_1_host" - state: 'present' - -- name: Delete host - dellemc.powermax.host: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - host_name: "ansible_test_1_host" - state: 'absent' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
host_details complex When host exist. Details of the host.
  bw_limit int success Bandwidth limit of the host.
  consistent_lun bool success Flag for consistent LUN in host.
  disabled_flags list success List of any disabled port flags overridden by the initiator.
  enabled_flags list success List of any enabled port flags overridden by the initiator.
  hostId str success Host ID.
  hostgroup list success List of host groups that the host is associated with.
  initiator list success List of initiators present in the host.
  maskingview list success List of masking view in which the host group is present.
  num_of_hostgroups int success Number of host groups associated with the host.
  num_of_initiators int success Number of initiators present in the host.
  num_of_masking_views int success Number of masking views associated with the host.
  num_of_powerpath_hosts int success Number of PowerPath hosts associated with the host.
  port_flags_override bool success Whether any of the initiator port flags are overridden.
  type str success Type of initiator.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Manisha Agrawal (@agrawm3) - --------------------------------- -# Host Group Module - -Manage a host group (cascaded initiator group) on a PowerMax/VMAX storage system - -### Synopsis - Managing a host group on a PowerMax storage system includes creating a host group with a set of hosts, adding or removing hosts to or from a host group, renaming a host group, modifying host flags of a host group, and deleting a host group. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
hostgroup_name str True
The name of the host group. No Special Character support except for _. Case sensitive for REST Calls.
hosts list
elements: str

List of host names to be added to the host group or removed from the host group.
Creation of an empty host group is allowed.
state str True
  • absent
  • present

Define whether the host group should be present or absent on the system.
present - indicates that the host group should be present on the system.
absent - indicates that the host group should be absent on the system.
host_state str
  • present-in-group
  • absent-in-group

Define whether the host should be present or absent in the host group.
present-in-group - indicates that the hosts should exist in the host group.
absent-in-group - indicates that the hosts should not exist in the host group.
host_flags dict
input as an yaml dictionary.
List of all host_flags -
1. volume_set_addressing.
2. disable_q_reset_on_ua.
3. environ_set.
4. avoid_reset_broadcast.
5. openvms.
6. scsi_3.
7. spc2_protocol_version.
8. scsi_support1.
9. consistent_lun.
Possible values are true, false, unset(default state).
host_type str
  • default
  • hpux

Describing the OS type (default or hpux).
new_name str
The new name for the host group for the renaming function. No Special Character support except for _. Case sensitive for REST Calls.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* In the gather facts module, empty host groups will be listed as hosts. -* host_flags and host_type are mutually exclusive parameters. -* Hostgroups with 'default' host_type will have 'default' hosts. -* Hostgroups with 'hpux' host_type will have 'hpux' hosts. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create host group with 'default' host_type - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - host_type: "default" - hosts: - - ansible_test_1 - host_state: 'present-in-group' - state: 'present' - -- name: Create host group with 'hpux' host_type - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_2" - host_type: "hpux" - hosts: - - ansible_test_2 - host_state: 'present-in-group' - state: 'present' - -- name: Create host group with host_flags - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_3" - hosts: - - ansible_test_3 - state: 'present' - host_state: 'present-in-group' - host_flags: - spc2_protocol_version: true - consistent_lun: true - volume_set_addressing: 'unset' - disable_q_reset_on_ua: false - openvms: 'unset' - -- name: Get host group details - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - state: 'present' - -- name: Adding host to host group - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - hosts: - - Ansible_Testing_host2 - state: 'present' - host_state: 'present-in-group' - -- name: Removing host from host group - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - hosts: - - Ansible_Testing_host2 - state: 'present' - host_state: 'absent-in-group' - -- name: Modify host group using host_type - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - host_type: "hpux" - state: 'present' - -- name: Modify host group using host_flags - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - host_flags: - spc2_protocol_version: unset - disable_q_reset_on_ua: false - openvms: false - avoid_reset_broadcast: true - state: 'present' - -- name: Rename host group - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_HG_1" - new_name: "ansible_test_hostgroup_1" - state: 'present' - -- name: Delete host group - dellemc.powermax.hostgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - hostgroup_name: "ansible_test_hostgroup_1" - state: 'absent' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
hostgroup_details complex When host group exist. Details of the host group.
  consistent_lun bool success Flag for consistent LUN in the host group.
  disabled_flags list success List of any disabled port flags overridden by the initiator.
  enabled_flags list success List of any enabled port flags overridden by the initiator.
  host list success List of hosts present in the host group.
   hostId str success Unique identifier for the host.
   initiator list success List of initiators present in the host.
  hostGroupId str success Host group ID.
  maskingview list success Masking view in which host group is present.
  num_of_hosts int success Number of hosts in the host group.
  num_of_initiators int success Number of initiators in the host group.
  num_of_masking_views int success Number of masking views associated with the host group.
  port_flags_override bool success Whether any of the initiator's port flags are overridden.
  type str success Type of initiator of the hosts of the host group.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Manisha Agrawal (@agrawm3) - --------------------------------- -# Info Module - -Gathers information about PowerMax or VMAX storage entities - -### Synopsis - Gathers the list of specified PowerMax or VMAX storage system entities, such as the list of registered arrays, storage groups, hosts, host groups, storage groups, storage resource pools, port groups, masking views, initiators, array health status, alerts and metro DR environments, so on. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
serial_no str
The serial number of the PowerMax or VMAX array. It is not required for getting the list of arrays.
tdev_volumes bool True
  • True
  • False

Boolean variable to filter the volume list. This has a small performance impact. The default setting is True and; only TDEV volumes will be returned.
True - Returns only the TDEV volumes.
False - Rreturns all the volumes.
gather_subset list
elements: str
  • alert
  • health
  • vol
  • srp
  • sg
  • pg
  • host
  • hg
  • port
  • mv
  • rdf
  • metro_dr_env
  • snapshot_policies
  • initiators
  • mv_connections

List of string variables to specify the PowerMax or VMAX entities for which information is required.
Required only if the serial_no is present.
List of all PowerMax or VMAX entities supported by the module.
To get alert summary information - alert.
To get health status of a specific PowerMax array - health.
To get volumes - vol.
To get storage resource pools - srp.
To get storage groups - sg.
To get port groups - pg.
To get hosts - host.
To get host groups - hg.
To get ports - port.
To get masking views - mv.
To get RDF groups - rdf.
To get Metro DR environments - metro_dr_env.
To get snapshot policies - snapshot_policies.
To get initiators - initiators.
To get masking view connections - mv_connections.
filters list
elements: dict

List of filters to support filtered output for storage entities.
Each filter is a tuple of {filter_key, filter_operator, filter_value}.
Supports passing of multiple filters.
The storage entities, 'rdf', 'health', 'snapshot_policies' and 'metro_dr_env', does not support filters. Filters are ignored if passed.
  filter_key str True
Name identifier of the filter.
  filter_operator str True
  • equal
  • greater
  • lesser
  • like

Operation to be performed on filter key.
  filter_value str True
Value of the filter key.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* Filter functionality is supported only for the following 'filter_key' against specific 'gather_subset'. -* For vol - allocated_percent, associated, available_thin_volumes, bound_tdev, cap_cyl, cap_gb, cap_mb, cap_tb, cu_image_num, cu_image_ssid, data_volume, dld, drv, effective_wwn, emulation, encapsulated, encapsulated_wwn, gatekeeper, has_effective_wwn, mapped, mobility_id_enabled, num_of_front_end_paths, num_of_masking_views, num_of_storage_groups, oracle_instance_name, physical_name, pinned, private_volumes, rdf_group_number, reserved, split_name, status, storageGroupId, symmlun, tdev, thin_bcv, type, vdev, virtual_volumes, volume_identifier, wwn. -* For srp - compression_state, description, effective_used_capacity_percent, emulation, num_of_disk_groups, num_of_srp_sg_demands, num_of_srp_slo_demands, rdfa_dse, reserved_cap_percent, total_allocated_cap_gb, total_srdf_dse_allocated_cap_gb, total_subscribed_cap_gb, total_usable_cap_gb. -* For sg - base_slo_name, cap_gb, child, child_sg_name, ckd, compression, compression_ratio_to_one, fba, num_of_child_sgs, num_of_masking_views, num_of_parent_sgs, num_of_snapshots, num_of_vols, parent, parent_sg_name, slo_compliance, slo_name, srp_name, storageGroupId, tag, volumeId. -* For pg - dir_port, fibre, iscsi, num_of_masking_views, num_of_ports. -* For host - host_group_name, num_of_host_groups, num_of_initiators, num_of_masking_views, num_of_powerpath_hosts, powerPathHostId. -* For hg - host_name, num_of_hosts, num_of_masking_views. -* For port - aclx, avoid_reset_broadcast, common_serial_number, director_status, disable_q_reset_on_ua, enable_auto_negotive, environ_set, hp_3000_mode, identifier, init_point_to_point, ip_list, ipv4_address, ipv6_address, iscsi_target, max_speed, negotiated_speed, neqotiate_reset, no_participating, node_wwn, num_of_cores, num_of_hypers, num_of_mapped_vols, num_of_masking_views, num_of_port_groups, port_interface, port_status, rdf_hardware_compression, rdf_hardware_compression_supported, rdf_software_compression, rdf_software_compression_supported, scsi_3, scsi_support1, siemens, soft_reset, spc2_protocol_version, sunapee, type, unique_wwn, vcm_state, vnx_attached, volume_set_addressing, wwn_node. -* For mv - host_or_host_group_name, port_group_name, protocol_endpoint_masking_view, storage_group_name. -* For alert - acknowledged, array, created_date, created_date_milliseconds, description, object, object_type, severity, state, type. -* For initiators - alias, directorId, initiator_hba, in_a_host, iscsi, logged_in, num_of_host_groups, num_of_masking_views, num_of_powerpath_hosts, num_of_vols, on_fabric, port_flag_overrides, portId, powerPathHostId. -* For mv_connections - volume_id, host_lun_address, cap_gb, initiator_id, alias, dir_port, logged_in, on_fabric. -* The check_mode is supported. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get list of volumes with filter -- all TDEV volumes of size equal to 5 GB - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - vol - filters: - - filter_key: "tdev" - filter_operator: "equal" - filter_value: "True" - - filter_key: "cap_gb" - filter_operator: "equal" - filter_value: "5" - -- name: Get list of volumes and storage groups with filter - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - vol - - sg - filters: - - filter_key: "tdev" - filter_operator: "equal" - filter_value: "True" - - filter_key: "cap_gb" - filter_operator: "equal" - filter_value: "5" - -- name: Get list of storage groups with capacity between 2 GB to 10 GB - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - sg - filters: - - filter_key: "cap_gb" - filter_operator: "greater" - filter_value: "2" - - filter_key: "cap_gb" - filter_operator: "lesser" - filter_value: "10" - -- name: Get the list of arrays for a given Unisphere host - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - register: array_list - -- name: Get list of TDEV-volumes - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - tdev_volumes: True - gather_subset: - - vol - -- name: Get the list of arrays for a given Unisphere host - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - -- name: Get array health status - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - health - -- name: Get array alerts summary - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - alert - -- name: Get the list of Metro DR environments for a given Unisphere host - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - metro_dr_env - -- name: Get list of storage groups - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - sg - -- name: Get list of Storage Resource Pools - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - srp - -- name: Get list of ports - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - port - -- name: Get list of Port Groups - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - pg - -- name: Get list of hosts - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - host - -- name: Get list of Host Groups - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - hg - -- name: Get list of Masking Views - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - mv - -- name: Get list of RDF Groups - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - rdf - -- name: Get list of snapshot policies - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - snapshot_policies - -- name: Get list of initiators - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - initiators - -- name: Get list of masking view connections with filter - dellemc.powermax.info: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - gather_subset: - - mv_connections - filters: - - filter_key: "logged_in" - filter_operator: "equal" - filter_value: "True" - - filter_key: "cap_gb" - filter_operator: "equal" - filter_value: "10" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
Alerts list When the alert exists. Alert summary of the array.
  acknowledged str success Whether or not this alert is acknowledged.
  alertId str success Unique ID of alert.
  array str success The serial number of the array.
  created_date str success The creation date.
  created_date_milliseconds str success The creation date presented in milliseconds.
  description str success The description of the alert.
  object str success An object description.
  object_type str success Resource class.
  severity str success The severity of the alert.
  state str success The state of the alert.
  type str success The type of the alert.
Arrays list When the arrays in Unisphere exist. Aviliable list of arrays in Unisphere.
Health complex When the array exist. The health status of the array.
  health_score_metric list success An overall health score for the specified storage system.
   cached_date int success A timestamp in epoch format from the date when it was cached.
   data_date int success A timestamp in epoch format from the date it was collected.
   expired bool success A flag to indicate the expiry of the score.
   health_score int success An overall health score in numbers.
   instance_metrics list success Metrics about a specific instance.
    health_score_instance_metric int success The health score of a specific instance.
   metric str success Information about the sub-system , such as SYSTEM_UTILIZATION, CONFIGURATION,CAPACITY, and so on.
  num_failed_disks int success Numbers of the disk failure in this system.
HostGroups list When the hostgroups exist. A list of Host Groups present on the array.
Hosts list When the hosts exist. A list of hosts present on the array.
Initiators list When an initiator exists. A list of initiators on the array.
MVConnections complex When the masking view connections exists. A list of the masking view connections on the array.
  connections list success A list of the masking view connections.
  masking_view_id str success The ID of the masking view.
MaskingViews list When the masking views exist. A list of masking views present on the array.
MetroDREnvironments list When an environment exists. A list of Metro DR environments on the array.
PortGroups list When the Port Groups exist. A list of Port Groups on the array.
Ports complex When the ports exist. A list of ports on the array.
  directorId str success The director ID of the port.
  portId str success The number of the port.
RDFGroups complex When the RDF groups exist. A list of RDF groups on the array.
  label str success Name of the RDF group.
  rdfgNumber int success An unique identifier of the RDF group.
SnapshotPolicies list When a snapshot policy exists. A list of the snapshot policies on the array.
StorageGroups list When the storage groups exist. A list of storage groups on the array.
StorageResourcePools complex When the storage pools exist. A list of storage pools on the array.
  diskGroupId list success The ID of the disk group.
  emulation str success The type of volume emulation.
  num_of_disk_groups int success The number of disk groups.
  rdfa_dse bool success A flag for RDFA Delta Set Extension.
  reserved_cap_percent int success The reserved capacity percentage.
  srpId str success An unique Identifier for SRP.
  srp_capacity dict success The different entities to measure SRP capacity.
   effective_used_capacity_percent int success The percentage of effectively used capacity.
   snapshot_modified_tb int success The snapshot modified in TB.
   snapshot_total_tb int success The total snapshot size in TB.
   subscribed_allocated_tb int success Subscribed allocated size in TB.
   subscribed_total_tb int success Subscribed total size in TB.
   usable_total_tb int success The usable total size in TB.
   usable_used_tb int success The usable used size in TB.
  srp_efficiency dict success The different entities to measure SRP efficiency.
   compression_state str success Depicts the compression state of the SRP.
   data_reduction_enabled_percent int success The percentage of data reduction enabled in the SRP.
   data_reduction_ratio_to_one int success The data reduction ratio of SRP.
   overall_efficiency_ratio_to_one int success The overall efficiency ratio of SRP.
   snapshot_savings_ratio_to_one int success The snapshot savings ratio of SRP.
   virtual_provisioning_savings_ratio_to_one int success The virtual provisioning savings ratio of SRP.
  total_srdf_dse_allocated_cap_gb int success The total SRDF DSE allocated capacity in GB.
Volumes list When the volumes exist. A list of volumes on the array.
- -### Authors -* Arindam Datta (@dattaarindam) -* Rajshree Khare (@khareRajshree) -* Pavan Mudunuri (@Pavan-Mudunuri) - --------------------------------- -# Initiator Module - -Manage initiators on PowerMax/VMAX Storage System - -### Synopsis - Managing initiators on a PowerMax storage system includes retrieving details and renaming alias of an initiator. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
initiator_id str
The initiator WWN or IQN.
alias str
Alias of initiator.
new_alias dict
Rename alias for specified initiator.
  new_node_name str
The new node name to rename the initiator alias.
  new_port_name str
The new port name to rename the initiator alias.
state str True
  • absent
  • present

The state of the initiator after the task is performed.
absent - indicates that the initiator should not exist in the system.
present - indicates that the initiator should exist in the system.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* initiator_id and alias are mutually exclusive parameters. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get initiator details using initiator id - dellemc.powermax.initiator: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - initiator_id: 1000000000000001 - state: 'present' - -- name: Get initiator details using alias - dellemc.powermax.initiator: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - alias: 'test/host_initiator' - state: 'present' - -- name: Rename initiator alias using initiator id - dellemc.powermax.initiator: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - initiator_id: 1000000000000001 - new_alias: - new_node_name: 'test_rename' - new_port_name: 'host_initiator_rename' - state: 'present' - -- name: Rename initiator alias using alias - dellemc.powermax.initiator: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - alias: 'test/host_initiator' - new_alias: - new_node_name: 'test_rename' - new_port_name: 'host_initiator_rename' - state: 'present' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
initiator_details complex When initiator exists. Details of the initiator.
  alias str success Initiator alias.
  fabric_name str success Fabric associated with the initiator.
  fcid str success FCID associated with the initiator.
  host str success Host associated with the initiator.
  hostGroup list success Host groups associated with the initiator.
  initiatorId str success ID of the initiator.
  logged_in bool success States whether the initiator is logged in.
- -### Authors -* Jennifer John (@johnj9) - --------------------------------- -# Job Module - -Gets the detail information about a Job of a PowerMax/VMAX storage system - -### Synopsis - Gets details of a Job from a specified PowerMax/VMAX storage system. - The details listed are of an asynchronous task. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
job_id str True
Job ID of an asynchronous task, used for getting details of a job.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get the details of a Job. - dellemc.powermax.job: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - job_id: "1570622921504" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
Job_details dict When job exist. Details of the job.
  completed_date_milliseconds int success Date of job completion in milliseconds.
  jobId str success Unique identifier of the job.
  last_modified_date str success Last modified date of job.
  last_modified_date_milliseconds int success Last modified date of job in milliseconds.
  name str success Name of the job.
  resourceLink str success Resource link w.r.t Unisphere.
  result str success Job description
  status str success Status of the job.
  task list success Details about the job.
  username str success Unisphere username.
changed bool always Whether or not the resource has changed.
- -### Authors -* Rajshree Khare (@khareRajshree) - --------------------------------- -# Masking View Module - -Managing masking views on PowerMax/VMAX Storage System. - -### Synopsis - Managing masking views on PowerMax storage system includes, creating masking view with port group, storage group and host or host group, renaming masking view and deleting masking view. - For creating a masking view - - (i) portgroup_name, - (ii) sg_name and - (iii) any one of host_name or hostgroup_name is required. - All three entities must be present on the array. - For renaming a masking view, the 'new_mv_name' is required. After a masking view is created, only its name can be changed. No underlying entity (portgroup, storagegroup, host or hostgroup) can be changed on the masking view. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
mv_name str True
The name of the masking view. No Special Character support except for _. Case sensitive for REST Calls.
portgroup_name str
The name of the existing port group.
host_name str
The name of the existing host. This parameter is to create an exclusive or host export.
hostgroup_name str
The name of the existing host group. This parameter is used to create cluster export.
sg_name str
The name of the existing storage group.
new_mv_name str
The new name for the renaming function. No Special Character support except for _. Case sensitive for REST Calls.
state str True
  • absent
  • present

Defines whether the masking view should exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create MV with hostgroup - dellemc.powermax.maskingview: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - mv_name: "{{mv_name}}" - portgroup_name: "Ansible_Testing_portgroup" - hostgroup_name: "Ansible_Testing_hostgroup" - sg_name: "Ansible_Testing_SG" - state: "present" - -- name: Create MV with host - dellemc.powermax.maskingview: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - mv_name: "{{mv_name}}" - portgroup_name: "Ansible_Testing_portgroup" - host_name: "Ansible_Testing_host" - sg_name: "Ansible_Testing_SG" - state: "present" - -- name: Rename host masking view - dellemc.powermax.maskingview: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - mv_name: "{{mv_name}}" - new_mv_name: "Ansible_Testing_mv_renamed" - state: "present" - -- name: Delete host masking view - dellemc.powermax.maskingview: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - mv_name: "Ansible_Testing_mv_renamed" - state: "absent" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
create_mv bool When masking view is created. Flag sets to true when a new masking view is created.
delete_mv bool When masking view is deleted. Flag sets to true when a masking view is deleted.
modify_mv bool When masking view is modified. Flag sets to true when a masking view is modified.
mv_details list When masking view exist. Details of masking view.
  hostId str success Host group present in the masking view.
  maskingViewId str success Masking view ID.
  portGroupId str success Port group present in the masking view.
  storageGroupId str success Storage group present in the masking view.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Prashant Rakheja (@prashant-dell) - --------------------------------- -# Metro DR Module - -Manage metro DR environment on PowerMax/VMAX Storage System - -### Synopsis - Managing a metro DR environment on a PowerMax storage system includes getting details of any specific metro DR environment, creating a metro DR environment, converting an existing SG into a metro DR environment, modifying metro DR environment attributes and deleting a metro DR environment. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
env_name str True
Name of the metro DR environment.
Metro DR environment name will be unique across PowerMax.
sg_name str
Name of the storage group.
Storage group will be present on the primary metro array and a storage group with the same name will be created on remote and DR arrays in a create operation.
Storage group name is required in 'create metro DR environment' and 'convert SG into metro DR environment' operations.
metro_r1_array_id str True
Serial number of the primary metro array.
metro_r2_array_id str
Serial number of the remote metro array.
It is required only in create and convert operations.
dr_array_id str
Serial number of the DR array.
It is required in create and convert operations.
replication_mode str
  • Asynchronous
  • Adaptive Copy

Replication mode whose value will indicate how the data will be replicated.
It is required in create and modify operations.
It is a mandatory parameter in a create operation but optional in a modify operation.
wait_for_completion bool False
The flag indicates if the operation should be run synchronously or asynchronously.
True signifies synchronous execution.
By default, create and convert are asynchronous operations, whereas modify is a synchronous operation.
new_rdf_group_r1 bool True
The flag indicates whether or not to create a new RDFG for a Metro R1 array to a DR array, or to autoselect from an existing one.
Used in only create operation.
new_rdf_group_r2 bool True
The flag indicates whether or not to create a new RDFG for a Metro R2 array to a DR array, or to autoselect from an existing one.
It is used only in create operation.
remove_r1_dr_rdfg bool False
The flag indicates whether or not to override default behavior and delete R11-R2 RDFG from the metro R1 side.
It is used only in delete operations.
srdf_param dict
It contains parameters related to SRDF links.
It is used only in modify operations.
  srdf_state str True
  • Split
  • Restore
  • SetMode
  • Failback
  • Failover
  • Establish
  • Suspend
  • UpdateR1
  • Recover

State of the SRDF link.
It is a mandatory parameter for modify operations.
  metro bool False False
The flag indicates whether or not to direct srdf_state change towards the R1--R2 Metro Device leg of the metro DR environment.
  dr bool False False
The flag indicates whether or not to direct srdf_state change towards device pairs on the disaster recovery leg of the metro DR environment.
  keep_r2 bool False False
The flag indicates whether or not in the case of srdf state suspend to make R2 data on metro available to the host.
state str True
  • absent
  • present

State variable to determine whether metro DR environment will exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get metro environment details - dellemc.powermax.metrodr: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - metro_r1_array_id: "{{metro_r1_array_id}}" - env_name: "ansible_metrodr_env" - state: "present" - -- name: Convert SG to metro DR environment - dellemc.powermax.metrodr: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - sg_name: "ansible_sg" - env_name: "ansible_metrodr_env" - metro_r1_array_id: "{{metro_r1_array_id}}" - metro_r2_array_id: "{{metro_r2_array_id}}" - dr_array_id: "{{dr_array_id}}" - replication_mode: "Asynchronous" - wait_for_completion: False - state: "present" - -- name: Create metro DR environment - dellemc.powermax.metrodr: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - sg_name: "ansible_sg" - env_name: "ansible_metrodr_env" - metro_r1_array_id: "{{metro_r1_array_id}}" - metro_r2_array_id: "{{metro_r2_array_id}}" - dr_array_id: "{{dr_array_id}}" - replication_mode: "Asynchronous" - new_rdf_group_r1: True - new_rdf_group_r2: True - wait_for_completion: False - state: "present" - -- name: Modify metro DR environment - dellemc.powermax.metrodr: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - metro_r1_array_id: "{{metro_r1_array_id}}" - env_name: "ansible_metrodr_env" - srdf_param: - srdf_state: "Suspend" - metro: True - dr: True - keep_r2: True - wait_for_completion: True - state: "present" - -- name: Delete metro DR environment - dellemc.powermax.metrodr: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - metro_r1_array_id: "{{metro_r1_array_id}}" - env_name: "ansible_metrodr_env" - remove_r1_dr_rdfg: True - state: 'absent' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
Job_details dict When job exist. Details of the job.
  completed_date_milliseconds int success Date of job completion in milliseconds.
  jobId str success Unique identifier of the job.
  last_modified_date str success Last modified date of job.
  last_modified_date_milliseconds int success Last modified date of job in milliseconds.
  name str success Name of the job.
  resourceLink str success Resource link w.r.t Unisphere.
  result str success Job description
  status str success Status of the job.
  task list success Details about the job.
  username str success Unisphere username.
changed bool always Whether or not the resource has changed.
metrodr_env_details dict When environment exists. Details of the metro DR environment link.
  capacity_gb float success Size of volume in GB.
  dr_exempt bool success Flag to indication that if there are exempt devices (volumes) in the DR site or not.
  dr_link_state str success Status of DR site.
  dr_percent_complete int success Percentage synchronized in DR session.
  dr_rdf_mode str success Replication mode with DR site.
  dr_remain_capacity_to_copy_mb int success Remaining capacity to copy at DR site.
  dr_service_state str success The HA state of the DR session.
  dr_state str success The pair states of the DR session.
  environment_exempt bool success Flag to indication that if there are exempt devices (volumes) in the environment or not.
  environment_state str success The state of the smart DR environment.
  metro_exempt bool success Flag to indication that if there are exempt devices (volumes) in the DR site or not.
  metro_link_state str success Status of metro site.
  metro_r1_array_health str success Health status of metro R1 array.
  metro_r2_array_health str success Health status of metro R1 array.
  metro_service_state str success The HA state of the metro session.
  metro_state str success The pair states of the metro session.
  metro_witness_state str success The witness state of the metro session.
  name str success The smart DR environment name.
  valid bool success Flag to indicate whether valid environment or not.
- -### Authors -* Vivek Soni (@v-soni11) -* Rajshree Khare (@khareRajshree) - --------------------------------- -# Port Module - -Manage ports on PowerMax/VMAX Storage System - -### Synopsis - Managing ports on PowerMax storage system includes getting details of a port. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
ports list
elements: dict
True
List of port director and port id
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get details of single/multiple ports - dellemc.powermax.port: - unispherehost: "{{unispherehost}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - ports: - - director_id: "FA-1D" - port_id: "5" - - director_id: "SE-1F" - port_id: "29" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
port_details list When the port exist. Details of the port.
  symmetrixPort list success Type of volume.
   aclx bool success Indicates whether access control logic is enabled or disabled.
   avoid_reset_broadcast bool success Indicates whether the Avoid Reset Broadcasting feature is enabled or disabled.
   common_serial_number bool success Indicates whether the Common Serial Number feature is enabled or disabled.
   director_status str success Director status.
   disable_q_reset_on_ua bool success Indicates whether the Disable Q Reset on UA (Unit Attention) is enabled or disabled.
   enable_auto_negotiate bool success Indicates whether the Enable Auto Negotiate feature is enabled or disabled.
   environ_set bool success Indicates whether the environmental error reporting feature is enabled or disabled.
   hp_3000_mode bool success Indicates whether HP 3000 Mode is enabled or disabled.
   identifier str success Unique identifier for port.
   init_point_to_point bool success Indicates whether Init Point to Point is enabled or disabled.
   iscsi_target bool success Indicates whether ISCSI target is enabled or disabled.
   maskingview list success List of Masking views that the port is a part of.
   max_speed str success Maximum port speed in GB/Second.
   negotiate_reset bool success Indicates whether the Negotiate Reset feature is enabled or disabled.
   negotiated_speed str success Negotiated speed in GB/Second.
   no_participating bool success Indicates whether the No Participate feature is enabled or disabled.
   num_of_cores int success Number of cores for the director.
   num_of_mapped_vols int success Number of volumes mapped with the port.
   num_of_masking_views int success Number of masking views associated with the port.
   num_of_port_groups int success Number of port groups associated with the port.
   port_status str success Port status, ON/OFF.
   portgroup list success List of masking views associated with the port.
   scsi_3 bool success Indicates whether the SCSI-3 protocol is enabled or disabled.
   scsi_support1 bool success Indicates whether the SCSI Support1 is enabled or disabled.
   siemens bool success Indicates whether the Siemens feature is enabled or disabled.
   soft_reset bool success Indicates whether the Soft Reset feature is enabled or disabled.
   spc2_protocol_version bool success Indicates whether the SPC2 Protocol Version feature is enabled or disabled.
   sunapee bool success Indicates whether the Sunapee feature is enabled or disabled.
   symmetrixPortKey list success Symmetrix system director and port in the port group.
    drectorId str success Director ID of the port.
    portId str success Port number of the port.
   type str success Type of port.
   unique_wwn bool success Indicates whether the Unique WWN feature is enabled or disabled.
   vnx_attached bool success Indicates whether the VNX attached feature is enabled or disabled.
   volume_set_addressing bool success Indicates whether Volume Vet Addressing is enabled or disabled.
   wwn_node str success WWN node of port.
- -### Authors -* Ashish Verma (@vermaa31) - --------------------------------- -# Port Group Module - -Manage port groups on PowerMax/VMAX Storage System - -### Synopsis - Managing port groups on a PowerMax storage system includes creating a port group with a set of ports, adding or removing single or multiple ports to or from the port group, renaming the port group and deleting the port group. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
portgroup_name str True
The name of the port group. No Special Character support except for _. Case sensitive for REST Calls.
ports list
elements: dict

List of directors and ports to be added or removed to or from the port group.
port_group_protocol str
  • SCSI_FC
  • iSCSI
  • NVMe_TCP

Port Group protocol.
Required only for V4(Juniper).
new_name str
New name of the port group while renaming. No Special Character support except for _. Case sensitive for REST Calls.
state str True
  • absent
  • present

Define whether the port group should exist or not.
present - indicates that the port group should be present on the system.
absent - indicates that the port group should not be present on the system.
port_state str
  • present-in-group
  • absent-in-group

Define whether the port should be present or absent in the port group.
present-in-group - indicates that the ports should be present on a port group object.
absent-in-group - indicates that the ports should not be present on a port group object.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create port group without ports - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "present" - -- name: Create port group in V4 without ports - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "new_PG" - port_group_protocol: "SCSI_FC" - state: "present" - -- name: Create port group with ports - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "present" - ports: - - director_id: "FA-1D" - port_id: "5" - - director_id: "FA-2D" - port_id: "5" - port_state: "present-in-group" - -- name: Add ports to port group - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "present" - ports: - - director_id: "FA-2D" - port_id: "8" - - director_id: "FA-2D" - port_id: "9" - port_state: "present-in-group" - -- name: Remove ports from port group - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "present" - ports: - - director_id: "FA-2D" - port_id: "8" - - director_id: "FA-2D" - port_id: "9" - port_state: "absent-in-group" - -- name: Modify port group - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "present" - new_name: "{{new_name}}" - -- name: Delete port group - dellemc.powermax.portgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{array_id}}" - portgroup_name: "{{portgroup_name}}" - state: "absent" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
portgroup_details list When the port group exist. Details of the port group.
  num_of_masking_views int success Number of masking views in where port group is associated.
  num_of_ports int success Number of ports in the port group.
  portGroupId str success Port group ID.
  symmetrixPortKey list success Symmetrix system director and port in the port group.
   directorId str success Director ID of the port.
   portId str success Port number of the port.
  type str success Type of ports in port group.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Ashish Verma (@vermaa31) -* Rajshree Khare (@khareRajshree) - --------------------------------- -# Storage Pool Dict Module - -Process storage pools on PowerMax/VMAX Storage System - -### Synopsis - Process storage pools on PowerMax/VMAX storage system to find out the storage pool with maximum free storage. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
pool_data list
elements: dict
True
Storage pool details including service levels, usable total space, usable free space, total free space.
size float True
Size of the storage group in GB.
sg_name str
Name of the storage group.
service_level str
Service level of the storage group.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get best suitable Pool using our python sorting module - register: assigned_pool - dellemc.powermax.process_storage_pool_dict: - unispherehost: "{{unispherehost}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - pool_data: "{{ pools_list }}" - size: 40 - service_level: "Diamond" - sg_name: "intellgent_provisioning" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
all_pools list when pool exists List of all pools on unisphere
  serial_no str success The PowerMax array on which storage pool resides
  storage_pool str success The ID of the storage pool
changed bool always Whether or not the resource has changed.
serial_no str when array satisfies the given criteria The PowerMax array on which storage pool resides
storage_group str when storage group exists satisfying the given criteria Name of the storage group
storage_pool str when storage pool exists satisfying the given criteria The ID of the storage pool
- -### Authors -* Akash Shendge (@shenda1) - --------------------------------- -# RDF Group Module - -Gets the detail information about RDF Groups of a PowerMax or VMAX storage system - -### Synopsis - Gets details of an RDF Group from a specified PowerMax or VMAX storage system. - Lists the volumes of an RDF Group from a specified PowerMax or VMAX storage system. - Get specific volume details of an RDF Group from a specified PowerMax or VMAX storage system. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
rdfgroup_number str True
Identifier of an RDF Group of type string.
vol_name str
Name of the volume.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The check_mode is not supported. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get the details of an RDF group and volumes - dellemc.powermax.rdfgroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - rdfgroup_number: "{{rdfgroup_id}}" - -- name: Get specific volume details of an RDF Group - dellemc.powermax.rdfgroup: - unispherehost: "{{unispherehost}}" - serial_no: "{{serial_no}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - rdfgroup_number: "1" - vol_name: "0001" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
RDFGroupDetails list When the RDF group exists. Details of the RDF group.
  RDFGroupVolumes list success List of various properties of RDF group volumes.
   largerRdfSide str success Larger RDF side among the devices.
   localRdfGroupNumber int success RDF group number at primary device.
   localSymmetrixId int success Primary device ID.
   localVolumeName str success Volume name at primary device.
   localVolumeState str success Volume state at primary device.
   local_wwn_external int success External WWN of volume at primary device.
   rdfMode str success SRDF mode of pairing.
   rdfpairState str success SRDF state of pairing.
   remoteRdfGroupNumber int success RDF group number at remote device.
   remoteSymmetrixId int success Remote device ID.
   remoteVolumeName str success Volume name at remote device.
   remoteVolumeState str success Volume state at remote device.
   remote_wwn_external int success External WWN of volume at remote device.
   volumeConfig str success Type of volume.
  async bool success Flag sets to true when an SRDF pair is in async mode.
  biasConfigured bool success Flag for configured bias.
  biasEffective bool success Flag for effective bias.
  device_polarity str success Type of device polarity.
  hardware_compression bool success Flag for hardware compression.
  label str success RDF group label.
  link_limbo int success The amount of time that the operating environment of the array waits after the SRDF link goes down before updating the status of the link. The link limbo value can be set from 0 to 120 seconds. The default value is 10 seconds.
  localOnlinePorts list success List of local online ports.
  localPorts list success List of local ports.
  metro list success Flag for Metro configuration.
  modes str success Mode of the SRDF link.
  numDevices int success Number of devices involved in the pairing.
  offline bool success Offline flag.
  rdfa_properties list success Properties associated with the RDF group.
   average_cycle_time int success Average cycle time in seconds that the session configured for.
   consistency_exempt_volumes bool success Flag that indicates if consistency is exempt.
   cycle_number int success Number of cycles in seconds.
   dse_active bool success Flag for active Delta Set Extension.
   dse_autostart str success Indicates DSE autostart state.
   dse_threshold int success Flag for DSE threshold.
   duration_of_last_cycle int success The cycle time in seconds of the most recently completed cycle.
   duration_of_last_transmit_cycle int success Duration of last transmitted cycle in seconds.
   r1_to_r2_lag_time int success Time that R2 is behind R1 in seconds.
   session_priority int success Priority used to determine which RDFA sessions to drop if cache becomes full. Values range from 1 to 64, with 1 being the highest priority, meaning it is the last to be dropped.
   session_uncommitted_tracks int success Number of uncommitted session tracks.
   transmit_idle_state str success Indicates RDFA transmit idle state.
   transmit_idle_time int success Time the transmit cycle has been idle.
   transmit_queue_depth int success The transmitted queue depth of disks.
  rdfgNumber int success RDF group number on primary device.
  remoteOnlinePorts list success List of remote online ports.
  remotePorts list success List of remote ports.
  remoteRdfgNumber int success RDF group number at remote device.
  remoteSymmetrix int success Remote device ID.
  software_compression bool success Flag for software compression.
  totalDeviceCapacity int success Total capacity of RDF group in GB.
  type str success Type of RDF group.
  vasa_group bool success Flag for VASA group member.
  witness bool success Flag for witness.
  witnessConfigured bool success Flag for configured witness.
  witnessDegraded bool success Flag for degraded witness.
  witnessEffective bool success Flag for effective witness.
  witnessProtectedPhysical bool success Flag for physically protected witness.
  witnessProtectedVirtual bool success Flag for virtually protected witness.
RDFGroupVolumeDetails complex When the RDF group volume exist. RDF group volume details.
  largerRdfSide str success Larger RDF side among the devices.
  localRdfGroupNumber int success RDF group number at primary device.
  localSymmetrixId int success Primary device ID.
  localVolumeName str success Volume name at primary device.
  localVolumeState str success Volume state at primary device.
  local_wwn_external int success External WWN of volume at primary device.
  rdfMode str success SRDF mode of pairing.
  rdfpairState str success SRDF state of pairing.
  remoteRdfGroupNumber int success RDF group number at remote device.
  remoteSymmetrixId int success Remote device ID.
  remoteVolumeName str success Volume name at remote device.
  remoteVolumeState str success Volume state at remote device.
  remote_wwn_external int success External WWN of volume at remote device.
  volumeConfig str success Type of volume.
changed bool always Whether or not the resource has changed.
- -### Authors -* Arindam Datta (@dattaarindam) -* Ananthu S Kuttattu (@kuttattz) -* Pavan Mudunuri (@Pavan-Mudunuri) - --------------------------------- -# Snapshot Module - -Manage Snapshots on PowerMax/VMAX Storage System - -### Synopsis - Managing snapshots on a PowerMax storage system includes creating a new storage group (SG) snapshot, getting details of the SG snapshot, renaming the SG snapshot, changing the snapshot link status, and deleting an existing SG snapshot. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
sg_name str True
The name of the storage group.
snapshot_name str True
The name of the snapshot.
ttl str
The Time To Live (TTL) value for the snapshot.
If the TTL is not specified, the storage group snap details are returned.
However, to create a SG snap - TTL must be given.
If the SG snap should not have any TTL - specify TTL as "None".
ttl_unit str days
  • hours
  • days

The unit for the ttl.
If no ttl_unit is specified, 'days' is taken as default ttl_unit.
generation int
The generation number of the snapshot.
Generation is required for link, unlink, rename and delete operations.
Optional for Get snapshot details.
Create snapshot will always create a new snapshot with a generation number 0.
Rename is supported only for generation number 0.
snapshot_id int
Unique ID of the snapshot.
snapshot_id is required for link, unlink, rename and delete operations.
Optional for Get snapshot details.
new_snapshot_name str
The new name of the snapshot.
target_sg_name str
The target storage group.
link_status str
  • linked
  • unlinked

Describes the link status of the snapshot.
state str True
  • absent
  • present

Define whether the snapshot should exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* Paramters 'generation' and 'snapshot_id' are mutually exclusive. -* If 'generation' or 'snapshot_id' is not provided then a list of generation versus snapshot_id is returned. -* Use of 'snapshot_id' over 'generation' is preferably recommended for PowerMax microcode version 5978.669.669 and onwards. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create a Snapshot for a Storage Group - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - ttl: "2" - ttl_unit: "days" - state: "present" - -- name: Get Storage Group Snapshot details - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - state: "present" - -- name: Get Storage Group Snapshot details using generation - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - generation: 1 - state: "present" - -- name: Get Storage Group Snapshot details using snapshot_id - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - snapshot_id: 135023964929 - state: "present" - -- name: Rename Storage Group Snapshot using generation - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - new_snapshot_name: "ansible_snap_new" - generation: 0 - state: "present" - -- name: Rename Storage Group Snapshot using snapshot_id - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - new_snapshot_name: "ansible_snap_new" - snapshot_id: 135023964929 - state: "present" - -- name: Change Snapshot Link Status to Linked using generation - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_snap_new" - generation: 1 - target_sg_name: "ansible_sg_target" - link_status: "linked" - state: "present" - -- name: Change Snapshot Link Status to UnLinked using generation - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_snap_new" - generation: 1 - target_sg_name: "ansible_sg_target" - link_status: "unlinked" - state: "present" - -- name: Change Snapshot Link Status to Linked using snapshot_id - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_snap_new" - snapshot_id: 135023964515 - target_sg_name: "ansible_sg_target" - link_status: "linked" - state: "present" - -- name: Change Snapshot Link Status to UnLinked using snapshot_id - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_snap_new" - snapshot_id: 135023964515 - target_sg_name: "ansible_sg_target" - link_status: "unlinked" - state: "present" - -- name: Delete Storage Group Snapshot using generation - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - generation: 1 - state: "absent" - -- name: Delete Storage Group Snapshot using snapshot_id - dellemc.powermax.snapshot: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - snapshot_name: "ansible_sg_snap" - snapshot_id: 135023964929 - state: "absent" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
create_sg_snap bool When snapshot is created. Flag sets to true when the snapshot is created.
delete_sg_snap bool When snapshot is deleted. Flag sets to true when the snapshot is deleted.
rename_sg_snap bool When snapshot is renamed. Flag sets to true when the snapshot is renamed.
sg_snap_details complex When snapshot exists. Details of the snapshot.
  expired bool success Indicates whether the snapshot is expired or not.
  generation/snapid int success The generation/snapshot ID of the snapshot.
  linked bool success Indicates whether the snapshot is linked or not.
  name str success Name of the snapshot.
  non_shared_tracks int success Number of non-shared tracks.
  num_source_volumes int success Number of source volumes.
  num_storage_group_volumes int success Number of storage group volumes.
  restored bool success Indicates whether the snapshot is restored or not.
  source_volume list success Source volume details.
   capacity int success Volume capacity.
   capacity_gb int success Volume capacity in GB.
   name str success Volume ID.
  state str success State of the snapshot.
  time_to_live_expiry_date str success Time to live expiry date.
  timestamp str success Snapshot time stamp.
  timestamp_utc int success Snapshot time stamp specified in UTC.
  tracks int success Number of tracks.
- -### Authors -* Prashant Rakheja (@prashant-dell) -* Rajshree Khare (@khareRajshree) - --------------------------------- -# Snapshot Policy Module - -Manage snapshot policy on PowerMax/VMAX Storage System - -### Synopsis - Managing a snapshot policy on a PowerMax storage system includes getting details of any specific snapshot policy, creating a snapshot policy, modifying snapshot policy attributes, modifying snapshot policy state, associating or disassociating storage groups to or from snapshot policy and deleting a snapshot policy. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
universion int
  • 92
  • 100

Unisphere version, currently '92', '100' version is supported.
snapshot_policy_name str True
Name of the snapshot policy.
interval str
  • 10 Minutes
  • 12 Minutes
  • 15 Minutes
  • 20 Minutes
  • 30 Minutes
  • 1 Hour
  • 2 Hours
  • 3 Hours
  • 4 Hours
  • 6 Hours
  • 8 Hours
  • 12 Hours
  • 1 Day
  • 7 Days

The value of the interval counter for snapshot policy execution.
secure bool
  • True
  • False

Secure snapshots may only be terminated after they expire or by Dell Technologies support.
If not specified, default value is False.
snapshot_count int
The max snapshot count of the policy.
Max value is 1024.
offset_mins int
Defines when, within the interval the snapshots will be taken for a specified snapshot policy.
The offset must be less than the interval of the snapshot policy.
The format must be in minutes.
If not specified, default value is 0.
compliance_count_warning int
If the number of valid snapshots falls below this number, the compliance changes to warning (yellow).
compliance_count_critical int
If the number of valid snapshots falls below this number, the compliance changes to critical (red).
storage_groups list
elements: str

List of storage groups.
storage_group_state str
  • present-in-policy
  • absent-in-policy

The state of the storage group with regard to the snapshot policy.
present-in-policy indicates associate SG to SP.
absent-in-policy indicates disassociate SG from SP.
suspend bool
  • True
  • False

Suspend the snapshot policy.
True indicates snapshot policy is in suspend state.
False indicates snapshot policy is in resume state.
new_snapshot_policy_name str
New name of the snapshot policy.
state str True
  • present
  • absent

Shows if the snapshot policy should be present or absent.
unispherehost str True
IP or FQDN of the Unisphere host
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The max number of snapshot policies on an array is limited to 20. -* At most four snapshot policies can be associated with a storage group. -* compliance_count_critical <= compliance_count_warning < total snapshot_count for the policy. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create a snapshot policy - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - interval: "10 Minutes" - secure: false - snapshot_count: 10 - offset_mins: 2 - compliance_count_warning: 6 - compliance_count_critical: 4 - state: "present" - -- name: Create a snapshot policy and associate storage groups to it - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_2" - interval: "10 Minutes" - secure: false - snapshot_count: 12 - offset_mins: 5 - compliance_count_warning: 8 - compliance_count_critical: 4 - storage_groups: - - "11_ansible_test_1" - - "11_ansible_test_2" - storage_group_state: "present-in-policy" - state: "present" - -- name: Get snapshot policy details - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_2" - state: "present" - -- name: Modify snapshot policy attributes - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_2" - new_snapshot_policy_name: "10min_policy_2_new" - interval: "10 Minutes" - snapshot_count: 16 - offset_mins: 8 - compliance_count_warning: 9 - compliance_count_critical: 7 - state: "present" - -- name: Modify snapshot policy, associate to storage groups - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - storage_groups: - - "11_ansible_test_1" - - "11_ansible_test_2" - storage_group_state: "present-in-policy" - state: "present" - -- name: Modify snapshot policy, disassociate from storage groups - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - storage_groups: - - "11_ansible_test_1" - - "11_ansible_test_2" - storage_group_state: "absent-in-policy" - state: "present" - -- name: Modify snapshot policy state to suspend - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - suspend: true - state: "present" - -- name: Modify snapshot policy state to resume - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - suspend: false - state: "present" - -- name: Delete a snapshot policy - dellemc.powermax.snapshotpolicy: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - snapshot_policy_name: "10min_policy_1" - state: "absent" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
snapshot_policy_details complex When snapshot policy exists. Details of the snapshot policy.
  compliance_count_critical int success The number of valid snapshots that have critical compliance.
  compliance_count_warning int success The number of valid snapshots that have warning compliance.
  interval_minutes int success The interval minutes for snapshot policy execution.
  last_time_used str success The timestamp indicating the last time snapshot policy was used.
  offset_minutes int success It is the time in minutes within the interval when the snapshots will be taken for a specified Snapshot Policy.
  secure bool success True value indicates that the secure snapshots may only be terminated after they expire or by Dell Technologies support.
  snapshot_count int success It is the max snapshot count of the policy.
  snapshot_policy_name str success Name of the snapshot policy.
  storage_group list success The list of storage groups associated with the snapshot policy.
  storage_group_count int success The number of storage groups associated with the snapshot policy.
  storage_group_snapshotID list success Pair of storage group and list of snapshot IDs associated with the snapshot policy.
  suspended bool success The state of the snapshot policy, true indicates policy is in suspend state.
  symmetrixID str success The symmetrix on which snapshot policy exists.
- -### Authors -* Rajshree Khare (@khareRajshree) - --------------------------------- -# SRDF Module - -Manage SRDF pair on PowerMax/VMAX Storage System - -### Synopsis - Managing SRDF link on a PowerMax storage system includes creating an SRDF pair for a storage group, modifying the SRDF mode, modifying the SRDF state of an existing SRDF pair, and deleting an SRDF pair. All create and modify calls are asynchronous by default. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
sg_name str
Name of storage group. SRDF pairings are managed at a storage group level.
Required to identify the SRDF link.
serial_no str True
The serial number will refer to the source PowerMax/VMAX array when protecting a storage group. However srdf_state operations may be issued from primary or remote array.
remote_serial_no str
Integer 12-digit serial number of remote PowerMax or VMAX array.
Required while creating an SRDF link.
rdfg_no int
The RDF group number.
Optional parameter for each call. For a create operation, if specified, the array will reuse the RDF group, otherwise an error is returned. For modify and delete operations, if the RFD group number is not specified, and the storage group is protected by multiple RDF groups, then an error is raised.
state str True
  • absent
  • present

Define whether the SRDF pairing should exist or not.
present indicates that the SRDF pairing should exist in system.
absent indicates that the SRDF pairing should not exist in system.
srdf_mode str
  • Active
  • Adaptive Copy
  • Synchronous
  • Asynchronous

The replication mode of the SRDF pair.
Required when creating an SRDF pair.
Can be modified by providing a required value.
srdf_state str
  • Establish
  • Resume
  • Restore
  • Suspend
  • Swap
  • Split
  • Failback
  • Failover
  • Setbias

Desired state of the SRDF pairing. While creating a new SRDF pair, allowed values are 'Establish' and 'Suspend'. If the state is not specified, the pair will be created in a 'Suspended' state. When modifying the state, only certain changes are allowed.
new_rdf_group bool
Overrides the SRDF group selection functionality and forces the creation of a new SRDF group.
PowerMax has a limited number of RDF groups. If this flag is set to True, and the RDF groups are exhausted, then SRDF link creation will fail.
If not specified, default value is 'false'.
wait_for_completion bool False
Flag to indicate if the operation should be run synchronously or asynchronously. True signifies synchronous execution. By default, all create and update operations will be run asynchronously.
job_id str
Job ID of an asynchronous task. Can be used to get details of a job.
witness bool
Flag to specify use of Witness for a Metro configuration. Setting to True signifies to use Witness, setting it to False signifies to use Bias. It is recommended to configure a witness for SRDF Metro in a production environment, this is configured via Unisphere for PowerMax UI or REST.
The flag can be set only for modifying srdf_state to either Establish, Suspend, or Restore.
While creating a Metro configuration, the witness flag must be set to True.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create and establish storagegroup SRDF/a pairing - register: Job_details_body - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - remote_serial_no: "{{remote_serial_no}}" - srdf_mode: 'Asynchronous' - srdf_state: 'Establish' - state: 'present' - -- name: Create storagegroup SRDF/s pair in default suspended mode as an - Synchronous task - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name2}}" - remote_serial_no: "{{remote_serial_no}}" - state: 'present' - srdf_mode: 'Synchronous' - wait_for_completion: True - -- name: Create storagegroup Metro SRDF pair with Witness for resiliency - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - remote_serial_no: "{{remote_serial_no}}" - state: 'present' - srdf_mode: 'Active' - wait_for_completion: True - srdf_state: 'Establish' - -- name: Suspend storagegroup Metro SRDF pair - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - remote_serial_no: "{{remote_serial_no}}" - state: 'present' - srdf_state: 'Suspend' - -- name: Establish link for storagegroup Metro SRDF pair and use Bias for - resiliency - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - remote_serial_no: "{{remote_serial_no}}" - state: 'present' - wait_for_completion: False - srdf_state: 'Establish' - witness: False - -- name: Get SRDF details - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - state: 'present' - -- name: Modify SRDF mode - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - srdf_mode: 'Synchronous' - state: 'present' - -- name: Failover SRDF link - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - srdf_state: 'Failover' - state: 'present' - -- name: Get SRDF Job status - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - job_id: "{{Job_details_body.Job_details.jobId}}" - state: 'present' - -- name: Establish SRDF link - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name2}}" - srdf_state: 'Establish' - state: 'present' - -- name: Suspend SRDF link - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name2}}" - srdf_state: 'Suspend' - state: 'present' - -- name: Delete SRDF link - dellemc.powermax.srdf: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "{{sg_name}}" - state: 'absent' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
Job_details list When job exist. Details of the job.
  completed_date_milliseconds int success Date of job completion in milliseconds.
  jobId str success Unique identifier of the job.
  last_modified_date str success Last modified date of job.
  last_modified_date_milliseconds int success Last modified date of job in milliseconds.
  name str success Name of the job.
  resourceLink str success Resource link w.r.t Unisphere.
  result str success Job description
  status str success Status of the job.
  task list success Details about the job.
  username str success Unisphere username.
SRDF_link_details complex When SRDF link exists. Details of the SRDF link.
  hop2Modes str success SRDF hop2 mode.
  hop2Rdfgs str success Hop2 RDF group number.
  hop2States str success SRDF hop2 state.
  largerRdfSides str success Larger volume side of the link.
  localR1InvalidTracksHop1 int success Number of invalid R1 tracks on local volume.
  localR2InvalidTracksHop1 int success Number of invalid R2 tracks on local volume.
  modes str success Mode of the SRDF pair.
  rdfGroupNumber int success RDF group number of the pair.
  remoteR1InvalidTracksHop1 int success Number of invalid R1 tracks on remote volume.
  remoteR2InvalidTracksHop1 int success Number of invalid R2 tracks on remote volume.
  remoteSymmetrix str success Remote symmetrix ID.
  states str success State of the SRDF pair.
  storageGroupName str success Name of storage group that is SRDF protected.
  symmetrixId str success Primary symmetrix ID.
  totalTracks int success Total number of tracks in the volume.
  volumeRdfTypes str success RDF type of volume.
changed bool always Whether or not the resource has changed.
- -### Authors -* Manisha Agrawal (@agrawm3) -* Rajshree Khare (@khareRajshree) - --------------------------------- -# Storage Group Module - -Manage storage groups on PowerMax or VMAX Storage System - -### Synopsis - Managing storage groups on a PowerMax storage system includes the following. - Listing the volumes of a storage group. - Creating a new storage group. - Deleting an existing storage group. - Adding existing volumes to an existing storage group. - Removing existing volumes from an existing storage group. - Creating new volumes in an existing storage group. - Modifying existing storage group attributes. - Adding child storage groups inside an existing storage group (parent). - Moving volumes between storage groups. - Removing a child storage group from an existing parent storage group. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
sg_name str True
The name of the storage group.
service_level str
The name of SLO.
srp str
The name of the storage resource pool.
This parameter is ignored if service_level is not specified.
Default is to use whichever is the default SRP on the array.
compression bool
Compression on storage group.
Compression parameter is ignored if service_level is not specified.
Default is true.
volumes list
elements: dict

This is a list of volumes.
Each volume has four attributes; vol_name, size, cap_unit, vol_id.
Volume ID must be provided for existing volumes.
The size must be provided to add new volumes to SG.
The cap_unit is optional.
Default value of cap_unit is GB, choices are MB, GB, TB.
vol_state str
  • present-in-group
  • absent-in-group

Describes the state of volumes inside the SG.
child_storage_groups list
elements: str

This is a list of child storage groups.
child_sg_state str
  • present-in-group
  • absent-in-group

Describes the state of CSG inside parent SG.
new_sg_name str
The new name of the storage group.
target_sg_name str
The destination SG name to move the volumes to.
force bool
This flag is to be set to True while moving volumes to target SG if volume is in a masking view.
snapshot_policies list
elements: str

List of snapshot policies.
snapshot_policy_state str
  • present-in-group
  • absent-in-group

Describes the state of snapshot policy for an SG.
host_io_limit dict
Host I/O limit of the storage group.
  host_io_limit_iops int
The I/Os per second host I/O limit for the storage group.
  dynamic_distribution str Never
  • Always
  • Never
  • OnFailure

The dynamic distribution of host I/O limit for the storage group.
  host_io_limit_mbps int
The MBs per second host I/O limit for the storage group.
state str True
  • absent
  • present

Define whether the storage group should exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* To set host_io_limit_mbps to NOLIMIT, value can be provided as 0. -* The check_mode is not supported. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get storage group details including volumes - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - state: "present" - -- name: Create empty storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - service_level: "Diamond" - srp: "SRP_1" - compression: True - state: "present" - -- name: Delete the storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - state: "absent" - -- name: Adding existing volumes to existing SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - state: "present" - volumes: - - vol_id: "00028" - - vol_id: "00018" - - vol_id: "00025" - vol_state: "present-in-group" - -- name: Create new volumes for existing SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - state: "present" - volumes: - - vol_name: "foo" - size: 1 - cap_unit: "GB" - - vol_name: "bar" - size: 1 - cap_unit: "GB" - vol_state: "present-in-group" - -- name: Remove volumes from existing SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - state: "present" - volumes: - - vol_id: "00028" - - vol_id: "00018" - - vol_name: "ansible-vol" - vol_state: "absent-in-group" - -- name: Move volumes to target SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "foo" - target_sg_name: "foo_sg" - force: True - state: "present" - volumes: - - vol_id: "00028" - - vol_id: "00018" - - vol_name: "ansible-vol" - vol_state: "absent-in-group" - -- name: Adding child SG to parent SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "parent_sg" - state: "present" - child_storage_groups: - - "pie" - - "bar" - child_sg_state: "present-in-group" - -- name: Removing child SG from parent SG - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "parent_sg" - state: "present" - child_storage_groups: - - "pie" - - "bar" - child_sg_state: "absent-in-group" - -- name: Rename storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_sg" - new_sg_name: "ansible_sg_renamed" - state: "present" - -- name: Create a storage group with snapshot policies - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_test_sg" - service_level: "Diamond" - srp: "SRP_1" - compression: True - snapshot_policies: - - "10min_policy" - - "30min_policy" - snapshot_policy_state: "present-in-group" - state: "present" - -- name: Add snapshot policy to a storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_test_sg" - snapshot_policies: - - "15min_policy" - snapshot_policy_state: "present-in-group" - state: "present" - -- name: Remove snapshot policy from a storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "ansible_test_sg" - snapshot_policies: - - "15min_policy" - snapshot_policy_state: "absent-in-group" - state: "present" - -- name: Set host I/O limits on an existing storage group - dellemc.powermax.storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - sg_name: "Test" - host_io_limit: - dynamic_distribution: "Always" - host_io_limit_iops: 100 - host_io_limit_mbps: 100 - state: "present" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
add_child_sg bool When value exists. Sets to True when a child SG is added.
add_new_vols_to_sg bool When value exists. Sets to True when new volumes are added to the SG.
add_snapshot_policy_to_sg bool When value exists. Sets to True when snapshot policy is added to SG.
add_vols_to_sg bool When value exists. Sets to True when existing volumes are added to the SG.
added_vols_details list When value exists. Volume IDs of the volumes added.
changed bool always Whether or not the resource has changed.
create_sg bool When value exists. Sets to True when a new SG is created.
delete_sg bool When value exists. Sets to True when an SG is deleted.
modify_sg bool When value exists. Sets to True when an SG is modified.
remove_child_sg bool When value exists. Sets to True when a child SG is removed.
remove_snapshot_policy_to_sg bool When value exists. Sets to false when snapshot policy is removed from SG.
remove_vols_from_sg bool When value exists. Sets to True when volumes are removed.
removed_vols_details list When value exists. Volume IDs of the volumes removed.
rename_sg bool When value exists. Sets to True when an SG is renamed.
snapshot_policy_compliance_details complex When a snapshot policy is associated. The compliance status of this storage group.
  compliance str success Compliance status.
  sl_compliance complex success Compliance details.
   compliance str success Compliance status.
   sl_name str success Name of the snapshot policy.
  sl_count int success Number of snapshot policies associated with storage group.
  storage_group_name str success Name of the storage group.
storage_group_details complex When a storage group exists. Details of the storage group.
  base_slo_name str success Base Service Level Objective (SLO) of a storage group.
  cap_gb int success Storage group capacity in GB.
  compression bool success Compression flag.
  device_emulation str success Device emulation type.
  hostIOLimit complex success Host I/O limit of the storage group.
   dynamic_distribution str success The dynamic distribution of host I/O limit for the storage group.
   iops int success The I/Os per second host I/O limit for the storage group.
   mbps int success The MBs per second host I/O limit for the storage group.
  num_of_child_sgs int success Number of child storage groups.
  num_of_masking_views int success Number of masking views associated with the storage group.
  num_of_parent_sgs int success Number of parent storage groups.
  num_of_snapshots int success Number of snapshots for the storage group.
  num_of_vols int success Number of volumes in the storage group.
  service_level str success Type of service level.
  slo str success Service Level Objective type.
  slo_compliance str success Type of SLO compliance.
  srp str success Storage Resource Pool.
  storageGroupId str success ID for the storage group.
  type str success Type of storage group.
  unprotected bool success Flag for storage group protection.
  vp_saved_percent int success Percentage saved for virtual pools.
storage_group_volumes list When value exists. Volume IDs of storage group volumes.
storage_group_volumes_details complex When storage group volumes exist. Details of the storage group volumes.
  effective_wwn str success Effective WWN of the volume.
  type str success Type of the volume.
  volumeId str success Unique ID of the volume.
  volume_identifier str success Name associated with the volume.
  wwn str success WWN of the volume.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Prashant Rakheja (@prashant-dell) -* Ambuj Dubey (@AmbujDube) -* Pavan Mudunuri (@Pavan-Mudunuri) -* Trisha Datta (@Trisha-Datta) - --------------------------------- -# Storage Pool Module - -Manage storage pools on PowerMax/VMAX storage system - -### Synopsis - Managing storage pools on PowerMax storage system includes getting details of storage pools. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
pool str True
The name of the storage pool.
state str True
  • absent
  • present

State variable to determine whether storage pool will exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Get specific storage pool details - dellemc.powermax.storagepool: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - pool: "SRP_1" - state: "present" -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
pool_details complex When storage pool exist. Details of the storage pool.
  serial_no str success The PowerMax array on which storage pool resides
  service_levels list success The service levels supported by storage pool
  srpId str success The ID of the storage pool
  srp_capacity complex success SRP capacity details
   effective_used_capacity_percent int success The effective used capacity, expressed as a percentage
   usable_total_tb float success Usable capacity of the storage pool in TB
   usable_used_tb float success Used capacity of the storage pool in TB
  srp_efficiency complex success SRP efficiency details
   compression_state str success Indicates whether compression is enabled or disabled for this storage resource pool.
  total_free_tb str success Free capacity of the storage pool in TB
- -### Authors -* Akash Shendge (@shenda1) - --------------------------------- -# Volume Module - -Manage volumes on PowerMax Storage System - -### Synopsis - Managing volumes on PowerMax storage system includes creating a volume, renaming a volume, expanding a volume, and deleting a volume. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
vol_name str
The name of the volume.
sg_name str
The name of the storage group.
new_sg_name str
The name of the target storage group.
vol_id str
The native id of the volume.
Required for rename and delete volume operations.
size float
The new size of existing volume.
Required for create and expand volume operations.
cap_unit str
  • MB
  • GB
  • TB
  • CYL

volume capacity units.
If not specified, default value is GB.
new_name str
The new volume identifier for the volume.
vol_wwn str
The WWN of the volume.
append_vol_id bool
Appends volume id to the volume name, Applicable from V4 (Juniper).
state str True
  • absent
  • present

Defines whether the volume should exist or not.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
serial_no str True
The serial number of the PowerMax/VMAX array. It is a required parameter for all array-specific operations except for getting a list of arrays in the Gatherfacts module.
- -### Notes -* To expand a volume, either provide vol_id or vol_name or vol_wwn and sg_name. -* size is required to create/expand a volume. -* vol_id is required to rename/delete a volume. -* vol_name, sg_name and new_sg_name is required to move volumes between storage groups. -* Deletion of volume will fail if the storage group is part of a masking view. -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` -- name: Create volume - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - vol_name: "{{vol_name}}" - sg_name: "{{sg_name}}" - size: 1 - cap_unit: "{{cap_unit}}" - append_vol_id: True - state: 'present' - -- name: Expanding volume size - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - size: 3 - cap_unit: "{{cap_unit}}" - vol_id: "0059B" - state: 'present' - -- name: Renaming volume - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - new_name: "Test_GOLD_vol_Renamed" - vol_id: "0059B" - state: 'present' - -- name: Delete volume using volume ID - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - vol_id: "0059B" - state: 'absent' - -- name: Delete volume using volume WWN - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - vol_wwn: "60000970000197900237533030303246" - state: 'absent' - -- name: Move volume between storage group - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - vol_name: "{{vol_name}}" - sg_name: "{{sg_name}}" - new_sg_name: "{{new_sg_name}}" - state: 'present' - -- name: Create volume with capacity unit as cylinder - dellemc.powermax.volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{serial_no}}" - vol_name: "{{vol_name}}" - sg_name: "{{sg_name}}" - size: 1 - cap_unit: "CYL" - state: 'present' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
changed bool always Whether or not the resource has changed.
volume_details complex When volume exists. Details of the volume.
  allocated_percent int success Allocated percentage the volume.
  cap_cyl int success Number of cylinders.
  cap_gb int success Volume capacity in GB.
  cap_mb int success Volume capacity in MB.
  effective_wwn str success Effective WWN of the volume.
  emulation str success Volume emulation type.
  encapsulated bool success Flag for encapsulation.
  has_effective_wwn str success Flag for effective WWN presence.
  mobility_id_enabled bool success Flag for enabling mobility.
  num_of_front_end_paths int success Number of front end paths in the volume.
  num_of_storage_groups int success Number of storage groups in which volume is present.
  pinned bool success Pinned flag.
  rdfGroupId int success RDFG number for volume.
  reserved bool success Reserved flag.
  snapvx_source bool success Source SnapVX flag.
  snapvx_target bool success Target SnapVX flag.
  ssid str success SSID of the volume.
  status str success Volume status.
  storageGroupId str success Storage group ID of the volume.
  storage_groups list success List of storage groups for the volume.
  type str success Type of the volume.
  volumeId str success Unique ID of the volume.
  volume_identifier str success Name identifier for the volume.
  wwn str success WWN of the volume.
- -### Authors -* Vasudevu Lakhinana (@unknown) -* Akash Shendge (@shenda1) -* Ambuj Dubey (@AmbujDube) -* Pavan Mudunuri (@Pavan-Mudunuri) - --------------------------------- -# Intelligent Volume Placement - -This role provides basic support for Intelligent volume placement for PowerMax. - -### Synopsis - The role is intended for selecting the best suitable array and storage pool intelligently based on certain criteria accepted as user input. It scans through all available PowerMax arrays of the given Unisphere, to find available capacity, current load, service level etc. If the capacity is available in multiple arrays, it will prioritize the storage pool which is least used and returns the pool as 'assigned_pool'. - -### Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeRequiredDefaultChoicesDescription
size float True
The size of the storage group.
cap_unit str True GB
  • GB
  • TB

The capacity unit.
service_level str
The service level supported by storage pool.
sg_name str
The name of the storage group.
unispherehost str True
IP or FQDN of the Unisphere host
universion int
  • 91
  • 92
  • 100

Unisphere version, currently '91', '92' and '100' versions are supported.
verifycert str True
Specifies system whether to validate SSL certificate or not, Values can be True or False or a custom file path for SSL certificate with .pem extension or .cer with base 64 encoding.
user str True
The username of the Unisphere host.
password str True
The password of the Unisphere host.
- -### Notes -* The modules present in this collection named as 'dellemc.powermax' are built to support the Dell PowerMax storage platform. - -### Examples -``` - - name: Include the PowerMax role to get the Serial Number and Assigned Pool - include_role: - name: capacity_role - - - name: Create storage group on the assigned serial number and SRP - register: storage_group_details - dellemc_powermax_storagegroup: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{assigned_pool.serial_no}}" - sg_name: "test_sg" - service_level: "Diamond" - srp: "{{assigned_pool.storage_pool}}" - compression: True - state: "present" - - - name: Create volume on the storage group - dellemc_powermax_volume: - unispherehost: "{{unispherehost}}" - universion: "{{universion}}" - verifycert: "{{verifycert}}" - user: "{{user}}" - password: "{{password}}" - serial_no: "{{assigned_pool.serial_no}}" - vol_name: "test_vol" - sg_name: "test_sg" - size: 10 - cap_unit: "GB" - state: 'present' -``` - -### Return Values - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KeyTypeReturnedDescription
assigned_pool complex When exists else returns "NOT_FOUND". The role returns storage system (serial number) and pool (SRP name) with the lowest capacity utilization if the capacity provided by user is satisfied.
  changed bool success Whether or not the resource has changed.
  serial_no str success The serial number of the PowerMax/VMAX array.
  storage_group str success Storage group of the volume.
  storage_pool str success The ID of the storage pool.
- -### Authors -* Akash Shendge (@shenda1) - --------------------------------- diff --git a/docs/Release Notes.md b/docs/Release Notes.md index 755e26a..36afe4d 100644 --- a/docs/Release Notes.md +++ b/docs/Release Notes.md @@ -1,7 +1,7 @@ **Ansible modules for Dell Technologies PowerMax** ========================================= -### Release Notes 2.2.0 +### Release Notes 2.2.1 > © 2022 Dell Inc. or its subsidiaries. All rights reserved. Dell > and other trademarks are trademarks of Dell Inc. or its @@ -26,7 +26,7 @@ Revision History | **Date** | **Document revision** | **Description of changes** | |------------ |-----------------------|-------------------------------------------------| -| October 2023 | 01 | Ansible modules for Dell PowerMax release 2.2.0 | +| October 2023 | 01 | Ansible modules for Dell PowerMax release 2.2.1 | Product Description ------------------- @@ -75,7 +75,7 @@ There are no known limitations. Distribution ------------ The software package is available for download from the [Ansible modules -for PowerMax GitHub](https://github.com/dell/ansible-powermax/tree/2.2.0) page. +for PowerMax GitHub](https://github.com/dell/ansible-powermax/tree/2.2.1) page. Documentation ------------- @@ -84,4 +84,3 @@ page. It includes the following: - README - Release Notes (this document) - - Product Guide diff --git a/galaxy.yml b/galaxy.yml index d9d8d6f..07a4982 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -55,13 +55,13 @@ tags: [storage] dependencies: {} # The URL of the originating SCM repository -repository: https://github.com/dell/ansible-powermax/tree/2.2.0 +repository: https://github.com/dell/ansible-powermax/tree/2.2.1 # The URL to any online docs -documentation: https://github.com/dell/ansible-powermax/tree/2.2.0/docs +documentation: https://github.com/dell/ansible-powermax/tree/2.2.1/docs # The URL to the homepage of the collection/project -homepage: https://github.com/dell/ansible-powermax/tree/2.2.0 +homepage: https://github.com/dell/ansible-powermax/tree/2.2.1 # The URL to the collection issue tracker issues: https://www.dell.com/community/Automation/bd-p/Automation diff --git a/plugins/modules/host.py b/plugins/modules/host.py index d74f17b..a2eb6a9 100644 --- a/plugins/modules/host.py +++ b/plugins/modules/host.py @@ -299,7 +299,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' BASE_FLAGS = {'volume_set_addressing': {'enabled': False, 'override': False}, 'disable_q_reset_on_ua': {'enabled': False, 'override': False}, diff --git a/plugins/modules/hostgroup.py b/plugins/modules/hostgroup.py index 9e18946..bc6c2b4 100644 --- a/plugins/modules/hostgroup.py +++ b/plugins/modules/hostgroup.py @@ -300,7 +300,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' BASE_FLAGS = {'volume_set_addressing': {'enabled': False, 'override': False}, 'disable_q_reset_on_ua': {'enabled': False, 'override': False}, diff --git a/plugins/modules/info.py b/plugins/modules/info.py index 5c2ef7f..0c4819c 100644 --- a/plugins/modules/info.py +++ b/plugins/modules/info.py @@ -651,7 +651,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Info(object): diff --git a/plugins/modules/initiator.py b/plugins/modules/initiator.py index 67fa5d3..a1a8921 100644 --- a/plugins/modules/initiator.py +++ b/plugins/modules/initiator.py @@ -149,7 +149,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Initiator(object): diff --git a/plugins/modules/job.py b/plugins/modules/job.py index 59bb588..77ec83a 100644 --- a/plugins/modules/job.py +++ b/plugins/modules/job.py @@ -92,7 +92,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Job(object): diff --git a/plugins/modules/maskingview.py b/plugins/modules/maskingview.py index 68aedd5..6174e6e 100644 --- a/plugins/modules/maskingview.py +++ b/plugins/modules/maskingview.py @@ -168,7 +168,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class MaskingView(object): diff --git a/plugins/modules/metrodr.py b/plugins/modules/metrodr.py index f9f72f3..8cf8426 100644 --- a/plugins/modules/metrodr.py +++ b/plugins/modules/metrodr.py @@ -342,7 +342,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' # DO NOT CHANGE BELOW REPLICATION_MODES SEQUENCE AS ITS USED IN SCRIPT # USING INDEX diff --git a/plugins/modules/port.py b/plugins/modules/port.py index 5958570..8a92b33 100644 --- a/plugins/modules/port.py +++ b/plugins/modules/port.py @@ -204,7 +204,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Port(object): diff --git a/plugins/modules/portgroup.py b/plugins/modules/portgroup.py index a67f145..f81c8c7 100644 --- a/plugins/modules/portgroup.py +++ b/plugins/modules/portgroup.py @@ -216,7 +216,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class PortGroup(object): diff --git a/plugins/modules/process_storage_pool_dict.py b/plugins/modules/process_storage_pool_dict.py index 9e1d0ad..fde42d3 100644 --- a/plugins/modules/process_storage_pool_dict.py +++ b/plugins/modules/process_storage_pool_dict.py @@ -112,7 +112,7 @@ LOG = utils.get_logger('process_storage_pool_dict') # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class ProcessPoolDict(object): diff --git a/plugins/modules/rdfgroup.py b/plugins/modules/rdfgroup.py index fde316f..fa98028 100644 --- a/plugins/modules/rdfgroup.py +++ b/plugins/modules/rdfgroup.py @@ -393,7 +393,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class RDFGroup(object): diff --git a/plugins/modules/snapshot.py b/plugins/modules/snapshot.py index 5b6d047..5183499 100644 --- a/plugins/modules/snapshot.py +++ b/plugins/modules/snapshot.py @@ -346,7 +346,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Snapshot(object): diff --git a/plugins/modules/snapshotpolicy.py b/plugins/modules/snapshotpolicy.py index 7f2630a..b9e7346 100644 --- a/plugins/modules/snapshotpolicy.py +++ b/plugins/modules/snapshotpolicy.py @@ -324,7 +324,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' INTERVAL = ['10 Minutes', '12 Minutes', '15 Minutes', '20 Minutes', '30 Minutes', '1 Hour', '2 Hours', '3 Hours', '4 Hours', diff --git a/plugins/modules/srdf.py b/plugins/modules/srdf.py index 5a4a024..76426fc 100644 --- a/plugins/modules/srdf.py +++ b/plugins/modules/srdf.py @@ -382,7 +382,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class SRDF(object): diff --git a/plugins/modules/storagegroup.py b/plugins/modules/storagegroup.py index a2301a0..4456d63 100644 --- a/plugins/modules/storagegroup.py +++ b/plugins/modules/storagegroup.py @@ -588,7 +588,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class StorageGroup(object): diff --git a/plugins/modules/storagepool.py b/plugins/modules/storagepool.py index 3a519b1..7579bee 100644 --- a/plugins/modules/storagepool.py +++ b/plugins/modules/storagepool.py @@ -109,7 +109,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Pool(object): diff --git a/plugins/modules/volume.py b/plugins/modules/volume.py index 6db9242..5395954 100644 --- a/plugins/modules/volume.py +++ b/plugins/modules/volume.py @@ -266,7 +266,7 @@ PYU4V_VERSION_CHECK = utils.pyu4v_version_check() # Application Type -APPLICATION_TYPE = 'ansible_v2.2.0' +APPLICATION_TYPE = 'ansible_v2.2.1' class Volume(object):