# influxdb_retention_policy – Manage InfluxDB retention policies

- Synopsis

- Requirements

- Parameters

- Examples

- Status

## Synopsis

- Manage InfluxDB retention policies.

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.6

- influxdb >= 0.9

- requests

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
database_name string / required |  | Name of the database.

default
boolean

Choices:
- no
- yes

Sets the retention policy as default retention policy.

duration string / required |  | Determines how long InfluxDB should keep the data.
hostname string | Default: "localhost" | The hostname or IP address on which InfluxDB server is listening. Since Ansible 2.5, defaulted to localhost.
password string | Default: "root" | Password that will be used to authenticate against InfluxDB server. Alias `login_password` added in Ansible 2.5. aliases: login_password
policy_name string / required |  | Name of the retention policy.
port integer | Default: 8086 | The port on which InfluxDB server is listening
proxies dictionary added in 2.5 |  | HTTP(S) proxy to use for Requests to connect to InfluxDB server.
replication integer / required |  | Determines how many independent copies of each point are stored in the cluster.
retries integer added in 2.5 | Default: 3 | Number of retries client will try before aborting. `0` indicates try until success.

ssl
boolean
added in 2.5

Choices:
- no
- yes

Use https instead of http to connect to InfluxDB server.

timeout integer added in 2.5 |  | Number of seconds Requests will wait for client to establish a connection.
udp_port integer added in 2.5 | Default: 4444 | UDP port to connect to InfluxDB server.

use_udp
boolean
added in 2.5

Choices:
- no
- yes

Use UDP to connect to InfluxDB server.

username string | Default: "root" | Username that will be used to authenticate against InfluxDB server. Alias `login_username` added in Ansible 2.5. aliases: login_username

validate_certs
boolean
added in 2.5

Choices:
- no
- yes ←

If set to `no`, the SSL certificates will not be validated.
This should only set to `no` used on personally controlled sites using self-signed certificates.

## Examples

    # Example influxdb_retention_policy command from Ansible Playbooks
    - name: create 1 hour retention policy
      influxdb_retention_policy:
          hostname: "{{influxdb_ip_address}}"
          database_name: "{{influxdb_database_name}}"
          policy_name: test
          duration: 1h
          replication: 1
          ssl: yes
          validate_certs: yes

    - name: create 1 day retention policy
      influxdb_retention_policy:
          hostname: "{{influxdb_ip_address}}"
          database_name: "{{influxdb_database_name}}"
          policy_name: test
          duration: 1d
          replication: 1

    - name: create 1 week retention policy
      influxdb_retention_policy:
          hostname: "{{influxdb_ip_address}}"
          database_name: "{{influxdb_database_name}}"
          policy_name: test
          duration: 1w
          replication: 1

    - name: create infinite retention policy
      influxdb_retention_policy:
          hostname: "{{influxdb_ip_address}}"
          database_name: "{{influxdb_database_name}}"
          policy_name: test
          duration: INF
          replication: 1
          ssl: no
          validate_certs: no

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Kamil Szczygiel (@kamsz)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.