#!/usr/bin/python3

from ansible.module_utils.basic import AnsibleModule

from ansible.module_utils.load_dir import load_dir


class LoadObjectsFomDir(object):
    def __init__(self, module):
        self.module = module
        self.directory = self.module.params["directory"]
        self.fact = self.module.params["fact"]
        self.flatten = self.module.params["flatten"]

    def main(self):
        data = load_dir(self.directory, flatten=self.flatten)

        self.module.exit_json(changed=False, ansible_facts={self.fact: data})


def main():
    module = AnsibleModule(
        argument_spec=dict(
            directory=dict(default=None, required=True),
            fact=dict(default=None, required=True),
            flatten=dict(default=False, type='bool', required=False),
        ),
        supports_check_mode=True
    )

    LoadObjectsFomDir(module).main()


if __name__ == '__main__':
    main()
