class InterfaceClagSettings implements Serializable {

  @Override
  public boolean equals(@Nullable Object obj) {
    if (this == obj) {
      return true;
    }
    if (!(obj instanceof InterfaceClagSettings)) {
      return false;
    }
    InterfaceClagSettings rhs = (InterfaceClagSettings) obj;
    return Objects.equals(_backupIp, rhs._backupIp)
        && Objects.equals(_backupIpVrf, rhs._backupIpVrf)
        && Objects.equals(_peerIp, rhs._peerIp)
        && _peerIpLinkLocal == rhs._peerIpLinkLocal
        && Objects.equals(_priority, rhs._priority)
        && Objects.equals(_sysMac, rhs._sysMac);
  }

  @JsonCreator private  InterfaceClagSettings(
      @JsonProperty(PROP_BACKUP_IP) @Nullable Ip backupIp,
      @JsonProperty(PROP_BACKUP_IP_VRF) @Nullable String backupIpVrf,
      @JsonProperty(PROP_PEER_IP) @Nullable Ip peerIp,
      @JsonProperty(PROP_PEER_IP_LINK_LOCAL) boolean peerIpLinkLocal,
      @JsonProperty(PROP_PRIORITY) @Nullable Integer priority,
      @JsonProperty(PROP_SYS_MAC) @Nullable MacAddress sysMac);

}