ill be formatted by Ansible as json so the
              script should be outputting a raw hashtable, array, or other primitive object.
        type: path
        default: /etc/ansible/facts.d
description:
    - This module is automatically called by playbooks to gather useful
      variables about remote hosts that can be used in playbooks. It can also be
      executed directly by C(/usr/bin/ansible) to check what variables are
      available to a host. Ansible provides many I(facts) about the system,
      automatically.
    - This module is also supported for Windows targets.
extends_documentation_fragment:
  -  action_common_attributes
  -  action_common_attributes.facts
attributes:
    check_mode:
        support: full
    diff_mode:
        support: none
    facts:
        support: full
    platform:
        platforms: posix, windows
notes:
    - More ansible facts will be added with successive releases. If I(facter) or
      I(ohai) are installed, variables from these programs will also be snapshotted
      into the JSON file for usage in templating. These variables are prefixed
      with C(facter_) and C(ohai_) so it's easy to tell their source. All variables are
      bubbled up to the caller. Using the ansible facts and choosing to not
      install I(facter) and I(ohai) means you can avoid Ruby-dependencies on your
      remote systems. (See also M(community.general.facter) and M(community.general.ohai).)
    - The filter option filters only the first level subkey below ansible_facts.
    - If the target host is Windows, you will not currently have the ability to use
      C(filter) as this is provided by a simpler implementation of the module.
    - This module should be run with elevated privileges on BSD systems to gather facts like ansible_product_version.
    - For more information about delegated facts,
      please check U(https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#delegating-facts).
author:
    - "Ansible Core Team"
    - "Michael DeHaan"
a