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

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

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * SslVpnUserGroupModifyOpenApiVo
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class SslVpnUserGroupModifyOpenApiVo   {
  @JsonProperty("radiusAttribute")
  private String radiusAttribute;

  @JsonProperty("LDAPAttribute")
  private String ldAPAttribute;

  @JsonProperty("resourceGroupList")
  @Valid
  private List<String> resourceGroupList = null;

  public SslVpnUserGroupModifyOpenApiVo radiusAttribute(String radiusAttribute) {
    this.radiusAttribute = radiusAttribute;
    return this;
  }

  /**
   * Attribute value used for radius authentication. It should contain 1 to 20 characters.
   * @return radiusAttribute
  */
  @ApiModelProperty(value = "Attribute value used for radius authentication. It should contain 1 to 20 characters.")


  public String getRadiusAttribute() {
    return radiusAttribute;
  }

  public void setRadiusAttribute(String radiusAttribute) {
    this.radiusAttribute = radiusAttribute;
  }

  public SslVpnUserGroupModifyOpenApiVo ldAPAttribute(String ldAPAttribute) {
    this.ldAPAttribute = ldAPAttribute;
    return this;
  }

  /**
   * Attribute value used for LDAP authentication. It should contain 1 to 20 characters.
   * @return ldAPAttribute
  */
  @ApiModelProperty(value = "Attribute value used for LDAP authentication. It should contain 1 to 20 characters.")


  public String getLdAPAttribute() {
    return ldAPAttribute;
  }

  public void setLdAPAttribute(String ldAPAttribute) {
    this.ldAPAttribute = ldAPAttribute;
  }

  public SslVpnUserGroupModifyOpenApiVo resourceGroupList(List<String> resourceGroupList) {
    this.resourceGroupList = resourceGroupList;
    return this;
  }

  public SslVpnUserGroupModifyOpenApiVo addResourceGroupListItem(String resourceGroupListItem) {
    if (this.resourceGroupList == null) {
      this.resourceGroupList = new ArrayList<>();
    }
    this.resourceGroupList.add(resourceGroupListItem);
    return this;
  }

  /**
   * Resource group ID list of the SSL VPN user group. Resource group can be created using 'Create SSL VPN resource group' interface, and Resource group ID can be obtained from 'Get resource group list for SSL VPN server' interface.
   * @return resourceGroupList
  */
  @ApiModelProperty(value = "Resource group ID list of the SSL VPN user group. Resource group can be created using 'Create SSL VPN resource group' interface, and Resource group ID can be obtained from 'Get resource group list for SSL VPN server' interface.")


  public List<String> getResourceGroupList() {
    return resourceGroupList;
  }

  public void setResourceGroupList(List<String> resourceGroupList) {
    this.resourceGroupList = resourceGroupList;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SslVpnUserGroupModifyOpenApiVo sslVpnUserGroupModifyOpenApiVo = (SslVpnUserGroupModifyOpenApiVo) o;
    return Objects.equals(this.radiusAttribute, sslVpnUserGroupModifyOpenApiVo.radiusAttribute) &&
        Objects.equals(this.ldAPAttribute, sslVpnUserGroupModifyOpenApiVo.ldAPAttribute) &&
        Objects.equals(this.resourceGroupList, sslVpnUserGroupModifyOpenApiVo.resourceGroupList);
  }

  @Override
  public int hashCode() {
    return Objects.hash(radiusAttribute, ldAPAttribute, resourceGroupList);
  }

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

