/*
 * Cloudera Manager API
 * <h1>Cloudera Manager API v50</h1>       <p>Introduced in Cloudera Manager 7.8.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>
 *
 * OpenAPI spec version: 7.8.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 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.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Arguments passed to the remove hosts from cluster api, every host passed in has the roles in it deleted and the host is removed from the cluster, but is still managed by CM.  If deleteHosts is set to true hosts are also deleted from CM.
 */
@ApiModel(description = "Arguments passed to the remove hosts from cluster api, every host passed in has the roles in it deleted and the host is removed from the cluster, but is still managed by CM.  If deleteHosts is set to true hosts are also deleted from CM.")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2022-11-17T16:38:34.097Z")
public class ApiHostsToRemoveArgs {
  @SerializedName("hostsToRemove")
  private List<String> hostsToRemove = null;

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

  public ApiHostsToRemoveArgs hostsToRemove(List<String> hostsToRemove) {
    this.hostsToRemove = hostsToRemove;
    return this;
  }

  public ApiHostsToRemoveArgs addHostsToRemoveItem(String hostsToRemoveItem) {
    if (this.hostsToRemove == null) {
      this.hostsToRemove = new ArrayList<String>();
    }
    this.hostsToRemove.add(hostsToRemoveItem);
    return this;
  }

   /**
   * 
   * @return hostsToRemove
  **/
  @ApiModelProperty(value = "")
  public List<String> getHostsToRemove() {
    return hostsToRemove;
  }

  public void setHostsToRemove(List<String> hostsToRemove) {
    this.hostsToRemove = hostsToRemove;
  }

  public ApiHostsToRemoveArgs deleteHosts(Boolean deleteHosts) {
    this.deleteHosts = deleteHosts;
    return this;
  }

   /**
   * 
   * @return deleteHosts
  **/
  @ApiModelProperty(required = true, value = "")
  public Boolean getDeleteHosts() {
    return deleteHosts;
  }

  public void setDeleteHosts(Boolean deleteHosts) {
    this.deleteHosts = deleteHosts;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiHostsToRemoveArgs apiHostsToRemoveArgs = (ApiHostsToRemoveArgs) o;
    return Objects.equals(this.hostsToRemove, apiHostsToRemoveArgs.hostsToRemove) &&
        Objects.equals(this.deleteHosts, apiHostsToRemoveArgs.deleteHosts);
  }

  @Override
  public int hashCode() {
    return Objects.hash(hostsToRemove, deleteHosts);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiHostsToRemoveArgs {\n");
    
    sb.append("    hostsToRemove: ").append(toIndentedString(hostsToRemove)).append("\n");
    sb.append("    deleteHosts: ").append(toIndentedString(deleteHosts)).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    ");
  }
  
}

