def METHOD_NAME(cloud, prefix, config):
    _conf = {}
    for _c in config:
        cluster = _c.get("ceph-cluster")
        name = cluster.get("name")
        _conf[name] = {}
        LOG.info(f"Gathering info for cluster '{name}'")
        for key in cluster.keys():
            if "node" not in key:
                continue
            # Create node
            node_name = f"{name}-{prefix}-{key}"
            LOG.info(f"Collecting info for node '{node_name}'")
            node = Node(node_name, cloud)
            if not node.state:
                LOG.error(f"Failed to get status for node '{node_name}'")
                continue
            # Update node details
            _conf[name][node_name] = {}
            _conf[name][node_name]["hostname"] = node.name
            _conf[name][node_name]["id"] = key
            _conf[name][node_name]["credentials"] = [
                {"user": "root", "password": ROOT_PASSWD}
            ]
            _conf[name][node_name]["roles"] = cluster.get(key, {}).get("role")
            if node.private_ips:
                _conf[name][node_name]["private_ips"] = node.private_ips
            if node.public_ips:
                _conf[name][node_name]["public_ips"] = node.public_ips
            if node.volumes:
                _conf[name][node_name]["devices"] = [
                    d for v in node.volumes for d in Volume(v, cloud).device
                ]
    return _conf