コマンドラインでansible_userをオーバーライドする方法は?

コマンドラインでansible_userをオーバーライドする方法は?

group_vars/all.ymlデフォルトのリモートユーザーを定義した後:

ansible_user: blackknight

しかし、場合によっては、コマンドラインでそれを上書きしたいと思います。

% ansible-playbook -u kingarthur test.yml

test.yml簡単なデバッグマニュアルです

- hosts: localhost
  tasks:
    - debug: var=ansible_user

いつ実行されるかを知らせます"ansible_user": "blackknight"

非標準を持つように変数やプレイブックを変更しますが、ansible_userまだコマンドラインで指定できるようにするにはどうすればよいですか?

ベストアンサー1

~から文書:

コマンドラインで-e追加変数を使用してください。

他のすべてのカテゴリの他のすべての設定を上書きするには、追加の変数を使用するか、--extra-varsコマンド-eラインで使用できます。渡される値は-eコマンドラインオプションではなく変数であり、構成設定、コマンドラインオプション、Playbookキーワード、および他の場所に設定された変数をオーバーライドします。たとえば、これは次のようにリンクされbrianますcarol

ansible -u carol -e 'ansible_user=brian' -a whoami all

指定された変数名と値を使用する必要があります --extra-vars

おすすめ記事