Ansibleで既存の変数に文字列を追加するには、Jinja2のテンプレート構文を使用して文字列を結合します。以下の例では、変数ec2_name
に”machine”という文字列が格納されていると仮定し、その変数にさらに文字列を追加して”machine – root”と表示する方法を示します。
プレイブック例
- name: Add string to existing variable and display
hosts: localhost
gather_facts: no
vars:
ec2_name: "machine"
tasks:
- name: Concatenate string to ec2_name
set_fact:
ec2_name_full: "{{ ec2_name }} - root"
- name: Display the concatenated string
debug:
msg: "{{ ec2_name_full }}"
説明
- 変数の定義:
vars
セクションで、変数ec2_name
に”machine”という文字列を定義します。
- 文字列の結合:
set_fact
モジュールを使用して、新しい変数ec2_name_full
を作成し、{{ ec2_name }} - root
という形式で文字列を結合します。
- 結合した文字列の表示:
debug
モジュールを使用して、ec2_name_full
変数の内容を表示します。
実行結果
このプレイブックを実行すると、以下のような出力が得られます:
TASK [Display the concatenated string]
*******************************************************************************************
ok: [localhost] => {
"msg": "machine - root"
}
このように、AnsibleではJinja2テンプレートを使用して変数を操作し、文字列を簡単に結合することができます。