001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0.EnterpriseConfigurationItemBooleanV2025R0;
006import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0.EnterpriseConfigurationItemIntegerV2025R0;
007import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0.EnterpriseConfigurationItemStringV2025R0;
008import com.fasterxml.jackson.annotation.JsonFilter;
009import com.fasterxml.jackson.annotation.JsonProperty;
010import java.util.Objects;
011
012/** The enterprise configuration for the security category. */
013@JsonFilter("nullablePropertyFilter")
014public class EnterpriseConfigurationSecurityV2025R0 extends SerializableObject {
015
016  @JsonProperty("is_managed_user_signup_enabled")
017  protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled;
018
019  @JsonProperty("is_managed_user_signup_notification_enabled")
020  protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled;
021
022  @JsonProperty("is_managed_user_signup_corporate_email_enabled")
023  protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled;
024
025  @JsonProperty("is_new_user_notification_daily_digest_enabled")
026  protected EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled;
027
028  @JsonProperty("is_managed_user_email_change_disabled")
029  protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled;
030
031  @JsonProperty("is_multi_factor_auth_required")
032  protected EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired;
033
034  @JsonProperty("is_weak_password_prevention_enabled")
035  protected EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled;
036
037  @JsonProperty("is_password_leak_detection_enabled")
038  protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled;
039
040  @JsonProperty("last_password_reset_at")
041  protected EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt;
042
043  @JsonProperty("is_password_request_notification_enabled")
044  protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled;
045
046  @JsonProperty("is_password_change_notification_enabled")
047  protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled;
048
049  @JsonProperty("is_strong_password_for_ext_collab_enabled")
050  protected EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled;
051
052  @JsonProperty("is_managed_user_migration_disabled")
053  protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled;
054
055  @JsonProperty("join_link")
056  protected EnterpriseConfigurationItemStringV2025R0 joinLink;
057
058  @JsonProperty("join_url")
059  protected EnterpriseConfigurationItemStringV2025R0 joinUrl;
060
061  @JsonProperty("failed_login_attempts_to_trigger_admin_notification")
062  protected EnterpriseConfigurationItemIntegerV2025R0 failedLoginAttemptsToTriggerAdminNotification;
063
064  @JsonProperty("password_min_length")
065  protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength;
066
067  @JsonProperty("password_min_uppercase_characters")
068  protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters;
069
070  @JsonProperty("password_min_numeric_characters")
071  protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters;
072
073  @JsonProperty("password_min_special_characters")
074  protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters;
075
076  @JsonProperty("password_reset_frequency")
077  protected EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency;
078
079  @JsonProperty("previous_password_reuse_limit")
080  protected EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit;
081
082  @JsonProperty("session_duration")
083  protected EnterpriseConfigurationItemStringV2025R0 sessionDuration;
084
085  @JsonProperty("external_collab_multi_factor_auth_settings")
086  protected EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField
087      externalCollabMultiFactorAuthSettings;
088
089  protected EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe;
090
091  @JsonProperty("is_custom_session_duration_enabled")
092  protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled;
093
094  @JsonProperty("custom_session_duration_value")
095  protected EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue;
096
097  @JsonProperty("custom_session_duration_groups")
098  protected EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField
099      customSessionDurationGroups;
100
101  @JsonProperty("multi_factor_auth_type")
102  protected EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType;
103
104  @JsonProperty("enforced_mfa_frequency")
105  protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency;
106
107  public EnterpriseConfigurationSecurityV2025R0() {
108    super();
109  }
110
111  protected EnterpriseConfigurationSecurityV2025R0(Builder builder) {
112    super();
113    this.isManagedUserSignupEnabled = builder.isManagedUserSignupEnabled;
114    this.isManagedUserSignupNotificationEnabled = builder.isManagedUserSignupNotificationEnabled;
115    this.isManagedUserSignupCorporateEmailEnabled =
116        builder.isManagedUserSignupCorporateEmailEnabled;
117    this.isNewUserNotificationDailyDigestEnabled = builder.isNewUserNotificationDailyDigestEnabled;
118    this.isManagedUserEmailChangeDisabled = builder.isManagedUserEmailChangeDisabled;
119    this.isMultiFactorAuthRequired = builder.isMultiFactorAuthRequired;
120    this.isWeakPasswordPreventionEnabled = builder.isWeakPasswordPreventionEnabled;
121    this.isPasswordLeakDetectionEnabled = builder.isPasswordLeakDetectionEnabled;
122    this.lastPasswordResetAt = builder.lastPasswordResetAt;
123    this.isPasswordRequestNotificationEnabled = builder.isPasswordRequestNotificationEnabled;
124    this.isPasswordChangeNotificationEnabled = builder.isPasswordChangeNotificationEnabled;
125    this.isStrongPasswordForExtCollabEnabled = builder.isStrongPasswordForExtCollabEnabled;
126    this.isManagedUserMigrationDisabled = builder.isManagedUserMigrationDisabled;
127    this.joinLink = builder.joinLink;
128    this.joinUrl = builder.joinUrl;
129    this.failedLoginAttemptsToTriggerAdminNotification =
130        builder.failedLoginAttemptsToTriggerAdminNotification;
131    this.passwordMinLength = builder.passwordMinLength;
132    this.passwordMinUppercaseCharacters = builder.passwordMinUppercaseCharacters;
133    this.passwordMinNumericCharacters = builder.passwordMinNumericCharacters;
134    this.passwordMinSpecialCharacters = builder.passwordMinSpecialCharacters;
135    this.passwordResetFrequency = builder.passwordResetFrequency;
136    this.previousPasswordReuseLimit = builder.previousPasswordReuseLimit;
137    this.sessionDuration = builder.sessionDuration;
138    this.externalCollabMultiFactorAuthSettings = builder.externalCollabMultiFactorAuthSettings;
139    this.keysafe = builder.keysafe;
140    this.isCustomSessionDurationEnabled = builder.isCustomSessionDurationEnabled;
141    this.customSessionDurationValue = builder.customSessionDurationValue;
142    this.customSessionDurationGroups = builder.customSessionDurationGroups;
143    this.multiFactorAuthType = builder.multiFactorAuthType;
144    this.enforcedMfaFrequency = builder.enforcedMfaFrequency;
145    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
146  }
147
148  public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupEnabled() {
149    return isManagedUserSignupEnabled;
150  }
151
152  public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupNotificationEnabled() {
153    return isManagedUserSignupNotificationEnabled;
154  }
155
156  public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupCorporateEmailEnabled() {
157    return isManagedUserSignupCorporateEmailEnabled;
158  }
159
160  public EnterpriseConfigurationItemBooleanV2025R0 getIsNewUserNotificationDailyDigestEnabled() {
161    return isNewUserNotificationDailyDigestEnabled;
162  }
163
164  public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserEmailChangeDisabled() {
165    return isManagedUserEmailChangeDisabled;
166  }
167
168  public EnterpriseConfigurationItemBooleanV2025R0 getIsMultiFactorAuthRequired() {
169    return isMultiFactorAuthRequired;
170  }
171
172  public EnterpriseConfigurationItemBooleanV2025R0 getIsWeakPasswordPreventionEnabled() {
173    return isWeakPasswordPreventionEnabled;
174  }
175
176  public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordLeakDetectionEnabled() {
177    return isPasswordLeakDetectionEnabled;
178  }
179
180  public EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField getLastPasswordResetAt() {
181    return lastPasswordResetAt;
182  }
183
184  public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordRequestNotificationEnabled() {
185    return isPasswordRequestNotificationEnabled;
186  }
187
188  public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordChangeNotificationEnabled() {
189    return isPasswordChangeNotificationEnabled;
190  }
191
192  public EnterpriseConfigurationItemBooleanV2025R0 getIsStrongPasswordForExtCollabEnabled() {
193    return isStrongPasswordForExtCollabEnabled;
194  }
195
196  public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserMigrationDisabled() {
197    return isManagedUserMigrationDisabled;
198  }
199
200  public EnterpriseConfigurationItemStringV2025R0 getJoinLink() {
201    return joinLink;
202  }
203
204  public EnterpriseConfigurationItemStringV2025R0 getJoinUrl() {
205    return joinUrl;
206  }
207
208  public EnterpriseConfigurationItemIntegerV2025R0
209      getFailedLoginAttemptsToTriggerAdminNotification() {
210    return failedLoginAttemptsToTriggerAdminNotification;
211  }
212
213  public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinLength() {
214    return passwordMinLength;
215  }
216
217  public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinUppercaseCharacters() {
218    return passwordMinUppercaseCharacters;
219  }
220
221  public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinNumericCharacters() {
222    return passwordMinNumericCharacters;
223  }
224
225  public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinSpecialCharacters() {
226    return passwordMinSpecialCharacters;
227  }
228
229  public EnterpriseConfigurationItemStringV2025R0 getPasswordResetFrequency() {
230    return passwordResetFrequency;
231  }
232
233  public EnterpriseConfigurationItemStringV2025R0 getPreviousPasswordReuseLimit() {
234    return previousPasswordReuseLimit;
235  }
236
237  public EnterpriseConfigurationItemStringV2025R0 getSessionDuration() {
238    return sessionDuration;
239  }
240
241  public EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField
242      getExternalCollabMultiFactorAuthSettings() {
243    return externalCollabMultiFactorAuthSettings;
244  }
245
246  public EnterpriseConfigurationSecurityV2025R0KeysafeField getKeysafe() {
247    return keysafe;
248  }
249
250  public EnterpriseConfigurationItemBooleanV2025R0 getIsCustomSessionDurationEnabled() {
251    return isCustomSessionDurationEnabled;
252  }
253
254  public EnterpriseConfigurationItemStringV2025R0 getCustomSessionDurationValue() {
255    return customSessionDurationValue;
256  }
257
258  public EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField
259      getCustomSessionDurationGroups() {
260    return customSessionDurationGroups;
261  }
262
263  public EnterpriseConfigurationItemStringV2025R0 getMultiFactorAuthType() {
264    return multiFactorAuthType;
265  }
266
267  public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField getEnforcedMfaFrequency() {
268    return enforcedMfaFrequency;
269  }
270
271  @Override
272  public boolean equals(Object o) {
273    if (this == o) {
274      return true;
275    }
276    if (o == null || getClass() != o.getClass()) {
277      return false;
278    }
279    EnterpriseConfigurationSecurityV2025R0 casted = (EnterpriseConfigurationSecurityV2025R0) o;
280    return Objects.equals(isManagedUserSignupEnabled, casted.isManagedUserSignupEnabled)
281        && Objects.equals(
282            isManagedUserSignupNotificationEnabled, casted.isManagedUserSignupNotificationEnabled)
283        && Objects.equals(
284            isManagedUserSignupCorporateEmailEnabled,
285            casted.isManagedUserSignupCorporateEmailEnabled)
286        && Objects.equals(
287            isNewUserNotificationDailyDigestEnabled, casted.isNewUserNotificationDailyDigestEnabled)
288        && Objects.equals(isManagedUserEmailChangeDisabled, casted.isManagedUserEmailChangeDisabled)
289        && Objects.equals(isMultiFactorAuthRequired, casted.isMultiFactorAuthRequired)
290        && Objects.equals(isWeakPasswordPreventionEnabled, casted.isWeakPasswordPreventionEnabled)
291        && Objects.equals(isPasswordLeakDetectionEnabled, casted.isPasswordLeakDetectionEnabled)
292        && Objects.equals(lastPasswordResetAt, casted.lastPasswordResetAt)
293        && Objects.equals(
294            isPasswordRequestNotificationEnabled, casted.isPasswordRequestNotificationEnabled)
295        && Objects.equals(
296            isPasswordChangeNotificationEnabled, casted.isPasswordChangeNotificationEnabled)
297        && Objects.equals(
298            isStrongPasswordForExtCollabEnabled, casted.isStrongPasswordForExtCollabEnabled)
299        && Objects.equals(isManagedUserMigrationDisabled, casted.isManagedUserMigrationDisabled)
300        && Objects.equals(joinLink, casted.joinLink)
301        && Objects.equals(joinUrl, casted.joinUrl)
302        && Objects.equals(
303            failedLoginAttemptsToTriggerAdminNotification,
304            casted.failedLoginAttemptsToTriggerAdminNotification)
305        && Objects.equals(passwordMinLength, casted.passwordMinLength)
306        && Objects.equals(passwordMinUppercaseCharacters, casted.passwordMinUppercaseCharacters)
307        && Objects.equals(passwordMinNumericCharacters, casted.passwordMinNumericCharacters)
308        && Objects.equals(passwordMinSpecialCharacters, casted.passwordMinSpecialCharacters)
309        && Objects.equals(passwordResetFrequency, casted.passwordResetFrequency)
310        && Objects.equals(previousPasswordReuseLimit, casted.previousPasswordReuseLimit)
311        && Objects.equals(sessionDuration, casted.sessionDuration)
312        && Objects.equals(
313            externalCollabMultiFactorAuthSettings, casted.externalCollabMultiFactorAuthSettings)
314        && Objects.equals(keysafe, casted.keysafe)
315        && Objects.equals(isCustomSessionDurationEnabled, casted.isCustomSessionDurationEnabled)
316        && Objects.equals(customSessionDurationValue, casted.customSessionDurationValue)
317        && Objects.equals(customSessionDurationGroups, casted.customSessionDurationGroups)
318        && Objects.equals(multiFactorAuthType, casted.multiFactorAuthType)
319        && Objects.equals(enforcedMfaFrequency, casted.enforcedMfaFrequency);
320  }
321
322  @Override
323  public int hashCode() {
324    return Objects.hash(
325        isManagedUserSignupEnabled,
326        isManagedUserSignupNotificationEnabled,
327        isManagedUserSignupCorporateEmailEnabled,
328        isNewUserNotificationDailyDigestEnabled,
329        isManagedUserEmailChangeDisabled,
330        isMultiFactorAuthRequired,
331        isWeakPasswordPreventionEnabled,
332        isPasswordLeakDetectionEnabled,
333        lastPasswordResetAt,
334        isPasswordRequestNotificationEnabled,
335        isPasswordChangeNotificationEnabled,
336        isStrongPasswordForExtCollabEnabled,
337        isManagedUserMigrationDisabled,
338        joinLink,
339        joinUrl,
340        failedLoginAttemptsToTriggerAdminNotification,
341        passwordMinLength,
342        passwordMinUppercaseCharacters,
343        passwordMinNumericCharacters,
344        passwordMinSpecialCharacters,
345        passwordResetFrequency,
346        previousPasswordReuseLimit,
347        sessionDuration,
348        externalCollabMultiFactorAuthSettings,
349        keysafe,
350        isCustomSessionDurationEnabled,
351        customSessionDurationValue,
352        customSessionDurationGroups,
353        multiFactorAuthType,
354        enforcedMfaFrequency);
355  }
356
357  @Override
358  public String toString() {
359    return "EnterpriseConfigurationSecurityV2025R0{"
360        + "isManagedUserSignupEnabled='"
361        + isManagedUserSignupEnabled
362        + '\''
363        + ", "
364        + "isManagedUserSignupNotificationEnabled='"
365        + isManagedUserSignupNotificationEnabled
366        + '\''
367        + ", "
368        + "isManagedUserSignupCorporateEmailEnabled='"
369        + isManagedUserSignupCorporateEmailEnabled
370        + '\''
371        + ", "
372        + "isNewUserNotificationDailyDigestEnabled='"
373        + isNewUserNotificationDailyDigestEnabled
374        + '\''
375        + ", "
376        + "isManagedUserEmailChangeDisabled='"
377        + isManagedUserEmailChangeDisabled
378        + '\''
379        + ", "
380        + "isMultiFactorAuthRequired='"
381        + isMultiFactorAuthRequired
382        + '\''
383        + ", "
384        + "isWeakPasswordPreventionEnabled='"
385        + isWeakPasswordPreventionEnabled
386        + '\''
387        + ", "
388        + "isPasswordLeakDetectionEnabled='"
389        + isPasswordLeakDetectionEnabled
390        + '\''
391        + ", "
392        + "lastPasswordResetAt='"
393        + lastPasswordResetAt
394        + '\''
395        + ", "
396        + "isPasswordRequestNotificationEnabled='"
397        + isPasswordRequestNotificationEnabled
398        + '\''
399        + ", "
400        + "isPasswordChangeNotificationEnabled='"
401        + isPasswordChangeNotificationEnabled
402        + '\''
403        + ", "
404        + "isStrongPasswordForExtCollabEnabled='"
405        + isStrongPasswordForExtCollabEnabled
406        + '\''
407        + ", "
408        + "isManagedUserMigrationDisabled='"
409        + isManagedUserMigrationDisabled
410        + '\''
411        + ", "
412        + "joinLink='"
413        + joinLink
414        + '\''
415        + ", "
416        + "joinUrl='"
417        + joinUrl
418        + '\''
419        + ", "
420        + "failedLoginAttemptsToTriggerAdminNotification='"
421        + failedLoginAttemptsToTriggerAdminNotification
422        + '\''
423        + ", "
424        + "passwordMinLength='"
425        + passwordMinLength
426        + '\''
427        + ", "
428        + "passwordMinUppercaseCharacters='"
429        + passwordMinUppercaseCharacters
430        + '\''
431        + ", "
432        + "passwordMinNumericCharacters='"
433        + passwordMinNumericCharacters
434        + '\''
435        + ", "
436        + "passwordMinSpecialCharacters='"
437        + passwordMinSpecialCharacters
438        + '\''
439        + ", "
440        + "passwordResetFrequency='"
441        + passwordResetFrequency
442        + '\''
443        + ", "
444        + "previousPasswordReuseLimit='"
445        + previousPasswordReuseLimit
446        + '\''
447        + ", "
448        + "sessionDuration='"
449        + sessionDuration
450        + '\''
451        + ", "
452        + "externalCollabMultiFactorAuthSettings='"
453        + externalCollabMultiFactorAuthSettings
454        + '\''
455        + ", "
456        + "keysafe='"
457        + keysafe
458        + '\''
459        + ", "
460        + "isCustomSessionDurationEnabled='"
461        + isCustomSessionDurationEnabled
462        + '\''
463        + ", "
464        + "customSessionDurationValue='"
465        + customSessionDurationValue
466        + '\''
467        + ", "
468        + "customSessionDurationGroups='"
469        + customSessionDurationGroups
470        + '\''
471        + ", "
472        + "multiFactorAuthType='"
473        + multiFactorAuthType
474        + '\''
475        + ", "
476        + "enforcedMfaFrequency='"
477        + enforcedMfaFrequency
478        + '\''
479        + "}";
480  }
481
482  public static class Builder extends NullableFieldTracker {
483
484    protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled;
485
486    protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled;
487
488    protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled;
489
490    protected EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled;
491
492    protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled;
493
494    protected EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired;
495
496    protected EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled;
497
498    protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled;
499
500    protected EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt;
501
502    protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled;
503
504    protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled;
505
506    protected EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled;
507
508    protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled;
509
510    protected EnterpriseConfigurationItemStringV2025R0 joinLink;
511
512    protected EnterpriseConfigurationItemStringV2025R0 joinUrl;
513
514    protected EnterpriseConfigurationItemIntegerV2025R0
515        failedLoginAttemptsToTriggerAdminNotification;
516
517    protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength;
518
519    protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters;
520
521    protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters;
522
523    protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters;
524
525    protected EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency;
526
527    protected EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit;
528
529    protected EnterpriseConfigurationItemStringV2025R0 sessionDuration;
530
531    protected EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField
532        externalCollabMultiFactorAuthSettings;
533
534    protected EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe;
535
536    protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled;
537
538    protected EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue;
539
540    protected EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField
541        customSessionDurationGroups;
542
543    protected EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType;
544
545    protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency;
546
547    public Builder isManagedUserSignupEnabled(
548        EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled) {
549      this.isManagedUserSignupEnabled = isManagedUserSignupEnabled;
550      return this;
551    }
552
553    public Builder isManagedUserSignupNotificationEnabled(
554        EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled) {
555      this.isManagedUserSignupNotificationEnabled = isManagedUserSignupNotificationEnabled;
556      return this;
557    }
558
559    public Builder isManagedUserSignupCorporateEmailEnabled(
560        EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled) {
561      this.isManagedUserSignupCorporateEmailEnabled = isManagedUserSignupCorporateEmailEnabled;
562      return this;
563    }
564
565    public Builder isNewUserNotificationDailyDigestEnabled(
566        EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled) {
567      this.isNewUserNotificationDailyDigestEnabled = isNewUserNotificationDailyDigestEnabled;
568      return this;
569    }
570
571    public Builder isManagedUserEmailChangeDisabled(
572        EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled) {
573      this.isManagedUserEmailChangeDisabled = isManagedUserEmailChangeDisabled;
574      return this;
575    }
576
577    public Builder isMultiFactorAuthRequired(
578        EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired) {
579      this.isMultiFactorAuthRequired = isMultiFactorAuthRequired;
580      return this;
581    }
582
583    public Builder isWeakPasswordPreventionEnabled(
584        EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled) {
585      this.isWeakPasswordPreventionEnabled = isWeakPasswordPreventionEnabled;
586      return this;
587    }
588
589    public Builder isPasswordLeakDetectionEnabled(
590        EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled) {
591      this.isPasswordLeakDetectionEnabled = isPasswordLeakDetectionEnabled;
592      return this;
593    }
594
595    public Builder lastPasswordResetAt(
596        EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt) {
597      this.lastPasswordResetAt = lastPasswordResetAt;
598      return this;
599    }
600
601    public Builder isPasswordRequestNotificationEnabled(
602        EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled) {
603      this.isPasswordRequestNotificationEnabled = isPasswordRequestNotificationEnabled;
604      return this;
605    }
606
607    public Builder isPasswordChangeNotificationEnabled(
608        EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled) {
609      this.isPasswordChangeNotificationEnabled = isPasswordChangeNotificationEnabled;
610      return this;
611    }
612
613    public Builder isStrongPasswordForExtCollabEnabled(
614        EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled) {
615      this.isStrongPasswordForExtCollabEnabled = isStrongPasswordForExtCollabEnabled;
616      return this;
617    }
618
619    public Builder isManagedUserMigrationDisabled(
620        EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled) {
621      this.isManagedUserMigrationDisabled = isManagedUserMigrationDisabled;
622      return this;
623    }
624
625    public Builder joinLink(EnterpriseConfigurationItemStringV2025R0 joinLink) {
626      this.joinLink = joinLink;
627      return this;
628    }
629
630    public Builder joinUrl(EnterpriseConfigurationItemStringV2025R0 joinUrl) {
631      this.joinUrl = joinUrl;
632      return this;
633    }
634
635    public Builder failedLoginAttemptsToTriggerAdminNotification(
636        EnterpriseConfigurationItemIntegerV2025R0 failedLoginAttemptsToTriggerAdminNotification) {
637      this.failedLoginAttemptsToTriggerAdminNotification =
638          failedLoginAttemptsToTriggerAdminNotification;
639      return this;
640    }
641
642    public Builder passwordMinLength(EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength) {
643      this.passwordMinLength = passwordMinLength;
644      return this;
645    }
646
647    public Builder passwordMinUppercaseCharacters(
648        EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters) {
649      this.passwordMinUppercaseCharacters = passwordMinUppercaseCharacters;
650      return this;
651    }
652
653    public Builder passwordMinNumericCharacters(
654        EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters) {
655      this.passwordMinNumericCharacters = passwordMinNumericCharacters;
656      return this;
657    }
658
659    public Builder passwordMinSpecialCharacters(
660        EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters) {
661      this.passwordMinSpecialCharacters = passwordMinSpecialCharacters;
662      return this;
663    }
664
665    public Builder passwordResetFrequency(
666        EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency) {
667      this.passwordResetFrequency = passwordResetFrequency;
668      return this;
669    }
670
671    public Builder previousPasswordReuseLimit(
672        EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit) {
673      this.previousPasswordReuseLimit = previousPasswordReuseLimit;
674      return this;
675    }
676
677    public Builder sessionDuration(EnterpriseConfigurationItemStringV2025R0 sessionDuration) {
678      this.sessionDuration = sessionDuration;
679      return this;
680    }
681
682    public Builder externalCollabMultiFactorAuthSettings(
683        EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField
684            externalCollabMultiFactorAuthSettings) {
685      this.externalCollabMultiFactorAuthSettings = externalCollabMultiFactorAuthSettings;
686      return this;
687    }
688
689    public Builder keysafe(EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe) {
690      this.keysafe = keysafe;
691      return this;
692    }
693
694    public Builder isCustomSessionDurationEnabled(
695        EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled) {
696      this.isCustomSessionDurationEnabled = isCustomSessionDurationEnabled;
697      return this;
698    }
699
700    public Builder customSessionDurationValue(
701        EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue) {
702      this.customSessionDurationValue = customSessionDurationValue;
703      return this;
704    }
705
706    public Builder customSessionDurationGroups(
707        EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField
708            customSessionDurationGroups) {
709      this.customSessionDurationGroups = customSessionDurationGroups;
710      return this;
711    }
712
713    public Builder multiFactorAuthType(
714        EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType) {
715      this.multiFactorAuthType = multiFactorAuthType;
716      return this;
717    }
718
719    public Builder enforcedMfaFrequency(
720        EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency) {
721      this.enforcedMfaFrequency = enforcedMfaFrequency;
722      return this;
723    }
724
725    public EnterpriseConfigurationSecurityV2025R0 build() {
726      return new EnterpriseConfigurationSecurityV2025R0(this);
727    }
728  }
729}