community.general.influxdb_retention_policy – Manage InfluxDB retention policies
Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.influxdb_retention_policy.
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  | 
 | 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_passwordadded in Ansible 2.5.aliases: login_password | 
| path  string   added in 0.2.0 of community.general  | The path on which InfluxDB server is accessible Only available when using python-influxdb >= 5.1.0 | |
| policy_name  string / required  | Name of the retention policy. | |
| port  integer  | Default: 8086 | The port on which InfluxDB server is listening | 
| proxies  dictionary  | 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  | Default: 3 | Number of retries client will try before aborting. 0indicates try until success.Only available when using python-influxdb >= 4.1.0 | 
| shard_group_duration  string   added in 2.0.0 of community.general  | Determines the size of a shard group. Value needs to be integer literal followed immediately (with no spaces) by a duration unit. Supported duration units are  hfor hours,dfor days, andwfor weeks. For example10d,1h,2w. | |
| ssl  boolean  | 
 | Use https instead of http to connect to InfluxDB server. | 
| timeout  integer  | Number of seconds Requests will wait for client to establish a connection. | |
| udp_port  integer  | Default: 4444 | UDP port to connect to InfluxDB server. | 
| use_udp  boolean  | 
 | Use UDP to connect to InfluxDB server. | 
| username  string  | Default: "root" | Username that will be used to authenticate against InfluxDB server. Alias  login_usernameadded in Ansible 2.5.aliases: login_username | 
| validate_certs  boolean  | 
 | If set to  no, the SSL certificates will not be validated.This should only set to  noused on personally controlled sites using self-signed certificates. | 
Examples
# Example influxdb_retention_policy command from Ansible Playbooks
- name: Create 1 hour retention policy
  community.general.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 with 1 hour shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: 1d
      replication: 1
      shard_group_duration: 1h
- name: Create 1 week retention policy with 1 day shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: 1w
      replication: 1
      shard_group_duration: 1d
- name: Create infinite retention policy with 1 week of shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: INF
      replication: 1
      ssl: no
      validate_certs: no
      shard_group_duration: 1w
  Authors
- Kamil Szczygiel (@kamsz)
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/community/general/influxdb_retention_policy_module.html