/*
 * Cloudera Manager API
 * <h1>Cloudera Manager API v57</h1>       <p>Introduced in Cloudera Manager 7.13.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>
 *
 * OpenAPI spec version: 7.13.1
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */

package com.cloudera.api.swagger.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.IOException;
/**
 * ApiMrUsageReportRow
 */

@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2026-05-19T08:29:59.033Z[Etc/UTC]")

public class ApiMrUsageReportRow {
  @SerializedName("timePeriod")
  private String timePeriod = null;

  @SerializedName("user")
  private String user = null;

  @SerializedName("group")
  private String group = null;

  @SerializedName("cpuSec")
  private java.math.BigDecimal cpuSec = null;

  @SerializedName("memoryBytes")
  private java.math.BigDecimal memoryBytes = null;

  @SerializedName("jobCount")
  private java.math.BigDecimal jobCount = null;

  @SerializedName("taskCount")
  private java.math.BigDecimal taskCount = null;

  @SerializedName("durationSec")
  private java.math.BigDecimal durationSec = null;

  @SerializedName("failedMaps")
  private java.math.BigDecimal failedMaps = null;

  @SerializedName("totalMaps")
  private java.math.BigDecimal totalMaps = null;

  @SerializedName("failedReduces")
  private java.math.BigDecimal failedReduces = null;

  @SerializedName("totalReduces")
  private java.math.BigDecimal totalReduces = null;

  @SerializedName("mapInputBytes")
  private java.math.BigDecimal mapInputBytes = null;

  @SerializedName("mapOutputBytes")
  private java.math.BigDecimal mapOutputBytes = null;

  @SerializedName("hdfsBytesRead")
  private java.math.BigDecimal hdfsBytesRead = null;

  @SerializedName("hdfsBytesWritten")
  private java.math.BigDecimal hdfsBytesWritten = null;

  @SerializedName("localBytesRead")
  private java.math.BigDecimal localBytesRead = null;

  @SerializedName("localBytesWritten")
  private java.math.BigDecimal localBytesWritten = null;

  @SerializedName("dataLocalMaps")
  private java.math.BigDecimal dataLocalMaps = null;

  @SerializedName("rackLocalMaps")
  private java.math.BigDecimal rackLocalMaps = null;

  public ApiMrUsageReportRow timePeriod(String timePeriod) {
    this.timePeriod = timePeriod;
    return this;
  }

   /**
   * The time period over which this report is generated.
   * @return timePeriod
  **/
  @Schema(description = "The time period over which this report is generated.")
  public String getTimePeriod() {
    return timePeriod;
  }

  public void setTimePeriod(String timePeriod) {
    this.timePeriod = timePeriod;
  }

  public ApiMrUsageReportRow user(String user) {
    this.user = user;
    return this;
  }

   /**
   * The user being reported.
   * @return user
  **/
  @Schema(description = "The user being reported.")
  public String getUser() {
    return user;
  }

  public void setUser(String user) {
    this.user = user;
  }

  public ApiMrUsageReportRow group(String group) {
    this.group = group;
    return this;
  }

   /**
   * The group this user belongs to.
   * @return group
  **/
  @Schema(description = "The group this user belongs to.")
  public String getGroup() {
    return group;
  }

  public void setGroup(String group) {
    this.group = group;
  }

  public ApiMrUsageReportRow cpuSec(java.math.BigDecimal cpuSec) {
    this.cpuSec = cpuSec;
    return this;
  }

   /**
   * Amount of CPU time (in seconds) taken up this user&#x27;s MapReduce jobs.
   * @return cpuSec
  **/
  @Schema(description = "Amount of CPU time (in seconds) taken up this user's MapReduce jobs.")
  public java.math.BigDecimal getCpuSec() {
    return cpuSec;
  }

  public void setCpuSec(java.math.BigDecimal cpuSec) {
    this.cpuSec = cpuSec;
  }

  public ApiMrUsageReportRow memoryBytes(java.math.BigDecimal memoryBytes) {
    this.memoryBytes = memoryBytes;
    return this;
  }

   /**
   * The sum of physical memory used (collected as a snapshot) by this user&#x27;s MapReduce jobs.
   * @return memoryBytes
  **/
  @Schema(description = "The sum of physical memory used (collected as a snapshot) by this user's MapReduce jobs.")
  public java.math.BigDecimal getMemoryBytes() {
    return memoryBytes;
  }

  public void setMemoryBytes(java.math.BigDecimal memoryBytes) {
    this.memoryBytes = memoryBytes;
  }

  public ApiMrUsageReportRow jobCount(java.math.BigDecimal jobCount) {
    this.jobCount = jobCount;
    return this;
  }

   /**
   * Number of jobs.
   * @return jobCount
  **/
  @Schema(description = "Number of jobs.")
  public java.math.BigDecimal getJobCount() {
    return jobCount;
  }

  public void setJobCount(java.math.BigDecimal jobCount) {
    this.jobCount = jobCount;
  }

  public ApiMrUsageReportRow taskCount(java.math.BigDecimal taskCount) {
    this.taskCount = taskCount;
    return this;
  }

   /**
   * Number of tasks.
   * @return taskCount
  **/
  @Schema(description = "Number of tasks.")
  public java.math.BigDecimal getTaskCount() {
    return taskCount;
  }

  public void setTaskCount(java.math.BigDecimal taskCount) {
    this.taskCount = taskCount;
  }

  public ApiMrUsageReportRow durationSec(java.math.BigDecimal durationSec) {
    this.durationSec = durationSec;
    return this;
  }

   /**
   * Total duration of this user&#x27;s MapReduce jobs.
   * @return durationSec
  **/
  @Schema(description = "Total duration of this user's MapReduce jobs.")
  public java.math.BigDecimal getDurationSec() {
    return durationSec;
  }

  public void setDurationSec(java.math.BigDecimal durationSec) {
    this.durationSec = durationSec;
  }

  public ApiMrUsageReportRow failedMaps(java.math.BigDecimal failedMaps) {
    this.failedMaps = failedMaps;
    return this;
  }

   /**
   * Failed maps of this user&#x27;s MapReduce jobs. Available since v11.
   * @return failedMaps
  **/
  @Schema(description = "Failed maps of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getFailedMaps() {
    return failedMaps;
  }

  public void setFailedMaps(java.math.BigDecimal failedMaps) {
    this.failedMaps = failedMaps;
  }

  public ApiMrUsageReportRow totalMaps(java.math.BigDecimal totalMaps) {
    this.totalMaps = totalMaps;
    return this;
  }

   /**
   * Total maps of this user&#x27;s MapReduce jobs. Available since v11.
   * @return totalMaps
  **/
  @Schema(description = "Total maps of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getTotalMaps() {
    return totalMaps;
  }

  public void setTotalMaps(java.math.BigDecimal totalMaps) {
    this.totalMaps = totalMaps;
  }

  public ApiMrUsageReportRow failedReduces(java.math.BigDecimal failedReduces) {
    this.failedReduces = failedReduces;
    return this;
  }

   /**
   * Failed reduces of this user&#x27;s MapReduce jobs. Available since v11.
   * @return failedReduces
  **/
  @Schema(description = "Failed reduces of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getFailedReduces() {
    return failedReduces;
  }

  public void setFailedReduces(java.math.BigDecimal failedReduces) {
    this.failedReduces = failedReduces;
  }

  public ApiMrUsageReportRow totalReduces(java.math.BigDecimal totalReduces) {
    this.totalReduces = totalReduces;
    return this;
  }

   /**
   * Total reduces of this user&#x27;s MapReduce jobs. Available since v11.
   * @return totalReduces
  **/
  @Schema(description = "Total reduces of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getTotalReduces() {
    return totalReduces;
  }

  public void setTotalReduces(java.math.BigDecimal totalReduces) {
    this.totalReduces = totalReduces;
  }

  public ApiMrUsageReportRow mapInputBytes(java.math.BigDecimal mapInputBytes) {
    this.mapInputBytes = mapInputBytes;
    return this;
  }

   /**
   * Map input bytes of this user&#x27;s MapReduce jobs. Available since v11.
   * @return mapInputBytes
  **/
  @Schema(description = "Map input bytes of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getMapInputBytes() {
    return mapInputBytes;
  }

  public void setMapInputBytes(java.math.BigDecimal mapInputBytes) {
    this.mapInputBytes = mapInputBytes;
  }

  public ApiMrUsageReportRow mapOutputBytes(java.math.BigDecimal mapOutputBytes) {
    this.mapOutputBytes = mapOutputBytes;
    return this;
  }

   /**
   * Map output bytes of this user&#x27;s MapReduce jobs. Available since v11.
   * @return mapOutputBytes
  **/
  @Schema(description = "Map output bytes of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getMapOutputBytes() {
    return mapOutputBytes;
  }

  public void setMapOutputBytes(java.math.BigDecimal mapOutputBytes) {
    this.mapOutputBytes = mapOutputBytes;
  }

  public ApiMrUsageReportRow hdfsBytesRead(java.math.BigDecimal hdfsBytesRead) {
    this.hdfsBytesRead = hdfsBytesRead;
    return this;
  }

   /**
   * HDFS bytes read of this user&#x27;s MapReduce jobs. Available since v11.
   * @return hdfsBytesRead
  **/
  @Schema(description = "HDFS bytes read of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getHdfsBytesRead() {
    return hdfsBytesRead;
  }

  public void setHdfsBytesRead(java.math.BigDecimal hdfsBytesRead) {
    this.hdfsBytesRead = hdfsBytesRead;
  }

  public ApiMrUsageReportRow hdfsBytesWritten(java.math.BigDecimal hdfsBytesWritten) {
    this.hdfsBytesWritten = hdfsBytesWritten;
    return this;
  }

   /**
   * HDFS bytes written of this user&#x27;s MapReduce jobs. Available since v11.
   * @return hdfsBytesWritten
  **/
  @Schema(description = "HDFS bytes written of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getHdfsBytesWritten() {
    return hdfsBytesWritten;
  }

  public void setHdfsBytesWritten(java.math.BigDecimal hdfsBytesWritten) {
    this.hdfsBytesWritten = hdfsBytesWritten;
  }

  public ApiMrUsageReportRow localBytesRead(java.math.BigDecimal localBytesRead) {
    this.localBytesRead = localBytesRead;
    return this;
  }

   /**
   * Local bytes read of this user&#x27;s MapReduce jobs. Available since v11.
   * @return localBytesRead
  **/
  @Schema(description = "Local bytes read of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getLocalBytesRead() {
    return localBytesRead;
  }

  public void setLocalBytesRead(java.math.BigDecimal localBytesRead) {
    this.localBytesRead = localBytesRead;
  }

  public ApiMrUsageReportRow localBytesWritten(java.math.BigDecimal localBytesWritten) {
    this.localBytesWritten = localBytesWritten;
    return this;
  }

   /**
   * Local bytes written of this user&#x27;s MapReduce jobs. Available since v11.
   * @return localBytesWritten
  **/
  @Schema(description = "Local bytes written of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getLocalBytesWritten() {
    return localBytesWritten;
  }

  public void setLocalBytesWritten(java.math.BigDecimal localBytesWritten) {
    this.localBytesWritten = localBytesWritten;
  }

  public ApiMrUsageReportRow dataLocalMaps(java.math.BigDecimal dataLocalMaps) {
    this.dataLocalMaps = dataLocalMaps;
    return this;
  }

   /**
   * Data local maps of this user&#x27;s MapReduce jobs. Available since v11.
   * @return dataLocalMaps
  **/
  @Schema(description = "Data local maps of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getDataLocalMaps() {
    return dataLocalMaps;
  }

  public void setDataLocalMaps(java.math.BigDecimal dataLocalMaps) {
    this.dataLocalMaps = dataLocalMaps;
  }

  public ApiMrUsageReportRow rackLocalMaps(java.math.BigDecimal rackLocalMaps) {
    this.rackLocalMaps = rackLocalMaps;
    return this;
  }

   /**
   * Rack local maps of this user&#x27;s MapReduce jobs. Available since v11.
   * @return rackLocalMaps
  **/
  @Schema(description = "Rack local maps of this user's MapReduce jobs. Available since v11.")
  public java.math.BigDecimal getRackLocalMaps() {
    return rackLocalMaps;
  }

  public void setRackLocalMaps(java.math.BigDecimal rackLocalMaps) {
    this.rackLocalMaps = rackLocalMaps;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiMrUsageReportRow apiMrUsageReportRow = (ApiMrUsageReportRow) o;
    return Objects.equals(this.timePeriod, apiMrUsageReportRow.timePeriod) &&
        Objects.equals(this.user, apiMrUsageReportRow.user) &&
        Objects.equals(this.group, apiMrUsageReportRow.group) &&
        Objects.equals(this.cpuSec, apiMrUsageReportRow.cpuSec) &&
        Objects.equals(this.memoryBytes, apiMrUsageReportRow.memoryBytes) &&
        Objects.equals(this.jobCount, apiMrUsageReportRow.jobCount) &&
        Objects.equals(this.taskCount, apiMrUsageReportRow.taskCount) &&
        Objects.equals(this.durationSec, apiMrUsageReportRow.durationSec) &&
        Objects.equals(this.failedMaps, apiMrUsageReportRow.failedMaps) &&
        Objects.equals(this.totalMaps, apiMrUsageReportRow.totalMaps) &&
        Objects.equals(this.failedReduces, apiMrUsageReportRow.failedReduces) &&
        Objects.equals(this.totalReduces, apiMrUsageReportRow.totalReduces) &&
        Objects.equals(this.mapInputBytes, apiMrUsageReportRow.mapInputBytes) &&
        Objects.equals(this.mapOutputBytes, apiMrUsageReportRow.mapOutputBytes) &&
        Objects.equals(this.hdfsBytesRead, apiMrUsageReportRow.hdfsBytesRead) &&
        Objects.equals(this.hdfsBytesWritten, apiMrUsageReportRow.hdfsBytesWritten) &&
        Objects.equals(this.localBytesRead, apiMrUsageReportRow.localBytesRead) &&
        Objects.equals(this.localBytesWritten, apiMrUsageReportRow.localBytesWritten) &&
        Objects.equals(this.dataLocalMaps, apiMrUsageReportRow.dataLocalMaps) &&
        Objects.equals(this.rackLocalMaps, apiMrUsageReportRow.rackLocalMaps);
  }

  @Override
  public int hashCode() {
    return Objects.hash(timePeriod, user, group, cpuSec, memoryBytes, jobCount, taskCount, durationSec, failedMaps, totalMaps, failedReduces, totalReduces, mapInputBytes, mapOutputBytes, hdfsBytesRead, hdfsBytesWritten, localBytesRead, localBytesWritten, dataLocalMaps, rackLocalMaps);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiMrUsageReportRow {\n");
    
    sb.append("    timePeriod: ").append(toIndentedString(timePeriod)).append("\n");
    sb.append("    user: ").append(toIndentedString(user)).append("\n");
    sb.append("    group: ").append(toIndentedString(group)).append("\n");
    sb.append("    cpuSec: ").append(toIndentedString(cpuSec)).append("\n");
    sb.append("    memoryBytes: ").append(toIndentedString(memoryBytes)).append("\n");
    sb.append("    jobCount: ").append(toIndentedString(jobCount)).append("\n");
    sb.append("    taskCount: ").append(toIndentedString(taskCount)).append("\n");
    sb.append("    durationSec: ").append(toIndentedString(durationSec)).append("\n");
    sb.append("    failedMaps: ").append(toIndentedString(failedMaps)).append("\n");
    sb.append("    totalMaps: ").append(toIndentedString(totalMaps)).append("\n");
    sb.append("    failedReduces: ").append(toIndentedString(failedReduces)).append("\n");
    sb.append("    totalReduces: ").append(toIndentedString(totalReduces)).append("\n");
    sb.append("    mapInputBytes: ").append(toIndentedString(mapInputBytes)).append("\n");
    sb.append("    mapOutputBytes: ").append(toIndentedString(mapOutputBytes)).append("\n");
    sb.append("    hdfsBytesRead: ").append(toIndentedString(hdfsBytesRead)).append("\n");
    sb.append("    hdfsBytesWritten: ").append(toIndentedString(hdfsBytesWritten)).append("\n");
    sb.append("    localBytesRead: ").append(toIndentedString(localBytesRead)).append("\n");
    sb.append("    localBytesWritten: ").append(toIndentedString(localBytesWritten)).append("\n");
    sb.append("    dataLocalMaps: ").append(toIndentedString(dataLocalMaps)).append("\n");
    sb.append("    rackLocalMaps: ").append(toIndentedString(rackLocalMaps)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}
