def METHOD_NAME(self) -> Dict[str, Dict[str, Variant]]:
    results: Dict[str, Dict[str, Variant]] = {}
    for filename in glob.glob(f'{self.path}/*.json'):
        with open(filename) as fp:
            try:
                contents = json.load(fp)
            except json.JSONDecodeError:
                logger.warning('Invalid JSON in file %s.  Ignoring.', filename)
                continue
            # merge
            for hostname, attrs in contents.items():
                results[hostname] = {key: Variant(value) for key, value in attrs.items()}
    return results