ansible.builtin.random_choice – return random element from list


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

New in version 1.1: of ansible.builtin


  • 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.


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


  • Michael DeHaan

There were some errors parsing the documentation for this plugin. Please file a bug with the collection.

The errors were:

  • Unable to normalize random_choice: return due to: 1 validation error for PluginReturnSchema
    return -> _raw -> type
      string does not match regex "^(bool|complex|dict|float|int|list|str)$" (type=value_error.str.regex; pattern=^(bool|complex|dict|float|int|list|str)$)