when list of strings NOT IN hostname

I’m trying to get a configuration deployed to a large group of hosts except for a few specific ones. I am trying very hard to not use an inventory group to manage this. I’ve tried a few different methods and cannot seem to get it to work. Here are examples of what I’ve tried:

when: ‘“abc”:“def”:“ghi” not in inventory_hostname’

when: ‘“[abc, def, ghi]” not in inventory_hostname’

when: ‘“{{ item }}” not in inventory_hostname’
with_items:

  • abc
  • def
  • ghi

Thoughts?

I am not sure why you would be avoiding inventory groups, since they’re built for this purpose…but you probably want:

when: “abc” not in inventory_hostname and “def” not in inventory_hostname and “ghi” not in inventory_hostname

-Tim

Thanks, Tim that is very helpful. I have a ton of groups already and am trying to minimize them and not pile on.

I could do this with host_vars (since it is lines in configuration files that are different). I didn’t think of that until I read your response so I definitely am thankful.