6.15. カスタムファクトスキャン
カスタムファクトスキャンの Playbook は ファクトスキャン Playbook セクションの例に似ています。たとえば、カスタム scan_foo
Ansible fact モジュールのみを使用する Playbook は次のようになります。
scan_foo.py: def main(): module = AnsibleModule( argument_spec = dict()) foo = [ { "hello": "world" }, { "foo": "bar" } ] results = dict(ansible_facts=dict(foo=foo)) module.exit_json(**results) main()
scan_foo.py:
def main():
module = AnsibleModule(
argument_spec = dict())
foo = [
{
"hello": "world"
},
{
"foo": "bar"
}
]
results = dict(ansible_facts=dict(foo=foo))
module.exit_json(**results)
main()
カスタムファクトモジュールを使用するには、それがスキャンジョブテンプレートで使用される Ansible プロジェクトの /library/
サブディレクトリーに存在することを確認してください。このファクトスキャンモジュールは、ハードコードされたファクトのセットを返します。
[ { "hello": "world" }, { "foo": "bar" } ]
[
{
"hello": "world"
},
{
"foo": "bar"
}
]
詳細は、Ansible ドキュメントの モジュールの開発 セクションを参照してください。