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
|
@ -121,3 +121,21 @@ def dict_merge(a, b):
|
|||
else:
|
||||
result[k] = deepcopy(v)
|
||||
return result
|
||||
|
||||
|
||||
def recursive_diff(dict1, dict2):
|
||||
left = dict((k, v) for (k, v) in dict1.items() if k not in dict2)
|
||||
right = dict((k, v) for (k, v) in dict2.items() if k not in dict1)
|
||||
for k in (set(dict1.keys()) & set(dict2.keys())):
|
||||
if isinstance(dict1[k], dict) and isinstance(dict2[k], dict):
|
||||
result = recursive_diff(dict1[k], dict2[k])
|
||||
if result:
|
||||
left[k] = result[0]
|
||||
right[k] = result[1]
|
||||
elif dict1[k] != dict2[k]:
|
||||
left[k] = dict1[k]
|
||||
right[k] = dict2[k]
|
||||
if left or right:
|
||||
return left, right
|
||||
else:
|
||||
return None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue