Ansibleでリストにアイテムが含まれているかどうかを確認する 質問する

Ansibleでリストにアイテムが含まれているかどうかを確認する 質問する

提供されたバージョンが有効でサポートされているバージョンかどうかを確認しようとしています。許容可能なバージョンのリストを変数に設定し、提供されたバージョンがリストにない場合はタスクを失敗させたいと思っています。ただし、その方法がわかりません。

#/role/vars/main.yml
---
  acceptable_versions: [2, 3, 4]

そして

#/role/tasks/main.yml
---
  - fail: 
      msg: "unsupported version"
      with_items: "{{acceptable_versions}}"
      when: "{{item}} != {{version}}"

  - name: continue with rest of tasks...

上記は私がやりたいことと似ていますが、fail モジュールの「リストに含まれる」呼び出しを 1 行で構築する方法があるかどうかはわかりません。

ベストアンサー1

when 条件は必要ありません{{}}。検索するものは次のとおりです。

- fail: msg="unsupported version"
  when: version not in acceptable_versions

おすすめ記事