mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-25 06:10:22 -07:00
Use recursive_diff for kubernetes (#45645)
Move recursive_diff from cloudfront_distribution to common.dict_transformations and reuse it in k8s modules
This commit is contained in:
parent
c20433e5e4
commit
411397a975
3 changed files with 26 additions and 30 deletions
|
@ -23,6 +23,7 @@ import os
|
|||
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.common.dict_transformations import recursive_diff
|
||||
from ansible.module_utils.six import iteritems, string_types
|
||||
|
||||
try:
|
||||
|
@ -40,12 +41,6 @@ try:
|
|||
except ImportError:
|
||||
HAS_YAML = False
|
||||
|
||||
try:
|
||||
import dictdiffer
|
||||
HAS_DICTDIFFER = True
|
||||
except ImportError:
|
||||
HAS_DICTDIFFER = False
|
||||
|
||||
try:
|
||||
import urllib3
|
||||
urllib3.disable_warnings()
|
||||
|
@ -226,12 +221,12 @@ class K8sAnsibleMixin(object):
|
|||
|
||||
@staticmethod
|
||||
def diff_objects(existing, new):
|
||||
if not HAS_DICTDIFFER:
|
||||
return False, []
|
||||
|
||||
diffs = list(dictdiffer.diff(new, existing))
|
||||
match = len(diffs) == 0
|
||||
return match, diffs
|
||||
result = dict()
|
||||
diff = recursive_diff(existing, new)
|
||||
if diff:
|
||||
result['before'] = diff[0]
|
||||
result['after'] = diff[1]
|
||||
return not diff, result
|
||||
|
||||
|
||||
class KubernetesAnsibleModule(AnsibleModule, K8sAnsibleMixin):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue