質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

1回答

21589閲覧

Ansibleで複数の変数を1つにまとめたい

mjtddki

総合スコア12

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2016/08/30 07:40

Ansibleを使用し、redhat6の環境を構築しています。
現在、複数の変数(配列)を定義しており、あるタスク内で
3つの変数の中身を1つの変数にまとめて使用したいと考えていましたが、
その手段が把握できませんでした。

set_factを使用しても上書きしかできない認識です。

set_fact: all: "{{ item }}" with_items: - "{{ list1 }}" - "{{ list2 }}" - "{{ list3 }}"

また、unionを使用しても、2つの変数を合わせることしかできません。
3つ以上の変数の中身を1つの変数にまとめたい場合は、実現可能なのでしょうか。
手法をご教示頂けると助かります。
調べてみても分からなかったため、質問させてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

あらかじめlist変数として定義されているのであれば、set_fact内でlistを合成さればまとめられます。
Jinja2上ではlistのマージを+all_dataにはtest1,test2,test3が全部入ります。

python

1- hosts: localhost 2 connection: local 3 vars: 4 test1: 5 - aaa 6 - bbb 7 test2: 8 - ccc 9 - ddd 10 test3: 11 - eee 12 tasks: 13 - set_fact: 14 all_data: '{{ test1 }} + {{ test2 }} + {{ test3 }}' 15 - debug: var=all_data

↓↓↓

TASK [set_fact] **************************************************************** ok: [localhost] TASK [debug] ******************************************************************* ok: [localhost] => { "all_data": [ "aaa", "bbb", "ccc", "ddd", "ddd", "eee" ] }

投稿2016/08/30 08:00

attakei

総合スコア2738

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mjtddki

2016/08/30 08:40

ご回答ありがとうございます。 すみません、set_fact内でlistを合成させられるのですね・・・ リストの中身の合成が確認できました。ご教示ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問