community.general.influxdb_retention_policy – Manage InfluxDB retention policies

Note

This plugin is part of the community.general collection (version 2.5.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
    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
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.
0 indicates 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 h for hours, d for days, and w for weeks. For example 10d, 1h, 2w.
ssl
boolean
    Choices:
  • no ←
  • yes
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
    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
    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
  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)