tasks/main.ymlファイルからdefaults/main.yml変数を動的に設定します。デフォルトのdefaults/main.ymlの値をtasks/main.ymlから動的に設定する方法
内容は、タスクの
username:
password:
内容をmain.yml-/main.yml -
- name: Get username and password
shell: python some_script.py
register: result
さて、結果は私のユーザー名とパスワードが含まれています。デフォルト/ main.ymlの中でユーザ名とパスワードを更新する簡単な方法はありますか?現在、我々は
- name: Retrieve username
shell: echo {{ item | regex_replace('^.*:(.*)$', 'username:\\1') }} >> playbooks/defaults/main.yml
with_items: result.stdout_lines[1]
のようにこれをやっている
output should be
username: bob
password: getmein
ちょうど離れlineinfileを使用してから、それを行うための簡単な方法があるかどうかを知りたいと思いました。
変数がdefaults/main.ymlに設定されている場合は、{{username}}が直接使用できます。しかし、動的に逆方向に変数を設定するにはどうすればいいですか?
なぜあなたは 'defaults/main.yml'に書き込む必要がありますか?プレイブック/ロールでファクトとして設定しないでください(必要に応じて出力を隠すために 'no_log'パラメータを使用してください)?不可能な優先順位ではデフォルト値が最も低くなります。パスワードをロールのデフォルトにハードコードするシナリオは想像できません。理想的には、パスワードや機密情報を、 'ansoft-vault'で暗号化されたグループ変数やホスト変数ファイルに置きます。 – thankyour