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.96.0 (build 921e240)", date="2024-04-10T22:22:25.528Z") @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())
         .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)
                         .requireLowercase(false)
                         .requireNumbers(false)
                         .requireSymbols(false)
                         .requireUppercase(false)
                         .temporaryPasswordValidityDays(123)
                         .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()
                 .advancedSecurityMode("advancedSecurityMode")
                 .build())
         .userPoolName("userPoolName")
         .userPoolTags(userPoolTags)
         .verificationMessageTemplate(VerificationMessageTemplateProperty.builder()
                 .defaultEmailOption("defaultEmailOption")
                 .emailMessage("emailMessage")
                 .emailMessageByLink("emailMessageByLink")
                 .emailSubject("emailSubject")
                 .emailSubjectByLink("emailSubjectByLink")
                 .smsMessage("smsMessage")
                 .build())
         .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()
      The provider name of the Amazon Cognito user pool, specified as a String .
    • 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()
      Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword .
    • setAccountRecoverySetting

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

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

      @Stability(Stable) @Nullable public Object getAdminCreateUserConfig()
      The configuration for creating a new user profile.
    • setAdminCreateUserConfig

      @Stability(Stable) public void setAdminCreateUserConfig(@Nullable IResolvable value)
      The configuration for creating a new user profile.
    • setAdminCreateUserConfig

      @Stability(Stable) public void setAdminCreateUserConfig(@Nullable CfnUserPool.AdminCreateUserConfigProperty value)
      The configuration for creating a new user profile.
    • getAliasAttributes

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

      Possible values: phone_number , email , or preferred_username .

    • setAliasAttributes

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

      Possible values: phone_number , email , or preferred_username .

    • getAutoVerifiedAttributes

      @Stability(Stable) @Nullable public List<String> getAutoVerifiedAttributes()
      The attributes to be auto-verified.
    • setAutoVerifiedAttributes

      @Stability(Stable) public void setAutoVerifiedAttributes(@Nullable List<String> value)
      The attributes to be auto-verified.
    • 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.
    • 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()
      Enables MFA on a specified user pool.
    • setEnabledMfas

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

      @Stability(Stable) @Nullable public Object getLambdaConfig()
      The Lambda trigger configuration information for the new user pool.
    • setLambdaConfig

      @Stability(Stable) public void setLambdaConfig(@Nullable IResolvable value)
      The Lambda trigger configuration information for the new user pool.
    • setLambdaConfig

      @Stability(Stable) public void setLambdaConfig(@Nullable CfnUserPool.LambdaConfigProperty value)
      The Lambda trigger configuration information for the new user pool.
    • getMfaConfiguration

      @Stability(Stable) @Nullable public String getMfaConfiguration()
      The multi-factor authentication (MFA) configuration.

      Valid values include:.

    • setMfaConfiguration

      @Stability(Stable) public void setMfaConfiguration(@Nullable String value)
      The multi-factor authentication (MFA) configuration.

      Valid values include:.

    • getPolicies

      @Stability(Stable) @Nullable public Object getPolicies()
      The policy associated with a user pool.
    • setPolicies

      @Stability(Stable) public void setPolicies(@Nullable IResolvable value)
      The policy associated with a user pool.
    • setPolicies

      @Stability(Stable) public void setPolicies(@Nullable CfnUserPool.PoliciesProperty value)
      The policy associated with a user pool.
    • getSchema

      @Stability(Stable) @Nullable public Object getSchema()
      The schema attributes for the new user pool.

      These attributes can be standard or custom attributes.

    • setSchema

      @Stability(Stable) public void setSchema(@Nullable IResolvable value)
      The schema attributes for the new user pool.

      These attributes can be standard or custom attributes.

    • setSchema

      @Stability(Stable) public void setSchema(@Nullable List<Object> value)
      The schema attributes for the new user pool.

      These attributes can be standard or custom attributes.

    • getSmsAuthenticationMessage

      @Stability(Stable) @Nullable public String getSmsAuthenticationMessage()
      A string representing the SMS authentication message.
    • setSmsAuthenticationMessage

      @Stability(Stable) public void setSmsAuthenticationMessage(@Nullable String value)
      A string representing the SMS authentication message.
    • getSmsConfiguration

      @Stability(Stable) @Nullable public Object getSmsConfiguration()
      The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service.
    • setSmsConfiguration

      @Stability(Stable) public void setSmsConfiguration(@Nullable IResolvable value)
      The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service.
    • setSmsConfiguration

      @Stability(Stable) public void setSmsConfiguration(@Nullable CfnUserPool.SmsConfigurationProperty value)
      The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through 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()
      Determines whether email addresses or phone numbers can be specified as user names when a user signs up.
    • setUsernameAttributes

      @Stability(Stable) public void setUsernameAttributes(@Nullable List<String> value)
      Determines whether email addresses or phone numbers can be specified as user names when a user signs up.
    • getUsernameConfiguration

      @Stability(Stable) @Nullable public Object getUsernameConfiguration()
      You can choose to set case sensitivity on the username input for the selected sign-in option.
    • setUsernameConfiguration

      @Stability(Stable) public void setUsernameConfiguration(@Nullable IResolvable value)
      You can choose to set case sensitivity on the username input for the selected sign-in option.
    • setUsernameConfiguration

      @Stability(Stable) public void setUsernameConfiguration(@Nullable CfnUserPool.UsernameConfigurationProperty value)
      You can choose to set case sensitivity on the username input for the selected sign-in option.
    • getUserPoolAddOns

      @Stability(Stable) @Nullable public Object getUserPoolAddOns()
      User pool add-ons.
    • setUserPoolAddOns

      @Stability(Stable) public void setUserPoolAddOns(@Nullable IResolvable value)
      User pool add-ons.
    • setUserPoolAddOns

      @Stability(Stable) public void setUserPoolAddOns(@Nullable CfnUserPool.UserPoolAddOnsProperty value)
      User pool add-ons.
    • getUserPoolName

      @Stability(Stable) @Nullable public String getUserPoolName()
      A string used to name the user pool.
    • setUserPoolName

      @Stability(Stable) public void setUserPoolName(@Nullable String value)
      A string used to name the 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.
    • getVerificationMessageTemplate

      @Stability(Stable) @Nullable public Object getVerificationMessageTemplate()
      The template for the verification message that the user sees when the app requests permission to access the user's information.
    • setVerificationMessageTemplate

      @Stability(Stable) public void setVerificationMessageTemplate(@Nullable IResolvable value)
      The template for the verification message that the user sees when the app requests permission to access the user's information.
    • setVerificationMessageTemplate

      @Stability(Stable) public void setVerificationMessageTemplate(@Nullable CfnUserPool.VerificationMessageTemplateProperty value)
      The template for the verification message that the user sees when the app requests permission to access the user's information.