#!/usr/bin/env python

from ansible.module_utils.basic import AnsibleModule


HAVE_DOCKER = True
try:
    from docker import APIClient
except ImportError:
    try:
        from docker import Client as APIClient
    except ImportError:
        HAVE_DOCKER = False


DOCUMENTATION = """
---
module: docker_facts
short_description: Inject Docker info as facts.
author: ulrich@brainbot.com
"""

EXAMPLES = """
- name: get docker facts
  docker_facts:
"""


def main():
    ansible_module = AnsibleModule(
        argument_spec=dict(),
        supports_check_mode=True
    )

    if not HAVE_DOCKER:
        ansible_module.fail_json(msg="Python library 'docker' missing.")

    try:
        ansible_module.exit_json(
            changed=False,
            ansible_facts={'docker': APIClient().info()}
        )
    except Exception as ex:
        ansible_module.fail_json(msg=str(ex))


if __name__ == '__main__':
    main()
