Variables 変数


dict型からkey, valueを取り出す

keys(), values()が使えるが、python2/3で挙動が異なるため、listに変換する。

"{{ var1.keys() | list }}"
"{{ var1.values() | list }}"

変数の優先度


vars_files: 変数を別ファイルにして読み込む

動的にvars_filesを指定する


長いyamlファイルの分割


長い変数の分割


変数の動的参照

ある変数を元に別の変数を参照したい場合。


eval()のような使い方

TASK [debug] **********************************
ok: [localhost] => {
    "changed": false, 
    "hash1": {
        "key1": [
            "aaa", 
            "bbb", 
            "ccc"
        ]
    }
}

list型のマージ

ansible-playbook playbbook.yml
...
TASK [var_def + var_opt2] ****************************************************************************************************************************
ok: [localhost] => {
    "msg": [
        {
            "name": "name1",
            "options": [
                "opt1"
            ]
        },
        {
            "name": "name2",
            "options": [
                "opt2"
            ]
        },
        {
            "name": "name4",
            "options": [
                "opt4"
            ]
        }
    ]
}

TASK [var_opt1] **************************************************************************************************************************************
ok: [localhost] => {
    "var_opt1": [
        {
            "name": "name1",
            "options": [
                "opt1"
            ]
        },
        {
            "name": "name3",
            "options": [
                "opt3"
            ]
        }
    ]
}

hash型のマージ

hash型変数の場合、通常はreplaceなので全て置き換わる。


Magic Variables マジック変数


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-10-12 (木) 19:07:02