class Aws::CognitoIdentityProvider::Types::UpdateUserPoolRequest

Represents the request to update the user pool.

@note When making an API call, you may pass UpdateUserPoolRequest

data as a hash:

    {
      user_pool_id: "UserPoolIdType", # required
      policies: {
        password_policy: {
          minimum_length: 1,
          require_uppercase: false,
          require_lowercase: false,
          require_numbers: false,
          require_symbols: false,
          temporary_password_validity_days: 1,
        },
      },
      lambda_config: {
        pre_sign_up: "ArnType",
        custom_message: "ArnType",
        post_confirmation: "ArnType",
        pre_authentication: "ArnType",
        post_authentication: "ArnType",
        define_auth_challenge: "ArnType",
        create_auth_challenge: "ArnType",
        verify_auth_challenge_response: "ArnType",
        pre_token_generation: "ArnType",
        user_migration: "ArnType",
        custom_sms_sender: {
          lambda_version: "V1_0", # required, accepts V1_0
          lambda_arn: "ArnType", # required
        },
        custom_email_sender: {
          lambda_version: "V1_0", # required, accepts V1_0
          lambda_arn: "ArnType", # required
        },
        kms_key_id: "ArnType",
      },
      auto_verified_attributes: ["phone_number"], # accepts phone_number, email
      sms_verification_message: "SmsVerificationMessageType",
      email_verification_message: "EmailVerificationMessageType",
      email_verification_subject: "EmailVerificationSubjectType",
      verification_message_template: {
        sms_message: "SmsVerificationMessageType",
        email_message: "EmailVerificationMessageType",
        email_subject: "EmailVerificationSubjectType",
        email_message_by_link: "EmailVerificationMessageByLinkType",
        email_subject_by_link: "EmailVerificationSubjectByLinkType",
        default_email_option: "CONFIRM_WITH_LINK", # accepts CONFIRM_WITH_LINK, CONFIRM_WITH_CODE
      },
      sms_authentication_message: "SmsVerificationMessageType",
      mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
      device_configuration: {
        challenge_required_on_new_device: false,
        device_only_remembered_on_user_prompt: false,
      },
      email_configuration: {
        source_arn: "ArnType",
        reply_to_email_address: "EmailAddressType",
        email_sending_account: "COGNITO_DEFAULT", # accepts COGNITO_DEFAULT, DEVELOPER
        from: "StringType",
        configuration_set: "SESConfigurationSet",
      },
      sms_configuration: {
        sns_caller_arn: "ArnType", # required
        external_id: "StringType",
      },
      user_pool_tags: {
        "TagKeysType" => "TagValueType",
      },
      admin_create_user_config: {
        allow_admin_create_user_only: false,
        unused_account_validity_days: 1,
        invite_message_template: {
          sms_message: "SmsVerificationMessageType",
          email_message: "EmailVerificationMessageType",
          email_subject: "EmailVerificationSubjectType",
        },
      },
      user_pool_add_ons: {
        advanced_security_mode: "OFF", # required, accepts OFF, AUDIT, ENFORCED
      },
      account_recovery_setting: {
        recovery_mechanisms: [
          {
            priority: 1, # required
            name: "verified_email", # required, accepts verified_email, verified_phone_number, admin_only
          },
        ],
      },
    }

@!attribute [rw] user_pool_id

The user pool ID for the user pool you want to update.
@return [String]

@!attribute [rw] policies

A container with the policies you wish to update in a user pool.
@return [Types::UserPoolPolicyType]

@!attribute [rw] lambda_config

The Lambda configuration information from the request to update the
user pool.
@return [Types::LambdaConfigType]

@!attribute [rw] auto_verified_attributes

The attributes that are automatically verified when the Amazon
Cognito service makes a request to update user pools.
@return [Array<String>]

@!attribute [rw] sms_verification_message

A container with information about the SMS verification message.
@return [String]

@!attribute [rw] email_verification_message

The contents of the email verification message.
@return [String]

@!attribute [rw] email_verification_subject

The subject of the email verification message.
@return [String]

@!attribute [rw] verification_message_template

The template for verification messages.
@return [Types::VerificationMessageTemplateType]

@!attribute [rw] sms_authentication_message

The contents of the SMS authentication message.
@return [String]

@!attribute [rw] mfa_configuration

Can be one of the following values:

* `OFF` - MFA tokens are not required and cannot be specified during
  user registration.

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

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

[1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html
@return [String]

@!attribute [rw] device_configuration

Device configuration.
@return [Types::DeviceConfigurationType]

@!attribute [rw] email_configuration

Email configuration.
@return [Types::EmailConfigurationType]

@!attribute [rw] sms_configuration

SMS configuration.
@return [Types::SmsConfigurationType]

@!attribute [rw] user_pool_tags

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 [Hash<String,String>]

@!attribute [rw] admin_create_user_config

The configuration for `AdminCreateUser` requests.
@return [Types::AdminCreateUserConfigType]

@!attribute [rw] user_pool_add_ons

Used to enable advanced security risk detection. Set the key
`AdvancedSecurityMode` to the value "AUDIT".
@return [Types::UserPoolAddOnsType]

@!attribute [rw] account_recovery_setting

Use this setting to define which verified available method a user
can use to recover their password when they call `ForgotPassword`.
It allows you to define a preferred method when a user has more than
one method available. With this setting, SMS does not qualify for a
valid password recovery mechanism if the user also has SMS MFA
enabled. In the absence of this setting, Cognito uses the legacy
behavior to determine the recovery method where SMS is preferred
over email.
@return [Types::AccountRecoverySettingType]

@see docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolRequest AWS API Documentation

Constants

SENSITIVE