/*
 * 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 the \&quot;enable Catalog StateStore HA\&quot; command. The \&quot;enable Catalog Statestore HA\&quot; command includes enabling catalog and statestore HA, therefore the arguments of it include the required catalog and statestore information.
 */
@Schema(description = "Arguments used for the \"enable Catalog StateStore HA\" command. The \"enable Catalog Statestore HA\" command includes enabling catalog and statestore HA, therefore the arguments of it include the required catalog and statestore information.")
@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2026-05-19T08:29:59.033Z[Etc/UTC]")

public class ApiEnableCatalogStatestoreHaArguments {
  @SerializedName("newCatalogHostId")
  private String newCatalogHostId = null;

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

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

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

  public ApiEnableCatalogStatestoreHaArguments newCatalogHostId(String newCatalogHostId) {
    this.newCatalogHostId = newCatalogHostId;
    return this;
  }

   /**
   * HostId of the host on which the second Catalog role will be created.
   * @return newCatalogHostId
  **/
  @Schema(description = "HostId of the host on which the second Catalog role will be created.")
  public String getNewCatalogHostId() {
    return newCatalogHostId;
  }

  public void setNewCatalogHostId(String newCatalogHostId) {
    this.newCatalogHostId = newCatalogHostId;
  }

  public ApiEnableCatalogStatestoreHaArguments newCatalogRoleName(String newCatalogRoleName) {
    this.newCatalogRoleName = newCatalogRoleName;
    return this;
  }

   /**
   * Name of the second Catalog role to be created.
   * @return newCatalogRoleName
  **/
  @Schema(description = "Name of the second Catalog role to be created.")
  public String getNewCatalogRoleName() {
    return newCatalogRoleName;
  }

  public void setNewCatalogRoleName(String newCatalogRoleName) {
    this.newCatalogRoleName = newCatalogRoleName;
  }

  public ApiEnableCatalogStatestoreHaArguments newStatestoreHostId(String newStatestoreHostId) {
    this.newStatestoreHostId = newStatestoreHostId;
    return this;
  }

   /**
   * HostId of the host on which the second Statestore role will be created.
   * @return newStatestoreHostId
  **/
  @Schema(description = "HostId of the host on which the second Statestore role will be created.")
  public String getNewStatestoreHostId() {
    return newStatestoreHostId;
  }

  public void setNewStatestoreHostId(String newStatestoreHostId) {
    this.newStatestoreHostId = newStatestoreHostId;
  }

  public ApiEnableCatalogStatestoreHaArguments newStatestoreRoleName(String newStatestoreRoleName) {
    this.newStatestoreRoleName = newStatestoreRoleName;
    return this;
  }

   /**
   * Name of the second Statestore role to be created.
   * @return newStatestoreRoleName
  **/
  @Schema(description = "Name of the second Statestore role to be created.")
  public String getNewStatestoreRoleName() {
    return newStatestoreRoleName;
  }

  public void setNewStatestoreRoleName(String newStatestoreRoleName) {
    this.newStatestoreRoleName = newStatestoreRoleName;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiEnableCatalogStatestoreHaArguments apiEnableCatalogStatestoreHaArguments = (ApiEnableCatalogStatestoreHaArguments) o;
    return Objects.equals(this.newCatalogHostId, apiEnableCatalogStatestoreHaArguments.newCatalogHostId) &&
        Objects.equals(this.newCatalogRoleName, apiEnableCatalogStatestoreHaArguments.newCatalogRoleName) &&
        Objects.equals(this.newStatestoreHostId, apiEnableCatalogStatestoreHaArguments.newStatestoreHostId) &&
        Objects.equals(this.newStatestoreRoleName, apiEnableCatalogStatestoreHaArguments.newStatestoreRoleName);
  }

  @Override
  public int hashCode() {
    return Objects.hash(newCatalogHostId, newCatalogRoleName, newStatestoreHostId, newStatestoreRoleName);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiEnableCatalogStatestoreHaArguments {\n");
    
    sb.append("    newCatalogHostId: ").append(toIndentedString(newCatalogHostId)).append("\n");
    sb.append("    newCatalogRoleName: ").append(toIndentedString(newCatalogRoleName)).append("\n");
    sb.append("    newStatestoreHostId: ").append(toIndentedString(newStatestoreHostId)).append("\n");
    sb.append("    newStatestoreRoleName: ").append(toIndentedString(newStatestoreRoleName)).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    ");
  }

}
