2 votes

Comment tester si une valeur est `omit` ?

Je dois filtrer omit à partir d'une liste, par exemple :

# host_vars file
my_list:
- foo
- omit
- bar

pour obtenir la liste ['foo', 'bar'] .

J'ai essayé my_list|reject('eq', omit) ainsi que my_list|reject('sameas', omit) mais aucun n'a fonctionné. Il semble que omit (du moins celles utilisées dans les différentes parties d'un playbook) sont différentes.

1voto

fields Points 708

Il s'est avéré que c'était une erreur assez stupide. Dans le fichier YAML omit est une simple chaîne de caractères. Pour passer la variable spéciale, il faut l'entourer d'accolades de modélisation {{ }} :

# host_vars file
my_list:
- foo
- "{{ omit }}"
- bar

Dans ce cas |reject('eq', omit) fonctionne comme prévu !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X