--- - hosts: localhost gather_facts: no tasks: - set_fact: hosts_a: "{{ lookup('inventory_hostnames', 'group01', wantlist=true) }}" hosts_b: "{{ groups['group01'] }}" exclude: "{{ lookup('inventory_hostnames', 'group01:!test03', wantlist=true) }}" intersect: "{{ lookup('inventory_hostnames', 'group01:&group02', wantlist=true) }}" nogroup: "{{ lookup('inventory_hostnames', 'nogroup01', wantlist=true) }}" doesnotexist: "{{ lookup('inventory_hostnames', 'doesnotexist', wantlist=true) }}" all: "{{ lookup('inventory_hostnames', 'all', wantlist=true) }}" from_patterns: "{{ lookup('inventory_hostnames', 't?s?03', wantlist=True) }}" - assert: that: - hosts_a == hosts_b - "'test03' not in exclude" - intersect == ['test03', 'test04'] - nogroup == ['nogroup01'] - doesnotexist == [] - all|length == 12 - from_patterns == ['test03']