community.general.redis_data_incr module – Increment keys in Redis

Note

This module is part of the community.general collection (version 9.5.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. You need further requirements to be able to use this module, see Requirements for details.

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

New in community.general 4.0.0

Synopsis

  • Increment integers or float keys in Redis database and get new value.

  • Default increment for all keys is 1. For specific increments use the increment_int and increment_float options.

Requirements

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

  • redis

  • certifi

Parameters

Parameter

Comments

ca_certs

string

Path to root certificates file. If not set and tls is set to true, certifi ca-certificates will be used.

client_cert_file

string

added in community.general 9.3.0

Path to the client certificate file.

client_key_file

string

added in community.general 9.3.0

Path to the client private key file.

increment_float

float

Float amount to increment the key by.

This only works with keys that contain float values in their string representation.

increment_int

integer

Integer amount to increment the key by.

key

string / required

Database key.

login_host

string

Specify the target host running the database.

Default: "localhost"

login_password

string

Specify the password to authenticate with.

Usually not used when target is localhost.

login_port

integer

Specify the port to connect to.

Default: 6379

login_user

string

Specify the user to authenticate with.

Requires redis >= 3.4.0.

tls

boolean

Specify whether or not to use TLS for the connection.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

Specify whether or not to validate TLS certificates.

This should only be turned off for personally controlled sites or with localhost as target.

Choices:

  • false

  • true ← (default)

Attributes

Attribute

Support

Description

check_mode

Support: partial

For check_mode to work, the specified login_user needs permission to run the GET command on the key, otherwise the module will fail.

When using check_mode the module will try to calculate the value that Redis would return. If the key is not present, 0.0 is used as value.

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Notes

Note

  • Requires the redis Python package on the remote host. You can install it with pip (pip install redis) or with a package manager. Information on the library can be found at https://github.com/andymccurdy/redis-py.

See Also

See also

community.general.redis_data

Set key value pairs in Redis.

community.general.redis_data_info

Get value of key in Redis database.

community.general.redis

Various redis commands, replica and flush.

Examples

- name: Increment integer key foo on localhost with no username and print new value
  community.general.redis_data_incr:
    login_host: localhost
    login_password: supersecret
    key: foo
    increment_int: 1
  register: result
- name: Print new value
  debug:
    var: result.value

- name: Increment float key foo by 20.4
  community.general.redis_data_incr:
    login_host: redishost
    login_user: redisuser
    login_password: somepass
    key: foo
    increment_float: '20.4'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

msg

string

A short message.

Returned: always

Sample: "Incremented key: foo by 20.4 to 65.9"

value

float

Incremented value of key

Returned: on success

Sample: 4039.4

Authors

  • Andreas Botzner (@paginabianca)