All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateUserPoolRequest.Builder,CreateUserPoolRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateUserPoolRequest extends CognitoIdentityProviderRequest implements ToCopyableBuilder<CreateUserPoolRequest.Builder,CreateUserPoolRequest>

Represents the request to create a user pool.

  • Method Details

    • poolName

      public final String poolName()

      A string used to name the user pool.

      Returns:
      A string used to name the user pool.
    • policies

      public final UserPoolPolicyType policies()

      The policies associated with the new user pool.

      Returns:
      The policies associated with the new user pool.
    • deletionProtection

      public final DeletionProtectionType deletionProtection()

      When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.

      When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException error. To delete a protected user pool, send a new DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool API request.

      If the service returns an enum value that is not available in the current SDK version, deletionProtection will return DeletionProtectionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from deletionProtectionAsString().

      Returns:
      When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.

      When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException error. To delete a protected user pool, send a new DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool API request.

      See Also:
    • deletionProtectionAsString

      public final String deletionProtectionAsString()

      When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.

      When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException error. To delete a protected user pool, send a new DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool API request.

      If the service returns an enum value that is not available in the current SDK version, deletionProtection will return DeletionProtectionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from deletionProtectionAsString().

      Returns:
      When active, DeletionProtection prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.

      When you try to delete a protected user pool in a DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException error. To delete a protected user pool, send a new DeleteUserPool request after you deactivate deletion protection in an UpdateUserPool API request.

      See Also:
    • lambdaConfig

      public final LambdaConfigType lambdaConfig()

      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 must 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 .

      For adding permission using the CLI, see add-permission .

      Returns:
      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 must 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 .

      For adding permission using the CLI, see add-permission .

    • autoVerifiedAttributes

      public final List<VerifiedAttributeType> autoVerifiedAttributes()

      The attributes to be auto-verified. Possible values: email, phone_number.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAutoVerifiedAttributes() method.

      Returns:
      The attributes to be auto-verified. Possible values: email, phone_number.
    • hasAutoVerifiedAttributes

      public final boolean hasAutoVerifiedAttributes()
      For responses, this returns true if the service returned a value for the AutoVerifiedAttributes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • autoVerifiedAttributesAsStrings

      public final List<String> autoVerifiedAttributesAsStrings()

      The attributes to be auto-verified. Possible values: email, phone_number.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAutoVerifiedAttributes() method.

      Returns:
      The attributes to be auto-verified. Possible values: email, phone_number.
    • aliasAttributes

      public final List<AliasAttributeType> aliasAttributes()

      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAliasAttributes() method.

      Returns:
      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.
    • hasAliasAttributes

      public final boolean hasAliasAttributes()
      For responses, this returns true if the service returned a value for the AliasAttributes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • aliasAttributesAsStrings

      public final List<String> aliasAttributesAsStrings()

      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAliasAttributes() method.

      Returns:
      Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.
    • usernameAttributes

      public final List<UsernameAttributeType> usernameAttributes()

      Specifies whether a user can use an email address or phone number as a username when they sign up.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasUsernameAttributes() method.

      Returns:
      Specifies whether a user can use an email address or phone number as a username when they sign up.
    • hasUsernameAttributes

      public final boolean hasUsernameAttributes()
      For responses, this returns true if the service returned a value for the UsernameAttributes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • usernameAttributesAsStrings

      public final List<String> usernameAttributesAsStrings()

      Specifies whether a user can use an email address or phone number as a username when they sign up.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasUsernameAttributes() method.

      Returns:
      Specifies whether a user can use an email address or phone number as a username when they sign up.
    • smsVerificationMessage

      public final String smsVerificationMessage()

      This parameter is no longer used. See VerificationMessageTemplateType.

      Returns:
      This parameter is no longer used. See VerificationMessageTemplateType.
    • emailVerificationMessage

      public final String emailVerificationMessage()

      This parameter is no longer used. See VerificationMessageTemplateType.

      Returns:
      This parameter is no longer used. See VerificationMessageTemplateType.
    • emailVerificationSubject

      public final String emailVerificationSubject()

      This parameter is no longer used. See VerificationMessageTemplateType.

      Returns:
      This parameter is no longer used. See VerificationMessageTemplateType.
    • verificationMessageTemplate

      public final VerificationMessageTemplateType verificationMessageTemplate()

      The template for the verification message that the user sees when the app requests permission to access the user's information.

      Returns:
      The template for the verification message that the user sees when the app requests permission to access the user's information.
    • smsAuthenticationMessage

      public final String smsAuthenticationMessage()

      A string representing the SMS authentication message.

      Returns:
      A string representing the SMS authentication message.
    • mfaConfiguration

      public final UserPoolMfaType mfaConfiguration()

      Specifies MFA configuration details.

      If the service returns an enum value that is not available in the current SDK version, mfaConfiguration will return UserPoolMfaType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mfaConfigurationAsString().

      Returns:
      Specifies MFA configuration details.
      See Also:
    • mfaConfigurationAsString

      public final String mfaConfigurationAsString()

      Specifies MFA configuration details.

      If the service returns an enum value that is not available in the current SDK version, mfaConfiguration will return UserPoolMfaType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mfaConfigurationAsString().

      Returns:
      Specifies MFA configuration details.
      See Also:
    • userAttributeUpdateSettings

      public final UserAttributeUpdateSettingsType userAttributeUpdateSettings()

      The settings for updates to user attributes. These settings include the property AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see Verifying updates to email addresses and phone numbers.

      Returns:
      The settings for updates to user attributes. These settings include the property AttributesRequireVerificationBeforeUpdate, a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see Verifying updates to email addresses and phone numbers.
    • deviceConfiguration

      public final DeviceConfigurationType deviceConfiguration()

      The device-remembering configuration for a user pool. A null value indicates that you have deactivated device remembering in your user pool.

      When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito device-remembering feature.

      Returns:
      The device-remembering configuration for a user pool. A null value indicates that you have deactivated device remembering in your user pool.

      When you provide a value for any DeviceConfiguration field, you activate the Amazon Cognito device-remembering feature.

    • emailConfiguration

      public final EmailConfigurationType emailConfiguration()

      The email configuration of your user pool. The email configuration type sets your preferred sending method, Amazon Web Services Region, and sender for messages from your user pool.

      Returns:
      The email configuration of your user pool. The email configuration type sets your preferred sending method, Amazon Web Services Region, and sender for messages from your user pool.
    • smsConfiguration

      public final SmsConfigurationType smsConfiguration()

      The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access Management (IAM) role in your Amazon Web Services account.

      Returns:
      The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access Management (IAM) role in your Amazon Web Services account.
    • hasUserPoolTags

      public final boolean hasUserPoolTags()
      For responses, this returns true if the service returned a value for the UserPoolTags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • userPoolTags

      public final Map<String,String> userPoolTags()

      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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasUserPoolTags() method.

      Returns:
      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.
    • adminCreateUserConfig

      public final AdminCreateUserConfigType adminCreateUserConfig()

      The configuration for AdminCreateUser requests.

      Returns:
      The configuration for AdminCreateUser requests.
    • hasSchema

      public final boolean hasSchema()
      For responses, this returns true if the service returned a value for the Schema property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • schema

      public final List<SchemaAttributeType> schema()

      An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSchema() method.

      Returns:
      An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
    • userPoolAddOns

      public final UserPoolAddOnsType userPoolAddOns()

      User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to AUDIT. To configure automatic security responses to risky traffic to your user pool, set to ENFORCED.

      For more information, see Adding advanced security to a user pool.

      Returns:
      User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to AUDIT. To configure automatic security responses to risky traffic to your user pool, set to ENFORCED.

      For more information, see Adding advanced security to a user pool.

    • usernameConfiguration

      public final UsernameConfigurationType usernameConfiguration()

      Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to False (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, username, USERNAME, or UserName, or for email, email@example.com or EMaiL@eXamplE.Com. For most use cases, set case sensitivity to False (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.

      This configuration is immutable after you set it. For more information, see UsernameConfigurationType.

      Returns:
      Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to False (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, username, USERNAME, or UserName, or for email, email@example.com or EMaiL@eXamplE.Com. For most use cases, set case sensitivity to False (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.

      This configuration is immutable after you set it. For more information, see UsernameConfigurationType.

    • accountRecoverySetting

      public final AccountRecoverySettingType accountRecoverySetting()

      The available verified method a user can use to recover their password when they call ForgotPassword . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.

      Returns:
      The available verified method a user can use to recover their password when they call ForgotPassword. You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
    • toBuilder

      public CreateUserPoolRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateUserPoolRequest.Builder,CreateUserPoolRequest>
      Specified by:
      toBuilder in class CognitoIdentityProviderRequest
      Returns:
      a builder for type T
    • builder

      public static CreateUserPoolRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateUserPoolRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.