community.general.influxdb_user – Manage InfluxDB users

Note

This plugin is part of the community.general collection (version 3.7.0).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.influxdb_user.

Synopsis

  • Manage InfluxDB users.

Requirements

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

  • python >= 2.6

  • influxdb >= 0.9

Parameters

Parameter Choices/Defaults Comments
admin
boolean
    Choices:
  • no ←
  • yes
Whether the user should be in the admin role or not.
Since version 2.8, the role will also be updated.
grants
list / elements=dictionary
Privileges to grant to this user.
Takes a list of dicts containing the "database" and "privilege" keys.
If this argument is not provided, the current grants will be left alone.
If an empty list is provided, all grants for the user will be removed.
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
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.
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
ssl
boolean
    Choices:
  • no ←
  • yes
Use https instead of http to connect to InfluxDB server.
state
string
    Choices:
  • absent
  • present ←
State of the user.
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.
user_name
string / required
Name of the user.
user_password
string
Password to be set for the user.
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

- name: Create a user on localhost using default login credentials
  community.general.influxdb_user:
    user_name: john
    user_password: s3cr3t

- name: Create a user on localhost using custom login credentials
  community.general.influxdb_user:
    user_name: john
    user_password: s3cr3t
    login_username: "{{ influxdb_username }}"
    login_password: "{{ influxdb_password }}"

- name: Create an admin user on a remote host using custom login credentials
  community.general.influxdb_user:
    user_name: john
    user_password: s3cr3t
    admin: yes
    hostname: "{{ influxdb_hostname }}"
    login_username: "{{ influxdb_username }}"
    login_password: "{{ influxdb_password }}"

- name: Create a user on localhost with privileges
  community.general.influxdb_user:
    user_name: john
    user_password: s3cr3t
    login_username: "{{ influxdb_username }}"
    login_password: "{{ influxdb_password }}"
    grants:
      - database: 'collectd'
        privilege: 'WRITE'
      - database: 'graphite'
        privilege: 'READ'

- name: Destroy a user using custom login credentials
  community.general.influxdb_user:
    user_name: john
    login_username: "{{ influxdb_username }}"
    login_password: "{{ influxdb_password }}"
    state: absent

Authors

  • Vitaliy Zhhuta (@zhhuta)