NAME

Paws::CognitoIdp::UpdateUserPool - Arguments for method UpdateUserPool on Paws::CognitoIdp

DESCRIPTION

This class represents the parameters used for calling the method UpdateUserPool on the Amazon Cognito Identity Provider service. Use the attributes of this class as arguments to method UpdateUserPool.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateUserPool.

SYNOPSIS

my $cognito-idp = Paws->service('CognitoIdp');
my $UpdateUserPoolResponse = $cognito -idp->UpdateUserPool(
  UserPoolId             => 'MyUserPoolIdType',
  AccountRecoverySetting => {
    RecoveryMechanisms => [
      {
        Name => 'verified_email'
        ,    # values: verified_email, verified_phone_number, admin_only
        Priority => 1,    # min: 1, max: 2

      },
      ...
    ],    # min: 1, max: 2; OPTIONAL
  },    # OPTIONAL
  AdminCreateUserConfig => {
    AllowAdminCreateUserOnly => 1,    # OPTIONAL
    InviteMessageTemplate    => {
      EmailMessage =>
        'MyEmailVerificationMessageType',    # min: 6, max: 20000; OPTIONAL
      EmailSubject =>
        'MyEmailVerificationSubjectType',    # min: 1, max: 140; OPTIONAL
      SMSMessage =>
        'MySmsVerificationMessageType',      # min: 6, max: 140; OPTIONAL
    },    # OPTIONAL
    UnusedAccountValidityDays => 1,    # max: 365; OPTIONAL
  },    # OPTIONAL
  AutoVerifiedAttributes => [
    'phone_number', ...    # values: phone_number, email
  ],    # OPTIONAL
  DeviceConfiguration => {
    ChallengeRequiredOnNewDevice     => 1,    # OPTIONAL
    DeviceOnlyRememberedOnUserPrompt => 1,    # OPTIONAL
  },    # OPTIONAL
  EmailConfiguration => {
    ConfigurationSet => 'MySESConfigurationSet', # min: 1, max: 64; OPTIONAL
    EmailSendingAccount =>
      'COGNITO_DEFAULT',    # values: COGNITO_DEFAULT, DEVELOPER; OPTIONAL
    From                => 'MyStringType',          # OPTIONAL
    ReplyToEmailAddress => 'MyEmailAddressType',    # OPTIONAL
    SourceArn           => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
  },    # OPTIONAL
  EmailVerificationMessage => 'MyEmailVerificationMessageType',   # OPTIONAL
  EmailVerificationSubject => 'MyEmailVerificationSubjectType',   # OPTIONAL
  LambdaConfig             => {
    CreateAuthChallenge => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    CustomEmailSender   => {
      LambdaArn     => 'MyArnType',        # min: 20, max: 2048; OPTIONAL
      LambdaVersion => 'V1_0',             # values: V1_0

    },    # OPTIONAL
    CustomMessage   => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    CustomSMSSender => {
      LambdaArn     => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
      LambdaVersion => 'V1_0',         # values: V1_0

    },    # OPTIONAL
    DefineAuthChallenge => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    KMSKeyID            => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    PostAuthentication  => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    PostConfirmation    => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    PreAuthentication   => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    PreSignUp           => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    PreTokenGeneration  => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    UserMigration       => 'MyArnType',    # min: 20, max: 2048; OPTIONAL
    VerifyAuthChallengeResponse =>
      'MyArnType',                         # min: 20, max: 2048; OPTIONAL
  },    # OPTIONAL
  MfaConfiguration => 'OFF',    # OPTIONAL
  Policies         => {
    PasswordPolicy => {
      MinimumLength                 => 1,    # min: 6, max: 99; OPTIONAL
      RequireLowercase              => 1,    # OPTIONAL
      RequireNumbers                => 1,    # OPTIONAL
      RequireSymbols                => 1,    # OPTIONAL
      RequireUppercase              => 1,    # OPTIONAL
      TemporaryPasswordValidityDays => 1,    # max: 365; OPTIONAL
    },    # OPTIONAL
  },    # OPTIONAL
  SmsAuthenticationMessage => 'MySmsVerificationMessageType',    # OPTIONAL
  SmsConfiguration         => {
    SnsCallerArn => 'MyArnType',       # min: 20, max: 2048; OPTIONAL
    ExternalId   => 'MyStringType',    # OPTIONAL
  },    # OPTIONAL
  SmsVerificationMessage => 'MySmsVerificationMessageType',    # OPTIONAL
  UserPoolAddOns         => {
    AdvancedSecurityMode => 'OFF',    # values: OFF, AUDIT, ENFORCED

  },    # OPTIONAL
  UserPoolTags => {
    'MyTagKeysType' =>
      'MyTagValueType',    # key: min: 1, max: 128, value: max: 256
  },    # OPTIONAL
  VerificationMessageTemplate => {
    DefaultEmailOption => 'CONFIRM_WITH_LINK'
    ,    # values: CONFIRM_WITH_LINK, CONFIRM_WITH_CODE; OPTIONAL
    EmailMessage =>
      'MyEmailVerificationMessageType',    # min: 6, max: 20000; OPTIONAL
    EmailMessageByLink =>
      'MyEmailVerificationMessageByLinkType', # min: 6, max: 20000; OPTIONAL
    EmailSubject =>
      'MyEmailVerificationSubjectType',       # min: 1, max: 140; OPTIONAL
    EmailSubjectByLink =>
      'MyEmailVerificationSubjectByLinkType',   # min: 1, max: 140; OPTIONAL
    SmsMessage =>
      'MySmsVerificationMessageType',           # min: 6, max: 140; OPTIONAL
  },    # OPTIONAL
);

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp/UpdateUserPool

ATTRIBUTES

AccountRecoverySetting => Paws::CognitoIdp::AccountRecoverySettingType

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.

AdminCreateUserConfig => Paws::CognitoIdp::AdminCreateUserConfigType

The configuration for AdminCreateUser requests.

AutoVerifiedAttributes => ArrayRef[Str|Undef]

The attributes that are automatically verified when the Amazon Cognito service makes a request to update user pools.

DeviceConfiguration => Paws::CognitoIdp::DeviceConfigurationType

Device configuration.

EmailConfiguration => Paws::CognitoIdp::EmailConfigurationType

Email configuration.

EmailVerificationMessage => Str

The contents of the email verification message.

EmailVerificationSubject => Str

The subject of the email verification message.

LambdaConfig => Paws::CognitoIdp::LambdaConfigType

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

MfaConfiguration => Str

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 (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html) API operation to turn MFA "ON" for existing user pools.

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

Valid values are: "OFF", "ON", "OPTIONAL"

Policies => Paws::CognitoIdp::UserPoolPolicyType

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

SmsAuthenticationMessage => Str

The contents of the SMS authentication message.

SmsConfiguration => Paws::CognitoIdp::SmsConfigurationType

SMS configuration.

SmsVerificationMessage => Str

A container with information about the SMS verification message.

UserPoolAddOns => Paws::CognitoIdp::UserPoolAddOnsType

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value "AUDIT".

REQUIRED UserPoolId => Str

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

UserPoolTags => Paws::CognitoIdp::UserPoolTagsType

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.

VerificationMessageTemplate => Paws::CognitoIdp::VerificationMessageTemplateType

The template for verification messages.

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateUserPool in Paws::CognitoIdp

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues