community.general.redis_data module – Set key value pairs in Redis

Note

This module is part of the community.general collection (version 9.4.0).

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)