Class CfnUserPool

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.106.0 (build e852934)", date="2025-02-17T19:20:25.654Z") @Stability(Stable) public class CfnUserPool extends CfnResource implements IInspectable, ITaggable
The AWS::Cognito::UserPool resource creates an Amazon Cognito user pool.

For more information on working with Amazon Cognito user pools, see Amazon Cognito User Pools and CreateUserPool .

If you don't specify a value for a parameter, Amazon Cognito sets it to a default value.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.cognito.*;
 Object userPoolTags;
 CfnUserPool cfnUserPool = CfnUserPool.Builder.create(this, "MyCfnUserPool")
         .accountRecoverySetting(AccountRecoverySettingProperty.builder()
                 .recoveryMechanisms(List.of(RecoveryOptionProperty.builder()
                         .name("name")
                         .priority(123)
                         .build()))
                 .build())
         .adminCreateUserConfig(AdminCreateUserConfigProperty.builder()
                 .allowAdminCreateUserOnly(false)
                 .inviteMessageTemplate(InviteMessageTemplateProperty.builder()
                         .emailMessage("emailMessage")
                         .emailSubject("emailSubject")
                         .smsMessage("smsMessage")
                         .build())
                 .unusedAccountValidityDays(123)
                 .build())
         .aliasAttributes(List.of("aliasAttributes"))
         .autoVerifiedAttributes(List.of("autoVerifiedAttributes"))
         .deletionProtection("deletionProtection")
         .deviceConfiguration(DeviceConfigurationProperty.builder()
                 .challengeRequiredOnNewDevice(false)
                 .deviceOnlyRememberedOnUserPrompt(false)
                 .build())
         .emailAuthenticationMessage("emailAuthenticationMessage")
         .emailAuthenticationSubject("emailAuthenticationSubject")
         .emailConfiguration(EmailConfigurationProperty.builder()
                 .configurationSet("configurationSet")
                 .emailSendingAccount("emailSendingAccount")
                 .from("from")
                 .replyToEmailAddress("replyToEmailAddress")
                 .sourceArn("sourceArn")
                 .build())
         .emailVerificationMessage("emailVerificationMessage")
         .emailVerificationSubject("emailVerificationSubject")
         .enabledMfas(List.of("enabledMfas"))
         .lambdaConfig(LambdaConfigProperty.builder()
                 .createAuthChallenge("createAuthChallenge")
                 .customEmailSender(CustomEmailSenderProperty.builder()
                         .lambdaArn("lambdaArn")
                         .lambdaVersion("lambdaVersion")
                         .build())
                 .customMessage("customMessage")
                 .customSmsSender(CustomSMSSenderProperty.builder()
                         .lambdaArn("lambdaArn")
                         .lambdaVersion("lambdaVersion")
                         .build())
                 .defineAuthChallenge("defineAuthChallenge")
                 .kmsKeyId("kmsKeyId")
                 .postAuthentication("postAuthentication")
                 .postConfirmation("postConfirmation")
                 .preAuthentication("preAuthentication")
                 .preSignUp("preSignUp")
                 .preTokenGeneration("preTokenGeneration")
                 .preTokenGenerationConfig(PreTokenGenerationConfigProperty.builder()
                         .lambdaArn("lambdaArn")
                         .lambdaVersion("lambdaVersion")
                         .build())
                 .userMigration("userMigration")
                 .verifyAuthChallengeResponse("verifyAuthChallengeResponse")
                 .build())
         .mfaConfiguration("mfaConfiguration")
         .policies(PoliciesProperty.builder()
                 .passwordPolicy(PasswordPolicyProperty.builder()
                         .minimumLength(123)
                         .passwordHistorySize(123)
                         .requireLowercase(false)
                         .requireNumbers(false)
                         .requireSymbols(false)
                         .requireUppercase(false)
                         .temporaryPasswordValidityDays(123)
                         .build())
                 .signInPolicy(SignInPolicyProperty.builder()
                         .allowedFirstAuthFactors(List.of("allowedFirstAuthFactors"))
                         .build())
                 .build())
         .schema(List.of(SchemaAttributeProperty.builder()
                 .attributeDataType("attributeDataType")
                 .developerOnlyAttribute(false)
                 .mutable(false)
                 .name("name")
                 .numberAttributeConstraints(NumberAttributeConstraintsProperty.builder()
                         .maxValue("maxValue")
                         .minValue("minValue")
                         .build())
                 .required(false)
                 .stringAttributeConstraints(StringAttributeConstraintsProperty.builder()
                         .maxLength("maxLength")
                         .minLength("minLength")
                         .build())
                 .build()))
         .smsAuthenticationMessage("smsAuthenticationMessage")
         .smsConfiguration(SmsConfigurationProperty.builder()
                 .externalId("externalId")
                 .snsCallerArn("snsCallerArn")
                 .snsRegion("snsRegion")
                 .build())
         .smsVerificationMessage("smsVerificationMessage")
         .userAttributeUpdateSettings(UserAttributeUpdateSettingsProperty.builder()
                 .attributesRequireVerificationBeforeUpdate(List.of("attributesRequireVerificationBeforeUpdate"))
                 .build())
         .usernameAttributes(List.of("usernameAttributes"))
         .usernameConfiguration(UsernameConfigurationProperty.builder()
                 .caseSensitive(false)
                 .build())
         .userPoolAddOns(UserPoolAddOnsProperty.builder()
                 .advancedSecurityAdditionalFlows(AdvancedSecurityAdditionalFlowsProperty.builder()
                         .customAuthMode("customAuthMode")
                         .build())
                 .advancedSecurityMode("advancedSecurityMode")
                 .build())
         .userPoolName("userPoolName")
         .userPoolTags(userPoolTags)
         .userPoolTier("userPoolTier")
         .verificationMessageTemplate(VerificationMessageTemplateProperty.builder()
                 .defaultEmailOption("defaultEmailOption")
                 .emailMessage("emailMessage")
                 .emailMessageByLink("emailMessageByLink")
                 .emailSubject("emailSubject")
                 .emailSubjectByLink("emailSubjectByLink")
                 .smsMessage("smsMessage")
                 .build())
         .webAuthnRelyingPartyId("webAuthnRelyingPartyId")
         .webAuthnUserVerification("webAuthnUserVerification")
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnUserPool

      protected CfnUserPool(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnUserPool

      protected CfnUserPool(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnUserPool

      @Stability(Stable) public CfnUserPool(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable CfnUserPoolProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties.
    • CfnUserPool

      @Stability(Stable) public CfnUserPool(@NotNull software.constructs.Construct scope, @NotNull String id)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the user pool, such as arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341 .
    • getAttrProviderName

      @Stability(Stable) @NotNull public String getAttrProviderName()
      A friendly name for the IdP.
    • getAttrProviderUrl

      @Stability(Stable) @NotNull public String getAttrProviderUrl()
      The URL of the provider of the Amazon Cognito user pool, specified as a String .
    • getAttrUserPoolId

      @Stability(Stable) @NotNull public String getAttrUserPoolId()
      The ID of the user pool.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getAccountRecoverySetting

      @Stability(Stable) @Nullable public Object getAccountRecoverySetting()
      The available verified method a user can use to recover their password when they call ForgotPassword .
    • setAccountRecoverySetting

      @Stability(Stable) public void setAccountRecoverySetting(@Nullable IResolvable value)
      The available verified method a user can use to recover their password when they call ForgotPassword .
    • setAccountRecoverySetting

      @Stability(Stable) public void setAccountRecoverySetting(@Nullable CfnUserPool.AccountRecoverySettingProperty value)
      The available verified method a user can use to recover their password when they call ForgotPassword .
    • getAdminCreateUserConfig

      @Stability(Stable) @Nullable public Object getAdminCreateUserConfig()
      The settings for administrator creation of users in a user pool.
    • setAdminCreateUserConfig

      @Stability(Stable) public void setAdminCreateUserConfig(@Nullable IResolvable value)
      The settings for administrator creation of users in a user pool.
    • setAdminCreateUserConfig

      @Stability(Stable) public void setAdminCreateUserConfig(@Nullable CfnUserPool.AdminCreateUserConfigProperty value)
      The settings for administrator creation of users in a user pool.
    • getAliasAttributes

      @Stability(Stable) @Nullable public List<String> getAliasAttributes()
      Attributes supported as an alias for this user pool.
    • setAliasAttributes

      @Stability(Stable) public void setAliasAttributes(@Nullable List<String> value)
      Attributes supported as an alias for this user pool.
    • getAutoVerifiedAttributes

      @Stability(Stable) @Nullable public List<String> getAutoVerifiedAttributes()
      The attributes that you want your user pool to automatically verify.
    • setAutoVerifiedAttributes

      @Stability(Stable) public void setAutoVerifiedAttributes(@Nullable List<String> value)
      The attributes that you want your user pool to automatically verify.
    • getDeletionProtection

      @Stability(Stable) @Nullable public String getDeletionProtection()
      When active, DeletionProtection prevents accidental deletion of your user pool.
    • setDeletionProtection

      @Stability(Stable) public void setDeletionProtection(@Nullable String value)
      When active, DeletionProtection prevents accidental deletion of your user pool.
    • getDeviceConfiguration

      @Stability(Stable) @Nullable public Object getDeviceConfiguration()
      The device-remembering configuration for a user pool.
    • setDeviceConfiguration

      @Stability(Stable) public void setDeviceConfiguration(@Nullable IResolvable value)
      The device-remembering configuration for a user pool.
    • setDeviceConfiguration

      @Stability(Stable) public void setDeviceConfiguration(@Nullable CfnUserPool.DeviceConfigurationProperty value)
      The device-remembering configuration for a user pool.
    • getEmailAuthenticationMessage

      @Stability(Stable) @Nullable public String getEmailAuthenticationMessage()
    • setEmailAuthenticationMessage

      @Stability(Stable) public void setEmailAuthenticationMessage(@Nullable String value)
    • getEmailAuthenticationSubject

      @Stability(Stable) @Nullable public String getEmailAuthenticationSubject()
    • setEmailAuthenticationSubject

      @Stability(Stable) public void setEmailAuthenticationSubject(@Nullable String value)
    • getEmailConfiguration

      @Stability(Stable) @Nullable public Object getEmailConfiguration()
      The email configuration of your user pool.
    • setEmailConfiguration

      @Stability(Stable) public void setEmailConfiguration(@Nullable IResolvable value)
      The email configuration of your user pool.
    • setEmailConfiguration

      @Stability(Stable) public void setEmailConfiguration(@Nullable CfnUserPool.EmailConfigurationProperty value)
      The email configuration of your user pool.
    • getEmailVerificationMessage

      @Stability(Stable) @Nullable public String getEmailVerificationMessage()
      This parameter is no longer used.
    • setEmailVerificationMessage

      @Stability(Stable) public void setEmailVerificationMessage(@Nullable String value)
      This parameter is no longer used.
    • getEmailVerificationSubject

      @Stability(Stable) @Nullable public String getEmailVerificationSubject()
      This parameter is no longer used.
    • setEmailVerificationSubject

      @Stability(Stable) public void setEmailVerificationSubject(@Nullable String value)
      This parameter is no longer used.
    • getEnabledMfas

      @Stability(Stable) @Nullable public List<String> getEnabledMfas()
      Set enabled MFA options on a specified user pool.
    • setEnabledMfas

      @Stability(Stable) public void setEnabledMfas(@Nullable List<String> value)
      Set enabled MFA options on a specified user pool.
    • getLambdaConfig

      @Stability(Stable) @Nullable public Object getLambdaConfig()
      A collection of user pool Lambda triggers.
    • setLambdaConfig

      @Stability(Stable) public void setLambdaConfig(@Nullable IResolvable value)
      A collection of user pool Lambda triggers.
    • setLambdaConfig

      @Stability(Stable) public void setLambdaConfig(@Nullable CfnUserPool.LambdaConfigProperty value)
      A collection of user pool Lambda triggers.
    • getMfaConfiguration

      @Stability(Stable) @Nullable public String getMfaConfiguration()
      Displays the state of multi-factor authentication (MFA) as on, off, or optional.
    • setMfaConfiguration

      @Stability(Stable) public void setMfaConfiguration(@Nullable String value)
      Displays the state of multi-factor authentication (MFA) as on, off, or optional.
    • getPolicies

      @Stability(Stable) @Nullable public Object getPolicies()
      A list of user pool policies.
    • setPolicies

      @Stability(Stable) public void setPolicies(@Nullable IResolvable value)
      A list of user pool policies.
    • setPolicies

      @Stability(Stable) public void setPolicies(@Nullable CfnUserPool.PoliciesProperty value)
      A list of user pool policies.
    • getSchema

      @Stability(Stable) @Nullable public Object getSchema()
      An array of attributes for the new user pool.
    • setSchema

      @Stability(Stable) public void setSchema(@Nullable IResolvable value)
      An array of attributes for the new user pool.
    • setSchema

      @Stability(Stable) public void setSchema(@Nullable List<Object> value)
      An array of attributes for the new user pool.
    • getSmsAuthenticationMessage

      @Stability(Stable) @Nullable public String getSmsAuthenticationMessage()
      The contents of the SMS authentication message.
    • setSmsAuthenticationMessage

      @Stability(Stable) public void setSmsAuthenticationMessage(@Nullable String value)
      The contents of the SMS authentication message.
    • getSmsConfiguration

      @Stability(Stable) @Nullable public Object getSmsConfiguration()
      The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service.
    • setSmsConfiguration

      @Stability(Stable) public void setSmsConfiguration(@Nullable IResolvable value)
      The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service.
    • setSmsConfiguration

      @Stability(Stable) public void setSmsConfiguration(@Nullable CfnUserPool.SmsConfigurationProperty value)
      The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service.
    • getSmsVerificationMessage

      @Stability(Stable) @Nullable public String getSmsVerificationMessage()
      This parameter is no longer used.
    • setSmsVerificationMessage

      @Stability(Stable) public void setSmsVerificationMessage(@Nullable String value)
      This parameter is no longer used.
    • getUserAttributeUpdateSettings

      @Stability(Stable) @Nullable public Object getUserAttributeUpdateSettings()
      The settings for updates to user attributes.
    • setUserAttributeUpdateSettings

      @Stability(Stable) public void setUserAttributeUpdateSettings(@Nullable IResolvable value)
      The settings for updates to user attributes.
    • setUserAttributeUpdateSettings

      @Stability(Stable) public void setUserAttributeUpdateSettings(@Nullable CfnUserPool.UserAttributeUpdateSettingsProperty value)
      The settings for updates to user attributes.
    • getUsernameAttributes

      @Stability(Stable) @Nullable public List<String> getUsernameAttributes()
      Specifies whether a user can use an email address or phone number as a username when they sign up.
    • setUsernameAttributes

      @Stability(Stable) public void setUsernameAttributes(@Nullable List<String> value)
      Specifies whether a user can use an email address or phone number as a username when they sign up.
    • getUsernameConfiguration

      @Stability(Stable) @Nullable public Object getUsernameConfiguration()
      Sets the case sensitivity option for sign-in usernames.
    • setUsernameConfiguration

      @Stability(Stable) public void setUsernameConfiguration(@Nullable IResolvable value)
      Sets the case sensitivity option for sign-in usernames.
    • setUsernameConfiguration

      @Stability(Stable) public void setUsernameConfiguration(@Nullable CfnUserPool.UsernameConfigurationProperty value)
      Sets the case sensitivity option for sign-in usernames.
    • getUserPoolAddOns

      @Stability(Stable) @Nullable public Object getUserPoolAddOns()
      Contains settings for activation of threat protection, including the operating mode and additional authentication types.
    • setUserPoolAddOns

      @Stability(Stable) public void setUserPoolAddOns(@Nullable IResolvable value)
      Contains settings for activation of threat protection, including the operating mode and additional authentication types.
    • setUserPoolAddOns

      @Stability(Stable) public void setUserPoolAddOns(@Nullable CfnUserPool.UserPoolAddOnsProperty value)
      Contains settings for activation of threat protection, including the operating mode and additional authentication types.
    • getUserPoolName

      @Stability(Stable) @Nullable public String getUserPoolName()
      A friendly name for your user pool.
    • setUserPoolName

      @Stability(Stable) public void setUserPoolName(@Nullable String value)
      A friendly name for your user pool.
    • getUserPoolTagsRaw

      @Stability(Stable) @Nullable public Object getUserPoolTagsRaw()
      The tag keys and values to assign to the user pool.
    • setUserPoolTagsRaw

      @Stability(Stable) public void setUserPoolTagsRaw(@Nullable Object value)
      The tag keys and values to assign to the user pool.
    • getUserPoolTier

      @Stability(Stable) @Nullable public String getUserPoolTier()
      The user pool feature plan , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ESSENTIALS .
    • setUserPoolTier

      @Stability(Stable) public void setUserPoolTier(@Nullable String value)
      The user pool feature plan , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ESSENTIALS .
    • getVerificationMessageTemplate

      @Stability(Stable) @Nullable public Object getVerificationMessageTemplate()
      The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.
    • setVerificationMessageTemplate

      @Stability(Stable) public void setVerificationMessageTemplate(@Nullable IResolvable value)
      The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.
    • setVerificationMessageTemplate

      @Stability(Stable) public void setVerificationMessageTemplate(@Nullable CfnUserPool.VerificationMessageTemplateProperty value)
      The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.
    • getWebAuthnRelyingPartyId

      @Stability(Stable) @Nullable public String getWebAuthnRelyingPartyId()
      Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.
    • setWebAuthnRelyingPartyId

      @Stability(Stable) public void setWebAuthnRelyingPartyId(@Nullable String value)
      Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.
    • getWebAuthnUserVerification

      @Stability(Stable) @Nullable public String getWebAuthnUserVerification()
      When required , users can only register and sign in users with passkeys that are capable of user verification . When preferred , your user pool doesn't require the use of authenticators with user verification but encourages it.
    • setWebAuthnUserVerification

      @Stability(Stable) public void setWebAuthnUserVerification(@Nullable String value)
      When required , users can only register and sign in users with passkeys that are capable of user verification . When preferred , your user pool doesn't require the use of authenticators with user verification but encourages it.