NAME
Paws::CognitoIdp::CreateUserPool - Arguments for method CreateUserPool on Paws::CognitoIdp
DESCRIPTION
This class represents the parameters used for calling the method CreateUserPool on the Amazon Cognito Identity Provider service. Use the attributes of this class as arguments to method CreateUserPool.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateUserPool.
SYNOPSIS
my $cognito-idp = Paws->service('CognitoIdp');
my $CreateUserPoolResponse = $cognito -idp->CreateUserPool(
PoolName => 'MyUserPoolNameType',
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
AliasAttributes => [
'phone_number', ... # values: phone_number, email, preferred_username
], # 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
Schema => [
{
AttributeDataType =>
'String', # values: String, Number, DateTime, Boolean; OPTIONAL
DeveloperOnlyAttribute => 1, # OPTIONAL
Mutable => 1, # OPTIONAL
Name => 'MyCustomAttributeNameType', # min: 1, max: 20; OPTIONAL
NumberAttributeConstraints => {
MaxValue => 'MyStringType', # OPTIONAL
MinValue => 'MyStringType', # OPTIONAL
}, # OPTIONAL
Required => 1, # OPTIONAL
StringAttributeConstraints => {
MaxLength => 'MyStringType', # OPTIONAL
MinLength => 'MyStringType', # 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
UsernameAttributes => [
'phone_number', ... # values: phone_number, email
], # OPTIONAL
UsernameConfiguration => {
CaseSensitive => 1,
}, # 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
);
# Results:
my $UserPool = $CreateUserPoolResponse->UserPool;
# Returns a L<Paws::CognitoIdp::CreateUserPoolResponse> object.
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/CreateUserPool
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.
AliasAttributes => ArrayRef[Str|Undef]
Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.
AutoVerifiedAttributes => ArrayRef[Str|Undef]
The attributes to be auto-verified. Possible values: email, phone_number.
DeviceConfiguration => Paws::CognitoIdp::DeviceConfigurationType
The device configuration.
EmailConfiguration => Paws::CognitoIdp::EmailConfigurationType
The email configuration.
EmailVerificationMessage => Str
A string representing the email verification message. EmailVerificationMessage is allowed only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.
EmailVerificationSubject => Str
A string representing the email verification subject. EmailVerificationSubject is allowed only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.
LambdaConfig => Paws::CognitoIdp::LambdaConfigType
The Lambda trigger configuration information for the new user pool.
In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.
For more information on using the Lambda API to add permission, see AddPermission (https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html).
For adding permission using the AWS CLI, see add-permission (https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html).
MfaConfiguration => Str
Specifies MFA configuration details.
Valid values are: "OFF"
, "ON"
, "OPTIONAL"
Policies => Paws::CognitoIdp::UserPoolPolicyType
The policies associated with the new user pool.
REQUIRED PoolName => Str
A string used to name the user pool.
Schema => ArrayRef[Paws::CognitoIdp::SchemaAttributeType]
An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
SmsAuthenticationMessage => Str
A string representing the SMS authentication message.
SmsConfiguration => Paws::CognitoIdp::SmsConfigurationType
The SMS configuration.
SmsVerificationMessage => Str
A string representing the SMS verification message.
UsernameAttributes => ArrayRef[Str|Undef]
Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.
UsernameConfiguration => Paws::CognitoIdp::UsernameConfigurationType
You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to False
, users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. For more information, see UsernameConfigurationType (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html).
UserPoolAddOns => Paws::CognitoIdp::UserPoolAddOnsType
Used to enable advanced security risk detection. Set the key AdvancedSecurityMode
to the value "AUDIT".
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 the verification message that the user sees when the app requests permission to access the user's information.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateUserPool 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