実現したいこと
実行するコマンド
ansible-playbook playbook.yml -e "server_group=group1"
vars/main.ymlに登録している変数group1として引数を取得したいです。
まず最初に引数(server_group=group1)を指定して、変数hoge_groupにgroup1を代入します。
playbook 14行目のecho "{{ hoge_group }}" は echo "{{ group1 }}"となることを想定しており
実行結果は hoge1.co.jp と hoge2.co.jp が出力されることを期待しているのですが
実際の結果は group1 がそのまま出力されます。
変数group1として取得出来る方法がありましたらご教授頂けないでしょうか。
宜しくお願い致します。
期待する実行結果
hoge1.co.jp hoge2.co.jp
実際の実行結果
group1
該当のソースコード
playbook.yml
1--- 2- name: Release Playbook 3 hosts: localhost 4 gather_facts: false 5 6 vars_files:group1 7 - ./roles/hoge/vars/main.yml 8 9 vars: 10 hoge_group: "{{ server_group }}" 11 12 tasks: 13 - name: Echo 14 ansible.builtin.command: echo "{{ hoge_group }}" 15 register: hoge_echo 16 - name: Result 17 ansible.builtin.debug: 18 msg: "{{ hoge_echo }}"
vars/main.yml
1--- 2group1: 3 - hoge1.co.jp 4 - hoge2.co.jp
試したこと
msg: "{{ group1 }}" を直接playbookに記載して確認すると、きちんと下記のように変数が展開されます。
hoge1.co.jp hoge2.co.jp

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/08/15 06:58
2023/08/15 10:47 編集
2023/08/15 13:05
2023/08/15 13:26