# na_ontap_snapshot_policy – NetApp ONTAP manage Snapshot Policy

New in version 2.8.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## 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
- 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

Choices:
- no
- yes

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

Choices:
- no ←
- yes

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
-

Choices:
- present ←
- absent

If you want to create, modify or delete a snapshot policy.

use_rest
string

Choices:
- Never
- Always
- 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 / 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

Choices:
- no
- yes ←

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 - 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.

## 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
        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.