diff --git a/lib/ansible/utils/helpers.py b/lib/ansible/utils/helpers.py index 997e597fb5..900e0d1ac3 100644 --- a/lib/ansible/utils/helpers.py +++ b/lib/ansible/utils/helpers.py @@ -34,8 +34,10 @@ def pct_to_int(value, num_items, min_value=1): return int(value) -def object_to_dict(obj): +def object_to_dict(obj, exclude=None): """ - Converts an object into a dict making the properties into keys + Converts an object into a dict making the properties into keys, allows excluding certain keys """ - return dict((key, getattr(obj, key)) for key in dir(obj) if not key.startswith('__')) + if exclude is None or not isinstance(exclude, list): + exclude = [] + return dict((key, getattr(obj, key)) for key in dir(obj) if not (key.startswith('_') or key in exclude))