On this page
netapp.ontap.na_ontap_snapshot_policy – NetApp ONTAP manage Snapshot Policy
Note
This plugin is part of the netapp.ontap collection (version 20.12.0).
To install it use: ansible-galaxy collection install netapp.ontap
.
To use it in a playbook, specify: netapp.ontap.na_ontap_snapshot_policy
.
New in version 2.8.0: of netapp.ontap
Synopsis
- Create/Modify/Delete ONTAP snapshot policies
Requirements
The below requirements are needed on the host that executes this module.
- A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward.
- REST support requires ONTAP 9.6 or later.
- Ansible 2.6
- Ansible 2.9 or later is strongly recommended as it enables the new collection delivery system.
- Python2 netapp-lib (2017.10.30) or later. Install using ‘pip install netapp-lib’
- Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’
- netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues.
- To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
cert_filepath
string
added in 20.6.0 of netapp.ontap
|
path to SSL client cert file (.pem).
not supported with python 2.6.
|
|
comment
string
|
A human readable comment attached with the snapshot. The size of the comment can be at most 255 characters.
|
|
count
list / elements=integer
|
Retention count for the snapshots created by the schedule.
|
|
enabled
boolean
|
|
Status of the snapshot policy indicating whether the policy will be enabled or disabled.
|
feature_flags
dictionary
added in 20.5.0 of netapp.ontap
|
Enable or disable a new feature.
This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility.
Supported keys and values are subject to change without notice. Unknown keys are ignored.
|
|
hostname
string / required
|
The hostname or IP address of the ONTAP instance.
|
|
http_port
integer
|
Override the default port (80 or 443) with this port
|
|
https
boolean
|
|
Enable and disable https.
Ignored when using REST as only https is supported.
Ignored when using SSL certificate authentication as it requires SSL.
|
key_filepath
string
added in 20.6.0 of netapp.ontap
|
path to SSL client key file.
|
|
name
string / required
|
Name of the snapshot policy to be managed. The maximum string length is 256 characters.
|
|
ontapi
integer
|
The ontap api version to use
|
|
password
string
|
Password for the specified user.
aliases: pass |
|
prefix
list / elements=string
added in 19.10.1 of netapp.ontap
|
Snapshot name prefix for the schedule.
Prefix name should be unique within the policy.
Cannot set a different prefix to a schedule that has already been assigned to a snapshot policy.
Prefix cannot be modifed after schedule has been added.
|
|
schedule
list / elements=string
|
Schedule to be added inside the policy.
|
|
snapmirror_label
list / elements=string
added in 2.9.0 of netapp.ontap
|
SnapMirror label assigned to each schedule inside the policy. Use an empty string ('') for no label.
|
|
state
string
|
|
If you want to create, modify or delete a snapshot policy.
|
use_rest
string
|
Default:
"auto"
|
REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI.
always -- will always use the REST API
never -- will always use the ZAPI
auto -- will try to use the REST Api
|
username
string
|
This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required.
For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/.
Two authentication methods are supported
1. basic authentication, using username and password,
2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file.
To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled.
aliases: user |
|
validate_certs
boolean
|
|
If set to
no , the SSL certificates will not be validated.
This should only set to False used on personally controlled sites using self-signed certificates.
|
vserver
string
added in 2.9.0 of netapp.ontap
|
The name of the vserver to use. In a multi-tenanted environment, assigning a Snapshot Policy to a vserver will restrict its use to that vserver.
|
Notes
Note
- The modules prefixed with na\_ontap are built to support the ONTAP storage platform.
Examples
- name: Create Snapshot policy
na_ontap_snapshot_policy:
state: present
name: ansible2
schedule: hourly
prefix: hourly
count: 150
enabled: True
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
hostname: "{{ netapp_hostname }}"
https: False
- name: Create Snapshot policy with multiple schedules
na_ontap_snapshot_policy:
state: present
name: ansible2
schedule: ['hourly', 'daily', 'weekly', 'monthly', '5min']
prefix: ['hourly', 'daily', 'weekly', 'monthly', '5min']
count: [1, 2, 3, 4, 5]
enabled: True
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
hostname: "{{ netapp_hostname }}"
https: False
- name: Create Snapshot policy owned by a vserver
na_ontap_snapshot_policy:
state: present
name: ansible3
vserver: ansible
schedule: ['hourly', 'daily', 'weekly', 'monthly', '5min']
prefix: ['hourly', 'daily', 'weekly', 'monthly', '5min']
count: [1, 2, 3, 4, 5]
snapmirror_label: ['hourly', 'daily', 'weekly', 'monthly', '']
enabled: True
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
hostname: "{{ netapp_hostname }}"
https: False
- name: Modify Snapshot policy with multiple schedules
na_ontap_snapshot_policy:
state: present
name: ansible2
schedule: ['daily', 'weekly']
count: [20, 30]
snapmirror_label: ['daily', 'weekly']
enabled: True
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
hostname: "{{ netapp_hostname }}"
https: False
- name: Delete Snapshot policy
na_ontap_snapshot_policy:
state: absent
name: ansible2
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
hostname: "{{ netapp_hostname }}"
https: False
Authors
- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/netapp/ontap/na_ontap_snapshot_policy_module.html