端くれプログラマの備忘録 Ansible [Ansible] 既存の変数に文字列を追加する

[Ansible] 既存の変数に文字列を追加する

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 }}"

説明

  1. 変数の定義:
    • varsセクションで、変数ec2_nameに”machine”という文字列を定義します。
  2. 文字列の結合:
    • set_factモジュールを使用して、新しい変数ec2_name_fullを作成し、{{ ec2_name }} - rootという形式で文字列を結合します。
  3. 結合した文字列の表示:
    • debugモジュールを使用して、ec2_name_full変数の内容を表示します。

実行結果

このプレイブックを実行すると、以下のような出力が得られます:

TASK [Display the concatenated string]
*******************************************************************************************
ok: [localhost] => {
    "msg": "machine - root"
}

このように、AnsibleではJinja2テンプレートを使用して変数を操作し、文字列を簡単に結合することができます。