1[![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://docs.ansible.com/ansible/devel/collections/netapp/ontap/index.html)
2![example workflow](https://github.com/ansible-collections/netapp.ontap/actions/workflows/main.yml/badge.svg)
3[![codecov](https://codecov.io/gh/ansible-collections/netapp.ontap/branch/main/graph/badge.svg?token=weBYkksxSi)](https://codecov.io/gh/ansible-collections/netapp.ontap)
4
5=============================================================
6
7 netapp.ontap
8
9 NetApp ONTAP Collection
10
11 Copyright (c) 2021 NetApp, Inc. All rights reserved.
12 Specifications subject to change without notice.
13
14=============================================================
15# Installation
16```bash
17ansible-galaxy collection install netapp.ontap
18```
19To use this collection, add the following to the top of your playbook, without this you will be using Ansible 2.9 version of the module
20```
21collections:
22  - netapp.ontap
23```
24# Requirements
25- ansible version >= 2.9
26- requests >= 2.20
27- netapp-lib version >= 2018.11.13
28
29# Module documentation
30https://docs.ansible.com/ansible/devel/collections/netapp/ontap/
31
32# Need help
33Join our Slack Channel at [Netapp.io](http://netapp.io/slack)
34
35# Release Notes
36
37## 21.12.0
38
39### Minor Changes
40  - na_ontap_firewall_policy - added `none` as a choice for `service` which is supported from 9.8 ONTAP onwards.
41
42### New Options
43  - na_ontap_svm - new option `max_volumes`.
44
45### Bug Fixes
46  - na_ontap_job_schedule - fix idempotency issue with ZAPI when job_minutes is set to -1.
47  - na_ontap_job_schedule - cannot modify options not present in create when using REST.
48  - na_ontap_job_schedule - modify error if month is present but not changed with 0 offset when using REST.
49  - na_ontap_job_schedule - modify error if month is changed from some values to all (-1) when using REST.
50  - na_ontap_svm - support `allowed protocols` with REST for ONTAP 9.6 and later.
51  - na_ontap_vserver_delete role - fix typos for cifs.
52
53### Added REST support to existing modules
54  - na_ontap_cluster - Added REST support to the cluster module.
55
56## 21.11.0
57
58### New Options
59  - na_ontap_interface - new option `from_name` to rename an interface.
60  - na_ontap_software_update - new option `validate_after_download` to run ONTAP software update validation checks.
61  - na_ontap_svm - new option `services` to allow and/or enable protocol services when using REST.
62  - na_ontap_svm - new option `ignore_rest_unsupported_options` to ignore older ZAPI options not available in REST.
63
64### Minor Changes
65  - na_ontap_software_update - remove `absent` as a choice for `state` as it has no use.
66  - na_ontap_svm - ignore `aggr_list: '*'` when using REST.
67
68### Bug Fixes
69  - na_ontap_job_schedule - fix idempotency issue with REST when job_minutes is set to -1.
70  - na_ontap_ldap_client - remove limitation on schema so that custom schemas can be used.
71
72### Added REST support to existing modules
73  - na_ontap_ntp - Added REST support to the ntp module.
74
75## 21.10.0
76
77### Minor Changes
78  - na_ontap_cifs_server - ``force`` option is supported when state is absent to ignore communication errors.
79
80### Bug Fixes
81  - na_ontap_vserver_delete role - delete iSCSI igroups and CIFS server before deleting vserver.
82  - all modules - traceback on ONTAP 9.3 (and earlier) when trying to detect REST support.
83
84
85## 21.9.0
86
87### Minor Changes
88  - na_ontap_rest_info - The Default for `gather_subset` has been changed to demo which returns `cluster/software`, `svm/svms`, `cluster/nodes`. To return all Info must specifically list `all` in your playbook. Do note `all` is a very resource-intensive action and it is highly recommended to call just the info/APIs you need.
89  - na_ontap_rest_info -  added file_directory_security to return the effective permissions of the directory. When using file_directory_security it must be called with gather_subsets and path and vserver must be specified in parameters.
90
91### New Options
92  - na_ontap_job_schedule - new option `month_offset` to explictly select 0 or 1 for January.
93  - na_ontap_object_store - new options `port`, `certificate_validation_enabled`, `ssl_enabled` for target server.
94  - na_ontap_rest_info - new option `use_python_keys` to replace `svm/svms` with `svm_svms` to simplify post processing.
95
96### Added REST support to existing modules
97  - na_ontap_snmp - Added REST support to the SNMP module
98  - na_ontap_rest_info - All Info that exist in `na_ontap_info` that has REST equivalents have been implemented. Note that the returned structure for REST and the variable names in the structure is different from the ZAPI based `na_ontap_info`. Some default variables in ZAPI are no longer returned by default in REST and will need to be specified using the `field` option
99  - na_ontap_rest_info - The following info's have been added `system_node_info`, `net_interface_info`, `net_port_info`, `security_login_account_info`, `vserver_peer_info`, `cluster_image_info`, `cluster_log_forwarding_info`, `metrocluster_info`, `metrocluster_node_info`, `net_dns_info`, `net_interface_service_policy_info`, `vserver_nfs_info`, `clock_info`, `igroup_info`, `vscan_status_info`, `vscan_connection_status_all_info`, `storage_bridge_info`, `nvme_info`, `nvme_interface_info`, `nvme_subsystem_info`, `cluster_switch_info`, `export_policy_info`, `kerberos_realm_info`,`sis_info`, `sis_policy_info`, `snapmirror_info`, `snapmirror_destination_info`, `snapmirror_policy_info`, `sys_cluster_alerts`, `cifs_vserver_security_info`
100
101### Bug Fixes
102  - na_ontap_job_schedule - fix documentation for REST ranges for months.
103  - na_ontap_quotas - attempt a retry on `13001:success` ZAPI error.  Add debug data.
104  - na_ontap_object_store - when using REST, wait for job status to correctly report errors.
105  - na_ontap_rest_cli - removed incorrect statement indicating that console access is required.
106
107## 21.8.1
108
109### Bug Fixes
110  - all REST modules: 9.4 and 9.5 were incorrectly detected as supporting REST.
111  - na_ontap_snapmirror: improve error message when option is not supported with ZAPI.
112
113## 21.8.0
114
115### New Modules
116  - na_ontap_cifs_local_user_set_password - set local user password - ZAPI only.
117  - na_ontap_fdsd - add or remove File Directory Security Descriptor - REST only.
118  - na_ontap_fdsp - create or delete a File Directory Security Policy - REST only.
119  - na_ontap_fdspt - add, remove or modify a File Directory Security Policy Task - REST only.
120  - na_ontap_fdss - apply security policy settings to files and directories in a vserver.
121  - na_ontap_partitions - assign/unassign disk partitions - REST only.
122
123### New role
124  - na_ontap_vserver_delete - delete vserver and all associated data and resources - REST only.
125
126### New Options
127  - na_ontap_cluster_peer - new option `peer_options` to use different credentials on peer.
128  - na_ontap_net_port - new option `up_admin` to set administrative state.
129  - na_ontap_snapshot - new option `expiry_time`.
130  - na_ontap_vserver_peer - new option `peer_options` to use different credentials on peer.
131
132### Added REST support to existing modules
133  - na_ontap_snapshot - added REST support for snapshot creation, modification & deletion.
134
135### Bug Fixes
136  - na_ontap_cluster_peer - KeyError on dest_cluster_name if destination is unreachable.
137  - na_ontap_cluster_peer - KeyError on username when using certicate.
138  - na_ontap_export_policy_rule - change `anonymous_user_id` type to str to accept user name and user id.  (A warning is now triggered when a number is not quoted.)
139  - na_ontap_vserver_peer - KeyError on username when using certicate.
140  - na_ontap_volume_clone - `parent_vserver` can not be given with `junction_path`, `uid`, or `gid`
141  - all modules - fix traceback TypeError 'NoneType' object is not subscriptable when hostname points to a web server.
142
143### Minor Changes
144  - na_ontap_debug - additional checks when REST is available to help debug vserver connectivity issues.
145  - na_ontap_net_port - change option types to bool and int respectively for `autonegotiate_admin` and `mtu`.
146  - na_ontap_rest_info - add examples for ``parameters`` option.
147  - na_ontap_volume - show warning when resize is ignored because threshold is not reached.
148    [WARNING]: resize request ignored: 2.5% is below the threshold: 10%
149  - na_ontap_vserver_create role - add `nfsv3`, `nfsv4`, `nfsv41` options.
150  - na_ontap_flexcache - corrected module name in documentation Examples
151
152## 21.7.0
153
154### New Modules
155  - na_ontap_publickey - add/remove/modify public keys for SSH authentication - REST only.
156  - na_ontap_service_policy - add/remove/modify service policies for IP interfaces - REST only.
157
158### New Options
159  - na_ontap_cifs - new option `comment` to associate a description to a CIFS share.
160  - na_ontap_disks - new option `min_spares`.
161  - na_ontap_lun - new suboption `exclude_aggregates` for SAN application.
162  - na_ontap_volume - new suboption `exclude_aggregates` for NAS application.
163
164### Minor Changes
165  - na_ontap_disks - added REST support for the module.
166  - na_ontap_disks - added functionality to reassign spare disks from a partner node to the desired node.
167  - na_ontap_igroups - nested igroups are not supported on ONTAP 9.9.0 but are on 9.9.1.
168  - License displayed correctly in Github
169
170### Bug Fixes
171  - na_ontap_iscsi_security - cannot change authentication_type
172  - na_ontap_iscsi_security - IndexError list index out of range if vserver does not exist
173
174## 21.6.1
175
176### Bug Fixes
177  - na_ontap_autosupport - KeyError: No element by given name validate-digital-certificate.
178  - na_ontap_flexcache - one occurrence of msg missing in call to fail_json.
179  - na_ontap_igroup - one occurrence of msg missing in call to fail_json.
180  - na_ontap_lun - three occurrencse of msg missing in call to fail_json.
181  - na_ontap_lun_map_reporting_nodes - one occurrence of msg missing in call to fail_json.
182  - na_ontap_snapmirror - one occurrence of msg missing in call to fail_json.
183
184## 21.6.0
185
186### New Options
187  - na_ontap_users - new option `application_dicts` to associate multiple authentication methods to an application.
188  - na_ontap_users - new option `application_strs` to disambiguate `applications`.
189  - na_ontap_users - new option `replace_existing_apps_and_methods`.
190  - na_ontap_users - new suboption `second_authentication_method` with `application_dicts` option.
191  - na_ontap_vserver_peer - new options `local_name_for_source` and `local_name_for_peer` added.
192
193### Minor changes
194  - na_ontap_rest_info - Added "autosupport_check_info"/"support/autosupport/check" to the attributes that will be collected when gathering info using the module.
195
196### Bug Fixes
197  - na_ontap_autosupport - TypeError - '>' not supported between instances of 'str' and 'list'.
198  - na_ontap_quotas - fail to reinitialize on create if quota is already on.
199
200## 21.5.0
201
202### New Options
203  - na_ontap_autosupport - new option 'nht_data_enabled' to specify whether the disk health data is collected as part of the AutoSupport data.
204  - na_ontap_autosupport - new option 'perf_data_enabled' to specify whether the performance data is collected as part of the AutoSupport data.
205  - na_ontap_autosupport - new option 'retry_count' to specify the maximum number of delivery attempts for an AutoSupport message.
206  - na_ontap_autosupport - new option 'reminder_enabled' to specify whether AutoSupport reminders are enabled or disabled.
207  - na_ontap_autosupport - new option 'max_http_size' to specify delivery size limit for the HTTP transport protocol (in bytes).
208  - na_ontap_autosupport - new option 'max_smtp_size' to specify delivery size limit for the SMTP transport protocol (in bytes).
209  - na_ontap_autosupport - new option 'private_data_removed' to specify the removal of customer-supplied data.
210  - na_ontap_autosupport - new option 'local_collection_enabled' to specify whether collection of AutoSupport data when the AutoSupport daemon is disabled.
211  - na_ontap_autosupport - new option 'ondemand_enabled' to specify whether the AutoSupport OnDemand Download feature is enabled.
212  - na_ontap_autosupport - new option 'validate_digital_certificate' which when set to true each node will validate the digital certificates that it receives.
213
214### Added REST support to existing modules
215  - na_ontap_autosupport - added REST support for ONTAP autosupport modification.
216
217### Bug Fixes
218  - na_ontap_qtree - wait for completion when creating or modifying a qtree with REST.
219  - na_ontap_volume - ignore read error because of insufficient privileges for efficiency options so that the module can be run as vsadmin.
220
221### Minor changes
222  - na_ontap_info - Added "autosupport_check_info" to the attributes that will be collected when gathering info using the module.
223
224## 21.4.0
225
226### New Modules
227  - na_ontap_cifs_local_user_modify: Modify a local CIFS user.
228  - na_ontap_disk_options: Modify storage disk options.
229  - na_ontap_fpolicy_event: Create, delete or modify an FPolicy policy event.
230  - na_ontap_fpolicy_ext_engine: Create, modify or delete an fPolicy External Engine.
231  - na_ontap_fpolicy_scope: Create, delete or modify an FPolicy policy scope.
232  - na_ontap_fpolicy_status: Enable or disable an existing fPolicy policy.
233  - na_ontap_snaplock_clock: Initialize snaplock compliance clock.
234
235### New Options
236  - na_ontap_igroups - new option `initiator_objects` to support initiator comments (requires ONTAP 9.9).
237  - na_ontap_igroups - new option `initiator_names` as a replacement for `initiators` (still supported as an alias).
238
239### Minor changes
240  - na_ontap_lun - allow new LUNs to use different igroup or os_type when using SAN application.
241  - na_ontap_lun - ignore small increase (lower than provisioned) and small decrease (< 10%) in `total_size`.
242  - na_ontap_volume_efficiency - updated to now allow for storage efficiency start and storage efficiency stop.
243
244### Bug fixes
245  - na_ontap_autosupport - warn when password is present in `proxy_url` as it makes the operation not idempotent.
246  - na_ontap_cluster - ignore ZAPI EMS log error when in pre-cluster mode.
247  - na_ontap_lun - SAN application is not supported on 9.6 and only partially supported on 9.7 (no modify).
248  - na_ontap_svm - iscsi current status is not read correctly (mispelled issi).
249  - na_ontap_volume - warn when attempting to modify application only options.
250
251## 21.3.1
252
253### Bug fixes
254  - na_ontap_snapmirror: check for consistency_group_volumes always fails on 9.7, and cluster or ipspace when using endpoints with ZAPI.
255
256## 21.3.0
257
258### New Modules
259  - na_ontap_domain_tunnel: Create, delete or modify the domain tunnel.
260  - na_ontap_storage_failover: Enables and disables storage failover.
261  - na_ontap_security_config: Modify the security configuration for SSL.
262  - na_ontap_storage_auto_giveback: Enables and disables storage auto giveback.
263  - na_ontap_fpolicy_policy: Create, delete or modify an fpolicy policy
264
265### New Options
266  - na_ontap_flexcache - support for `prepopulate` option when using REST (requires ONTAP 9.8).
267  - na_ontap_igroups - new option `igroups` to support nested igroups (requires ONTAP 9.9).
268  - na_ontap_ldap_client - `tcp_port` replaces `port`.
269  - na_ontap_volume - new suboption `dr_cache` when creating flexcache using NAS application template (requires ONTAP 9.9).
270
271### Minor changes
272  - na_ontap_debug - improve error reporting for import errors on netapp_lib.
273  - na_ontap_flexcache - mount/unmount the FlexCache volume when using REST.
274  - na_ontap_info - improve error reporting for import errors on netapp_lib, json, xlmtodict.
275
276### Added REST support to existing modules
277  - na_ontap_flexcache - added REST support for ONTAP FlexCache creation and deletion.
278  - na_ontap_node - added REST support for Node modify and rename.
279  - na_ontap_snapmirror - SVM scoped policies were not found when using a destination path with REST application.
280
281### Bug fixes
282  - na_ontap_ldap_client - `port` was incorrectly used instead of `tcp_port`.
283  - na_ontap_motd - added warning for deprecated and to use na_ontap_login_messages module.
284  - na_ontap_node - KeyError fix for location and asset-tag.
285  - na_ontap_volume - changes in `encrypt` settings were ignored.
286  - na_ontap_volume - unmount volume before deleting it when using REST.
287  - na_ontap_volume_efficiency - `policy` updated to allow for supported '-' as a valid entry.
288  - na_ontap_volume_efficiency - to allow for FAS ONTAP systems to enable volume efficiency.
289  - na_ontap_volume_efficiency - to allow for FAS ONTAP systems to enable volume efficiency and apply parameters in one execution.
290
291## 21.2.0
292
293### New Modules
294  - na_ontap_cifs_local_group_member: Add or remove CIFS local group member
295  - na_ontap_volume_efficiency: Enables, disables or modifies volume efficiency
296  - na_ontap_log_forward: Create, delete or modify the log forward configuration
297  - na_ontap_lun_map_reporting_nodes: Add and remove lun map reporting nodes
298
299### New Options
300  - na_ontap_lun - new option `comment`.
301  - na_ontap_lun - new option `qos_adaptive_policy_group`.
302  - na_ontap_lun - new option `scope` to explicitly force operations on the SAN application or a single LUN.
303  - na_ontap_node - added modify function for location and asset tag for node.
304  - na_ontap_snapmirror - new options `source_endpoint` and `destination_endpoint` to group endpoint suboptions.
305  - na_ontap_snapmirror - new suboptions `consistency_group_volumes` and `ipspace` to endpoint options.
306
307### Minor changes
308  - na_ontap_lun - convert existing LUNs and supporting volume to a smart container within a SAN application.
309  - na_ontap_snapmirror - improve error reporting or warn when REST option is not supported.
310  - na_ontap_snapmirror - deprecate older options for source and destination paths, volumes, vservers, and clusters.
311  - na_ontap_snapmirror - report warning when relationship is present but not healthy.
312
313### Bug fixes
314  - na_ontap_igroup - report error when attempting to modify an option that cannot be changed.
315  - na_ontap_lun - `qos_policy_group` could not be modified if a value was not provided at creation.
316  - na_ontap_lun - `tiering` options were ignored in san_application_template.
317  - na_ontap_volume - returns an error now if deleting a volume with REST api fails.
318  - na_ontap_volume - report error from resize operation when using REST.
319
320### Added REST support to existing modules
321  - na_ontap_igroup - added REST support for ONTAP igroup creation, modification, and deletion.
322
323## 21.1.1
324
325### Bug fixes
326  - All REST modules: ONTAP 9.4 and 9.5 are incorrectly detected as supporting REST with `use_rest: auto`.
327
328## 21.1.0
329
330### New Modules
331  - na_ontap_debug: Diagnose netapp-lib import errors and provide useful information.
332
333### New Options
334  - na_ontap_cluster - `time_out` to wait for cluster creation, adding and removing a node.
335  - na_ontap_debug - connection diagnostics added for invalid ipaddress and DNS hostname errors.
336  - na_ontap_lun - `total_size` and `total_size_unit` when using SAN application template.
337  - na_ontap_snapmirror - `create_destination` to automatically create destination endpoint (ONTAP 9.7).
338  - na_ontap_snapmirror - `destination_cluster` to automatically create destination SVM for SVM DR (ONTAP 9.7).
339  - na_ontap_snapmirror - `source_cluster` to automatically set SVM peering (ONTAP 9.7).
340
341### Minor changes
342  - na_ontap_firmware_upgrade - Added a new 'storage' type as default firmware_type.
343  - na_ontap_info - deprecate ``state`` option.
344  - na_ontap_lun - support increasing lun_count and total_size when using SAN application template.
345  - na_ontap_quota - allow to turn quota on/off without providing quota_target or type.
346  - na_ontap_rest_info - deprecate ``state`` option.
347  - na_ontap_snapmirror - use REST API for create action if target supports it.  (ZAPIs are still used for all other actions).
348  - na_ontap_volume - use REST API for delete operation if targets supports it.
349  - general - improve error reporting when older version of netapp-lib is used.
350
351### Bug fixes
352  - na_ontap_lun - REST expects 'all' for tiering policy and not 'backup'.
353  - na_ontap_quotas - Handle blank string idempotency issue for ``quota_target`` in quotas module.
354  - na_ontap_rest_info - ``changed`` was set to "False" rather than boolean False.
355  - na_ontap_snapmirror - report error when attempting to change relationship_type.
356  - na_ontap_snapmirror - fix job update failures for load_sharing mirrors.
357  - na_ontap_snapmirror - wait up to 5 minutes for abort to complete before issuing a delete.
358  - na_ontap_snmp - SNMP module wrong access_control issue and error handling fix.
359  - na_ontap_volume - REST expects 'all' for tiering policy and not 'backup'.
360  - na_ontap_volume - detect and report error when attempting to change FlexVol into FlexGroup.
361  - na_ontap_volume - report error if ``aggregate_name`` option is used with a FlexGroup.
362
363## 20.12.0
364
365### New Options
366  - na_ontap_igroup - new option `os_type` to replace `ostype` (but ostype is still accepted).
367  - na_ontap_info - new fact: cifs_options_info.
368  - na_ontap_info - new fact: cluster_log_forwarding_info.
369  - na_ontap_info - new fact: event_notification_destination_info.
370  - na_ontap_info - new fact: event_notification_info.
371  - na_ontap_info - new fact: security_login_role_config_info.
372  - na_ontap_info - new fact: security_login_role_info.
373  - na_ontap_lun - new option `from_name` to rename a LUN.
374  - na_ontap_lun - new option `os_type` to replace `ostype` (but ostype is still accepted), and removed default to `image`.
375  - na_ontap_lun - new option `qos_policy_group` to assign a qos_policy_group to a LUN.
376  - na_ontap_lun - new option `san_application_template` to create LUNs without explicitly creating a volume and using REST APIs.
377  - na_ontap_qos_policy_group - new option `is_shared` for sharing QOS SLOs or not.
378  - na_ontap_quota_policy - new option `auto_assign` to assign quota policy to vserver.
379  - na_ontap_quotas - new option `activate_quota_on_change` to resize or reinitialize quotas.
380  - na_ontap_quotas - new option `perform_user_mapping` to perform user mapping for the user specified in quota-target.
381  - na_ontap_rest_info - Support for gather subsets: `cifs_home_directory_info, cluster_software_download, event_notification_info, event_notification_destination_info, security_login_info, security_login_rest_role_info`
382  - na_ontap_svm - warning for `aggr_list` wildcard value(`*`) in create\modify idempotency.
383  - na_ontap_volume - `compression` to enable compression on a FAS volume.
384  - na_ontap_volume - `inline-compression` to enable inline compression on a volume.
385  - na_ontap_volume - `nas_application_template` to create a volume using nas application REST API.
386  - na_ontap_volume - `size_change_threshold` to ignore small changes in volume size.
387  - na_ontap_volume - `sizing_method` to resize a FlexGroup using REST.
388
389### Bug fixes
390  - na_ontap_broadcast_domain_ports - properly report check_mode `changed`.
391  - na_ontap_cifs - fix for AttributeError - 'NoneType' object has no attribute 'get' on line 300
392  - na_ontap_user - application parameter expects only ``service_processor`` but module supports ``service-processor``.
393  - na_ontap_volume - change in volume type was ignored and now reporting an error.
394  - na_ontap_volume - checking for success before failure lead to 'NoneType' object has no attribute 'get_child_by_name' when modifying a Flexcache volume.
395
396## 20.11.0
397
398### New Modules
399  - na_ontap_metrocluster_dr_group: Configure a Metrocluster DR group (Supports ONTAP 9.8+)
400
401### Minor changes
402  - na_ontap_cifs - output `modified` if a modify action is taken.
403  - na_ontap_cluster_peer: optional parameter 'ipspace' added for cluster peer.
404  - na_ontap_info - do not require write access privileges.   This also enables other modules to work in check_mode without write access permissions.
405  - na_ontap_lun - support modify for space_allocation and space_reserve.
406  - na_ontap_mcc_mediator - improve error reporting when REST is not available.
407  - na_ontap_metrocluster - improve error reporting when REST is not available.
408  - na_ontap_wwpn_alias - improve error reporting when REST is not available.
409  - na_ontap_software_update - add `force_update` option to ignore current version.
410  - na_ontap_svm - output `modified` if a modify action is taken.
411  - all ZAPI modules - optimize Basic Authentication by adding Authorization header proactively.
412  - This can be disabled by setting the `classic_basic_authorization` feature_flag to True.
413
414### Bug fixes
415  - All REST modules, will not fail if a job fails
416  - na_ontap_cifs - fix idempotency issue when `show-previous-versions` is used.
417  - na_ontap_firmware_upgrade - fix ValueError issue when processing URL error.
418  - na_ontap_info - Use `node-id` as key rather than `current-version`.
419  - na_ontap_ipspace - invalid call in error reporting (double error).
420  - na_ontap_lun - `use_exact_size` to create a lun with the exact given size so that the lun is not rounded up.
421  - na_ontap_metrocluster: Fix issue where module would fail on waiting for rest api job
422  - na_ontap_software_update - module is not idempotent.
423
424## 20.10.0
425
426### New Options
427- na_ontap_rest_info: Support for gather subsets - `application_info, application_template_info, autosupport_config_info , autosupport_messages_history, ontap_system_version, storage_flexcaches_info, storage_flexcaches_origin_info, storage_ports_info, storage_qos_policies, storage_qtrees_config, storage_quota_reports, storage_quota_policy_rules, storage_shelves_config, storage_snapshot_policies, support_ems_config, support_ems_events, support_ems_filters`
428
429### Bug fixes
430- na_ontap_aggregate: support concurrent actions for rename/modify/add_object_store and create/add_object_store.
431- na_ontap_cluster: `single_node_cluster` option was ignored.
432- na_ontap_info: better reporting on KeyError traceback, option to ignore error.
433- na_ontap_info: KeyError on `tree` for quota_report_info.
434- na_ontap_snapmirror_policy: report error when attempting to change `policy_type` rather than taking no action.
435- na_ontap_volume: `encrypt: false` is ignored when creating a volume.
436
437## 20.9.0
438
439### New Modules
440- na_ontap_active_directory: configure active directory.
441- na_ontap_mcc_mediator: Configure a MCC Mediator (Supports ONTAP 9.8+).
442- na_ontap_metrocluster: Configure a metrocluster (Supports ONTAP 9.8+).
443
444### New Options
445- na_ontap_cluster: `node_name` to set the node name when adding a node, or as an alternative to `cluster_ip_address` to remove a node.
446- na_ontap_cluster: `state` can be set to `absent` to remove a node identified with `cluster_ip_address` or `node_name`.
447- na_ontap_qtree: `wait_for_completion` and `time_out` to wait for qtree deletion when using REST.
448- na_ontap_quotas: `soft_disk_limit` and `soft_file_limit` for the quota target.
449- na_ontap_rest_info: Support for gather subsets - `initiator_groups_info, san_fcp_services, san_iscsi_credentials, san_iscsi_services, san_lun_maps, storage_luns_info, storage_NVMe_namespaces.`
450
451### Bug fixes
452- na_ontap_cluster: `check_mode` is now working properly.
453- na_ontap_interface: `home_node` is not required in pre-cluster mode.
454- na_ontap_interface: `role` is not required if `service_policy` is present and ONTAP version is 9.8.
455- na_ontap_interface: traceback in get_interface if node is not reachable.
456- na_ontap_job_schedule: allow 'job_minutes' to set number to -1 for job creation with REST too.
457- na_ontap_qtree: fixed `None is not subscriptable` exception on rename operation.
458- na_ontap_volume: fixed `KeyError` exception on `size` when reporting creation error.
459- na_ontap_*: change version_added: '2.6' to version_added: 2.6.0 where applicable to satisfy sanity checker.
460- netapp.py: uncaught exception (traceback) on zapi.NaApiError.
461
462## 20.8.0
463
464### New Modules
465- na_ontap_file_directory_policy: create, modify, delete vserver security file directory policy/task.
466- na_ontap_ssh_command: send CLI command over SSH using paramiko for corner cases where ZAPI or REST are not yet ready.
467- na_ontap_wait_for_condition: wait for event to be present or absent (currently sp_upgrade/in_progress and sp_version).
468
469### New Options
470- na_ontap_aggregate: support `disk_size_with_unit` option.
471- na_ontap_ldap_client: support `ad_domain` and `preferred_ad_server` options.
472- na_ontap_rest_info: Support for gather subsets - `cloud_targets_info, cluster_chassis_info, cluster_jobs_info, cluster_metrics_info, cluster_schedules, broadcast_domains_info, cluster_software_history, cluster_software_packages, network_ports_info, ip_interfaces_info, ip_routes_info, ip_service_policies, network_ipspaces_info, san_fc_logins_info, san_fc_wppn-aliases, svm_dns_config_info, svm_ldap_config_info, svm_name_mapping_config_info, svm_nis_config_info, svm_peers_info, svm_peer-permissions_info`.
473- na_ontap_rest_info: Support for gather subsets for 9.8+ - `cluster_metrocluster_diagnostics.
474- na_ontap_qtree: `force_delete` option with a DEFAULT of `true` so that ZAPI behavior is aligned with REST.
475- na_ontap_security_certificates:`ignore_name_if_not_supported` option to not fail if `name` is present since `name` is not supported in ONTAP 9.6 and 9.7.
476- na_ontap_software_update: added `timeout` option to give enough time for the update to complete.
477
478### Bug fixes
479- na_ontap_aggregate: `disk-info` error when using `disks` option.
480- na_ontap_autosupport_invoke: `message` has changed to `autosupport_message` as Redhat has reserved this word. `message` has been alias'd to `autosupport_message`.
481- na_ontap_cifs_vserver: fix documentation and add more examples.
482- na_ontap_cluster: module was not idempotent when changing location or contact information.
483- na_ontap_igroup: idempotency issue when using uppercase hex digits (A, B, C, D, E, F) in WWN (ONTAP uses lowercase).
484- na_ontap_igroup_initiator: idempotency issue when using uppercase hex digits (A, B, C, D, E, F) in WWN (ONTAP uses lowercase).
485- na_ontap_security_certificates: allows (`common_name`, `type`) as an alternate key since `name` is not supported in ONTAP 9.6 and 9.7.
486- na_ontap_info: Fixed error causing module to fail on `metrocluster_check_info`, `env_sensors_info` and `volume_move_target_aggr_info`.
487- na_ontap_snapmirror: fixed KeyError when accessing `relationship_type` parameter.
488- na_ontap_snapmirror_policy: fixed a race condition when creating a new policy.
489- na_ontap_snapmirror_policy: fixed idempotency issue withis_network_compression_enabled for REST.
490- na_ontap_software_update: ignore connection errors during update as nodes cannot be reachable.
491- na_ontap_user: enable lock state and password to be set in the same task for existing user.
492- na_ontap_volume: issue when snapdir_access and atime_update not passed together.
493- na_ontap_vscan_on_access_policy: `bool` type was not properly set for `scan_files_with_no_ext`.
494- na_ontap_vscan_on_access_policy: `policy_status` enable/disable option was not supported.
495- na_ontap_vscan_on_demand_task: `file_ext_to_include` was not handled properly.
496- na_ontap_vscan_scanner_pool_policy: scanner_pool apply policy support on modification.
497- na_ontap_vserver_create(role): lif creation now defaults to system-defined unless iscsi lif type.
498- use_rest supports case insensitive.
499
500### Module documentation changes
501- use a three group format for `version_added`.  So 2.7 becomes 2.7.0.  Same thing for 2.8 and 2.9.
502- add `type:` and `elements:` information where missing.
503- update `required:` information.
504
505## 20.7.0
506
507### New Modules
508- na_ontap_security_certificates: Install, create, sign, delete security certificates.
509
510### New Options:
511- na_ontap_info: support `continue_on_error` option to continue when a ZAPI is not supported on a vserver, or for cluster RPC errors.
512- na_ontap_info: support `query` option to specify which objects to return.
513- na_ontap_info: support `vserver` tunneling to limit output to one vserver.
514- na_ontap_snapmirror_policy: support for SnapMirror policy rules.
515- na_ontap_vscan_scanner_pool: support modification.
516- na_ontap_rest_info: Support for gather subsets - `cluster_node_info, cluster_peer_info, disk_info, cifs_services_info, cifs_share_info`.
517- module_utils/netapp: add retry on wait_on_job when job failed. Abort 3 consecutive errors.
518
519### Bug fixes:
520- na_ontap_command: replace invalid backspace characters (0x08) with '.'.
521- na_ontap_firmware_download: exception on PCDATA if ONTAP returns a BEL (0x07) character.
522- na_ontap_info: lists were incorrectly processed in convert_keys, returning {}.
523- na_ontap_info: qtree_info is missing most entries.  Changed key from `vserver:id` to `vserver:volume:id` .
524- na_ontap_iscsi_security: adding no_log for password parameters.
525- na_ontap_portset: adding explicit error message as modify portset is not supported.
526- na_ontap_snapmirror: fixed snapmirror delete for loadsharing to not go to quiesce state for the rest of the set.
527- na_ontap_ucadapter: fixed KeyError if type is not provided and mode is 'cna'.
528- na_ontap_user: checked `applications` does not contain snmp when using REST API call.
529- na_ontap_user: fixed KeyError if locked key not set with REST API call.
530- na_ontap_user: fixed KeyError if vserver: is empty with REST API call (useful to indicate cluster scope).
531- na_ontap_volume: fixed KeyError when getting info on a MVD volume
532
533### Example playbook
534- na_ontap_pb_get_online_volumes.yml: list of volumes that are online (or offline).
535- na_ontap_pb_install_SSL_certificate_REST.yml: installing SSL certificate using REST APIs.
536
537## 20.6.1
538
539### New Options:
540- na_ontap_firmware_upgrade: `reboot_sp`: reboot service processor before downloading package.
541- na_ontap_firmware_upgrade: `rename_package`: rename file when downloading service processor package.
542- na_ontap_firmware_upgrade: `replace_package`: replace local file when downloading service processor package.
543
544### Bug Fixes
545- na_ontap_firmware_upgrade: images are not downloaded, but the module reports success.
546- na_ontap_user: fixed KeyError if password is not provided.
547- na_ontap_password: do not error out if password is identical to previous password (idempotency).
548
549## 20.6.0
550
551### Support for SSL certificate authentication in addition to password
552The ONTAP Ansible modules currently require a username/password combination to authenticate with ONTAPI or REST APIs.
553It is now possible to use SSL certificate authentication with ONTAPI or REST.
554You will first need to install a SSL certificate in ONTAP, see for instance the first part of:
555https://netapp.io/2016/11/08/certificate-based-authentication-netapp-manageability-sdk-ontap/
556The applications that need to be authorized for `cert` are `ontapi` and `http`.
557
558The new `cert_filepath`, `key_filepath` options enable SSL certificate authentication.
559This is mutually exclusive with using `username` and `password`.
560
561ONTAP does not support `cert` authentication for console, so this is not supported for `na_ontap_command`.
562
563SSL certificate authentication requires python2.7 or 3.x.
564
565### New Options
566- na_ontap_disks: `disk_type` option allows to assign specified type of disk.
567- na_ontap_firmware_upgrade: ignore timeout when downloading image unless `fail_on_502_error` is set to true.
568- na_ontap_info: `desired_attributes` advanced feature to select which fields to return.
569- na_ontap_info: `use_native_zapi_tags` to disable the conversion of '_' to '-' for attribute keys.
570- na_ontap_rest_info: `fields` options to request specific fields from subset.
571- na_ontap_software_update: `stabilize_minutes` option specifies number of minutes needed to stabilize node before update.
572- na_ontap_snapmirror: now performs restore with optional field `source_snapshot` for specific snapshot or uses latest.
573- na_ontap_ucadapter: `pair_adapters` option allows specifying the list of adapters which also need to be offline.
574- na_ontap_user: `authentication_password` option specifies password for the authentication protocol of SNMPv3 user.
575- na_ontap_user: `authentication_protocol` option specifies authentication protocol fo SNMPv3 user.
576- na_ontap_user: `engine_id` option specifies authoritative entity's EngineID for the SNMPv3 user.
577- na_ontap_user: `privacy_password` option specifies password for the privacy protocol of SNMPv3 user.
578- na_ontap_user: `privacy_protocol` option specifies privacy protocol of SNMPv3 user.
579- na_ontap_user: `remote_switch_ipaddress` option specifies the IP Address of the remote switch of SNMPv3 user.
580- na_ontap_volume: `check_interval` option checks if a volume move has been completed and then waits this number of seconds before checking again.
581- na_ontap_volume: `auto_remap_luns` option controls automatic mapping of LUNs during volume rehost.
582- na_ontap_volume: `force_restore` option forces volume to restore even if the volume has one or more newer Snapshotcopies.
583- na_ontap_volume: `force_unmap_luns` option controls automatic unmapping of LUNs during volume rehost.
584- na_ontap_volume: `from_vserver` option allows volume rehost from one vserver to another.
585- na_ontap_volume: `preserve_lun_ids` option controls LUNs in the volume being restored will remain mapped and their identities preserved.
586- na_ontap_volume: `snapshot_restore` option specifies name of snapshot to restore from.
587- all modules: `cert_filepath`, `key_filepath` to enable SSL certificate authentication (python 2.7 or 3.x).
588
589### Bug Fixes
590- na_ontap_firmware_upgrade: ignore timeout when downloading firmware images by default.
591- na_ontap_info: conversion from '-' to '_' was not done for lists of dictionaries.
592- na_ontap_ntfs_dacl: example fix in documentation string.
593- na_ontap_snapmirror: could not delete all rules (bug in netapp_module).
594- na_ontap_volume: modify was invoked multiple times when once is enough.
595- na_ontap_volume: fix KeyError on 'style' when volume is of type: data-protection.
596- na_ontap_volume: `wait_on_completion` is supported with volume moves.
597- module_utils/netapp_module: cater for empty lists in get_modified_attributes().
598- module_utils/netapp_module: cater for lists with duplicate elements in compare_lists().
599
600### Example playbook
601- na_ontap_pb_install_SSL_certificate.yml: installing a self-signed SSL certificate, and enabling SSL certificate authentication.
602
603### Added REST support to existing modules
604- na_ontap_user: added REST support for ONTAP user creation, modification & deletion.
605
606
607## 20.5.0
608
609### New Options:
610- na_ontap_aggregate: `raid_type` options supports 'raid_0' for ONTAP Select.
611- na_ontap_cluster_peer: `encryption_protocol_proposed` option allows specifying encryption protocol to be used for inter-cluster communication.
612- na_ontap_info: new fact: aggr_efficiency_info.
613- na_ontap_info: new fact: cluster_switch_info.
614- na_ontap_info: new fact: disk_info.
615- na_ontap_info: new fact: env_sensors_info.
616- na_ontap_info: new fact: net_dev_discovery_info.
617- na_ontap_info: new fact: service_processor_info.
618- na_ontap_info: new fact: shelf_info.
619- na_ontap_info: new fact: sis_info.
620- na_ontap_info: new fact: subsys_health_info.
621- na_ontap_info: new fact: sysconfig_info.
622- na_ontap_info: new fact: sys_cluster_alerts.
623- na_ontap_info: new fact: volume_move_target_aggr_info.
624- na_ontap_info: new fact: volume_space_info.
625- na_ontap_nvme_namespace: `block_size` option allows specifying size in bytes of a logical block.
626- na_ontap_snapmirror: snapmirror now allows resume feature.
627- na_ontap_volume: `cutover_action` option allows specifying the action to be taken for cutover.
628
629### Bug Fixes
630- REST API call now honors the `http_port` parameter.
631- REST API detection now works with vserver (use_rest: Auto).
632- na_ontap_autosupport_invoke: when using ZAPI and name is not given, send autosupport message to all nodes in the cluster.
633- na_ontap_cg_snapshot: properly states it does not support check_mode.
634- na_ontap_cluster: ONTAP 9.3 or earlier does not support ZAPI element single-node-cluster.
635- na_ontap_cluster_ha: support check_mode.
636- na_ontap_cluster_peer: support check_mode.
637- na_ontap_cluster_peer: EMS log wrongly uses destination credentials with source hostname.
638- na_ontap_disks: support check_mode.
639- na_ontap_dns: support check_mode.
640- na_ontap_efficiency_policy: change `duration` type from int to str to support '-' input.
641- na_ontap_fcp: support check_mode.
642- na_ontap_flexcache: support check_mode.
643- na_ontap_info: `metrocluster_check_info` does not trigger a traceback but adds an "error" info element if the target system is not set up for metrocluster.
644- na_ontap_license: support check_mode.
645- na_ontap_login_messages: fix documentation link.
646- na_ontap_node: support check mode.
647- na_ontap_ntfs_sd: documentation string update for examples and made sure owner or group not mandatory.
648- na_ontap_ports: now support check mode.
649- na_ontap_restit: error can be a string in addition to a dict.  This fix removes a traceback with AttributeError.
650- na_ontap_routes: support Check Mode correctly.
651- na_ontap_snapmirror: support check_mode.
652- na_ontap_software_update: Incorrectly stated that it support check mode, it does not.
653- na_ontap_svm_options: support check_mode.
654- na_ontap_volume: improve error reporting if required parameter is present but not set.
655- na_ontap_volume: suppress traceback in wait_for_completion as volume may not be completely ready.
656- na_ontap_volume: fix KeyError on 'style' when volume is offline.
657- na_ontap_volume_autosize: Support check_mode when `reset` option is given.
658- na_ontap_volume_snaplock: fix documentation link.
659- na_ontap_vserver_peer: support check_mode.
660- na_ontap_vserver_peer: EMS log wrongly uses destination credentials with source hostname.
661
662### New Modules
663- na_ontap_rest_info: Gather ONTAP subset information using REST APIs (9.6 and Above).
664
665### Role Change
666- na_ontap_cluster_config: Port Flowcontrol and autonegotiate can be set in role
667
668## 20.4.1
669
670### New Options
671- na_ontap_firmware_upgrade: `force_disruptive_update` and `package_url` options allows to make choices for download and upgrading packages.
672
673### Added REST support to existing modules
674- na_ontap_autosupport_invoke: added REST support for sending autosupport message.
675
676### Bug Fixes
677- na_ontap_volume: `volume_security_style` option now allows modify.
678- na_ontap_info: `metrocluster_check_info` has been removed as it was breaking the info module for everyone who didn't have a metrocluster set up. We are working on adding this back in a future update
679
680### Role Changes
681- na_ontap_vserver_create has a new default variable `netapp_version` set to 140.  If you are running 9.2 or below please add the variable to your playbook and set to 120
682
683## 20.4.0
684
685### New Options
686- na_ontap_aggregate: `disk_count` option allows adding additional disk to aggregate.
687- na_ontap_info: `max_records` option specifies maximum number of records returned in a single ZAPI call.
688- na_ontap_info: `summary` option specifies a boolean flag to control return all or none of the info attributes.
689- na_ontap_info: new fact: iscsi_service_info.
690- na_ontap_info: new fact: license_info.
691- na_ontap_info: new fact: metrocluster_info.
692- na_ontap_info: new fact: metrocluster_check_info.
693- na_ontap_info: new fact: metrocluster_node_info.
694- na_ontap_info: new fact: net_interface_service_policy_info.
695- na_ontap_info: new fact: ontap_system_version.
696- na_ontap_info: new fact: ontapi_version (and deprecate ontap_version, both fields are reported for now).
697- na_ontap_info: new fact: qtree_info.
698- na_ontap_info: new fact: quota_report_info.
699- na_ontap_info: new fact: snapmirror_destination_info.
700- na_ontap_interface: `service_policy` option to identify a single service or a list of services that will use a LIF.
701- na_ontap_kerberos_realm: `ad_server_ip` option specifies IP Address of the Active Directory Domain Controller (DC).
702- na_ontap_kerberos_realm: `ad_server_name` option specifies Host name of the Active Directory Domain Controller (DC).
703- na_ontap_snapmirror_policy: REST is included and all defaults are removed from options.
704- na_ontap_snapmirror: `relationship-info-only` option allows to manage relationship information.
705- na_ontap_software_update: `download_only` options allows to download cluster image without software update.
706- na_ontap_volume: `snapshot_auto_delete` option allows to manage auto delete settings of a specified volume.
707
708### Bug Fixes
709- na_ontap_cifs_server: delete AD account if username and password are provided when state=absent
710- na_ontap_info: return all records of each gathered subset.
711- na_ontap_info: cifs_server_info: fix KeyError exception on `domain` if only `domain-workgroup` is present.
712- na_ontap_iscsi_security: Fixed modify functionality for CHAP and typo correction
713- na_ontap_kerberos_realm: fix `kdc_vendor` case sensitivity issue.
714- na_ontap_snapmirror: calling quiesce before snapmirror break.
715
716### New Modules
717- na_ontap_autosupport_invoke: send autosupport message.
718- na_ontap_ntfs_dacl: create/modify/delete ntfs dacl (discretionary access control list).
719- na_ontap_ntfs_sd: create/modify/delete ntfs security descriptor.
720- na_ontap_restit: send any REST API request to ONTAP (9.6 and above).
721- na_ontap_snmp_traphosts: Create and delete snmp traphosts (9.7 and Above)
722- na_ontap_wwpn_alias: create/modify/delete vserver fcp wwpn-alias.
723- na_ontap_zapit: send any ZAPI request to ONTAP.
724
725## 20.3.0
726
727### New Options
728- na_ontap_info: New info's added `cluster_identity_info`
729- na_ontap_info: New info's added `storage_bridge_info`
730- na_ontap_snapmirror: performs resync when the `relationship_state` is active and the current state is broken-off.
731
732### Bug Fixes
733- na_ontap_vscan_scanner_pool: has been updated to match the standard format used for all other ontap modules
734- na_ontap_volume_snaplock: Fixed KeyError exception on 'is-volume-append-mode-enabled'
735
736### New Modules
737- na_ontap_snapmirror_policy: create/modify/delete snapmirror policy.
738
739## 20.2.0
740
741### New Modules
742- na_ontap_volume_snaplock: modify volume snaplock retention.
743
744### New Options
745- na_ontap_info: New info's added `snapshot_info`
746- na_ontap_info: `max_records` option to set maximum number of records to return per subset.
747- na_ontap_snapmirror: `relationship_state` option for breaking the snapmirror relationship.
748- na_ontap_snapmirror: `update_snapmirror` option for updating the snapmirror relationship.
749- na_ontap_volume_clone: `split` option to split clone volume from parent volume.
750
751### Bug Fixes
752- na_ontap_cifs_server: Fixed KeyError exception on 'cifs_server_name'
753- na_ontap_command: fixed traceback when using return_dict if u'1' is present in result value.
754- na_ontap_login_messages: Fixed example documentation and spelling mistake issue
755- na_ontap_nvme_subsystem: fixed bug when creating subsystem, vserver was not filtered.
756- na_ontap_svm: if snapshot policy is changed, modify fails with "Extra input: snapshot_policy"
757- na_ontap_svm: if language: C.UTF-8 is specified, the module is not idempotent
758- na_ontap_volume_clone: fixed 'Extra input: parent-vserver' error when running as cluster admin.
759- na_ontap_qtree: Fixed issue with Get function for REST
760
761### Role Changes
762- na_ontap_nas_create role: fix typo in README file, add CIFS example.
763
764## 20.1.0
765
766### New Modules
767- na_ontap_login_messages: create/modify/delete security login messages including banner and mtod.
768
769### New Options
770- na_ontap_aggregate: add `snaplock_type`.
771- na_ontap_info: New info's added `cifs_server_info`, `cifs_share_info`, `cifs_vserver_security_info`, `cluster_peer_info`, `clock_info`, `export_policy_info`, `export_rule_info`, `fcp_adapter_info`, `fcp_alias_info`, `fcp_service_info`, `job_schedule_cron_info`, `kerberos_realm_info`, `ldap_client`, `ldap_config`, `net_failover_group_info`, `net_firewall_info`, `net_ipspaces_info`, `net_port_broadcast_domain_info`, `net_routes_info`, `net_vlan_info`, `nfs_info`, `ntfs_dacl_info`, `ntfs_sd_info`, `ntp_server_info`, `role_info`, `service_processor_network_info`, `sis_policy_info`, `snapmirror_policy_info`, `snapshot_policy_info`, `vscan_info`, `vserver_peer_info`
772- na_ontap_igroup_initiator: `force_remove` to forcibly remove initiators from an igroup that is currently mapped to a LUN.
773- na_ontap_interface: `failover_group` to specify the failover group for the LIF. `is_ipv4_link_local` to specify the LIF's are to acquire a ipv4 link local address.
774- na_ontap_rest_cli: add OPTIONS as a supported verb and return list of allowed verbs.
775- na_ontap_volume: add `group_id` and `user_id`.
776
777### Bug Fixes
778- na_ontap_aggregate: Fixed traceback when running as vsadmin and cleanly error out.
779- na_ontap_command: stdout_lines_filter contains data only if include/exlude_lines parameter is used. (zeten30)
780- na_ontap_command: stripped_line len is checked only once, filters are inside if block. (zeten30)
781- na_ontap_interface: allow module to run on node before joining the cluster.
782- na_ontap_net_ifgrp: Fixed error for na_ontap_net_ifgrp if no port is given.
783- na_ontap_snapmirror: Fixed traceback when running as vsadmin.  Do not attempt to break a relationship that is 'Uninitialized'.
784- na_ontap_snapshot_policy: Fixed KeyError: 'prefix' bug when prefix parameter isn't supplied.
785- na_ontap_volume: Fixed error reporting if efficiency policy cannot be read.  Do not attempt to read efficiency policy if not needed.
786- na_ontap_volume: Fixed error when modifying volume efficiency policy.
787- na_ontap_volume_clone: Fixed KeyError exception on 'volume'
788
789### Added REST support to existing modules
790- na_ontap_dns: added REST support for dns creation and modification on cluster vserver.
791
792### Role Changes
793
794## 19.11.0
795
796### New Modules
797- na_ontap_quota_policy: create/rename/delete quota policy.
798
799### New Options
800- na_ontap_cluster: added single node cluster option, also now supports for modify cluster contact and location option.
801- na_ontap_info: Now allow you use to VSadmin to get info (Must user `vserver` option).
802- na_ontap_info: Added `vscan_status_info`, `vscan_scanner_pool_info`, `vscan_connection_status_all_info`, `vscan_connection_extended_stats_info`
803- na_ontap_efficiency_policy: `changelog_threshold_percent` to set the percentage at which the changelog will be processed for a threshold type of policy, tested once each hour.
804
805### Bug Fixes
806- na_ontap_cluster: autosupport log pushed after cluster create is performed, removed license add or remove option.
807- na_ontap_dns: report error if modify or delete operations are attempted on cserver when using REST.  Make create operation idempotent for cserver when using REST.  Support for modify/delete on cserver when using REST will be added later.
808- na_ontap_firewall_policy: portmap added as a valid service
809- na_ontap_net_routes: REST does not support the 'metric' attribute
810- na_ontap_snapmirror: added initialize boolean option which specifies whether to initialize SnapMirror relation.
811- na_ontap_volume: fixed error when deleting flexGroup volume with ONTAP 9.7.
812- na_ontap_volume: tiering option requires 9.4 or later (error on volume-comp-aggr-attributes)
813- na_ontap_vscan_scanner_pool: fix module only gets one scanner pool.
814
815### Added REST support to existing modules
816
817### Role Changes
818
819## 19.10.0
820Changes in 19.10.0 and September collection releases compared to Ansible 2.9
821
822### New Modules
823- na_ontap_name_service_switch: create/modify/delete name service switch configuration.
824- na_ontap_iscsi_security: create/modify/delete iscsi security.
825
826### New Options
827- na_ontap_command: `vserver`: to allow command to run as either cluster admin or vserver admin.  To run as vserver admin you must use the vserver option.
828- na_ontap_motd: rename `message` to `motd_message` to avoid conflict with Ansible internal variable name.
829- na_ontap_nvme_namespace: `size_unit` to specify size in different units.
830- na_ontap_snapshot_policy: `prefix`: option to use for creating snapshot policy.
831
832### Bug Fixes
833- na_ontap_ndmp: minor documentation changes for restore_vm_cache_size and data_port_range.
834- na_ontap_qtree: REST API takes "unix_permissions" as parameter instead of "mode".
835- na_ontap_qtree: unix permission is not available when security style is ntfs
836- na_ontap_user: minor documentation update for application parameter.
837- na_ontap_volume: `efficiency_policy` was ignored
838- na_ontap_volume: enforce that space_slo and space_guarantee are mutually exclusive
839- na_ontap_svm: "allowed_protocols" added to param in proper way in case of using REST API
840- na_ontap_firewall_policy: documentation changed for supported service parameter.
841- na_ontap_net_subnet: fix ip_ranges option fails on existing subnet.
842- na_ontap_snapshot_policy: fix vsadmin approach for managing snapshot policy.
843- na_ontap_nvme_subsystem: fix fetching unique nvme subsytem based on vserver filter.
844- na ontap_net_routes: change metric type from string to int.
845- na_ontap_cifs_server: minor documentation changes correction of create example with "name" parameter and adding type to parameters.
846- na_ontap_vserver_cifs_security: fix int and boolean options when modifying vserver cifs security.
847- na_ontap_net_subnet: fix rename idempotency issue and updated rename check.
848
849### Added REST support to existing modules
850By default, the module will use REST if the target system supports it, and the options are supported.  Otherwise, it will switch back to ZAPI.  This behavior can be controlled with the `use_rest` option:
8511. Always: to force REST.  The module fails and reports an error if REST cannot be used.
8521. Never: to force ZAPI.  This could be useful if you find some incompatibility with REST, or want to confirm the behavior is identical between REST and ZAPI.
8531. Auto: the default, as described above.
854
855- na_ontap_ipspace
856- na_ontap_export_policy
857- na_ontap_ndmp
858-- Note: only `enable` and `authtype` are supported with REST
859- na_ontap_net_routes
860- na_ontap_qtree
861-- Note: `oplocks` is not supported with REST, defaults to enable.
862- na_ontap_svm
863-- Note: `root_volume`, `root_volume_aggregate`, `root_volume_security_style` are not supported with REST.
864- na_ontap_job_schedule
865
866### Role Changes
867- na_ontap_cluster_config updated to all cleaner playbook
868- na_ontap_vserver_create updated to all cleaner playbook
869- na_ontap_nas_create updated to all cleaner playbook
870- na_ontap_san_create updated to all cleaner playbook
871