package org.wfc.omada.api.sitesetting.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.util.Objects;

/**
 * It is required when parameter [authType] is 2.
 */
@ApiModel(description = "It is required when parameter [authType] is 2.")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class LdapSettingOpenApiVo   {
  @JsonProperty("LDAPProfile")
  private String ldAPProfile;

  @JsonProperty("defaultGroup")
  private String defaultGroup;

  public LdapSettingOpenApiVo ldAPProfile(String ldAPProfile) {
    this.ldAPProfile = ldAPProfile;
    return this;
  }

  /**
   * LDAP profile ID. LDAP profile can be created using 'Create a new LDAP profile' interface, and LDAP profile ID can be obtained from 'Get LDAP profile list' interface.
   * @return ldAPProfile
  */
  @ApiModelProperty(required = true, value = "LDAP profile ID. LDAP profile can be created using 'Create a new LDAP profile' interface, and LDAP profile ID can be obtained from 'Get LDAP profile list' interface.")
  @NotNull


  public String getLdAPProfile() {
    return ldAPProfile;
  }

  public void setLdAPProfile(String ldAPProfile) {
    this.ldAPProfile = ldAPProfile;
  }

  public LdapSettingOpenApiVo defaultGroup(String defaultGroup) {
    this.defaultGroup = defaultGroup;
    return this;
  }

  /**
   * Default user group ID for the user on the LDAP server. User group can be created using 'Create SSL VPN user group' interface, and user group ID can be obtained from 'Get user group list for SSL VPN server' interface.
   * @return defaultGroup
  */
  @ApiModelProperty(required = true, value = "Default user group ID for the user on the LDAP server. User group can be created using 'Create SSL VPN user group' interface, and user group ID can be obtained from 'Get user group list for SSL VPN server' interface.")
  @NotNull


  public String getDefaultGroup() {
    return defaultGroup;
  }

  public void setDefaultGroup(String defaultGroup) {
    this.defaultGroup = defaultGroup;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    LdapSettingOpenApiVo ldapSettingOpenApiVo = (LdapSettingOpenApiVo) o;
    return Objects.equals(this.ldAPProfile, ldapSettingOpenApiVo.ldAPProfile) &&
        Objects.equals(this.defaultGroup, ldapSettingOpenApiVo.defaultGroup);
  }

  @Override
  public int hashCode() {
    return Objects.hash(ldAPProfile, defaultGroup);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class LdapSettingOpenApiVo {\n");
    
    sb.append("    ldAPProfile: ").append(toIndentedString(ldAPProfile)).append("\n");
    sb.append("    defaultGroup: ").append(toIndentedString(defaultGroup)).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(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

