ansible/v1/ansible
Feanil Patel 892e230514 Don't convert nulls to strings.
This change is similar to https://github.com/ansible/ansible/pull/10465

It extends the logic there to also support none types.  Right now if you have
a '!!null' in yaml, and that var gets passed around, it will get converted to
a string.

eg. defaults/main.yml
```
ENABLE_AWESOME_FEATURE: !!null # Yaml Null
OTHER_CONFIG:
  secret1: "so_secret"
  secret2: "even_more_secret"

CONFIG:
  hostname: "some_hostname"
  features:
    awesame_feature: "{{ ENABLE_AWESOME_FEATURE}}"
  secrets: "{{ OTHER_CONFIG }}"
```

If you output `CONFIG` to json or yaml, the feature flag would get represented in the output
as a string instead of as a null, but secrets would get represented as a dictionary.  This is
a mis-match in behaviour where some "types" are retained and others are not.  This change
should fix the issue.

I also updated the template test to test for this and made the changes to v2.

Added a changelog entry specifically for the change from empty string to null as the default.

Made the null representation configurable.

It still defaults to the python NoneType but can be overriden to be an emptystring by updating
the DEFAULT_NULL_REPRESENTATION config.
2015-08-19 18:35:07 -04:00
..
cache Making the switch to v2 2015-05-03 21:47:26 -05:00
callback_plugins Making the switch to v2 2015-05-03 21:47:26 -05:00
inventory Resync the v1 directory with v1_last. Fixes #11162 2015-06-04 11:36:01 -05:00
module_utils Moving VMware Utilites module 2015-07-29 17:16:15 -04:00
modules Updating v1/ansible/modules/core/ to use the v1_modules branch 2015-06-01 16:50:18 -05:00
playbook Making the switch to v2 2015-05-03 21:47:26 -05:00
runner Delimiter param must be a string 2015-07-25 15:47:13 +05:30
utils Don't convert nulls to strings. 2015-08-19 18:35:07 -04:00
__init__.py Making the switch to v2 2015-05-03 21:47:26 -05:00
callbacks.py Merge branch 'v2_final' into devel_switch_v2 2015-05-28 15:26:03 -05:00
color.py Making the switch to v2 2015-05-03 21:47:26 -05:00
constants.py Resync the v1 directory with v1_last. Fixes #11162 2015-06-04 11:36:01 -05:00
errors.py Making the switch to v2 2015-05-03 21:47:26 -05:00
module_common.py made special treatment of certain filesystem for selinux configurable 2015-05-15 13:52:27 -04:00