def _recurse_config_to_dict(t_data):
    '''
    helper function to recurse through a vim object and attempt to return all child objects
    '''
    if not isinstance(t_data, type(None)):
        if isinstance(t_data, list):
            t_list = []
            for i in t_data:
                t_list.append(_recurse_config_to_dict(i))
            return t_list
        elif isinstance(t_data, dict):
            t_dict = {}
            for k, v in six.iteritems(t_data):
                t_dict[k] = _recurse_config_to_dict(v)
            return t_dict
        else:
            if hasattr(t_data, '__dict__'):
                return _recurse_config_to_dict(t_data.__dict__)
            else:
                return _serializer(t_data)
helper function to recurse through a vim object and attempt to return all child objects