|
|
|
---
|
|
|
|
- hosts: localhost
|
|
|
|
# The gather_facts keyword has default values for its
|
|
|
|
# options so module_defaults doesn't have much affect.
|
|
|
|
gather_facts: no
|
|
|
|
tags:
|
|
|
|
- default_fact_module
|
|
|
|
tasks:
|
|
|
|
- name: set defaults for the action plugin
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
gather_facts:
|
|
|
|
gather_subset: min
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that: "gather_subset == ['min']"
|
|
|
|
|
|
|
|
- name: set defaults for the module
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
setup:
|
|
|
|
gather_subset: '!all'
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that: "gather_subset == ['!all']"
|
|
|
|
|
|
|
|
# Defaults for the action plugin win because they are
|
|
|
|
# loaded first and options need to be omitted for
|
|
|
|
# defaults to be used.
|
|
|
|
- name: set defaults for the action plugin and module
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
setup:
|
|
|
|
gather_subset: '!all'
|
|
|
|
gather_facts:
|
|
|
|
gather_subset: min
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that: "gather_subset == ['min']"
|
|
|
|
|
|
|
|
# The gather_facts 'smart' facts module is 'ansible.legacy.setup' by default.
|
|
|
|
# If 'setup' (the unqualified name) is explicitly requested, FQCN module_defaults
|
|
|
|
# would not apply.
|
|
|
|
- name: set defaults for the fqcn module
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
ansible.legacy.setup:
|
|
|
|
gather_subset: '!all'
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that: "gather_subset == ['!all']"
|
|
|
|
|
|
|
|
- hosts: localhost
|
|
|
|
gather_facts: no
|
|
|
|
tags:
|
|
|
|
- custom_fact_module
|
|
|
|
tasks:
|
|
|
|
- name: set defaults for the module
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
ansible.legacy.setup:
|
|
|
|
gather_subset: '!all'
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "gather_subset == ['!all']"
|
|
|
|
|
|
|
|
# Defaults for the action plugin win.
|
|
|
|
- name: set defaults for the action plugin and module
|
|
|
|
gather_facts:
|
|
|
|
module_defaults:
|
|
|
|
gather_facts:
|
|
|
|
gather_subset: min
|
|
|
|
ansible.legacy.setup:
|
|
|
|
gather_subset: '!all'
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "gather_subset == ['min']"
|
|
|
|
|
|
|
|
- hosts: localhost
|
|
|
|
gather_facts: no
|
|
|
|
tags:
|
|
|
|
- networking
|
|
|
|
tasks:
|
|
|
|
- name: test that task args aren't used for fqcn network facts
|
|
|
|
gather_facts:
|
|
|
|
gather_subset: min
|
|
|
|
vars:
|
|
|
|
ansible_network_os: 'cisco.ios.ios'
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "ansible_facts.gather_subset == '!config'"
|
|
|
|
|
|
|
|
- name: test that module_defaults are used for fqcn network facts
|
|
|
|
gather_facts:
|
|
|
|
vars:
|
|
|
|
ansible_network_os: 'cisco.ios.ios'
|
|
|
|
module_defaults:
|
|
|
|
'cisco.ios.ios_facts': {'gather_subset': 'min'}
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "ansible_facts.gather_subset == 'min'"
|
|
|
|
|
|
|
|
- name: test that task args aren't used for legacy network facts
|
|
|
|
gather_facts:
|
|
|
|
gather_subset: min
|
|
|
|
vars:
|
|
|
|
ansible_network_os: 'ios'
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "ansible_facts.gather_subset == '!config'"
|
|
|
|
|
|
|
|
- name: test that module_defaults are used for legacy network facts
|
|
|
|
gather_facts:
|
|
|
|
vars:
|
|
|
|
ansible_network_os: 'ios'
|
|
|
|
module_defaults:
|
|
|
|
'ios_facts': {'gather_subset': 'min'}
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "ansible_facts.gather_subset == 'min'"
|