ansible 之 setup

setup

用途:用于收集远程主机的一些基本信息

> SETUP    (/usr/lib/python2.7/site-packages/ansible-2.8.0.dev0-py2.7.egg/ansible/modules/system/setup.py)

        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 `/usr/bin/ansible' to check what variables are available to a host.
        Ansible provides many `facts' about the system, automatically. This module is
        also supported for Windows targets.

  * This module is maintained by The Ansible Core Team
OPTIONS (= is mandatory):

- fact_path
        path used for local ansible facts (`*.fact') - files in this dir will be run (if
        executable) and their results be added to `ansible_local' facts if a file is not
        executable it is read. Check notes for Windows options. (from 2.1 on)
        File/results format can be json or ini-format
        [Default: /etc/ansible/facts.d]
        version_added: 1.3

- filter
        if supplied, only return facts that match this shell-style (fnmatch) wildcard.
        [Default: *]
        version_added: 1.1

- gather_subset
        if supplied, restrict the additional facts collected to the given subset.
        Possible values: `all', `min', `hardware', `network', `virtual', `ohai', and
        `facter'. Can specify a list of values to specify a larger subset. Values can
        also be used with an initial `!' to specify that that specific subset should not
        be collected.  For instance: `!hardware,!network,!virtual,!ohai,!facter'. If
        `!all' is specified then only the min subset is collected. To avoid collecting
        even the min subset, specify `!all,!min'. To collect only specific facts, use
        `!all,!min', and specify the particular fact subsets. Use the filter parameter
        if you do not want to display some collected facts.
        [Default: all]
        version_added: 2.1

- gather_timeout
        Set the default timeout in seconds for individual fact gathering
        [Default: 10]
        version_added: 2.2


NOTES:
      * More ansible facts will be added with successive releases. If `facter' or
        `ohai' are installed, variables from these programs will also be
        snapshotted into the JSON file for usage in templating. These variables
        are prefixed with `facter_' and `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 `facter' and `ohai' means you can avoid Ruby-
        dependencies on your remote systems. (See also [facter] and [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 `filter' as this is provided by a simpler implementation of the
        module.
      * If the target host is Windows you can now use `fact_path'. Make sure that
        this path exists on the target host. Files in this path MUST be PowerShell
        scripts (``*.ps1``) and their output must be formattable in JSON (Ansible
        will take care of this). Test the output of your scripts. This option was
        added in Ansible 2.1.
      * This module is also supported for Windows targets.

AUTHOR: Ansible Core Team, Michael DeHaan, David O'Brien (@davidobrien1985)
        METADATA:
          status:
          - stableinterface
          supported_by: core
        

EXAMPLES:
# Display facts from all hosts and store them indexed by I(hostname) at C(/tmp/facts).
# ansible all -m setup --tree /tmp/facts

# Display only facts regarding memory found by ansible on all hosts and output them.
# ansible all -m setup -a 'filter=ansible_*_mb'

# Display only facts returned by facter.
# ansible all -m setup -a 'filter=facter_*'

# Collect only facts returned by facter.
# ansible all -m setup -a 'gather_subset=!all,!any,facter'

- name: Collect only facts returned by facter
  setup:
    gather_subset:
      - '!all'
      - '!any'
      - facter

# Display only facts about certain interfaces.
# ansible all -m setup -a 'filter=ansible_eth[0-2]'

# Restrict additional gathered facts to network and virtual (includes default minimum facts)
# ansible all -m setup -a 'gather_subset=network,virtual'

# Collect only network and virtual (excludes default minimum facts)
# ansible all -m setup -a 'gather_subset=!all,!any,network,virtual'

# Do not call puppet facter or ohai even if present.
# ansible all -m setup -a 'gather_subset=!facter,!ohai'

# Only collect the default minimum amount of facts:
# ansible all -m setup -a 'gather_subset=!all'

# Collect no facts, even the default minimum subset of facts:
# ansible all -m setup -a 'gather_subset=!all,!min'

# Display facts from Windows hosts with custom facts stored in C(C:\custom_facts).
# ansible windows -m setup -a "fact_path='c:\custom_facts'"

参数

  • fact_path
    默认值:/etc/ansible/facts.d

  • filter
    默认值:*

  • gether-subset
    默认值:all

  • gaher_timeout
    默认值:10

posted @ 2018-12-06 15:38  McSiberiaWolf  阅读(587)  评论(0编辑  收藏  举报