Ansible の vars ファイルを別の vars ファイルに動的に含めることは可能ですか?
つまり、vars ファイルがあります:
---
definitions:
- { product: web_v2, suite: mysuite, include: default_step.yml }
- { product: prod2, suite: mysuite2, include: default_step.yml }
の内容をdefault_step.yml
辞書に追加したいのですが、これはvars ファイルそのため、タスクから vars ファイルを含める方法に関するドキュメントは適用されないようです。
私が考えられるのは、このファイルを jinja でテンプレート化してその{% include %}
関数を使用し、その後include_vars
メイン タスクから使用することだけですが、それは複雑そうです...
ベストアンサー1
残念ながら、vars ファイルには include ステートメントがありません。
すべての変数をdefinitions
辞書に入れることも、同じファイル内の別の辞書として変数を追加することもできます。
同じファイルにこれらを含めたくない場合は、プレイの開始時に vars ファイルを追加することで、プレイブック レベルでこれらを含めることができます。
---
- hosts: myhosts
vars_files:
- default_step.yml
またはタスク内:
---
- hosts: myhosts
tasks:
- name: include default step variables
include_vars: default_step.yml