問題タブ [ansible-template]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - Ansible テンプレートをファクト変数にレンダリングする
Ansible テンプレートをファクトにレンダリングする方法はありますか? 解決策を見つけようとしましたが、一時ファイルが唯一の方法であるようです。
ansible - Ansible テンプレートは、テンプレートの配列に「u」を追加します
私はvars
私のansibleプレイブックの中に次のものを持っています。私は次の構造を得ました
そして、私の内部に次のものを持っていますconf.j2
VM に入ってファイルを見ると、次のようになります。
出力
配列内のuに注意してください。sans
期待される出力
なぜこれが起こっているのですか、どうすれば修正できますか?
ansible - Ansible タスクで変数を登録し、テンプレートで使用する
Ansible タスクで、テンプレートのチェック ステートメントとして使用できるように変数を登録する方法。タスクは次のとおりです。
vhost のテンプレートでlisten 80
は、常に利用可能であり、証明書が利用可能な場合にのみブロックを追加したいlisten 443
:
上記のケースを実行すると、2 番目のサーバー ブロックが実行されません。これは、vhost 構成にサーバー listen 80 のみが出力されることを意味します。
ただし、True for ステートメントを削除してテンプレートにif
追加すると、エラーが発生します。stat.exists
エラーは
"msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'stat'
、変数を登録する前に stat モジュールを使用したにもかかわらずです。
Ansible タスクで定義された変数を渡し、Jinja2 テンプレートで使用する他の方法はありますか?
- debug: var=ssl_cert_check
の前にタスクによって表示される値Create vhost from template
は次のとおりです。
ansible - Ansibleのセットアップモジュールの出力からリストの最初の要素を取得する方法は?
セットアップ モジュールから次のデータを受け取りました。
ansible_processor
の最初の値を取得して、Jinja2 テンプレートで使用したいと考えています。
を使用する{{ ansible_processor }}
と、両方の値が得られます。
しかし、私は最初のものだけが欲しいです。
ansible - テンプレート モジュールは複数のテンプレート/ディレクトリを処理できますか?
私は、Ansibleコピー モジュールが大量の「ファイル」を取り、それらを 1 回のヒットでコピーできると信じています。これは、ディレクトリを再帰的にコピーすることで実現できると思います。
Ansibleテンプレート モジュールは、大量の「テンプレート」を取得して、それらを 1 回のヒットでデプロイできますか? テンプレートのフォルダーを展開して再帰的に適用するようなことはありますか?
ansible - glob パターンを持つファイルを単一の値として連結する方法は?
authorized_keys
Ansible で特定のユーザーのエントリを作成するかなり単純なプレイブックがあります。
そのディレクトリには約 6 つの公開鍵ファイルがあります。改行で区切られたすべてのキーを使用して、単一のファイルコンテンツをフォーマットしようとしています。
これは、Ansible docs で提案されているものです:
エクスクルーシブ
他のすべての指定されていないキーをauthorized_keysファイルから削除するかどうか。複数のキーを改行で区切ることにより、単一のキー文字列値に複数のキーを指定できます。このオプションはループに対応していないため、 を使用する
with_
と、ループの反復ごとに排他的になります。ファイルに複数のキーが必要な場合は、key
上記のように単一のバッチでそれらすべてを渡す必要があります。
ファイルグロブを使用して、public_keys/*.pub
ここで一致するすべてのファイルを単一のキーに連結して、排他性を維持し、必要に応じてキーを適切に削除するにはどうすればよいですか?
ansible - 条件に基づいて Ansible テンプレートで連結文字列変数を設定する方法
ホスト間で変更できるテンプレートに文字列を作成する必要があり、次の形式にする必要があります: "cores": "0,1,2,3"
この例で文字列が「0,1,2,3」になっているのは、ホストに 4 つのプロセッサ コアがあるためです。
そのため、複雑すぎると思われる何かに行き詰まり、テンプレートファイルでこの core_count 変数を使用する方法さえわかりません。