/*
 * 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;
/**
 * Arguments used for Rolling Restart commands.
 */
@Schema(description = "Arguments used for Rolling Restart commands.")
@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2026-05-19T08:29:59.033Z[Etc/UTC]")

public class ApiImpalaRoleDiagnosticsArgs {
  @SerializedName("ticketNumber")
  private String ticketNumber = null;

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

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

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

  @SerializedName("jmap")
  private Boolean jmap = null;

  @SerializedName("gcore")
  private Boolean gcore = null;

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

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

  @SerializedName("phoneHome")
  private Boolean phoneHome = null;

  public ApiImpalaRoleDiagnosticsArgs ticketNumber(String ticketNumber) {
    this.ticketNumber = ticketNumber;
    return this;
  }

   /**
   * The support ticket number to attach to this data collection.
   * @return ticketNumber
  **/
  @Schema(description = "The support ticket number to attach to this data collection.")
  public String getTicketNumber() {
    return ticketNumber;
  }

  public void setTicketNumber(String ticketNumber) {
    this.ticketNumber = ticketNumber;
  }

  public ApiImpalaRoleDiagnosticsArgs comments(String comments) {
    this.comments = comments;
    return this;
  }

   /**
   * Comments to include with this data collection.
   * @return comments
  **/
  @Schema(description = "Comments to include with this data collection.")
  public String getComments() {
    return comments;
  }

  public void setComments(String comments) {
    this.comments = comments;
  }

  public ApiImpalaRoleDiagnosticsArgs stacksCount(java.math.BigDecimal stacksCount) {
    this.stacksCount = stacksCount;
    return this;
  }

   /**
   * Get stacksCount
   * @return stacksCount
  **/
  @Schema(description = "")
  public java.math.BigDecimal getStacksCount() {
    return stacksCount;
  }

  public void setStacksCount(java.math.BigDecimal stacksCount) {
    this.stacksCount = stacksCount;
  }

  public ApiImpalaRoleDiagnosticsArgs stacksIntervalSeconds(java.math.BigDecimal stacksIntervalSeconds) {
    this.stacksIntervalSeconds = stacksIntervalSeconds;
    return this;
  }

   /**
   * Interval between stack collections. Defaults to 0
   * @return stacksIntervalSeconds
  **/
  @Schema(description = "Interval between stack collections. Defaults to 0")
  public java.math.BigDecimal getStacksIntervalSeconds() {
    return stacksIntervalSeconds;
  }

  public void setStacksIntervalSeconds(java.math.BigDecimal stacksIntervalSeconds) {
    this.stacksIntervalSeconds = stacksIntervalSeconds;
  }

  public ApiImpalaRoleDiagnosticsArgs jmap(Boolean jmap) {
    this.jmap = jmap;
    return this;
  }

   /**
   * Get jmap
   * @return jmap
  **/
  @Schema(description = "")
  public Boolean isJmap() {
    return jmap;
  }

  public void setJmap(Boolean jmap) {
    this.jmap = jmap;
  }

  public ApiImpalaRoleDiagnosticsArgs gcore(Boolean gcore) {
    this.gcore = gcore;
    return this;
  }

   /**
   * Get gcore
   * @return gcore
  **/
  @Schema(description = "")
  public Boolean isGcore() {
    return gcore;
  }

  public void setGcore(Boolean gcore) {
    this.gcore = gcore;
  }

  public ApiImpalaRoleDiagnosticsArgs minidumpsCount(java.math.BigDecimal minidumpsCount) {
    this.minidumpsCount = minidumpsCount;
    return this;
  }

   /**
   * Get minidumpsCount
   * @return minidumpsCount
  **/
  @Schema(description = "")
  public java.math.BigDecimal getMinidumpsCount() {
    return minidumpsCount;
  }

  public void setMinidumpsCount(java.math.BigDecimal minidumpsCount) {
    this.minidumpsCount = minidumpsCount;
  }

  public ApiImpalaRoleDiagnosticsArgs minidumpsIntervalSeconds(java.math.BigDecimal minidumpsIntervalSeconds) {
    this.minidumpsIntervalSeconds = minidumpsIntervalSeconds;
    return this;
  }

   /**
   * Get minidumpsIntervalSeconds
   * @return minidumpsIntervalSeconds
  **/
  @Schema(description = "")
  public java.math.BigDecimal getMinidumpsIntervalSeconds() {
    return minidumpsIntervalSeconds;
  }

  public void setMinidumpsIntervalSeconds(java.math.BigDecimal minidumpsIntervalSeconds) {
    this.minidumpsIntervalSeconds = minidumpsIntervalSeconds;
  }

  public ApiImpalaRoleDiagnosticsArgs phoneHome(Boolean phoneHome) {
    this.phoneHome = phoneHome;
    return this;
  }

   /**
   * Get phoneHome
   * @return phoneHome
  **/
  @Schema(description = "")
  public Boolean isPhoneHome() {
    return phoneHome;
  }

  public void setPhoneHome(Boolean phoneHome) {
    this.phoneHome = phoneHome;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiImpalaRoleDiagnosticsArgs apiImpalaRoleDiagnosticsArgs = (ApiImpalaRoleDiagnosticsArgs) o;
    return Objects.equals(this.ticketNumber, apiImpalaRoleDiagnosticsArgs.ticketNumber) &&
        Objects.equals(this.comments, apiImpalaRoleDiagnosticsArgs.comments) &&
        Objects.equals(this.stacksCount, apiImpalaRoleDiagnosticsArgs.stacksCount) &&
        Objects.equals(this.stacksIntervalSeconds, apiImpalaRoleDiagnosticsArgs.stacksIntervalSeconds) &&
        Objects.equals(this.jmap, apiImpalaRoleDiagnosticsArgs.jmap) &&
        Objects.equals(this.gcore, apiImpalaRoleDiagnosticsArgs.gcore) &&
        Objects.equals(this.minidumpsCount, apiImpalaRoleDiagnosticsArgs.minidumpsCount) &&
        Objects.equals(this.minidumpsIntervalSeconds, apiImpalaRoleDiagnosticsArgs.minidumpsIntervalSeconds) &&
        Objects.equals(this.phoneHome, apiImpalaRoleDiagnosticsArgs.phoneHome);
  }

  @Override
  public int hashCode() {
    return Objects.hash(ticketNumber, comments, stacksCount, stacksIntervalSeconds, jmap, gcore, minidumpsCount, minidumpsIntervalSeconds, phoneHome);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiImpalaRoleDiagnosticsArgs {\n");
    
    sb.append("    ticketNumber: ").append(toIndentedString(ticketNumber)).append("\n");
    sb.append("    comments: ").append(toIndentedString(comments)).append("\n");
    sb.append("    stacksCount: ").append(toIndentedString(stacksCount)).append("\n");
    sb.append("    stacksIntervalSeconds: ").append(toIndentedString(stacksIntervalSeconds)).append("\n");
    sb.append("    jmap: ").append(toIndentedString(jmap)).append("\n");
    sb.append("    gcore: ").append(toIndentedString(gcore)).append("\n");
    sb.append("    minidumpsCount: ").append(toIndentedString(minidumpsCount)).append("\n");
    sb.append("    minidumpsIntervalSeconds: ").append(toIndentedString(minidumpsIntervalSeconds)).append("\n");
    sb.append("    phoneHome: ").append(toIndentedString(phoneHome)).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    ");
  }

}
