parent
1da47bfa8c
commit
7f0bf0a98a
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
minor_changes:
|
||||
- added config toggle for YAML duplicate dict key warnings
|
|
@ -1253,6 +1253,17 @@ DOCSITE_ROOT_URL:
|
|||
ini:
|
||||
- {key: docsite_root_url, section: defaults}
|
||||
version_added: "2.8"
|
||||
DUPLICATE_DICT_KEY_WARNINGS:
|
||||
name: Toggle warnings for duplicate dict keys in YAML
|
||||
default: True
|
||||
description:
|
||||
- By default Ansible will issue a warning when a duplicate dict key is encountered in YAML.
|
||||
- These warnings can be silenced by adjusting this setting to False.
|
||||
env: [{name: ANSIBLE_DUPLICATE_DICT_KEY_WARNINGS}]
|
||||
ini:
|
||||
- {key: duplicate_dict_key_warnings, section: defaults}
|
||||
type: boolean
|
||||
version_added: "2.9"
|
||||
ERROR_ON_MISSING_HANDLER:
|
||||
name: Missing handler error
|
||||
default: True
|
||||
|
|
|
@ -22,6 +22,7 @@ __metaclass__ = type
|
|||
from yaml.constructor import SafeConstructor, ConstructorError
|
||||
from yaml.nodes import MappingNode
|
||||
|
||||
from ansible import constants as C
|
||||
from ansible.module_utils._text import to_bytes
|
||||
from ansible.parsing.yaml.objects import AnsibleMapping, AnsibleSequence, AnsibleUnicode
|
||||
from ansible.parsing.yaml.objects import AnsibleVaultEncryptedUnicode
|
||||
|
@ -70,8 +71,9 @@ class AnsibleConstructor(SafeConstructor):
|
|||
"found unacceptable key (%s)" % exc, key_node.start_mark)
|
||||
|
||||
if key in mapping:
|
||||
display.warning(u'While constructing a mapping from {1}, line {2}, column {3}, found a duplicate dict key ({0}).'
|
||||
u' Using last defined value only.'.format(key, *mapping.ansible_pos))
|
||||
if C.DUPLICATE_DICT_KEY_WARNINGS:
|
||||
display.warning(u'While constructing a mapping from {1}, line {2}, column {3}, found a duplicate dict key ({0}).'
|
||||
u' Using last defined value only.'.format(key, *mapping.ansible_pos))
|
||||
|
||||
value = self.construct_object(value_node, deep=deep)
|
||||
mapping[key] = value
|
||||
|
|
Loading…
Reference in New Issue