class ClusterRequest {

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("{" + " clusterName=").append(clusterName)
        .append(", clusterId=").append(clusterId)
        .append(", provisioningState=").append(provisioningState)
        .append(", securityType=").append(securityType)
        .append(", stackVersion=").append(stackVersion)
        .append(", desired_scv=").append(serviceConfigVersionRequest)
        .append(", hosts=[")
        .append(hostNames != null ? String.join(",", hostNames) : StringUtils.EMPTY)
        .append("] }");
    return sb.toString();
  }

  public  ClusterRequest(Long clusterId, String clusterName,
      String stackVersion, Set<String> hostNames);
  public  ClusterRequest(Long clusterId, String clusterName,
      String provisioningState, SecurityType securityType, String stackVersion, Set<String> hostNames);
  public  ClusterRequest(Long clusterId, String clusterName,
                        String provisioningState, SecurityType securityType, String stackVersion,
                        Set<String> hostNames, Map<String, Object> sessionAttributes);

}