2016-07-15 7 views
2

私は、それが実行されているマシンのホスト名に特定の文字列が含まれている場合にのみ、他のロールに依存する不可欠なロールを作成しようとしています。たとえば、不可能な条件で大文字と小文字の区別を無視しますか?

dependencies: 
- { role: example-role, when: "'hostname' in ansible_hostname" } 

これは、マシンのホスト名に「hostname」というフレーズが含まれている場合に実行されます。しかし、私たちのビル内のマシンの多くは大文字のホスト名を持っています。例えば、ホスト名には "HOSTNAME"が含まれているかもしれません。この場合、上記のステートメントは機能しません。どのように私はこの作業を行うことができます(行を複製し、 "ホスト名"をすべて大文字にします)。

答えて

4

文字列を小文字に変換してチェックしてください。このように:

dependencies: 
- { role: example-role, when: "'hostname'|lower in ansible_hostname|lower" } 
+0

入力が小文字であることを確認するにはどうすればよいですか? –

+0

これは "| lower"のためのものです。 –

+0

それを入手しました...私はちょうど '' hostname''の直後に '' hostname ''のように '' lowername 'を適用しなければなりませんでした: '' hostname' | ansolute_hostname | lower "の下位 –

関連する問題