2016-11-24 4 views
0

いくつかのファクトを設定する必要がある、安全なモジュールmy_moduleを記述します。安全なモジュールがファクトを返す方法

私は実行my_module後、私は新たな事実にアクセスしたいが、それを行うための正しい方法は何ですか

- my_module 
- debug: msg="My new fact {{ my_data }}" 

を定義していない脚本で今すぐモジュールに以下のコード

.... 
response = { 
    "hello": "world", 
    "ansible_facts" : { 
     "my_data": "xjfdks" 
    } 
} 
module.exit_json(changed=False, meta=response) 

を定義

+0

ないansible' 'に精通したが、' response'オブジェクトを考慮し、あなたの例からすべてresponse年代の鍵を返すために

構造は '{{ansible_facts.my_data}} 'の精神の中で何かであってはなりませんか? – GillesC

+0

いいえ、この致命的なエラーが発生します:[localhost]:FAILED! => {"失敗":true、 "msg": "'ansible_facts'は未定義です"} – Shurik

答えて

0

ansible_factsは、metaではなく、モジュールの出力に直接設定する必要があります。 ansible_factsため

module.exit_json(changed=False, **response)

それとものみ:

module.exit_json(changed=False, ansible_facts=response['ansible_facts'])

関連する問題