/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cognitoidp.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* Represents the request to update the user pool. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateUserPoolRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The user pool ID for the user pool you want to update. *

*/ private String userPoolId; /** *

* A container with the policies you want to update in a user pool. *

*/ private UserPoolPolicyType policies; /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

*/ private String deletionProtection; /** *

* The Lambda configuration information from the request to update the user pool. *

*/ private LambdaConfigType lambdaConfig; /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

*/ private java.util.List autoVerifiedAttributes; /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

*/ private String smsVerificationMessage; /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

*/ private String emailVerificationMessage; /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

*/ private String emailVerificationSubject; /** *

* The template for verification messages. *

*/ private VerificationMessageTemplateType verificationMessageTemplate; /** *

* The contents of the SMS authentication message. *

*/ private String smsAuthenticationMessage; /** *

* The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to * handle changes to the value of your users' email address and phone number attributes. For more information, see * Verifying updates to email addresses and phone numbers. *

*/ private UserAttributeUpdateSettingsType userAttributeUpdateSettings; /** *

* Possible values include: *

* */ private String mfaConfiguration; /** *

* The device-remembering configuration for a user pool. A null value indicates that you have deactivated device * remembering in your user pool. *

* *

* When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

*
*/ private DeviceConfigurationType deviceConfiguration; /** *

* The email configuration of your user pool. The email configuration type sets your preferred sending method, * Amazon Web Services Region, and sender for email invitation and verification messages from your user pool. *

*/ private EmailConfigurationType emailConfiguration; /** *

* The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from * your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS * in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access * Management (IAM) role in your Amazon Web Services account. *

*/ private SmsConfigurationType smsConfiguration; /** *

* The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage * user pools in different ways, such as by purpose, owner, environment, or other criteria. *

*/ private java.util.Map userPoolTags; /** *

* The configuration for AdminCreateUser requests. *

*/ private AdminCreateUserConfigType adminCreateUserConfig; /** *

* Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value "AUDIT". *

*/ private UserPoolAddOnsType userPoolAddOns; /** *

* The available verified method a user can use to recover their password when they call ForgotPassword * . You can use this setting to define a preferred method when a user has more than one method available. With this * setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor * authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to * determine the recovery method where SMS is preferred through email. *

*/ private AccountRecoverySettingType accountRecoverySetting; /** *

* The user pool ID for the user pool you want to update. *

* * @param userPoolId * The user pool ID for the user pool you want to update. */ public void setUserPoolId(String userPoolId) { this.userPoolId = userPoolId; } /** *

* The user pool ID for the user pool you want to update. *

* * @return The user pool ID for the user pool you want to update. */ public String getUserPoolId() { return this.userPoolId; } /** *

* The user pool ID for the user pool you want to update. *

* * @param userPoolId * The user pool ID for the user pool you want to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withUserPoolId(String userPoolId) { setUserPoolId(userPoolId); return this; } /** *

* A container with the policies you want to update in a user pool. *

* * @param policies * A container with the policies you want to update in a user pool. */ public void setPolicies(UserPoolPolicyType policies) { this.policies = policies; } /** *

* A container with the policies you want to update in a user pool. *

* * @return A container with the policies you want to update in a user pool. */ public UserPoolPolicyType getPolicies() { return this.policies; } /** *

* A container with the policies you want to update in a user pool. *

* * @param policies * A container with the policies you want to update in a user pool. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withPolicies(UserPoolPolicyType policies) { setPolicies(policies); return this; } /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

* * @param deletionProtection * When active, DeletionProtection prevents accidental deletion of your user pool. Before you * can delete a user pool that you have protected against deletion, you must deactivate this feature.

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito * returns an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an * UpdateUserPool API request. * @see DeletionProtectionType */ public void setDeletionProtection(String deletionProtection) { this.deletionProtection = deletionProtection; } /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

* * @return When active, DeletionProtection prevents accidental deletion of your user pool. Before you * can delete a user pool that you have protected against deletion, you must deactivate this feature.

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito * returns an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an * UpdateUserPool API request. * @see DeletionProtectionType */ public String getDeletionProtection() { return this.deletionProtection; } /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

* * @param deletionProtection * When active, DeletionProtection prevents accidental deletion of your user pool. Before you * can delete a user pool that you have protected against deletion, you must deactivate this feature.

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito * returns an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an * UpdateUserPool API request. * @return Returns a reference to this object so that method calls can be chained together. * @see DeletionProtectionType */ public UpdateUserPoolRequest withDeletionProtection(String deletionProtection) { setDeletionProtection(deletionProtection); return this; } /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

* * @param deletionProtection * When active, DeletionProtection prevents accidental deletion of your user pool. Before you * can delete a user pool that you have protected against deletion, you must deactivate this feature.

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito * returns an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an * UpdateUserPool API request. * @see DeletionProtectionType */ public void setDeletionProtection(DeletionProtectionType deletionProtection) { withDeletionProtection(deletionProtection); } /** *

* When active, DeletionProtection prevents accidental deletion of your user pool. Before you can * delete a user pool that you have protected against deletion, you must deactivate this feature. *

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns * an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool * API request. *

* * @param deletionProtection * When active, DeletionProtection prevents accidental deletion of your user pool. Before you * can delete a user pool that you have protected against deletion, you must deactivate this feature.

*

* When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito * returns an InvalidParameterException error. To delete a protected user pool, send a new * DeleteUserPool request after you deactivate deletion protection in an * UpdateUserPool API request. * @return Returns a reference to this object so that method calls can be chained together. * @see DeletionProtectionType */ public UpdateUserPoolRequest withDeletionProtection(DeletionProtectionType deletionProtection) { this.deletionProtection = deletionProtection.toString(); return this; } /** *

* The Lambda configuration information from the request to update the user pool. *

* * @param lambdaConfig * The Lambda configuration information from the request to update the user pool. */ public void setLambdaConfig(LambdaConfigType lambdaConfig) { this.lambdaConfig = lambdaConfig; } /** *

* The Lambda configuration information from the request to update the user pool. *

* * @return The Lambda configuration information from the request to update the user pool. */ public LambdaConfigType getLambdaConfig() { return this.lambdaConfig; } /** *

* The Lambda configuration information from the request to update the user pool. *

* * @param lambdaConfig * The Lambda configuration information from the request to update the user pool. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withLambdaConfig(LambdaConfigType lambdaConfig) { setLambdaConfig(lambdaConfig); return this; } /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

* * @return The attributes that are automatically verified when Amazon Cognito requests to update user pools. * @see VerifiedAttributeType */ public java.util.List getAutoVerifiedAttributes() { return autoVerifiedAttributes; } /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

* * @param autoVerifiedAttributes * The attributes that are automatically verified when Amazon Cognito requests to update user pools. * @see VerifiedAttributeType */ public void setAutoVerifiedAttributes(java.util.Collection autoVerifiedAttributes) { if (autoVerifiedAttributes == null) { this.autoVerifiedAttributes = null; return; } this.autoVerifiedAttributes = new java.util.ArrayList(autoVerifiedAttributes); } /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAutoVerifiedAttributes(java.util.Collection)} or * {@link #withAutoVerifiedAttributes(java.util.Collection)} if you want to override the existing values. *

* * @param autoVerifiedAttributes * The attributes that are automatically verified when Amazon Cognito requests to update user pools. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAttributeType */ public UpdateUserPoolRequest withAutoVerifiedAttributes(String... autoVerifiedAttributes) { if (this.autoVerifiedAttributes == null) { setAutoVerifiedAttributes(new java.util.ArrayList(autoVerifiedAttributes.length)); } for (String ele : autoVerifiedAttributes) { this.autoVerifiedAttributes.add(ele); } return this; } /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

* * @param autoVerifiedAttributes * The attributes that are automatically verified when Amazon Cognito requests to update user pools. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAttributeType */ public UpdateUserPoolRequest withAutoVerifiedAttributes(java.util.Collection autoVerifiedAttributes) { setAutoVerifiedAttributes(autoVerifiedAttributes); return this; } /** *

* The attributes that are automatically verified when Amazon Cognito requests to update user pools. *

* * @param autoVerifiedAttributes * The attributes that are automatically verified when Amazon Cognito requests to update user pools. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAttributeType */ public UpdateUserPoolRequest withAutoVerifiedAttributes(VerifiedAttributeType... autoVerifiedAttributes) { java.util.ArrayList autoVerifiedAttributesCopy = new java.util.ArrayList(autoVerifiedAttributes.length); for (VerifiedAttributeType value : autoVerifiedAttributes) { autoVerifiedAttributesCopy.add(value.toString()); } if (getAutoVerifiedAttributes() == null) { setAutoVerifiedAttributes(autoVerifiedAttributesCopy); } else { getAutoVerifiedAttributes().addAll(autoVerifiedAttributesCopy); } return this; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param smsVerificationMessage * This parameter is no longer used. See VerificationMessageTemplateType. */ public void setSmsVerificationMessage(String smsVerificationMessage) { this.smsVerificationMessage = smsVerificationMessage; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @return This parameter is no longer used. See VerificationMessageTemplateType. */ public String getSmsVerificationMessage() { return this.smsVerificationMessage; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param smsVerificationMessage * This parameter is no longer used. See VerificationMessageTemplateType. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withSmsVerificationMessage(String smsVerificationMessage) { setSmsVerificationMessage(smsVerificationMessage); return this; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param emailVerificationMessage * This parameter is no longer used. See VerificationMessageTemplateType. */ public void setEmailVerificationMessage(String emailVerificationMessage) { this.emailVerificationMessage = emailVerificationMessage; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @return This parameter is no longer used. See VerificationMessageTemplateType. */ public String getEmailVerificationMessage() { return this.emailVerificationMessage; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param emailVerificationMessage * This parameter is no longer used. See VerificationMessageTemplateType. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withEmailVerificationMessage(String emailVerificationMessage) { setEmailVerificationMessage(emailVerificationMessage); return this; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param emailVerificationSubject * This parameter is no longer used. See VerificationMessageTemplateType. */ public void setEmailVerificationSubject(String emailVerificationSubject) { this.emailVerificationSubject = emailVerificationSubject; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @return This parameter is no longer used. See VerificationMessageTemplateType. */ public String getEmailVerificationSubject() { return this.emailVerificationSubject; } /** *

* This parameter is no longer used. See VerificationMessageTemplateType. *

* * @param emailVerificationSubject * This parameter is no longer used. See VerificationMessageTemplateType. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withEmailVerificationSubject(String emailVerificationSubject) { setEmailVerificationSubject(emailVerificationSubject); return this; } /** *

* The template for verification messages. *

* * @param verificationMessageTemplate * The template for verification messages. */ public void setVerificationMessageTemplate(VerificationMessageTemplateType verificationMessageTemplate) { this.verificationMessageTemplate = verificationMessageTemplate; } /** *

* The template for verification messages. *

* * @return The template for verification messages. */ public VerificationMessageTemplateType getVerificationMessageTemplate() { return this.verificationMessageTemplate; } /** *

* The template for verification messages. *

* * @param verificationMessageTemplate * The template for verification messages. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withVerificationMessageTemplate(VerificationMessageTemplateType verificationMessageTemplate) { setVerificationMessageTemplate(verificationMessageTemplate); return this; } /** *

* The contents of the SMS authentication message. *

* * @param smsAuthenticationMessage * The contents of the SMS authentication message. */ public void setSmsAuthenticationMessage(String smsAuthenticationMessage) { this.smsAuthenticationMessage = smsAuthenticationMessage; } /** *

* The contents of the SMS authentication message. *

* * @return The contents of the SMS authentication message. */ public String getSmsAuthenticationMessage() { return this.smsAuthenticationMessage; } /** *

* The contents of the SMS authentication message. *

* * @param smsAuthenticationMessage * The contents of the SMS authentication message. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withSmsAuthenticationMessage(String smsAuthenticationMessage) { setSmsAuthenticationMessage(smsAuthenticationMessage); return this; } /** *

* The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to * handle changes to the value of your users' email address and phone number attributes. For more information, see * Verifying updates to email addresses and phone numbers. *

* * @param userAttributeUpdateSettings * The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how * to handle changes to the value of your users' email address and phone number attributes. For more * information, see Verifying updates to email addresses and phone numbers. */ public void setUserAttributeUpdateSettings(UserAttributeUpdateSettingsType userAttributeUpdateSettings) { this.userAttributeUpdateSettings = userAttributeUpdateSettings; } /** *

* The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to * handle changes to the value of your users' email address and phone number attributes. For more information, see * Verifying updates to email addresses and phone numbers. *

* * @return The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how * to handle changes to the value of your users' email address and phone number attributes. For more * information, see Verifying updates to email addresses and phone numbers. */ public UserAttributeUpdateSettingsType getUserAttributeUpdateSettings() { return this.userAttributeUpdateSettings; } /** *

* The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to * handle changes to the value of your users' email address and phone number attributes. For more information, see * Verifying updates to email addresses and phone numbers. *

* * @param userAttributeUpdateSettings * The settings for updates to user attributes. These settings include the property * AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how * to handle changes to the value of your users' email address and phone number attributes. For more * information, see Verifying updates to email addresses and phone numbers. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withUserAttributeUpdateSettings(UserAttributeUpdateSettingsType userAttributeUpdateSettings) { setUserAttributeUpdateSettings(userAttributeUpdateSettings); return this; } /** *

* Possible values include: *

*
    *
  • *

    * OFF - MFA tokens aren't required and can't be specified during user registration. *

    *
  • *
  • *

    * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

    *
  • *
  • *

    * OPTIONAL - Users have the option when registering to create an MFA token. *

    *
  • *
* * @param mfaConfiguration * Possible values include:

*
    *
  • *

    * OFF - MFA tokens aren't required and can't be specified during user registration. *

    *
  • *
  • *

    * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

    *
  • *
  • *

    * OPTIONAL - Users have the option when registering to create an MFA token. *

    *
  • * @see UserPoolMfaType */ public void setMfaConfiguration(String mfaConfiguration) { this.mfaConfiguration = mfaConfiguration; } /** *

    * Possible values include: *

    *
      *
    • *

      * OFF - MFA tokens aren't required and can't be specified during user registration. *

      *
    • *
    • *

      * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

      *
    • *
    • *

      * OPTIONAL - Users have the option when registering to create an MFA token. *

      *
    • *
    * * @return Possible values include:

    *
      *
    • *

      * OFF - MFA tokens aren't required and can't be specified during user registration. *

      *
    • *
    • *

      * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

      *
    • *
    • *

      * OPTIONAL - Users have the option when registering to create an MFA token. *

      *
    • * @see UserPoolMfaType */ public String getMfaConfiguration() { return this.mfaConfiguration; } /** *

      * Possible values include: *

      *
        *
      • *

        * OFF - MFA tokens aren't required and can't be specified during user registration. *

        *
      • *
      • *

        * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

        *
      • *
      • *

        * OPTIONAL - Users have the option when registering to create an MFA token. *

        *
      • *
      * * @param mfaConfiguration * Possible values include:

      *
        *
      • *

        * OFF - MFA tokens aren't required and can't be specified during user registration. *

        *
      • *
      • *

        * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

        *
      • *
      • *

        * OPTIONAL - Users have the option when registering to create an MFA token. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see UserPoolMfaType */ public UpdateUserPoolRequest withMfaConfiguration(String mfaConfiguration) { setMfaConfiguration(mfaConfiguration); return this; } /** *

        * Possible values include: *

        *
          *
        • *

          * OFF - MFA tokens aren't required and can't be specified during user registration. *

          *
        • *
        • *

          * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

          *
        • *
        • *

          * OPTIONAL - Users have the option when registering to create an MFA token. *

          *
        • *
        * * @param mfaConfiguration * Possible values include:

        *
          *
        • *

          * OFF - MFA tokens aren't required and can't be specified during user registration. *

          *
        • *
        • *

          * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

          *
        • *
        • *

          * OPTIONAL - Users have the option when registering to create an MFA token. *

          *
        • * @see UserPoolMfaType */ public void setMfaConfiguration(UserPoolMfaType mfaConfiguration) { withMfaConfiguration(mfaConfiguration); } /** *

          * Possible values include: *

          *
            *
          • *

            * OFF - MFA tokens aren't required and can't be specified during user registration. *

            *
          • *
          • *

            * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

            *
          • *
          • *

            * OPTIONAL - Users have the option when registering to create an MFA token. *

            *
          • *
          * * @param mfaConfiguration * Possible values include:

          *
            *
          • *

            * OFF - MFA tokens aren't required and can't be specified during user registration. *

            *
          • *
          • *

            * ON - MFA tokens are required for all user registrations. You can only specify ON when you're * initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools. *

            *
          • *
          • *

            * OPTIONAL - Users have the option when registering to create an MFA token. *

            *
          • * @return Returns a reference to this object so that method calls can be chained together. * @see UserPoolMfaType */ public UpdateUserPoolRequest withMfaConfiguration(UserPoolMfaType mfaConfiguration) { this.mfaConfiguration = mfaConfiguration.toString(); return this; } /** *

            * The device-remembering configuration for a user pool. A null value indicates that you have deactivated device * remembering in your user pool. *

            * *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            *
            * * @param deviceConfiguration * The device-remembering configuration for a user pool. A null value indicates that you have deactivated * device remembering in your user pool.

            *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            */ public void setDeviceConfiguration(DeviceConfigurationType deviceConfiguration) { this.deviceConfiguration = deviceConfiguration; } /** *

            * The device-remembering configuration for a user pool. A null value indicates that you have deactivated device * remembering in your user pool. *

            * *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            *
            * * @return The device-remembering configuration for a user pool. A null value indicates that you have deactivated * device remembering in your user pool.

            *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            */ public DeviceConfigurationType getDeviceConfiguration() { return this.deviceConfiguration; } /** *

            * The device-remembering configuration for a user pool. A null value indicates that you have deactivated device * remembering in your user pool. *

            * *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            *
            * * @param deviceConfiguration * The device-remembering configuration for a user pool. A null value indicates that you have deactivated * device remembering in your user pool.

            *

            * When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito * device-remembering feature. *

            * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withDeviceConfiguration(DeviceConfigurationType deviceConfiguration) { setDeviceConfiguration(deviceConfiguration); return this; } /** *

            * The email configuration of your user pool. The email configuration type sets your preferred sending method, * Amazon Web Services Region, and sender for email invitation and verification messages from your user pool. *

            * * @param emailConfiguration * The email configuration of your user pool. The email configuration type sets your preferred sending * method, Amazon Web Services Region, and sender for email invitation and verification messages from your * user pool. */ public void setEmailConfiguration(EmailConfigurationType emailConfiguration) { this.emailConfiguration = emailConfiguration; } /** *

            * The email configuration of your user pool. The email configuration type sets your preferred sending method, * Amazon Web Services Region, and sender for email invitation and verification messages from your user pool. *

            * * @return The email configuration of your user pool. The email configuration type sets your preferred sending * method, Amazon Web Services Region, and sender for email invitation and verification messages from your * user pool. */ public EmailConfigurationType getEmailConfiguration() { return this.emailConfiguration; } /** *

            * The email configuration of your user pool. The email configuration type sets your preferred sending method, * Amazon Web Services Region, and sender for email invitation and verification messages from your user pool. *

            * * @param emailConfiguration * The email configuration of your user pool. The email configuration type sets your preferred sending * method, Amazon Web Services Region, and sender for email invitation and verification messages from your * user pool. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withEmailConfiguration(EmailConfigurationType emailConfiguration) { setEmailConfiguration(emailConfiguration); return this; } /** *

            * The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from * your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS * in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access * Management (IAM) role in your Amazon Web Services account. *

            * * @param smsConfiguration * The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message * from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages * with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an * Identity and Access Management (IAM) role in your Amazon Web Services account. */ public void setSmsConfiguration(SmsConfigurationType smsConfiguration) { this.smsConfiguration = smsConfiguration; } /** *

            * The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from * your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS * in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access * Management (IAM) role in your Amazon Web Services account. *

            * * @return The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS * message from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS * messages with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool * uses an Identity and Access Management (IAM) role in your Amazon Web Services account. */ public SmsConfigurationType getSmsConfiguration() { return this.smsConfiguration; } /** *

            * The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from * your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS * in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access * Management (IAM) role in your Amazon Web Services account. *

            * * @param smsConfiguration * The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message * from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages * with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an * Identity and Access Management (IAM) role in your Amazon Web Services account. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withSmsConfiguration(SmsConfigurationType smsConfiguration) { setSmsConfiguration(smsConfiguration); return this; } /** *

            * The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage * user pools in different ways, such as by purpose, owner, environment, or other criteria. *

            * * @return The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and * manage user pools in different ways, such as by purpose, owner, environment, or other criteria. */ public java.util.Map getUserPoolTags() { return userPoolTags; } /** *

            * The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage * user pools in different ways, such as by purpose, owner, environment, or other criteria. *

            * * @param userPoolTags * The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and * manage user pools in different ways, such as by purpose, owner, environment, or other criteria. */ public void setUserPoolTags(java.util.Map userPoolTags) { this.userPoolTags = userPoolTags; } /** *

            * The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage * user pools in different ways, such as by purpose, owner, environment, or other criteria. *

            * * @param userPoolTags * The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and * manage user pools in different ways, such as by purpose, owner, environment, or other criteria. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withUserPoolTags(java.util.Map userPoolTags) { setUserPoolTags(userPoolTags); return this; } /** * Add a single UserPoolTags entry * * @see UpdateUserPoolRequest#withUserPoolTags * @returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest addUserPoolTagsEntry(String key, String value) { if (null == this.userPoolTags) { this.userPoolTags = new java.util.HashMap(); } if (this.userPoolTags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.userPoolTags.put(key, value); return this; } /** * Removes all the entries added into UserPoolTags. * * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest clearUserPoolTagsEntries() { this.userPoolTags = null; return this; } /** *

            * The configuration for AdminCreateUser requests. *

            * * @param adminCreateUserConfig * The configuration for AdminCreateUser requests. */ public void setAdminCreateUserConfig(AdminCreateUserConfigType adminCreateUserConfig) { this.adminCreateUserConfig = adminCreateUserConfig; } /** *

            * The configuration for AdminCreateUser requests. *

            * * @return The configuration for AdminCreateUser requests. */ public AdminCreateUserConfigType getAdminCreateUserConfig() { return this.adminCreateUserConfig; } /** *

            * The configuration for AdminCreateUser requests. *

            * * @param adminCreateUserConfig * The configuration for AdminCreateUser requests. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withAdminCreateUserConfig(AdminCreateUserConfigType adminCreateUserConfig) { setAdminCreateUserConfig(adminCreateUserConfig); return this; } /** *

            * Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value "AUDIT". *

            * * @param userPoolAddOns * Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value * "AUDIT". */ public void setUserPoolAddOns(UserPoolAddOnsType userPoolAddOns) { this.userPoolAddOns = userPoolAddOns; } /** *

            * Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value "AUDIT". *

            * * @return Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value * "AUDIT". */ public UserPoolAddOnsType getUserPoolAddOns() { return this.userPoolAddOns; } /** *

            * Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value "AUDIT". *

            * * @param userPoolAddOns * Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value * "AUDIT". * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withUserPoolAddOns(UserPoolAddOnsType userPoolAddOns) { setUserPoolAddOns(userPoolAddOns); return this; } /** *

            * The available verified method a user can use to recover their password when they call ForgotPassword * . You can use this setting to define a preferred method when a user has more than one method available. With this * setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor * authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to * determine the recovery method where SMS is preferred through email. *

            * * @param accountRecoverySetting * The available verified method a user can use to recover their password when they call * ForgotPassword. You can use this setting to define a preferred method when a user has more * than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism * if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, * Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through * email. */ public void setAccountRecoverySetting(AccountRecoverySettingType accountRecoverySetting) { this.accountRecoverySetting = accountRecoverySetting; } /** *

            * The available verified method a user can use to recover their password when they call ForgotPassword * . You can use this setting to define a preferred method when a user has more than one method available. With this * setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor * authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to * determine the recovery method where SMS is preferred through email. *

            * * @return The available verified method a user can use to recover their password when they call * ForgotPassword. You can use this setting to define a preferred method when a user has more * than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism * if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, * Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through * email. */ public AccountRecoverySettingType getAccountRecoverySetting() { return this.accountRecoverySetting; } /** *

            * The available verified method a user can use to recover their password when they call ForgotPassword * . You can use this setting to define a preferred method when a user has more than one method available. With this * setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor * authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to * determine the recovery method where SMS is preferred through email. *

            * * @param accountRecoverySetting * The available verified method a user can use to recover their password when they call * ForgotPassword. You can use this setting to define a preferred method when a user has more * than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism * if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, * Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through * email. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateUserPoolRequest withAccountRecoverySetting(AccountRecoverySettingType accountRecoverySetting) { setAccountRecoverySetting(accountRecoverySetting); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getUserPoolId() != null) sb.append("UserPoolId: ").append(getUserPoolId()).append(","); if (getPolicies() != null) sb.append("Policies: ").append(getPolicies()).append(","); if (getDeletionProtection() != null) sb.append("DeletionProtection: ").append(getDeletionProtection()).append(","); if (getLambdaConfig() != null) sb.append("LambdaConfig: ").append(getLambdaConfig()).append(","); if (getAutoVerifiedAttributes() != null) sb.append("AutoVerifiedAttributes: ").append(getAutoVerifiedAttributes()).append(","); if (getSmsVerificationMessage() != null) sb.append("SmsVerificationMessage: ").append(getSmsVerificationMessage()).append(","); if (getEmailVerificationMessage() != null) sb.append("EmailVerificationMessage: ").append(getEmailVerificationMessage()).append(","); if (getEmailVerificationSubject() != null) sb.append("EmailVerificationSubject: ").append(getEmailVerificationSubject()).append(","); if (getVerificationMessageTemplate() != null) sb.append("VerificationMessageTemplate: ").append(getVerificationMessageTemplate()).append(","); if (getSmsAuthenticationMessage() != null) sb.append("SmsAuthenticationMessage: ").append(getSmsAuthenticationMessage()).append(","); if (getUserAttributeUpdateSettings() != null) sb.append("UserAttributeUpdateSettings: ").append(getUserAttributeUpdateSettings()).append(","); if (getMfaConfiguration() != null) sb.append("MfaConfiguration: ").append(getMfaConfiguration()).append(","); if (getDeviceConfiguration() != null) sb.append("DeviceConfiguration: ").append(getDeviceConfiguration()).append(","); if (getEmailConfiguration() != null) sb.append("EmailConfiguration: ").append(getEmailConfiguration()).append(","); if (getSmsConfiguration() != null) sb.append("SmsConfiguration: ").append(getSmsConfiguration()).append(","); if (getUserPoolTags() != null) sb.append("UserPoolTags: ").append(getUserPoolTags()).append(","); if (getAdminCreateUserConfig() != null) sb.append("AdminCreateUserConfig: ").append(getAdminCreateUserConfig()).append(","); if (getUserPoolAddOns() != null) sb.append("UserPoolAddOns: ").append(getUserPoolAddOns()).append(","); if (getAccountRecoverySetting() != null) sb.append("AccountRecoverySetting: ").append(getAccountRecoverySetting()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateUserPoolRequest == false) return false; UpdateUserPoolRequest other = (UpdateUserPoolRequest) obj; if (other.getUserPoolId() == null ^ this.getUserPoolId() == null) return false; if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false) return false; if (other.getPolicies() == null ^ this.getPolicies() == null) return false; if (other.getPolicies() != null && other.getPolicies().equals(this.getPolicies()) == false) return false; if (other.getDeletionProtection() == null ^ this.getDeletionProtection() == null) return false; if (other.getDeletionProtection() != null && other.getDeletionProtection().equals(this.getDeletionProtection()) == false) return false; if (other.getLambdaConfig() == null ^ this.getLambdaConfig() == null) return false; if (other.getLambdaConfig() != null && other.getLambdaConfig().equals(this.getLambdaConfig()) == false) return false; if (other.getAutoVerifiedAttributes() == null ^ this.getAutoVerifiedAttributes() == null) return false; if (other.getAutoVerifiedAttributes() != null && other.getAutoVerifiedAttributes().equals(this.getAutoVerifiedAttributes()) == false) return false; if (other.getSmsVerificationMessage() == null ^ this.getSmsVerificationMessage() == null) return false; if (other.getSmsVerificationMessage() != null && other.getSmsVerificationMessage().equals(this.getSmsVerificationMessage()) == false) return false; if (other.getEmailVerificationMessage() == null ^ this.getEmailVerificationMessage() == null) return false; if (other.getEmailVerificationMessage() != null && other.getEmailVerificationMessage().equals(this.getEmailVerificationMessage()) == false) return false; if (other.getEmailVerificationSubject() == null ^ this.getEmailVerificationSubject() == null) return false; if (other.getEmailVerificationSubject() != null && other.getEmailVerificationSubject().equals(this.getEmailVerificationSubject()) == false) return false; if (other.getVerificationMessageTemplate() == null ^ this.getVerificationMessageTemplate() == null) return false; if (other.getVerificationMessageTemplate() != null && other.getVerificationMessageTemplate().equals(this.getVerificationMessageTemplate()) == false) return false; if (other.getSmsAuthenticationMessage() == null ^ this.getSmsAuthenticationMessage() == null) return false; if (other.getSmsAuthenticationMessage() != null && other.getSmsAuthenticationMessage().equals(this.getSmsAuthenticationMessage()) == false) return false; if (other.getUserAttributeUpdateSettings() == null ^ this.getUserAttributeUpdateSettings() == null) return false; if (other.getUserAttributeUpdateSettings() != null && other.getUserAttributeUpdateSettings().equals(this.getUserAttributeUpdateSettings()) == false) return false; if (other.getMfaConfiguration() == null ^ this.getMfaConfiguration() == null) return false; if (other.getMfaConfiguration() != null && other.getMfaConfiguration().equals(this.getMfaConfiguration()) == false) return false; if (other.getDeviceConfiguration() == null ^ this.getDeviceConfiguration() == null) return false; if (other.getDeviceConfiguration() != null && other.getDeviceConfiguration().equals(this.getDeviceConfiguration()) == false) return false; if (other.getEmailConfiguration() == null ^ this.getEmailConfiguration() == null) return false; if (other.getEmailConfiguration() != null && other.getEmailConfiguration().equals(this.getEmailConfiguration()) == false) return false; if (other.getSmsConfiguration() == null ^ this.getSmsConfiguration() == null) return false; if (other.getSmsConfiguration() != null && other.getSmsConfiguration().equals(this.getSmsConfiguration()) == false) return false; if (other.getUserPoolTags() == null ^ this.getUserPoolTags() == null) return false; if (other.getUserPoolTags() != null && other.getUserPoolTags().equals(this.getUserPoolTags()) == false) return false; if (other.getAdminCreateUserConfig() == null ^ this.getAdminCreateUserConfig() == null) return false; if (other.getAdminCreateUserConfig() != null && other.getAdminCreateUserConfig().equals(this.getAdminCreateUserConfig()) == false) return false; if (other.getUserPoolAddOns() == null ^ this.getUserPoolAddOns() == null) return false; if (other.getUserPoolAddOns() != null && other.getUserPoolAddOns().equals(this.getUserPoolAddOns()) == false) return false; if (other.getAccountRecoverySetting() == null ^ this.getAccountRecoverySetting() == null) return false; if (other.getAccountRecoverySetting() != null && other.getAccountRecoverySetting().equals(this.getAccountRecoverySetting()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getUserPoolId() == null) ? 0 : getUserPoolId().hashCode()); hashCode = prime * hashCode + ((getPolicies() == null) ? 0 : getPolicies().hashCode()); hashCode = prime * hashCode + ((getDeletionProtection() == null) ? 0 : getDeletionProtection().hashCode()); hashCode = prime * hashCode + ((getLambdaConfig() == null) ? 0 : getLambdaConfig().hashCode()); hashCode = prime * hashCode + ((getAutoVerifiedAttributes() == null) ? 0 : getAutoVerifiedAttributes().hashCode()); hashCode = prime * hashCode + ((getSmsVerificationMessage() == null) ? 0 : getSmsVerificationMessage().hashCode()); hashCode = prime * hashCode + ((getEmailVerificationMessage() == null) ? 0 : getEmailVerificationMessage().hashCode()); hashCode = prime * hashCode + ((getEmailVerificationSubject() == null) ? 0 : getEmailVerificationSubject().hashCode()); hashCode = prime * hashCode + ((getVerificationMessageTemplate() == null) ? 0 : getVerificationMessageTemplate().hashCode()); hashCode = prime * hashCode + ((getSmsAuthenticationMessage() == null) ? 0 : getSmsAuthenticationMessage().hashCode()); hashCode = prime * hashCode + ((getUserAttributeUpdateSettings() == null) ? 0 : getUserAttributeUpdateSettings().hashCode()); hashCode = prime * hashCode + ((getMfaConfiguration() == null) ? 0 : getMfaConfiguration().hashCode()); hashCode = prime * hashCode + ((getDeviceConfiguration() == null) ? 0 : getDeviceConfiguration().hashCode()); hashCode = prime * hashCode + ((getEmailConfiguration() == null) ? 0 : getEmailConfiguration().hashCode()); hashCode = prime * hashCode + ((getSmsConfiguration() == null) ? 0 : getSmsConfiguration().hashCode()); hashCode = prime * hashCode + ((getUserPoolTags() == null) ? 0 : getUserPoolTags().hashCode()); hashCode = prime * hashCode + ((getAdminCreateUserConfig() == null) ? 0 : getAdminCreateUserConfig().hashCode()); hashCode = prime * hashCode + ((getUserPoolAddOns() == null) ? 0 : getUserPoolAddOns().hashCode()); hashCode = prime * hashCode + ((getAccountRecoverySetting() == null) ? 0 : getAccountRecoverySetting().hashCode()); return hashCode; } @Override public UpdateUserPoolRequest clone() { return (UpdateUserPoolRequest) super.clone(); } }