web-dev-qa-db-ja.com

Ansible条件-ワイルドカード一致文字列

Ansibleタスクには次の条件があります。

when: ec2_tag_Name == 'testhost01'

正常に動作しますが、ec2_tag_Nameフィールドでワイルドカードを照合します。

だからこのようなもの

when: ec2_tag_Name == 'testhost*'

目的は、testhostxtesthost12testhostABCなどの文字列の先頭にあるtesthostに一致するものに一致することです。

これは可能ですか?動作しないようです。

5
emmdee

From Testing Strings

文字列を部分文字列または正規表現と照合するには、「一致」または「検索」フィルタを使用します

あなたの場合:

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

これも機能します。

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

andorのように論理演算子を組み合わせることができます

2
samtoddler