Ansibleでvarsファイルにvarsファイルを含めるにはどうすればいいですか? 質問する

Ansibleでvarsファイルにvarsファイルを含めるにはどうすればいいですか? 質問する

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

おすすめ記事