community.general.redis_data module – Set key value pairs 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.

New in community.general 3.7.0

Synopsis

  • Set key value pairs in Redis database.

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.

existing

boolean

Only set key if it already exists.

Choices:

  • false

  • true

expiration

integer

Expiration time in milliseconds. Setting this flag will always result in a change in the database.

keep_ttl

boolean

Retain the time to live associated with the key.

Choices:

  • false

  • true

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.

non_existing

boolean

Only set key if it does not already exist.

Choices:

  • false

  • true

state

string

State of the key.

Choices:

  • "present" ← (default)

  • "absent"

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)

value

string

Value that key should be set to.

Attributes

Attribute

Support

Description

check_mode

Support: full

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_incr

Increment keys 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: Set key foo=bar on localhost with no username
  community.general.redis_data:
    login_host: localhost
    login_password: supersecret
    key: foo
    value: bar
    state: present

- name: Set key foo=bar if non existing with expiration of 30s
  community.general.redis_data:
    login_host: localhost
    login_password: supersecret
    key: foo
    value: bar
    non_existing: true
    expiration: 30000
    state: present

- name: Set key foo=bar if existing and keep current TTL
  community.general.redis_data:
    login_host: localhost
    login_password: supersecret
    key: foo
    value: bar
    existing: true
    keep_ttl: true

- name: Set key foo=bar on redishost with custom ca-cert file
  community.general.redis_data:
    login_host: redishost
    login_password: supersecret
    login_user: someuser
    validate_certs: true
    ssl_ca_certs: /path/to/ca/certs
    key: foo
    value: bar

- name: Delete key foo on localhost with no username
  community.general.redis_data:
    login_host: localhost
    login_password: supersecret
    key: foo
    state: absent

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: "Set key: foo to bar"

old_value

string

Value of key before setting.

Returned: on_success if state=present and key exists in database.

Sample: "old_value_of_key"

value

string

Value key was set to.

Returned: on success if state=present.

Sample: "new_value_of_key"

Authors

  • Andreas Botzner (@paginabianca)