よくある課題 Ansibleで条件分岐させるにはplayの中でwhen句を使用する。 1つのtrue/falseの条件があってそれぞれ実行させたいものが違う場合はplayを2つ書くことになる。 しかし正直、普通のプログラム言語ならif-elseで書けるところをplayを2つ並べないとならないというのはいささか美しさに欠ける。実行させたいものが全く違うならまだ良いが、ほとんど一緒なら尚更だ。そのほとんど一緒な部分を修正したくなったら2箇所直さなければならない。 それでも2つならとは思わなくないが、さてtrue/falseの条件分岐が3つあったとしよう。playを8つ書けって? それは勘弁して欲しい。 そんな悩みをある程度解決するのがset_factモジュールである。 set_factの使い方(基本編) set_factは変数に値をセットするモジュールである。 この値はスカラーでもシークエンス
![Ansibleのplaybookからコピペをなくすset_factモジュールの使い方 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/21b1aff1bd4a919a37920b125cb33309a841ffce/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QW5zaWJsZSVFMyU4MSVBRXBsYXlib29rJUUzJTgxJThCJUUzJTgyJTg5JUUzJTgyJUIzJUUzJTgzJTk0JUUzJTgzJTlBJUUzJTgyJTkyJUUzJTgxJUFBJUUzJTgxJThGJUUzJTgxJTk5c2V0X2ZhY3QlRTMlODMlQTIlRTMlODIlQjglRTMlODMlQTUlRTMlODMlQkMlRTMlODMlQUIlRTMlODElQUUlRTQlQkQlQkYlRTMlODElODQlRTYlOTYlQjkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTg0ZDllY2FlOGE4OWQ3YTY4Y2YwOTNiZTJkODlmMzg3%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweXVuYW5vJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04MDQ3NzM4N2JiYzFlYzdiZDlkOWRkMmQ5NDEzZDYzMg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D190590637e2f713b87e5b2678c06b57a)