ansible.builtin.random_choice lookup – return random element from list

Note

This lookup plugin is part of ansible-core and included in all Ansible installations. In most cases, you can use the short plugin name random_choice even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same lookup plugin name.

New in version 1.1: of ansible.builtin

Synopsis

  • The ‘random_choice’ feature can be used to pick something at random. While it’s not a load balancer (there are modules for those), it can somewhat be used as a poor man’s load balancer in a MacGyver like situation.

  • At a more basic level, they can be used to add chaos and excitement to otherwise predictable automation environments.

Examples

- name: Magic 8 ball for MUDs
  ansible.builtin.debug:
    msg: "{{ item }}"
  with_random_choice:
     - "go through the door"
     - "drink from the goblet"
     - "press the red button"
     - "do nothing"

Return Values

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

Key

Description

_raw

any

random item

Returned: success

Authors

  • Michael DeHaan

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.