community.general.cartesian – returns the cartesian product of lists


This plugin is part of the community.general collection (version 4.2.0).

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.

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


  • Takes the input lists and returns a list that represents the product of the input lists.

  • It is clearer with an example, it turns [1, 2, 3], [a, b] into [1, a], [1, b], [2, a], [2, b], [3, a], [3, b]. You can see the exact syntax in the examples section.


Parameter Choices/Defaults Configuration Comments
string / required
a set of lists


- name: Example of the change in the description
    msg: "{{ lookup('community.general.cartesian', [1,2,3], [a, b])}}"

- name: loops over the cartesian product of the supplied lists
    msg: "{{item}}"
    - "{{list1}}"
    - "{{list2}}"
    - [1,2,3,4,5,6]

Return Values

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

Key Returned Description
list / elements=list
list of lists composed of elements of the input lists


  • Unknown (!UNKNOWN)