diff options
author | Sumit Jaiswal <sjaiswal@redhat.com> | 2019-08-17 23:02:36 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-17 23:02:36 +0530 |
commit | ab07c206aa647dce1bc1c6a03a9b799fe5580d5f (patch) | |
tree | 1bdeb122c90a011880abbbd589d47cb126680bfb /lib/ansible/module_utils/network/ios/utils | |
parent | c11d144302cf91f2a93a2778407ea258ca5fa3a7 (diff) | |
download | ansible-ab07c206aa647dce1bc1c6a03a9b799fe5580d5f.tar.gz |
Resource module for ios_l2_interfaces (#60344)
* ios_l2_interface checkin
Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
Diffstat (limited to 'lib/ansible/module_utils/network/ios/utils')
-rw-r--r-- | lib/ansible/module_utils/network/ios/utils/utils.py | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/lib/ansible/module_utils/network/ios/utils/utils.py b/lib/ansible/module_utils/network/ios/utils/utils.py index 3b1272c456..16a05602e6 100644 --- a/lib/ansible/module_utils/network/ios/utils/utils.py +++ b/lib/ansible/module_utils/network/ios/utils/utils.py @@ -32,6 +32,24 @@ def dict_to_set(sample_dict): test_dict = {} for k, v in iteritems(sample_dict): if v is not None: + if isinstance(v, list): + if isinstance(v[0], dict): + li = [] + for each in v: + for key, value in iteritems(each): + if isinstance(value, list): + each[key] = tuple(value) + li.extend(tuple(each.items())) + v = tuple(li) + else: + v = tuple(v) + elif isinstance(v, dict): + li = [] + for key, value in iteritems(v): + if isinstance(value, list): + v[key] = tuple(value) + li.extend(tuple(v.items())) + v = tuple(li) test_dict.update({k: v}) return_set = set(tuple(test_dict.items())) return return_set @@ -40,8 +58,15 @@ def dict_to_set(sample_dict): def filter_dict_having_none_value(want, have): # Generate dict with have dict value which is None in want dict test_dict = dict() + test_key_dict = dict() test_dict['name'] = want.get('name') for k, v in iteritems(want): + if isinstance(v, dict): + for key, value in iteritems(v): + if value is None: + dict_val = have.get(k).get(key) + test_key_dict.update({key: dict_val}) + test_dict.update({k: test_key_dict}) if v is None: val = have.get(k) test_dict.update({k: val}) @@ -61,13 +86,6 @@ def remove_duplicate_interface(commands): return set_cmd -def search_obj_in_list(name, lst): - for o in lst: - if o['name'] == name: - return o - return None - - def normalize_interface(name): """Return the normalized interface name """ |