Update set_fact.py

Context: I recently discovered that when setting a fact, key=value pairs and complex arguments differ in how the fact is stored. For example, when attempting to use complex arguments using key=values, the result can be stored as a unicode string as opposed to an object/list/etc.

I'm hoping the above example update will better demonstrate to and instruct people to use complex arguments instead of key=value pairs in certain situations.
This commit is contained in:
Nathaniel 2015-05-09 15:51:17 -05:00 committed by Matt Clay
parent 65508bb21a
commit 935550d20d

View file

@ -40,12 +40,13 @@ version_added: "1.2"
EXAMPLES = ''' EXAMPLES = '''
# Example setting host facts using key=value pairs # Example setting host facts using key=value pairs
- set_fact: one_fact="something" other_fact="{{ local_var * 2 }}" - set_fact: one_fact="something" other_fact="{{ local_var }}"
# Example setting host facts using complex arguments # Example setting host facts using complex arguments
- set_fact: - set_fact:
one_fact: something one_fact: something
other_fact: "{{ local_var * 2 }}" other_fact: "{{ local_var * 2 }}"
another_fact: "{{ some_registered_var.results | map(attribute='ansible_facts.some_fact') | list }}"
# As of 1.8, Ansible will convert boolean strings ('true', 'false', 'yes', 'no') # As of 1.8, Ansible will convert boolean strings ('true', 'false', 'yes', 'no')
# to proper boolean values when using the key=value syntax, however it is still # to proper boolean values when using the key=value syntax, however it is still