content: /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package org.apache.ambari.server.state;
  
  import com.fasterxml.jackson.annotation.JsonProperty;
  
  import io.swagger.annotations.ApiModelProperty;
  
  /**
   * Cluster Health Report (part of Clusters API response)
   */
  public class ClusterHealthReport {
  
    private static final String HOST_STALE_CONFIG = "Host/stale_config";
    private static final String HOST_MAINTENANCE_STATE = "Host/maintenance_state";
    private static final String HOST_HOST_STATE_HEALTHY = "Host/host_state/HEALTHY";
    private static final String HOST_HOST_STATE_UNHEALTHY = "Host/host_state/UNHEALTHY";
    private static final String HOST_HOST_STATE_INIT = "Host/host_state/INIT";
    private static final String HOST_HOST_STATUS_HEALTHY = "Host/host_status/HEALTHY";
    private static final String HOST_HOST_STATUS_UNHEALTHY = "Host/host_status/UNHEALTHY";
    private static final String HOST_HOST_STATUS_UNKNOWN = "Host/host_status/UNKNOWN";
    private static final String HOST_HOST_STATUS_ALERT = "Host/host_status/ALERT";
    private static final String HOST_HOST_STATE_HEARTBEAT_LOST = "Host/host_state/HEARTBEAT_LOST";
  
    private int staleConfigsHosts;
    private int maintenanceStateHosts;
  
    private int healthyStateHosts;
    private int unhealthyStateHosts;
    private int heartbeatLostStateHosts;
    private int initStateHosts;
  
    private int healthyStatusHosts;
    private int unhealthyStatusHosts;
    private int unknownStatusHosts;
    private int alertStatusHosts;
  
    /**
     * @return number of hosts having stale_config set to true
     */
    @JsonProperty(HOST_STALE_CONFIG)
    @ApiModelProperty(name = HOST_STALE_CONFIG)
    public int getStaleConfigsHosts() {
      return staleConfigsHosts;
    }
  
    /**
     * @param staleConfigsHosts number of hosts having stale_config set to true
     */
    public void setStaleConfigsHosts(int staleConfigsHosts) {
      this.staleConfigsHosts = staleConfigsHosts;
    }
  
    /**
     * @return number of hosts having maintenance state on
     */
    @JsonProperty(HOST_MAINTENANCE_STATE)
    @ApiModelProperty(name = HOST_MAINTENANCE_STATE)
    public int getMaintenanceStateHosts() {
      return maintenanceStateHosts;
    }
  
    /**
     * @param maintenanceStateHosts number of hosts having maintenance state on
     */
    public void setMaintenanceStateHosts(int maintenanceStateHosts) {
      this.maintenanceStateHosts = maintenanceStateHosts;
    }
  
    /**
     * @return number of hosts having host state HEALTHY
     */
    @JsonProperty(HOST_HOST_STATE_HEALTHY)
    @ApiModelProperty(name = HOST_HOST_STATE_HEALTHY)
    public int getHealthyStateHosts() {
      return healthyStateHosts;
    }
  
    /**
     * @param healthyStateHosts number of hosts having host state HEALTHY
     */
    public void setHealthyStateHosts(int healthyStateHosts) {
      this.healthyStateHosts = healthyStateHosts;
    }
  
    /**
     * @return number of hosts having host state UNHEALTHY
     */
    @JsonProperty(HOST_HOST_STATE_UNHEALTHY)
    @ApiModelProperty(name = HOST_HOST_STATE_UNHEALTHY)
    public int getUnhealthyStateHosts() {
      return unhealthyStateHosts;
    }
  
    /**
     * @param unhealthyStateHosts number of hosts having host state UNHEALTHY
     */
    public void setUnhealthyStateHosts(int unhealthyStateHosts) {
      this.unhealthyStateHosts = unhealthyStateHosts;
    }
  
    /**
     * @return number of hosts having host state INIT
     */
    @JsonProperty(HOST_HOST_STATE_INIT)
    @ApiModelProperty(name = HOST_HOST_STATE_INIT)
    public int getInitStateHosts() {
      return initStateHosts;
    }
  
    /**
     * @param initStateHosts number of hosts having host state INIT
     */
    public void setInitStateHosts(int initStateHosts) {
      this.initStateHosts = initStateHosts;
    }
  
    /**
     * @return number of hosts having host status HEALTHY
     */
    @JsonProperty(HOST_HOST_STATUS_HEALTHY)
    @ApiModelProperty(name = HOST_HOST_STATUS_HEALTHY)
    public int getHealthyStatusHosts() {
      return healthyStatusHosts;
    }
  
    /**
     * @param healthyStatusHosts number of hosts having host status HEALTHY
     */
    public void setHealthyStatusHosts(int healthyStatusHosts) {
      this.healthyStatusHosts = healthyStatusHosts;
    }
  
    /**
     * @return number of hosts having host status UNHEALTHY
     */
    @JsonProperty(HOST_HOST_STATUS_UNHEALTHY)
    @ApiModelProperty(name = HOST_HOST_STATUS_UNHEALTHY)
    public int getUnhealthyStatusHosts() {
      return unhealthyStatusHosts;
    }
  
    /**
     * @param unhealthyStatusHosts number of hosts having host status UNHEALTHY
     */
    public void setUnhealthyStatusHosts(int unhealthyStatusHosts) {
      this.unhealthyStatusHosts = unhealthyStatusHosts;
    }
  
    /**
     * @return number of hosts having host status UNKNOWN
     */
    @JsonProperty(HOST_HOST_STATUS_UNKNOWN)
    @ApiModelProperty(name = HOST_HOST_STATUS_UNKNOWN)
    public int getUnknownStatusHosts() {
      return unknownStatusHosts;
    }
  
    /**
     * @param unknownStatusHosts number of hosts having host status UNKNOWN
     */
    public void setUnknownStatusHosts(int unknownStatusHosts) {
      this.unknownStatusHosts = unknownStatusHosts;
    }
  
    /**
     * @return number of hosts having host status ALERT
     */
    @JsonProperty(HOST_HOST_STATUS_ALERT)
    @ApiModelProperty(name = HOST_HOST_STATUS_ALERT)
    public int getAlertStatusHosts() {
      return alertStatusHosts;
    }
  
    /**
     * @param alertStatusHosts number of hosts having host status ALERT
     */
    public void setAlertStatusHosts(int alertStatusHosts) {
      this.alertStatusHosts = alertStatusHosts;
    }
  
    /**
     * @return number of hosts having host status HEARTBEAT_LOST
     */
    @JsonProperty(HOST_HOST_STATE_HEARTBEAT_LOST)
    @ApiModelProperty(name = HOST_HOST_STATE_HEARTBEAT_LOST)
    public int getHeartbeatLostStateHosts() {
      return heartbeatLostStateHosts;
    }
  
    /**
     * @param heartbeatLostStateHosts number of hosts
     *                                having host status HEARTBEAT_LOST
     */
    public void setHeartbeatLostStateHosts(int heartbeatLostStateHosts) {
      this.heartbeatLostStateHosts = heartbeatLostStateHosts;
    }
  
    public ClusterHealthReport() {
  
    }
  
    @Override
    public String toString() {
      return "ClusterHealthReport{" +
        "staleConfigsHosts=" + staleConfigsHosts +
        ", maintenanceStateHosts=" + maintenanceStateHosts +
        ", healthyStateHosts=" + healthyStateHosts +
        ", unhealthyStateHosts=" + unhealthyStateHosts +
        ", heartbeatLostStateHosts=" + heartbeatLostStateHosts +
        ", initStateHosts=" + initStateHosts +
        ", healthyStatusHosts=" + healthyStatusHosts +
        ", unhealthyStatusHosts=" + unhealthyStatusHosts +
        ", unknownStatusHosts=" + unknownStatusHosts +
        ", alertStatusHosts=" + alertStatusHosts +
        '}';
    }
  }
  
  
  
  
  
  