web-dev-qa-db-fra.com

Conditions Ansible - Chaîne de correspondance avec caractères génériques

J'ai le conditionnel suivant dans une tâche Ansible:

when: ec2_tag_Name == 'testhost01'

Cela fonctionne bien, mais je voudrais faire correspondre un caractère générique sur le ec2_tag_Name champ.

Donc quelque chose comme ça

when: ec2_tag_Name == 'testhost*'

Le but est de faire correspondre quelque chose comme testhostxtesthost12testhostABC etc etc juste tout ce qui correspond à testhost au début de la chaîne.

Est-ce possible? Je n'arrive pas à le faire fonctionner.

5
emmdee

De Test des chaînes :

Pour faire correspondre des chaînes à une sous-chaîne ou à une expression régulière, utilisez le filtre "match" ou "recherche"

Dans ton cas:

when: ec2_tag_Name is match("testhost.*")
6
Gerald Schneider

Cela fonctionne également.

when: "ec2_tag_Name.startswith('testhost')"

Vous pouvez également combiner des opérateurs logiques comme et et o

2
samtoddler