diff options
Diffstat (limited to '')
32 files changed, 725 insertions, 280 deletions
diff --git a/ansible_collections/netapp/ontap/CHANGELOG.rst b/ansible_collections/netapp/ontap/CHANGELOG.rst index 9a796e0ab..e4e349602 100644 --- a/ansible_collections/netapp/ontap/CHANGELOG.rst +++ b/ansible_collections/netapp/ontap/CHANGELOG.rst @@ -5,6 +5,24 @@ NetApp ONTAP Collection Release Notes .. contents:: Topics +v22.11.0 +======== + +Minor Changes +------------- + +- na_ontap_cifs - new option `offline_files` added in REST, requires ONTAP 9.10 or later. +- na_ontap_net_ifgrp - updated documentation for parameter `name`. +- na_ontap_vserver_audit - new options `schedule.*` added under `log.rotation`, requires ONTAP 9.6 or later. + +Bugfixes +-------- + +- na_ontap_dns - fix issue with modifying DNS servers in REST. +- na_ontap_fpolicy_policy - fixed issue with idempotency in REST. +- na_ontap_quotas - fixed issue with idempotency in REST. +- na_ontap_security_config - added warning for missing `supported_cipher_suites` to maintain idempotency in REST. + v22.10.0 ======== diff --git a/ansible_collections/netapp/ontap/FILES.json b/ansible_collections/netapp/ontap/FILES.json index dde171372..68cea8163 100644 --- a/ansible_collections/netapp/ontap/FILES.json +++ b/ansible_collections/netapp/ontap/FILES.json @@ -109,7 +109,7 @@ "name": "plugins/module_utils/netapp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6daa1820439f22b17459fe302f0d4bab7d9b55abe9a16954ba75a90a242bd01e", + "chksum_sha256": "1229988953bb64a4dab7e097b2b31c108119192be708876a800671e49a08de0f", "format": 1 }, { @@ -319,7 +319,7 @@ "name": "plugins/modules/na_ontap_dns.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6ea5685b153844b586517029a15901465b587a5e8c460647e8b4672135c5fe14", + "chksum_sha256": "692d3d5eda544b84971dfe307a60d00e6ba89f4c015e4a8cc26af1c60010a16f", "format": 1 }, { @@ -333,7 +333,7 @@ "name": "plugins/modules/na_ontap_cifs.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18c64fc05c7e46c19552e044d825704244dd07d308b0aa34cdc488436b727095", + "chksum_sha256": "f0914723d15590edda209350a26f41994d2b49e11d17917ec6a6d5a6e3317ac1", "format": 1 }, { @@ -508,7 +508,7 @@ "name": "plugins/modules/na_ontap_quotas.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08c33094ac72558694e35b2387a302642331ed3cd5abcb22355de12ce3956ef7", + "chksum_sha256": "9ef5eec01b7755dc4734456055cbb4700fb3b83ba838217427d9fff4dc670250", "format": 1 }, { @@ -760,7 +760,7 @@ "name": "plugins/modules/na_ontap_security_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a885621b50e69e52bee2588a3c940b52a0c70a46439617790b20f3611b58b89", + "chksum_sha256": "ee4e03617b69b2ed5ed42849f5ccbd500c7cdca40fc2c94bf0f348e6a037ea48", "format": 1 }, { @@ -956,7 +956,7 @@ "name": "plugins/modules/na_ontap_fpolicy_policy.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49131f89a89b6b273c6c726b270ebda313c32da542a66c83728935adf3018d7a", + "chksum_sha256": "cb55c27cce7114898e23bf84ced59f228db94de94c41bf36770a0a487fb04d7d", "format": 1 }, { @@ -1152,14 +1152,14 @@ "name": "plugins/modules/na_ontap_net_ifgrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b1e80c8c376745d83c3b86ba490ea5138855b67924421ef1872108683c5daac1", + "chksum_sha256": "e6137acc309d032f4dcb9e1bc23d80cc966fb000c145130c3379b43c2653e907", "format": 1 }, { "name": "plugins/modules/na_ontap_vserver_audit.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f3f265624355e196e82aa049d1c9877cd0ee522672ed2ea32adf0fa1ff131c05", + "chksum_sha256": "d1674f0ed96a50da31a2a5ee9b8a21cb6009c2b06326d7b627c44525305183dc", "format": 1 }, { @@ -1747,7 +1747,7 @@ "name": "tests/unit/plugins/modules/test_na_ontap_cifs.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "239fcf51e3ecfac1fd76009f17474b18ac9fd997c2cee8be8001015d118306bd", + "chksum_sha256": "1a28d8c1790e759398f7f793c02d9508c92587b30a395654599bcc5c77fa6243", "format": 1 }, { @@ -1884,69 +1884,6 @@ "format": 1 }, { - "name": "tests/unit/plugins/modules/.pytest_cache", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/CACHEDIR.TAG", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "37dc88ef9a0abeddbe81053a6dd8fdfb13afb613045ea1eb4a5c815a74a3bde4", - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "73fd6fccdd802c419a6b2d983d6c3173b7da97558ac4b589edec2dfe443db9ad", - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/.gitignore", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3ed731b65d06150c138e2dadb0be0697550888a6b47eb8c45ecc9adba8b8e9bd", - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/v", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/v/cache", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/v/cache/nodeids", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3b02e3eef79464263dbecb6fba2aa5ac26a25116d9269c21332ac857bd9d26d5", - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/v/cache/lastfailed", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ba6bcb107e0114b5becb0d3250b74c5e53a06d793b0ca532b3e97c1467ef027d", - "format": 1 - }, - { - "name": "tests/unit/plugins/modules/.pytest_cache/v/cache/stepwise", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945", - "format": 1 - }, - { "name": "tests/unit/plugins/modules/test_na_ontap_volume_efficiency.py", "ftype": "file", "chksum_type": "sha256", @@ -2146,7 +2083,7 @@ "name": "tests/unit/plugins/modules/test_na_ontap_vserver_audit.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74071e0c975872d9c41060957acf337e8571db9d82f77c5a75445ee0c436b5be", + "chksum_sha256": "0fc83a7d3acc0931a596b737c04a6cf97a8f228ce93cda8d517631728859cba3", "format": 1 }, { @@ -2160,7 +2097,7 @@ "name": "tests/unit/plugins/modules/test_na_ontap_security_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f7e45b1801a4cb0850dea363c85fd8ee3d83fb3bccc8c52fc261dd33a234d29", + "chksum_sha256": "a9c08fdae2408e04b94c8d49879328d988ad1babdab42eb341a8672a4d05ea74", "format": 1 }, { @@ -2748,7 +2685,7 @@ "name": "tests/unit/plugins/modules/test_na_ontap_quotas.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c0f7f14ab2dd8b0a4ac9ecf8689478a1132140c5b28c445ecb2da4afbc18482", + "chksum_sha256": "a81d2721710078f320dd1e5e03548c5824ffc6116aaece8b2087fc2fde1464b5", "format": 1 }, { @@ -3767,13 +3704,6 @@ "format": 1 }, { - "name": "changelogs/.DS_Store", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a92e6026ea49ee8ad153d99f377c2aca1fb94d42160045c980f4193d2f5671dc", - "format": 1 - }, - { "name": "changelogs/fragments", "ftype": "dir", "chksum_type": null, @@ -3851,6 +3781,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6691.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4ef395ecedb9bd76b92d5506bd2800d840bb902b0a9fc62a50865ab54706ce8f", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-6015.yaml", "ftype": "file", "chksum_type": "sha256", @@ -4061,6 +3998,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6721.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5dce35cec4222f0377e0472e5d2b7966e7ec15f0e9dce99ff2233d71b21d264a", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-5662.yaml", "ftype": "file", "chksum_type": "sha256", @@ -4334,6 +4278,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6825.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "35b825df1d85b5d133f548e20051083bc7b9caf27770fd6ad4893afb4e5305b9", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-4818.yaml", "ftype": "file", "chksum_type": "sha256", @@ -5230,6 +5181,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6356.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ce793fb37e62663fd4dbc43ca9ff6e1032db11af1241176d3707fbd805a0b495", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-5983.yaml", "ftype": "file", "chksum_type": "sha256", @@ -5286,6 +5244,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6747.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e80f870b0040fc3c4e72cb5c761c6c1f39986db7d5f932def957906442122b93", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-3400.yaml", "ftype": "file", "chksum_type": "sha256", @@ -6490,6 +6455,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6715.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7f6934cf248957f170fa56267661c76da9eb37c86222d14e576489171549e956", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-2668.yaml", "ftype": "file", "chksum_type": "sha256", @@ -7141,6 +7113,13 @@ "format": 1 }, { + "name": "changelogs/fragments/DEVOPS-6807.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "22654275a3f4e7e083d276118b7ae90d05fea9a237ca3f9c99bcf52fe4c1b640", + "format": 1 + }, + { "name": "changelogs/fragments/DEVOPS-3994.yaml", "ftype": "file", "chksum_type": "sha256", @@ -7284,21 +7263,21 @@ "name": "changelogs/.plugin-cache.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7cbe9c8b5709e3f329667fa54b5c8ffa1333cc49805e51b788d3e52fca5c8b5d", + "chksum_sha256": "d3dde83bd44692ee5a011b3dc91ee40ff6ab12dcc0e84709c994b2598a891f21", "format": 1 }, { "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4c5611a9741bbfaaa7bc6fde286865b864f1c3c183327902ad3a5558b98903a0", + "chksum_sha256": "abeefd652684e2993ebb408a087ac7c2bc330c26e4c920816c665876562846a7", "format": 1 }, { "name": "README.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0453a86d933c48e94a50eb91635f95a6b1b53be67f320647c7ff5e00234f6e4a", + "chksum_sha256": "92c524d470e7715f46d769f23370932d795a4297911ba62ef93aa4d2d974b728", "format": 1 }, { @@ -7368,7 +7347,7 @@ "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "edab2dd435af86cb61fc7a7f112d3136ae05a9a2340e4bd7bff546764beb0f2f", + "chksum_sha256": "b61765843acbba72ca4a817462fdf69e3ca14ab13c733c18573b6c398cdafde9", "format": 1 } ], diff --git a/ansible_collections/netapp/ontap/MANIFEST.json b/ansible_collections/netapp/ontap/MANIFEST.json index c066583ca..4e6ca9302 100644 --- a/ansible_collections/netapp/ontap/MANIFEST.json +++ b/ansible_collections/netapp/ontap/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "netapp", "name": "ontap", - "version": "22.10.0", + "version": "22.11.0", "authors": [ "NetApp Ansible Team <ng-ansibleteam@netapp.com>" ], @@ -25,7 +25,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3b1ef023a88302b05998107de07d042c2efd877b22839f39bfd038585e6a7e35", + "chksum_sha256": "41e6e78b1fe132e7951ec88a6244008f0c9c29bfb7ede985f4c0ee3e08daefbf", "format": 1 }, "format": 1 diff --git a/ansible_collections/netapp/ontap/README.md b/ansible_collections/netapp/ontap/README.md index cfad4cbcf..a8e0b1c28 100644 --- a/ansible_collections/netapp/ontap/README.md +++ b/ansible_collections/netapp/ontap/README.md @@ -62,6 +62,19 @@ The following modules do not have REST equivalent APIs. They will stop working o # Release Notes +## 22.11.0 + +### Minor Changes + - na_ontap_vserver_audit - new options `schedule.*` added under `log.rotation`, requires ONTAP 9.6 or later. + - na_ontap_cifs - new option `offline_files` added in REST, requires ONTAP 9.10 or later. + - na_ontap_net_ifgrp - updated documentation for parameter `name`. + - na_ontap_security_config - added warning for missing `supported_cipher_suites` to maintain idempotency in REST. + +### Bug Fixes + - na_ontap_fpolicy_policy - fixed issue with idempotency in REST. + - na_ontap_dns - fix issue with modifying DNS servers in REST. + - na_ontap_quotas - fixed issue with idempotency in REST. + ## 22.10.0 ### Minor Changes @@ -76,6 +89,7 @@ The following modules do not have REST equivalent APIs. They will stop working o - na_ontap_storage_auto_giveback - added information on modifed attributes in module output. - na_ontap_vscan_scanner_pool - added REST support to Vscan Scanner Pools Configuration module, requires ONTAP 9.6 or later. - na_ontap_cifs_server - new option `is_multichannel_enabled` added in REST, requires ONTAP 9.10 or later. + - na_ontap_vserver_audit - new options `schedule.*` added under `log.rotation`. ### Bug Fixes - na_ontap_igroup_initiator - fixed issue with idempotency. diff --git a/ansible_collections/netapp/ontap/changelogs/.DS_Store b/ansible_collections/netapp/ontap/changelogs/.DS_Store Binary files differdeleted file mode 100644 index 316ace4f1..000000000 --- a/ansible_collections/netapp/ontap/changelogs/.DS_Store +++ /dev/null diff --git a/ansible_collections/netapp/ontap/changelogs/.plugin-cache.yaml b/ansible_collections/netapp/ontap/changelogs/.plugin-cache.yaml index 61e172720..9b881c490 100644 --- a/ansible_collections/netapp/ontap/changelogs/.plugin-cache.yaml +++ b/ansible_collections/netapp/ontap/changelogs/.plugin-cache.yaml @@ -1,9 +1,20 @@ +objects: + role: {} plugins: become: {} cache: {} callback: {} cliconf: {} connection: {} + filter: + iso8601_duration_from_seconds: + description: Encode seconds as a ISO 8601 duration string + name: iso8601_duration_from_seconds + version_added: 21.24.0 + iso8601_duration_to_seconds: + description: Decode a ISO 8601 duration string as seconds + name: iso8601_duration_to_seconds + version_added: 21.24.0 httpapi: {} inventory: {} lookup: {} @@ -11,673 +22,781 @@ plugins: na_ontap_active_directory: description: NetApp ONTAP configure active directory name: na_ontap_active_directory - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.9.0 + na_ontap_active_directory_domain_controllers: + description: NetApp ONTAP configure active directory preferred domain controllers + name: na_ontap_active_directory_domain_controllers + namespace: '' + version_added: 22.7.0 na_ontap_aggregate: description: NetApp ONTAP manage aggregates. name: na_ontap_aggregate - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_autosupport: description: NetApp ONTAP autosupport name: na_ontap_autosupport - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_autosupport_invoke: description: NetApp ONTAP send AutoSupport message name: na_ontap_autosupport_invoke - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 + na_ontap_bgp_peer_group: + description: NetApp ONTAP module to create, modify or delete bgp peer group. + name: na_ontap_bgp_peer_group + namespace: '' + version_added: 22.0.0 na_ontap_broadcast_domain: description: NetApp ONTAP manage broadcast domains. name: na_ontap_broadcast_domain - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_broadcast_domain_ports: description: NetApp ONTAP manage broadcast domain ports name: na_ontap_broadcast_domain_ports - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_cg_snapshot: description: NetApp ONTAP manage consistency group snapshot name: na_ontap_cg_snapshot - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_cifs: description: NetApp ONTAP Manage cifs-share name: na_ontap_cifs - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_cifs_acl: description: NetApp ONTAP manage cifs-share-access-control name: na_ontap_cifs_acl - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: null + na_ontap_cifs_local_group: + description: NetApp Ontap - create, delete or modify CIFS local group. + name: na_ontap_cifs_local_group + namespace: '' + version_added: 22.1.0 na_ontap_cifs_local_group_member: description: NetApp Ontap - Add or remove CIFS local group member name: na_ontap_cifs_local_group_member - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.2.0 + na_ontap_cifs_local_user: + description: NetApp ONTAP local CIFS user. + name: na_ontap_cifs_local_user + namespace: '' + version_added: 22.2.0 na_ontap_cifs_local_user_modify: description: NetApp ONTAP modify local CIFS user. name: na_ontap_cifs_local_user_modify - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_cifs_local_user_set_password: description: NetApp ONTAP set local CIFS user password name: na_ontap_cifs_local_user_set_password - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_cifs_server: description: NetApp ONTAP CIFS server configuration name: na_ontap_cifs_server - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules - version_added: 2.6.0 + namespace: '' + version_added: 2.6.0 + na_ontap_cifs_unix_symlink_mapping: + description: NetApp ONTAP module to manage UNIX symbolic link mapping for CIFS + clients. + name: na_ontap_cifs_unix_symlink_mapping + namespace: '' + version_added: 22.9.0 + na_ontap_cli_timeout: + description: NetApp ONTAP module to set the CLI inactivity timeout value. + name: na_ontap_cli_timeout + namespace: '' + version_added: 22.9.0 na_ontap_cluster: description: NetApp ONTAP cluster - create a cluster and add/remove nodes. name: na_ontap_cluster - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_cluster_ha: description: NetApp ONTAP Manage HA status for cluster name: na_ontap_cluster_ha - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_cluster_peer: description: NetApp ONTAP Manage Cluster peering name: na_ontap_cluster_peer - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_command: description: NetApp ONTAP Run any cli command, the username provided needs to have console login permission. name: na_ontap_command - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_debug: description: NetApp ONTAP Debug netapp-lib import and connection. name: na_ontap_debug - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.1.0 na_ontap_disk_options: description: NetApp ONTAP modify storage disk options name: na_ontap_disk_options - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_disks: description: NetApp ONTAP Assign disks to nodes name: na_ontap_disks - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_dns: description: NetApp ONTAP Create, delete, modify DNS servers. name: na_ontap_dns - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_domain_tunnel: description: NetApp ONTAP domain tunnel name: na_ontap_domain_tunnel - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.3.0 na_ontap_efficiency_policy: description: NetApp ONTAP manage efficiency policies (sis policies) name: na_ontap_efficiency_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 + na_ontap_ems_config: + description: NetApp ONTAP module to modify EMS configuration. + name: na_ontap_ems_config + namespace: '' + version_added: 22.8.0 + na_ontap_ems_destination: + description: NetApp ONTAP configuration for EMS event destination + name: na_ontap_ems_destination + namespace: '' + version_added: 21.23.0 + na_ontap_ems_filter: + description: NetApp ONTAP EMS Filter + name: na_ontap_ems_filter + namespace: '' + version_added: 22.4.0 na_ontap_export_policy: description: NetApp ONTAP manage export-policy name: na_ontap_export_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_export_policy_rule: description: NetApp ONTAP manage export policy rules name: na_ontap_export_policy_rule - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_fcp: description: NetApp ONTAP Start, Stop and Enable FCP services. name: na_ontap_fcp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_fdsd: description: NetApp ONTAP create or remove a File Directory security descriptor. name: na_ontap_fdsd - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_fdsp: description: NetApp ONTAP create or delete a file directory security policy name: na_ontap_fdsp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_fdspt: description: NetApp ONTAP create, delete or modify File Directory security policy tasks name: na_ontap_fdspt - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_fdss: description: NetApp ONTAP File Directory Security Set. name: na_ontap_fdss - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_file_directory_policy: description: NetApp ONTAP create, delete, or modify vserver security file-directory policy name: na_ontap_file_directory_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.8.0 + na_ontap_file_security_permissions: + description: NetApp ONTAP NTFS file security permissions + name: na_ontap_file_security_permissions + namespace: '' + version_added: 22.0.0 + na_ontap_file_security_permissions_acl: + description: NetApp ONTAP file security permissions ACL + name: na_ontap_file_security_permissions_acl + namespace: '' + version_added: 22.0.0 na_ontap_firewall_policy: description: NetApp ONTAP Manage a firewall policy name: na_ontap_firewall_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_firmware_upgrade: description: NetApp ONTAP firmware upgrade for SP, shelf, ACP, and disk. name: na_ontap_firmware_upgrade - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_flexcache: description: NetApp ONTAP FlexCache - create/delete relationship name: na_ontap_flexcache - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_fpolicy_event: description: NetApp ONTAP FPolicy policy event configuration name: na_ontap_fpolicy_event - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_fpolicy_ext_engine: description: NetApp ONTAP fPolicy external engine configuration. name: na_ontap_fpolicy_ext_engine - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_fpolicy_policy: description: NetApp ONTAP - Create, delete or modify an FPolicy policy. name: na_ontap_fpolicy_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.3.0 na_ontap_fpolicy_scope: description: NetApp ONTAP - Create, delete or modify an FPolicy policy scope configuration. name: na_ontap_fpolicy_scope - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_fpolicy_status: description: NetApp ONTAP - Enables or disables the specified fPolicy policy name: na_ontap_fpolicy_status - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_igroup: description: NetApp ONTAP iSCSI or FC igroup configuration name: na_ontap_igroup - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_igroup_initiator: description: NetApp ONTAP igroup initiator configuration name: na_ontap_igroup_initiator - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_info: description: NetApp information gatherer name: na_ontap_info - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_interface: description: NetApp ONTAP LIF configuration name: na_ontap_interface - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_ipspace: description: NetApp ONTAP Manage an ipspace name: na_ontap_ipspace - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_iscsi: description: NetApp ONTAP manage iSCSI service name: na_ontap_iscsi - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_iscsi_security: description: NetApp ONTAP Manage iscsi security. name: na_ontap_iscsi_security - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules - version_added: 19.10.1 + namespace: '' + version_added: 19.11.0 na_ontap_job_schedule: description: NetApp ONTAP Job Schedule name: na_ontap_job_schedule - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 + na_ontap_kerberos_interface: + description: NetApp ONTAP module to modify kerberos interface. + name: na_ontap_kerberos_interface + namespace: '' + version_added: 22.6.0 na_ontap_kerberos_realm: description: NetApp ONTAP vserver nfs kerberos realm name: na_ontap_kerberos_realm - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_ldap: description: NetApp ONTAP LDAP name: na_ontap_ldap - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_ldap_client: description: NetApp ONTAP LDAP client name: na_ontap_ldap_client - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_license: description: NetApp ONTAP protocol and feature license packages name: na_ontap_license - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 + na_ontap_local_hosts: + description: NetApp ONTAP local hosts + name: na_ontap_local_hosts + namespace: '' + version_added: 22.0.0 na_ontap_log_forward: description: NetApp ONTAP Log Forward Configuration name: na_ontap_log_forward - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.2.0 na_ontap_login_messages: description: Setup login banner and message of the day name: na_ontap_login_messages - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.1.0 na_ontap_lun: description: NetApp ONTAP manage LUNs name: na_ontap_lun - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_lun_copy: description: NetApp ONTAP copy LUNs name: na_ontap_lun_copy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_lun_map: description: NetApp ONTAP LUN maps name: na_ontap_lun_map - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_lun_map_reporting_nodes: description: NetApp ONTAP LUN maps reporting nodes name: na_ontap_lun_map_reporting_nodes - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.2.0 na_ontap_mcc_mediator: description: NetApp ONTAP Add and Remove MetroCluster Mediator name: na_ontap_mcc_mediator - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.9.0 na_ontap_metrocluster: description: NetApp ONTAP set up a MetroCluster name: na_ontap_metrocluster - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.9.0 na_ontap_metrocluster_dr_group: description: NetApp ONTAP manage MetroCluster DR Group name: na_ontap_metrocluster_dr_group - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.11.0 na_ontap_motd: description: Setup motd name: na_ontap_motd - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 + na_ontap_name_mappings: + description: NetApp ONTAP name mappings + name: na_ontap_name_mappings + namespace: '' + version_added: 22.0.0 na_ontap_name_service_switch: description: NetApp ONTAP Manage name service switch name: na_ontap_name_service_switch - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: null na_ontap_ndmp: description: NetApp ONTAP NDMP services configuration name: na_ontap_ndmp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_net_ifgrp: description: NetApp Ontap modify network interface group name: na_ontap_net_ifgrp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_net_port: description: NetApp ONTAP network ports. name: na_ontap_net_port - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_net_routes: description: NetApp ONTAP network routes name: na_ontap_net_routes - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_net_subnet: description: NetApp ONTAP Create, delete, modify network subnets. name: na_ontap_net_subnet - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_net_vlan: description: NetApp ONTAP network VLAN name: na_ontap_net_vlan - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_nfs: description: NetApp ONTAP NFS status name: na_ontap_nfs - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_node: description: NetApp ONTAP Modify or Rename a node. name: na_ontap_node - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_ntfs_dacl: description: NetApp Ontap create, delate or modify NTFS DACL (discretionary access control list) name: na_ontap_ntfs_dacl - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 na_ontap_ntfs_sd: description: NetApp ONTAP create, delete or modify NTFS security descriptor name: na_ontap_ntfs_sd - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 na_ontap_ntp: description: NetApp ONTAP NTP server name: na_ontap_ntp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_ntp_key: description: NetApp ONTAP NTP key name: na_ontap_ntp_key - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.21.0 na_ontap_nvme: description: NetApp ONTAP Manage NVMe Service name: na_ontap_nvme - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_nvme_namespace: description: NetApp ONTAP Manage NVME Namespace name: na_ontap_nvme_namespace - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_nvme_subsystem: description: NetApp ONTAP Manage NVME Subsystem name: na_ontap_nvme_subsystem - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_object_store: description: NetApp ONTAP manage object store config. name: na_ontap_object_store - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_partitions: description: NetApp ONTAP Assign partitions and disks to nodes. name: na_ontap_partitions - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.8.0 na_ontap_ports: description: NetApp ONTAP add/remove ports name: na_ontap_ports - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_portset: description: NetApp ONTAP Create/Delete portset name: na_ontap_portset - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_publickey: description: NetApp ONTAP publickey configuration name: na_ontap_publickey - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.7.0 na_ontap_qos_adaptive_policy_group: description: NetApp ONTAP Adaptive Quality of Service policy group. name: na_ontap_qos_adaptive_policy_group - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_qos_policy_group: description: NetApp ONTAP manage policy group in Quality of Service. name: na_ontap_qos_policy_group - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_qtree: description: NetApp ONTAP manage qtrees name: na_ontap_qtree - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_quota_policy: description: NetApp Ontap create, assign, rename or delete quota policy name: na_ontap_quota_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 19.11.0 na_ontap_quotas: description: NetApp ONTAP Quotas name: na_ontap_quotas - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_rest_cli: description: NetApp ONTAP run any CLI command using REST api/private/cli/ name: na_ontap_rest_cli - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_rest_info: description: NetApp ONTAP information gatherer using REST APIs name: na_ontap_rest_info - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.5.0 na_ontap_restit: description: NetApp ONTAP Run any REST API on ONTAP name: na_ontap_restit - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 na_ontap_s3_buckets: description: NetApp ONTAP S3 Buckets name: na_ontap_s3_buckets - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.19.0 na_ontap_s3_groups: description: NetApp ONTAP S3 groups name: na_ontap_s3_groups - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.21.0 na_ontap_s3_policies: description: NetApp ONTAP S3 Policies name: na_ontap_s3_policies - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.21.0 na_ontap_s3_services: description: NetApp ONTAP S3 services name: na_ontap_s3_services - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.20.0 na_ontap_s3_users: description: NetApp ONTAP S3 users name: na_ontap_s3_users - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.20.0 na_ontap_security_certificates: description: NetApp ONTAP manage security certificates. name: na_ontap_security_certificates - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.7.0 na_ontap_security_config: description: NetApp ONTAP modify security config for SSL. name: na_ontap_security_config - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.3.0 + na_ontap_security_ipsec_ca_certificate: + description: NetApp ONTAP module to add or delete ipsec ca certificate. + name: na_ontap_security_ipsec_ca_certificate + namespace: '' + version_added: 22.1.0 + na_ontap_security_ipsec_config: + description: NetApp ONTAP module to configure IPsec config. + name: na_ontap_security_ipsec_config + namespace: '' + version_added: 22.1.0 + na_ontap_security_ipsec_policy: + description: NetApp ONTAP module to create, modify or delete security IPsec + policy. + name: na_ontap_security_ipsec_policy + namespace: '' + version_added: 22.1.0 na_ontap_security_key_manager: description: NetApp ONTAP security key manager. name: na_ontap_security_key_manager - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 + na_ontap_security_ssh: + description: NetApp ONTAP security ssh + name: na_ontap_security_ssh + namespace: '' + version_added: 21.24.0 na_ontap_service_policy: description: NetApp ONTAP service policy configuration name: na_ontap_service_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.7.0 na_ontap_service_processor_network: description: NetApp ONTAP service processor network name: na_ontap_service_processor_network - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_snaplock_clock: description: NetApp ONTAP Sets the snaplock compliance clock. name: na_ontap_snaplock_clock - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.4.0 na_ontap_snapmirror: description: NetApp ONTAP or ElementSW Manage SnapMirror name: na_ontap_snapmirror - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_snapmirror_policy: description: NetApp ONTAP create, delete or modify SnapMirror policies name: na_ontap_snapmirror_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.3.0 na_ontap_snapshot: description: NetApp ONTAP manage Snapshots name: na_ontap_snapshot - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_snapshot_policy: description: NetApp ONTAP manage Snapshot Policy name: na_ontap_snapshot_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_snmp: - description: NetApp ONTAP SNMP community + description: NetApp ONTAP SNMP user name: na_ontap_snmp - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 + na_ontap_snmp_config: + description: NetApp ONTAP module to modify SNMP configuration. + name: na_ontap_snmp_config + namespace: '' + version_added: 22.9.0 na_ontap_snmp_traphosts: description: NetApp ONTAP SNMP traphosts. name: na_ontap_snmp_traphosts - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.3.0 na_ontap_software_update: description: NetApp ONTAP Update Software name: na_ontap_software_update - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_ssh_command: description: NetApp ONTAP Run any cli command over plain SSH using paramiko. name: na_ontap_ssh_command - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.8.0 na_ontap_storage_auto_giveback: description: Enables or disables NetApp ONTAP storage auto giveback for a specified node name: na_ontap_storage_auto_giveback - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.3.0 na_ontap_storage_failover: description: Enables or disables NetApp Ontap storage failover for a specified node name: na_ontap_storage_failover - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.3.0 na_ontap_svm: description: NetApp ONTAP SVM name: na_ontap_svm - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_svm_options: description: NetApp ONTAP Modify SVM Options name: na_ontap_svm_options - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 na_ontap_ucadapter: description: NetApp ONTAP UC adapter configuration name: na_ontap_ucadapter - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_unix_group: description: NetApp ONTAP UNIX Group name: na_ontap_unix_group - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_unix_user: description: NetApp ONTAP UNIX users name: na_ontap_unix_user - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_user: description: NetApp ONTAP user configuration and management name: na_ontap_user - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_user_role: description: NetApp ONTAP user role configuration and management name: na_ontap_user_role - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_volume: description: NetApp ONTAP manage volumes. name: na_ontap_volume - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_volume_autosize: description: NetApp ONTAP manage volume autosize name: na_ontap_volume_autosize - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_volume_clone: description: NetApp ONTAP manage volume clones. name: na_ontap_volume_clone - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.6.0 na_ontap_volume_efficiency: description: NetApp ONTAP enables, disables or modifies volume efficiency name: na_ontap_volume_efficiency - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 21.2.0 na_ontap_volume_snaplock: description: NetApp ONTAP manage volume snaplock retention. name: na_ontap_volume_snaplock - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.2.0 na_ontap_vscan: description: NetApp ONTAP Vscan enable/disable. name: na_ontap_vscan - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_vscan_on_access_policy: description: NetApp ONTAP Vscan on access policy configuration. name: na_ontap_vscan_on_access_policy - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_vscan_on_demand_task: description: NetApp ONTAP Vscan on demand task configuration. name: na_ontap_vscan_on_demand_task - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 na_ontap_vscan_scanner_pool: description: NetApp ONTAP Vscan Scanner Pools Configuration. name: na_ontap_vscan_scanner_pool - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.8.0 + na_ontap_vserver_audit: + description: NetApp Ontap - create, delete or modify vserver audit configuration. + name: na_ontap_vserver_audit + namespace: '' + version_added: 22.3.0 na_ontap_vserver_cifs_security: description: NetApp ONTAP vserver CIFS security modification name: na_ontap_vserver_cifs_security - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.9.0 na_ontap_vserver_peer: description: NetApp ONTAP Vserver peering name: na_ontap_vserver_peer - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 2.7.0 + na_ontap_vserver_peer_permissions: + description: NetApp Ontap - create, delete or modify vserver peer permission. + name: na_ontap_vserver_peer_permissions + namespace: '' + version_added: 22.3.0 na_ontap_wait_for_condition: description: NetApp ONTAP wait_for_condition. Loop over a get status request until a condition is met. name: na_ontap_wait_for_condition - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.8.0 na_ontap_wwpn_alias: description: NetApp ONTAP set FCP WWPN Alias name: na_ontap_wwpn_alias - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 na_ontap_zapit: description: NetApp ONTAP Run any ZAPI on ONTAP name: na_ontap_zapit - namespace: private.var.folders.zv.gm9l2n2n30g2k5tdmny65l_r0000gp.T.antsibull-changelog3bt20e04.collections.ansible_collections.netapp.ontap.plugins.modules + namespace: '' version_added: 20.4.0 netconf: {} shell: {} strategy: {} + test: {} vars: {} -version: 21.22.0 +version: 22.10.0 diff --git a/ansible_collections/netapp/ontap/changelogs/changelog.yaml b/ansible_collections/netapp/ontap/changelogs/changelog.yaml index 8d0eb138e..d383264a8 100644 --- a/ansible_collections/netapp/ontap/changelogs/changelog.yaml +++ b/ansible_collections/netapp/ontap/changelogs/changelog.yaml @@ -2766,6 +2766,29 @@ releases: - DEVOPS-6680.yaml - DEVOPS-6681.yaml release_date: '2024-02-06' + 22.11.0: + changes: + bugfixes: + - na_ontap_dns - fix issue with modifying DNS servers in REST. + - na_ontap_fpolicy_policy - fixed issue with idempotency in REST. + - na_ontap_quotas - fixed issue with idempotency in REST. + - na_ontap_security_config - added warning for missing `supported_cipher_suites` + to maintain idempotency in REST. + minor_changes: + - na_ontap_cifs - new option `offline_files` added in REST, requires ONTAP 9.10 + or later. + - na_ontap_net_ifgrp - updated documentation for parameter `name`. + - na_ontap_vserver_audit - new options `schedule.*` added under `log.rotation`, + requires ONTAP 9.6 or later. + fragments: + - DEVOPS-6356.yaml + - DEVOPS-6691.yaml + - DEVOPS-6715.yaml + - DEVOPS-6721.yaml + - DEVOPS-6747.yaml + - DEVOPS-6807.yaml + - DEVOPS-6825.yaml + release_date: '2024-04-08' 22.2.0: changes: bugfixes: diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6356.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6356.yaml new file mode 100644 index 000000000..bc1f2b0d4 --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6356.yaml @@ -0,0 +1,2 @@ +bugfixes: + - na_ontap_quotas - fixed issue with idempotency in REST.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6691.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6691.yaml new file mode 100644 index 000000000..400bd56c6 --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6691.yaml @@ -0,0 +1,2 @@ +minor_changes: + - na_ontap_vserver_audit - new options `schedule.*` added under `log.rotation`, requires ONTAP 9.6 or later.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6715.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6715.yaml new file mode 100644 index 000000000..2635e5bf0 --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6715.yaml @@ -0,0 +1,2 @@ +minor_changes: + - na_ontap_cifs - new option `offline_files` added in REST, requires ONTAP 9.10 or later.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6721.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6721.yaml new file mode 100644 index 000000000..deba2dd7e --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6721.yaml @@ -0,0 +1,2 @@ +bugfixes: + - na_ontap_dns - fix issue with modifying DNS servers in REST.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6747.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6747.yaml new file mode 100644 index 000000000..6af639841 --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6747.yaml @@ -0,0 +1,2 @@ +bugfixes: + - na_ontap_fpolicy_policy - fixed issue with idempotency in REST.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6807.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6807.yaml new file mode 100644 index 000000000..44902e66d --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6807.yaml @@ -0,0 +1,2 @@ +minor_changes: + - na_ontap_net_ifgrp - updated documentation for parameter `name`.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6825.yaml b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6825.yaml new file mode 100644 index 000000000..506f2a055 --- /dev/null +++ b/ansible_collections/netapp/ontap/changelogs/fragments/DEVOPS-6825.yaml @@ -0,0 +1,2 @@ +bugfixes: + - na_ontap_security_config - added warning for missing `supported_cipher_suites` to maintain idempotency in REST.
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/plugins/module_utils/netapp.py b/ansible_collections/netapp/ontap/plugins/module_utils/netapp.py index f41139423..fe1e89214 100644 --- a/ansible_collections/netapp/ontap/plugins/module_utils/netapp.py +++ b/ansible_collections/netapp/ontap/plugins/module_utils/netapp.py @@ -48,7 +48,7 @@ try: except ImportError: ANSIBLE_VERSION = 'unknown' -COLLECTION_VERSION = "22.10.0" +COLLECTION_VERSION = "22.11.0" CLIENT_APP_VERSION = "%s/%s" % ("%s", COLLECTION_VERSION) IMPORT_EXCEPTION = None diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_cifs.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_cifs.py index b04a37110..ea978f8f1 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_cifs.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_cifs.py @@ -178,6 +178,14 @@ options: type: bool version_added: 22.5.0 + offline_files: + choices: ['none', 'manual', 'documents', 'programs'] + description: + - Allows Windows clients to cache data on this share. + - This option is only supported with REST and requires ONTAP 9.10 or later. + type: str + version_added: 22.11.0 + short_description: NetApp ONTAP Manage cifs-share version_added: 2.6.0 @@ -287,7 +295,8 @@ class NetAppONTAPCifsShare: namespace_caching=dict(required=False, type='bool'), continuously_available=dict(required=False, type='bool'), browsable=dict(required=False, type='bool'), - show_previous_versions=dict(required=False, type='bool') + show_previous_versions=dict(required=False, type='bool'), + offline_files=dict(required=False, type='str', choices=['none', 'manual', 'documents', 'programs']), )) self.module = AnsibleModule( @@ -301,13 +310,13 @@ class NetAppONTAPCifsShare: # Set up Rest API self.rest_api = netapp_utils.OntapRestAPI(self.module) partially_supported_rest_properties = [['continuously_available', (9, 10, 1)], ['namespace_caching', (9, 10, 1)], - ['show_snapshot', (9, 10, 1)], ['allow_unencrypted_access', (9, 11)], + ['show_snapshot', (9, 10, 1)], ['offline_files', (9, 10, 1)], ['allow_unencrypted_access', (9, 11)], ['browsable', (9, 13, 1)], ['show_previous_versions', (9, 13, 1)]] unsupported_rest_properties = ['share_properties', 'symlink_properties', 'vscan_fileop_profile'] self.use_rest = self.rest_api.is_rest_supported_properties(self.parameters, unsupported_rest_properties, partially_supported_rest_properties) self.unsupported_zapi_properties = ['unix_symlink', 'access_based_enumeration', 'change_notify', 'encryption', 'home_directory', 'oplocks', 'continuously_available', 'show_snapshot', 'namespace_caching', 'allow_unencrypted_access', - 'browsable', 'show_previous_versions'] + 'browsable', 'show_previous_versions', 'offline_files'] self.svm_uuid = None if not self.use_rest: if not netapp_utils.has_netapp_lib(): @@ -447,7 +456,7 @@ class NetAppONTAPCifsShare: 'encryption,' 'oplocks,'} if self.rest_api.meets_rest_minimum_version(self.use_rest, 9, 10, 1): - options['fields'] += 'show_snapshot,namespace_caching,continuously_available,' + options['fields'] += 'show_snapshot,namespace_caching,continuously_available,offline_files,' if self.rest_api.meets_rest_minimum_version(self.use_rest, 9, 11, 0): options['fields'] += 'allow_unencrypted_access,' if self.rest_api.meets_rest_minimum_version(self.use_rest, 9, 13, 1): @@ -467,6 +476,7 @@ class NetAppONTAPCifsShare: 'encryption': record.get('encryption'), 'oplocks': record.get('oplocks'), 'continuously_available': record.get('continuously_available'), + 'offline_files': record.get('offline_files'), 'show_snapshot': record.get('show_snapshot'), 'namespace_caching': record.get('namespace_caching'), 'allow_unencrypted_access': record.get('allow_unencrypted_access'), @@ -481,7 +491,7 @@ class NetAppONTAPCifsShare: if params is None: params = self.parameters options = ['path', 'comment', 'unix_symlink', 'access_based_enumeration', 'change_notify', 'encryption', - 'home_directory', 'oplocks', 'continuously_available', 'show_snapshot', 'namespace_caching', + 'home_directory', 'oplocks', 'continuously_available', 'offline_files', 'show_snapshot', 'namespace_caching', 'allow_unencrypted_access', 'browsable', 'show_previous_versions'] for key in options: if key in params: diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_dns.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_dns.py index 3c46b0084..1bea08120 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_dns.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_dns.py @@ -259,10 +259,12 @@ class NetAppOntapDns: if error: self.module.fail_json(msg="Error getting DNS service: %s" % error) if record: - if params.get('scope') == 'cluster': + if params.get('scope') == 'cluster' or not self.na_helper.safe_get(record, ['svm', 'uuid']): uuid = record.get('uuid') else: uuid = self.na_helper.safe_get(record, ['svm', 'uuid']) + if uuid is None: + self.module.fail_json(msg="Error getting DNS service: could not retrieve UUID of the DNS object") return { 'domains': record.get('domains'), 'nameservers': record.get('servers'), diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_fpolicy_policy.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_fpolicy_policy.py index 47d9143cb..a99c76d76 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_fpolicy_policy.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_fpolicy_policy.py @@ -1,6 +1,6 @@ #!/usr/bin/python -# (c) 2021, NetApp, Inc +# (c) 2021-2023, NetApp, Inc # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) from __future__ import absolute_import, division, print_function @@ -181,11 +181,12 @@ class NetAppOntapFpolicyPolicy(): 'vserver': message['records'][0]['vserver'], 'name': message['records'][0]['policy_name'], 'events': message['records'][0]['events'], - 'allow_privileged_access': message['records'][0]['allow_privileged_access'], 'engine': message['records'][0]['engine'], 'is_mandatory': message['records'][0]['is_mandatory'], 'is_passthrough_read_enabled': message['records'][0]['is_passthrough_read_enabled'] } + allow_privileged_access = True if message['records'][0]['allow_privileged_access'] == 'yes' else False + return_value['allow_privileged_access'] = allow_privileged_access if 'privileged_user_name' in message['records'][0]: return_value['privileged_user_name'] = message['records'][0]['privileged_user_name'] diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_net_ifgrp.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_net_ifgrp.py index 45035ed64..4a596ae12 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_net_ifgrp.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_net_ifgrp.py @@ -36,7 +36,7 @@ options: name: description: - Specifies the interface group name. - - Not supported with REST, use C(ports) or C(from_lag_ports). + - Not supported with REST, use C(ports) or C(from_lag_ports). LAG names are automatically created in REST and returned in module output. - Required with ZAPI. type: str diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_quotas.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_quotas.py index 1aca89feb..d4b13ea47 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_quotas.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_quotas.py @@ -594,6 +594,7 @@ class NetAppONTAPQuotas: 'files.soft_limit,' 'volume.uuid,' 'users.name,' + 'users.id,' 'group.name,'} # set qtree name in query for type user and group if not ''. @@ -601,8 +602,17 @@ class NetAppONTAPQuotas: query['qtree.name'] = self.parameters['qtree'] if self.parameters.get('quota_target'): type = self.parameters['type'] - field_name = 'users.name' if type == 'user' else 'group.name' if type == 'group' else 'qtree.name' - query[field_name] = self.parameters['quota_target'] + if type == 'user': + users_names = [target for target in self.parameters['quota_target'].split(',') if not target.isdigit()] + users_ids = [target for target in self.parameters['quota_target'].split(',') if target.isdigit()] + if users_names: + query['users.name'] = ",".join(users_names) + if users_ids: + query['users.id'] = ",".join(users_ids) + else: + field_name = 'group.name' if type == 'group' else 'qtree.name' + query[field_name] = self.parameters['quota_target'] + api = 'storage/quota/rules' # If type: user, get quota rules api returns users which has name starts with input target user names. # Example of users list in a record: @@ -622,9 +632,11 @@ class NetAppONTAPQuotas: if desired_qtree != current_qtree: continue if type == 'user': - desired_users = self.parameters['quota_target'].split(',') - current_users = [user['name'] for user in item['users']] - if set(current_users) == set(desired_users): + current_users = {} + current_users['names'] = [user['name'] for user in item['users'] if user.get('name')] + current_users['ids'] = [user['id'] for user in item['users'] if user.get('id')] + if set(current_users['names']) == set(users_names) and \ + set(current_users['ids']) == set(users_ids): record = item break elif item['group']['name'] == self.parameters['quota_target']: diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_security_config.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_security_config.py index aac0ea1d5..28f0f6576 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_security_config.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_security_config.py @@ -264,11 +264,23 @@ class NetAppOntapSecurityConfig: if error: self.module.fail_json(msg="Error on modifying security config: %s" % error) + def cipher_suites_warning_rest(self, modify): + current = self.get_security_config() + suites_for_idempotency = [] + for current_suite in list(current.get('supported_cipher_suites')): + if current_suite not in self.parameters.get('supported_cipher_suites'): + suites_for_idempotency.append(current_suite) + if len(suites_for_idempotency) > 0: + self.module.warn("To achieve idempotency the mentioned cipher_suites must be included.") + self.module.warn(", ".join(suites_for_idempotency)) + def apply(self): current = self.get_security_config() modify = self.na_helper.get_modified_attributes(current, self.parameters) if self.na_helper.changed and not self.module.check_mode: self.modify_security_config(modify) + if 'supported_cipher_suites' in modify: + self.cipher_suites_warning_rest(modify) result = netapp_utils.generate_result(self.na_helper.changed, modify=modify) self.module.exit_json(**result) diff --git a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_vserver_audit.py b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_vserver_audit.py index fc3dc3bed..3f52f918c 100644 --- a/ansible_collections/netapp/ontap/plugins/modules/na_ontap_vserver_audit.py +++ b/ansible_collections/netapp/ontap/plugins/modules/na_ontap_vserver_audit.py @@ -114,6 +114,38 @@ options: - Rotates logs based on log size in bytes. - Default value is 104857600. type: int + schedule: + description: + - Rotates the audit logs based on a schedule by using the time-based rotation parameters in any combination. + - The rotation schedule is calculated by using all the time-related values. + type: dict + version_added: '22.11.0' + suboptions: + days: + description: + - Specifies the day of the month schedule to rotate audit log. Specify -1 to rotate the audit logs all days of a month. + type: list + elements: int + hours: + description: + - Specifies the hourly schedule to rotate audit log. Specify -1 to rotate the audit logs every hour. + type: list + elements: int + minutes: + description: + - Specifies the minutes schedule to rotate the audit log. + type: list + elements: int + months: + description: + - Specifies the months schedule to rotate audit log. Specify -1 to rotate the audit logs every month. + type: list + elements: int + weekdays: + description: + - Specifies the weekdays schedule to rotate audit log. Specify -1 to rotate the audit logs every day. + type: list + elements: int notes: - This module supports REST only. @@ -180,6 +212,66 @@ EXAMPLES = """ hostname: "{{ netapp_hostname }}" username: "{{ netapp_username }}" password: "{{ netapp_password }}" + + # The audit logs are rotated in January and March on Monday, Wednesday, and Friday, + # at 6:15, 6:30, 6:45, 12:15, 12:30, 12:45, 18:15, 18:30, and 18:45 + # The last 6 audit logs are retained + - name: Create vserver audit configuration + netapp.ontap.na_ontap_vserver_audit: + state: present + vserver: ansible + enabled: True + events: + authorization_policy: False + cap_staging: False + cifs_logon_logoff: True + file_operations: True + file_share: False + security_group: False + user_account: False + log_path: "/" + log: + format: xml + retention: + count: 6 + rotation: + schedule: + hours: [6,12,18] + minutes: [15,30,45] + months: [1,3] + weekdays: [1,3,5] + guarantee: False + hostname: "{{ netapp_hostname }}" + username: "{{ netapp_username }}" + password: "{{ netapp_password }}" + + # The audit logs are rotated monthly, all days of the week, at 12:30 + - name: Modify vserver audit configuration + netapp.ontap.na_ontap_vserver_audit: + state: present + vserver: ansible + enabled: True + events: + authorization_policy: False + cap_staging: False + cifs_logon_logoff: True + file_operations: True + file_share: False + security_group: False + user_account: False + log_path: "/" + log: + format: xml + rotation: + schedule: + hours: [12] + minutes: [30] + months: [-1] + weekdays: [-1] + guarantee: False + hostname: "{{ netapp_hostname }}" + username: "{{ netapp_username }}" + password: "{{ netapp_password }}" """ RETURN = """ @@ -214,6 +306,13 @@ class NetAppONTAPVserverAudit: )), rotation=dict(type='dict', options=dict( size=dict(type='int'), + schedule=dict(type='dict', options=dict( + days=dict(type='list', elements='int'), + hours=dict(type='list', elements='int'), + minutes=dict(type='list', elements='int'), + months=dict(type='list', elements='int'), + weekdays=dict(type='list', elements='int'), + )), )), )), events=dict(type='dict', options=dict( @@ -270,6 +369,10 @@ class NetAppONTAPVserverAudit: } return record + def schedule_rotation_key_value(self, key): + value = self.na_helper.safe_get(self.parameters, ['log', 'rotation', 'schedule', key]) + return [] if -1 in value else value + def create_vserver_audit_config_body_rest(self): """ Vserver audit config body for create and modify with rest API. @@ -283,8 +386,14 @@ class NetAppONTAPVserverAudit: body['log.retention.count'] = self.parameters['log']['retention']['count'] if self.na_helper.safe_get(self.parameters, ['log', 'retention', 'duration']): body['log.retention.duration'] = self.parameters['log']['retention']['duration'] - if self.na_helper.safe_get(self.parameters, ['log', 'rotation', 'size']): - body['log.rotation.size'] = self.parameters['log']['rotation']['size'] + if self.na_helper.safe_get(self.parameters, ['log', 'rotation']): + if self.na_helper.safe_get(self.parameters, ['log', 'rotation', 'size']): + body['log.rotation.size'] = self.parameters['log']['rotation']['size'] + else: + for schedule_rotation_key in ['days', 'hours', 'minutes', 'months', 'weekdays']: + if self.na_helper.safe_get(self.parameters, ['log', 'rotation', 'schedule', schedule_rotation_key]) is not None: + key = 'log.rotation.schedule.' + schedule_rotation_key + body[key] = self.schedule_rotation_key_value(schedule_rotation_key) if self.na_helper.safe_get(self.parameters, ['log', 'format']): body['log.format'] = self.parameters['log']['format'] if 'log_path' in self.parameters: diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/.gitignore b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/.gitignore deleted file mode 100644 index bc1a1f616..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Created by pytest automatically. -* diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/CACHEDIR.TAG b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/CACHEDIR.TAG deleted file mode 100644 index fce15ad7e..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/CACHEDIR.TAG +++ /dev/null @@ -1,4 +0,0 @@ -Signature: 8a477f597d28d172789f06886806bc55 -# This file is a cache directory tag created by pytest. -# For information about cache directory tags, see: -# https://bford.info/cachedir/spec.html diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/README.md b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/README.md deleted file mode 100644 index b89018ced..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# pytest cache directory # - -This directory contains data from the pytest's cache plugin, -which provides the `--lf` and `--ff` options, as well as the `cache` fixture. - -**Do not** commit this to version control. - -See [the docs](https://docs.pytest.org/en/stable/how-to/cache.html) for more information. diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/lastfailed b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/lastfailed deleted file mode 100644 index ba7b58d20..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/lastfailed +++ /dev/null @@ -1,3 +0,0 @@ -{ - "test_na_ontap_lun_rest.py": true -}
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/nodeids b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/nodeids deleted file mode 100644 index ca22cf9ee..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/nodeids +++ /dev/null @@ -1,6 +0,0 @@ -[ - "test_na_ontap_lun.py::TestMyModule::test_create_error_missing_param", - "test_na_ontap_lun.py::TestMyModule::test_module_fail_when_required_args_missing", - "test_na_ontap_lun_rest.py::TestMyModule::test_create_error_missing_param", - "test_na_ontap_lun_rest.py::TestMyModule::test_successful_create_appli" -]
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/stepwise b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/stepwise deleted file mode 100644 index 0637a088a..000000000 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/.pytest_cache/v/cache/stepwise +++ /dev/null @@ -1 +0,0 @@ -[]
\ No newline at end of file diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_cifs.py b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_cifs.py index 99aa0d140..f57aa8d68 100644 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_cifs.py +++ b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_cifs.py @@ -47,6 +47,7 @@ SRR = rest_responses({ "home_directory": True, "oplocks": False, "continuously_available": True, + "offline_files": "manual", "show_snapshot": True, "namespace_caching": True, "allow_unencrypted_access": True, @@ -407,6 +408,31 @@ def test_modify_cifs_share_properties_2(): assert create_and_apply(my_module, ARGS_REST, module_args) +def test_modify_cifs_offline_files(): + ''' test modify CIFS offline_files ''' + register_responses([ + ('GET', 'cluster', SRR['is_rest_9_13_1']), + ('GET', 'protocols/cifs/shares', SRR['cifs_record']), + ('PATCH', 'protocols/cifs/shares/671aa46e-11ad-11ec-a267-005056b30cfa/cifs_share_name', SRR['empty_good']), + ]) + module_args = { + "offline_files": "none" + } + assert create_and_apply(my_module, ARGS_REST, module_args) + + +def test_version_error_offline_files(): + ''' test version error for offline_files ''' + register_responses([ + ('GET', 'cluster', SRR['is_rest']) + ]) + module_args = { + "offline_files": "none" + } + error = create_module(my_module, ARGS_REST, module_args, fail=True)['msg'] + assert 'Minimum version of ONTAP for offline_files is (9, 10, 1)' in error + + def test_error_modify_cifs_share_path(): ''' test modify CIFS share path error''' register_responses([ diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_quotas.py b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_quotas.py index cd03989c6..843aa13fc 100644 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_quotas.py +++ b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_quotas.py @@ -55,12 +55,38 @@ SRR = rest_responses({ "target": { "name": "20:05:00:50:56:b3:0c:fa" }, + }, + { + "svm": { + "uuid": "671aa46e-11ad-11ec-a267-005056b30cfa", + "name": "ansible" + }, + "files": { + "hard_limit": "100", + "soft_limit": "80" + }, + "qtree": { + "id": "1", + "name": "qt1" + }, + "space": { + "hard_limit": "1222800", + "soft_limit": "51200" + }, + "type": "user", + "user_mapping": False, + "users": [{"id": "757"}], + "uuid": "264a9e0b-2e03-11e9-a610-005056a7b72d", + "volume": {"name": "fv", "uuid": "264a9e0b-2e03-11e9-a610-005056a7b72da"}, + "target": { + "name": "20:05:00:50:56:b3:0c:fa" + }, } ], "num_records": 1 }, None ), - 'quota_record_0_empty_limtis': (200, {"records": [{ + 'quota_record_0_empty_limits': (200, {"records": [{ "svm": {"name": "ansible"}, "files": {"hard_limit": 0}, "qtree": {"id": "1", "name": "qt1"}, @@ -441,10 +467,26 @@ def test_rest_successful_create(): ('GET', 'storage/volumes', SRR['quota_status']), ('POST', 'storage/quota/rules', SRR['empty_good']), ]) + assert create_and_apply(my_module, ARGS_REST) + + +def test_rest_successful_create_userid(): + '''Test successful rest create with users.id with idempotency check''' + register_responses([ + ('GET', 'cluster', SRR['is_rest']), + ('GET', 'storage/quota/rules', SRR['empty_records']), + ('GET', 'storage/volumes', SRR['quota_status']), + ('POST', 'storage/quota/rules', SRR['empty_good']), + + ('GET', 'cluster', SRR['is_rest']), + ('GET', 'storage/quota/rules', SRR['quota_record']), + ('GET', 'storage/volumes', SRR['quota_status']), + ]) module_args = { - "users": [{"name": "quota_user"}], + "quota_target": "757", } - assert create_and_apply(my_module, ARGS_REST) + assert create_and_apply(my_module, ARGS_REST, module_args) + assert create_and_apply(my_module, ARGS_REST, module_args)['changed'] is False @patch('time.sleep') @@ -461,9 +503,6 @@ def test_rest_successful_create_job_error(sleep): ('GET', 'cluster/jobs/d78811c1-aebc-11ec-b4de-005056b30cfa', SRR['job_not_found']), ('GET', 'storage/volumes', SRR['volume_uuid']) ]) - module_args = { - "users": [{"name": "quota_user"}], - } assert create_and_apply(my_module, ARGS_REST) print_warnings() assert_warning_was_raised('Ignoring job status, assuming success.') @@ -595,10 +634,10 @@ def test_rest_successful_create_idempotency(): ('GET', 'storage/quota/rules', SRR['quota_record']), ('GET', 'storage/volumes', SRR['quota_status']), ('GET', 'cluster', SRR['is_rest']), - ('GET', 'storage/quota/rules', SRR['quota_record_0_empty_limtis']), + ('GET', 'storage/quota/rules', SRR['quota_record_0_empty_limits']), ('GET', 'storage/volumes', SRR['quota_status']), ('GET', 'cluster', SRR['is_rest']), - ('GET', 'storage/quota/rules', SRR['quota_record_0_empty_limtis']), + ('GET', 'storage/quota/rules', SRR['quota_record_0_empty_limits']), ('GET', 'storage/volumes', SRR['quota_status']) ]) assert create_and_apply(my_module, ARGS_REST)['changed'] is False diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_security_config.py b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_security_config.py index 1ffdfbc02..2a6009287 100644 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_security_config.py +++ b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_security_config.py @@ -25,9 +25,11 @@ SRR = rest_responses({ # module specific responses 'security_config_record': (200, { "records": [{ - "is_fips_enabled": False, - "supported_protocols": ['TLSv1.3', 'TLSv1.2', 'TLSv1.1'], - "supported_cipher_suites": 'TLS_RSA_WITH_AES_128_CCM_8' + "fips": {"enabled": False}, + "tls": { + "protocol_versions": ['TLSv1.3', 'TLSv1.2', 'TLSv1.1'], + "cipher_suites": ['TLS_RSA_WITH_AES_128_CCM_8'] + } }], "num_records": 1 }, None), "no_record": ( @@ -186,11 +188,12 @@ def test_rest_modify_security_config(): ('GET', 'cluster', SRR['is_rest_9_10_1']), ('GET', '/security', SRR['security_config_record']), ('PATCH', '/security', SRR['success']), + ('GET', '/security', SRR['security_config_record']), ]) module_args = { "is_fips_enabled": False, "supported_protocols": ['TLSv1.3', 'TLSv1.2', 'TLSv1.1'], - "supported_cipher_suites": 'TLS_RSA_WITH_AES_128_CCM' + "supported_cipher_suites": ['TLS_RSA_WITH_AES_128_CCM'] } assert call_main(my_main, ARGS_REST, module_args)['changed'] @@ -245,10 +248,11 @@ def test_rest_modify_security_config_fips(): ('GET', 'cluster', SRR['is_rest_9_10_1']), ('GET', '/security', SRR['security_config_record']), ('PATCH', '/security', SRR['success']), + ('GET', '/security', SRR['security_config_record']), ]) module_args = { "is_fips_enabled": True, "supported_protocols": ['TLSv1.3', 'TLSv1.2'], - "supported_cipher_suites": 'TLS_RSA_WITH_AES_128_CCM' + "supported_cipher_suites": ['TLS_RSA_WITH_AES_128_CCM'] } assert call_main(my_main, ARGS_REST, module_args)['changed'] diff --git a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_vserver_audit.py b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_vserver_audit.py index 9a4ec6f91..d12d075ff 100644 --- a/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_vserver_audit.py +++ b/ansible_collections/netapp/ontap/tests/unit/plugins/modules/test_na_ontap_vserver_audit.py @@ -90,7 +90,59 @@ SRR = rest_responses({ "no_record": ( 200, {"num_records": 0}, - None) + None), + 'audit_record_time_based_rotation': ( + 200, + { + "records": [ + { + "svm": { + "uuid": "671aa46e-11ad-11ec-a267-005056b30cfa", + "name": "vserver" + }, + "enabled": True, + "events": { + "authorization_policy": True, + "cap_staging": True, + "cifs_logon_logoff": False, + "file_operations": False, + "file_share": True, + "security_group": True, + "user_account": True + }, + "log_path": "/", + "log": { + "format": "xml", + "rotation": { + "schedule": { + "hours": [ + 6, + 12, + 18 + ], + "minutes": [ + 15, + 30, + 45 + ], + "months": [ + 1, + 3 + ], + "weekdays": [ + 0, + 2, + 4 + ] + } + } + }, + "guarantee": False + } + ], + "num_records": 1 + }, None + ), }) ARGS_REST = { @@ -189,7 +241,8 @@ def test_create_audit_config_rest(): assert msg in error -def test_modify_audit_config_rest(): +def test_modify_audit_config_sizebased_rotation_rest(): + ''' Rotates logs based on log size ''' register_responses([ ('GET', 'cluster', SRR['is_rest_9_10_1']), ('GET', 'protocols/audit', SRR['audit_record']), @@ -217,6 +270,40 @@ def test_modify_audit_config_rest(): assert call_main(my_main, ARGS_REST, module_args)['changed'] +def test_modify_audit_config_timebased_rotation_rest(): + ''' Rotates the audit logs based on a schedule ''' + register_responses([ + ('GET', 'cluster', SRR['is_rest_9_10_1']), + ('GET', 'protocols/audit', SRR['audit_record_time_based_rotation']), + ('PATCH', 'protocols/audit/671aa46e-11ad-11ec-a267-005056b30cfa', SRR['empty_good']), + ]) + module_args = { + "enabled": True, + "events": { + "authorization_policy": True, + "cap_staging": True, + "cifs_logon_logoff": False, + "file_operations": False, + "file_share": True, + "security_group": True, + "user_account": True + }, + "log_path": "/tmp", + "log": { + "format": "xml", + "rotation": { + "schedule": { + "hours": [12], + "minutes": [30], + "months": [-1], + "weekdays": [-1] + } + } + }, + } + assert call_main(my_main, ARGS_REST, module_args)['changed'] + + def test_enable_audit_config_rest(): register_responses([ ('GET', 'cluster', SRR['is_rest_9_10_1']), |