@classmethod
def detail(cls, cluster, replication_data=False, flat=False):
    """Detailed view of a cluster."""
    result = cls.summary(cluster, flat=True)
    result.update(num_hosts=cluster.num_hosts, num_down_hosts=cluster.
        num_down_hosts, last_heartbeat=cls._normalize(cluster.
        last_heartbeat), created_at=cls._normalize(cluster.created_at),
        updated_at=cls._normalize(cluster.updated_at), disabled_reason=
        cluster.disabled_reason, replication_status=cluster.
        replication_status, frozen=cluster.frozen, active_backend_id=
        cluster.active_backend_id)
    if not replication_data:
        for field in ('replication_status', 'frozen', 'active_backend_id'):
            del result[field]
    if flat:
        return result
    return {'cluster': result}
