On this page
community.general.influxdb_retention_policy – Manage InfluxDB retention policies
Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
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
         | 
      
        
        Determines how long InfluxDB should keep the data. If specified, it should be  
       INF or at least one hour. If not specified, INF is assumed. Supports complex duration expressions with multiple units.
       
        Required only if state is set to  present.
        | 
     |
| 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
         | 
      
        
        Determines how many independent copies of each point are stored in the cluster.
        
       
        Required only if state is set to  present.
        | 
     |
| 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 time range covered by a shard group. If specified it must be at least one hour. If none, it's determined by InfluxDB by the rentention policy's duration. Supports complex duration expressions with multiple units.
         | 
     |
| ssl
        
        boolean
         | 
      
       
  | 
      
        
        Use https instead of http to connect to InfluxDB server.
         | 
     
| state
        
        string
        
       
        added in 3.1.0 of community.general
         | 
      
       
  | 
      
        
        State of the retention policy.
         | 
     
| 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_username added 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  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
      state: present
- 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
      state: present
- 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
      state: present
- 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
      state: present
- name: Create retention policy with complex durations
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: 5d1h30m
      replication: 1
      ssl: no
      validate_certs: no
      shard_group_duration: 1d10h30m
      state: present
- name: Drop retention policy
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      state: absent
  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/latest/collections/community/general/influxdb_retention_policy_module.html