na_ontap_snapshot_policy – NetApp ONTAP manage Snapshot Policy¶
New in version 2.8.
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
- Ansible 2.6
- 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’
- 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 | 
|---|---|---|
| comment 
                    -
                                                                 | A human readable comment attached with the snapshot. The size of the comment can be at most 255 characters. | |
| count 
                    list
                                                                 | 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. | 
| 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 | 
| name 
                    -
                                             / 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
                                             / required                     | Password for the specified user. aliases: pass | |
| schedule 
                    list
                                                                 | Schedule to be added inside the policy. | |
| snapmirror_label 
                    list
                                                                 added in 2.9 | SnapMirror label assigned to each schedule inside the policy. Use an empty string ('') for no label. | |
| state 
                    -
                                                                 | 
 | If you want to create, modify or delete a snapshot policy. | 
| use_rest 
                    string
                                                                 | 
 | 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
                                             / required                     | 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/. aliases: user | |
| validate_certs 
                    boolean
                                                                 | 
 | If set to  no, the SSL certificates will not be validated.This should only set to  Falseused on personally controlled sites using self-signed certificates. | 
| vserver 
                    -
                                                                 added in 2.9 | 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. | 
Examples¶
- name: Create Snapshot policy
  na_ontap_snapshot_policy:
    state: present
    name: ansible2
    schedule: 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']
    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']
    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
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
