0
with_items
を使用して、カスタムの安全なモジュールに渡すキーと値のペアのリストを指定しようとしています。with_itemsに渡されたときに文字列を解析できないようにする
キーまたは値の文字列がリスト形式の場合、問題が発生します。例えば、"[('a', 'b'), ('c', 'd')]"
。そのような場合、with_items
はおそらく文字列をリストに変換し、私の設定で大混乱を引き起こします。
最小限の例では、(私はdebug
モジュールを使用していますが、カスタムモジュールと動作は同じである)を再生します、このような文字列がうまく渡されwith_items
なければ
- name: with_items_test
debug: msg="{{ item.value }}"
with_items:
- { value: "[('a', 'b'), ('c', 'd')]" }
TASK [with_items_test] ********************************************************* ok: [localhost] => (item={u'value': u"[('a', 'b'), ('c', 'd')]"}) => { "item": { "value": "[('a', 'b'), ('c', 'd')]" }, "msg": [ [ "a", "b" ], [ "c", "d" ] ] }
:
- name: with_items_test
debug: msg="[('a', 'b'), ('c', 'd')]"
TASK [with_items_test] ********************************************************* ok: [localhost] => { "msg": "[('a', 'b'), ('c', 'd')]" }