com.amazonaws.services.cognitoidp.model.CreateUserPoolRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cognitoidp Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.cognitoidp.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* Represents the request to create a user pool.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateUserPoolRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* A string used to name the user pool.
*
*/
private String poolName;
/**
*
* The policies associated with the new user pool.
*
*/
private UserPoolPolicyType policies;
/**
*
* 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.
*
*/
private String deletionProtection;
/**
*
* 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 .
*
*
*/
private LambdaConfigType lambdaConfig;
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*/
private java.util.List autoVerifiedAttributes;
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*/
private java.util.List aliasAttributes;
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*/
private java.util.List usernameAttributes;
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*/
private String smsVerificationMessage;
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*/
private String emailVerificationMessage;
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*/
private String emailVerificationSubject;
/**
*
* The template for the verification message that the user sees when the app requests permission to access the
* user's information.
*
*/
private VerificationMessageTemplateType verificationMessageTemplate;
/**
*
* A string representing the SMS authentication message.
*
*/
private String smsAuthenticationMessage;
/**
*
* Specifies MFA configuration details.
*
*/
private String mfaConfiguration;
/**
*
* 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.
*
*/
private UserAttributeUpdateSettingsType userAttributeUpdateSettings;
/**
*
* 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.
*
*
*/
private DeviceConfigurationType deviceConfiguration;
/**
*
* 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.
*
*/
private EmailConfigurationType emailConfiguration;
/**
*
* 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.
*
*/
private SmsConfigurationType smsConfiguration;
/**
*
* 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.
*
*/
private java.util.Map userPoolTags;
/**
*
* The configuration for AdminCreateUser
requests.
*
*/
private AdminCreateUserConfigType adminCreateUserConfig;
/**
*
* An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
*
*/
private java.util.List schema;
/**
*
* 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.
*
*/
private UserPoolAddOnsType userPoolAddOns;
/**
*
* 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 protected]
or [email protected]
. 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.
*
*/
private UsernameConfigurationType usernameConfiguration;
/**
*
* 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.
*
*/
private AccountRecoverySettingType accountRecoverySetting;
/**
*
* A string used to name the user pool.
*
*
* @param poolName
* A string used to name the user pool.
*/
public void setPoolName(String poolName) {
this.poolName = poolName;
}
/**
*
* A string used to name the user pool.
*
*
* @return A string used to name the user pool.
*/
public String getPoolName() {
return this.poolName;
}
/**
*
* A string used to name the user pool.
*
*
* @param poolName
* A string used to name the user pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withPoolName(String poolName) {
setPoolName(poolName);
return this;
}
/**
*
* The policies associated with the new user pool.
*
*
* @param policies
* The policies associated with the new user pool.
*/
public void setPolicies(UserPoolPolicyType policies) {
this.policies = policies;
}
/**
*
* The policies associated with the new user pool.
*
*
* @return The policies associated with the new user pool.
*/
public UserPoolPolicyType getPolicies() {
return this.policies;
}
/**
*
* The policies associated with the new user pool.
*
*
* @param policies
* The policies associated with the new user pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withPolicies(UserPoolPolicyType policies) {
setPolicies(policies);
return this;
}
/**
*
* 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.
*
*
* @param 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.
* @see DeletionProtectionType
*/
public void setDeletionProtection(String deletionProtection) {
this.deletionProtection = 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.
*
*
* @return 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 DeletionProtectionType
*/
public String getDeletionProtection() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DeletionProtectionType
*/
public CreateUserPoolRequest withDeletionProtection(String deletionProtection) {
setDeletionProtection(deletionProtection);
return this;
}
/**
*
* 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.
*
*
* @param 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.
* @see DeletionProtectionType
*/
public void setDeletionProtection(DeletionProtectionType deletionProtection) {
withDeletionProtection(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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DeletionProtectionType
*/
public CreateUserPoolRequest withDeletionProtection(DeletionProtectionType deletionProtection) {
this.deletionProtection = deletionProtection.toString();
return this;
}
/**
*
* 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 .
*
*
*
* @param 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 .
*
*/
public void setLambdaConfig(LambdaConfigType lambdaConfig) {
this.lambdaConfig = 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 .
*
*
*
* @return 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 .
*
*/
public LambdaConfigType getLambdaConfig() {
return this.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 .
*
*
*
* @param 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 .
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withLambdaConfig(LambdaConfigType lambdaConfig) {
setLambdaConfig(lambdaConfig);
return this;
}
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*
* @return The attributes to be auto-verified. Possible values: email, phone_number.
* @see VerifiedAttributeType
*/
public java.util.List getAutoVerifiedAttributes() {
return autoVerifiedAttributes;
}
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*
* @param autoVerifiedAttributes
* The attributes to be auto-verified. Possible values: email, phone_number.
* @see VerifiedAttributeType
*/
public void setAutoVerifiedAttributes(java.util.Collection autoVerifiedAttributes) {
if (autoVerifiedAttributes == null) {
this.autoVerifiedAttributes = null;
return;
}
this.autoVerifiedAttributes = new java.util.ArrayList(autoVerifiedAttributes);
}
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAutoVerifiedAttributes(java.util.Collection)} or
* {@link #withAutoVerifiedAttributes(java.util.Collection)} if you want to override the existing values.
*
*
* @param autoVerifiedAttributes
* The attributes to be auto-verified. Possible values: email, phone_number.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAttributeType
*/
public CreateUserPoolRequest withAutoVerifiedAttributes(String... autoVerifiedAttributes) {
if (this.autoVerifiedAttributes == null) {
setAutoVerifiedAttributes(new java.util.ArrayList(autoVerifiedAttributes.length));
}
for (String ele : autoVerifiedAttributes) {
this.autoVerifiedAttributes.add(ele);
}
return this;
}
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*
* @param autoVerifiedAttributes
* The attributes to be auto-verified. Possible values: email, phone_number.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAttributeType
*/
public CreateUserPoolRequest withAutoVerifiedAttributes(java.util.Collection autoVerifiedAttributes) {
setAutoVerifiedAttributes(autoVerifiedAttributes);
return this;
}
/**
*
* The attributes to be auto-verified. Possible values: email, phone_number.
*
*
* @param autoVerifiedAttributes
* The attributes to be auto-verified. Possible values: email, phone_number.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAttributeType
*/
public CreateUserPoolRequest withAutoVerifiedAttributes(VerifiedAttributeType... autoVerifiedAttributes) {
java.util.ArrayList autoVerifiedAttributesCopy = new java.util.ArrayList(autoVerifiedAttributes.length);
for (VerifiedAttributeType value : autoVerifiedAttributes) {
autoVerifiedAttributesCopy.add(value.toString());
}
if (getAutoVerifiedAttributes() == null) {
setAutoVerifiedAttributes(autoVerifiedAttributesCopy);
} else {
getAutoVerifiedAttributes().addAll(autoVerifiedAttributesCopy);
}
return this;
}
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*
* @return Attributes supported as an alias for this user pool. Possible values: phone_number, email,
* or preferred_username.
* @see AliasAttributeType
*/
public java.util.List getAliasAttributes() {
return aliasAttributes;
}
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*
* @param aliasAttributes
* Attributes supported as an alias for this user pool. Possible values: phone_number, email,
* or preferred_username.
* @see AliasAttributeType
*/
public void setAliasAttributes(java.util.Collection aliasAttributes) {
if (aliasAttributes == null) {
this.aliasAttributes = null;
return;
}
this.aliasAttributes = new java.util.ArrayList(aliasAttributes);
}
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAliasAttributes(java.util.Collection)} or {@link #withAliasAttributes(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param aliasAttributes
* Attributes supported as an alias for this user pool. Possible values: phone_number, email,
* or preferred_username.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AliasAttributeType
*/
public CreateUserPoolRequest withAliasAttributes(String... aliasAttributes) {
if (this.aliasAttributes == null) {
setAliasAttributes(new java.util.ArrayList(aliasAttributes.length));
}
for (String ele : aliasAttributes) {
this.aliasAttributes.add(ele);
}
return this;
}
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*
* @param aliasAttributes
* Attributes supported as an alias for this user pool. Possible values: phone_number, email,
* or preferred_username.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AliasAttributeType
*/
public CreateUserPoolRequest withAliasAttributes(java.util.Collection aliasAttributes) {
setAliasAttributes(aliasAttributes);
return this;
}
/**
*
* Attributes supported as an alias for this user pool. Possible values: phone_number, email, or
* preferred_username.
*
*
* @param aliasAttributes
* Attributes supported as an alias for this user pool. Possible values: phone_number, email,
* or preferred_username.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AliasAttributeType
*/
public CreateUserPoolRequest withAliasAttributes(AliasAttributeType... aliasAttributes) {
java.util.ArrayList aliasAttributesCopy = new java.util.ArrayList(aliasAttributes.length);
for (AliasAttributeType value : aliasAttributes) {
aliasAttributesCopy.add(value.toString());
}
if (getAliasAttributes() == null) {
setAliasAttributes(aliasAttributesCopy);
} else {
getAliasAttributes().addAll(aliasAttributesCopy);
}
return this;
}
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*
* @return Specifies whether a user can use an email address or phone number as a username when they sign up.
* @see UsernameAttributeType
*/
public java.util.List getUsernameAttributes() {
return usernameAttributes;
}
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*
* @param usernameAttributes
* Specifies whether a user can use an email address or phone number as a username when they sign up.
* @see UsernameAttributeType
*/
public void setUsernameAttributes(java.util.Collection usernameAttributes) {
if (usernameAttributes == null) {
this.usernameAttributes = null;
return;
}
this.usernameAttributes = new java.util.ArrayList(usernameAttributes);
}
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setUsernameAttributes(java.util.Collection)} or {@link #withUsernameAttributes(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param usernameAttributes
* Specifies whether a user can use an email address or phone number as a username when they sign up.
* @return Returns a reference to this object so that method calls can be chained together.
* @see UsernameAttributeType
*/
public CreateUserPoolRequest withUsernameAttributes(String... usernameAttributes) {
if (this.usernameAttributes == null) {
setUsernameAttributes(new java.util.ArrayList(usernameAttributes.length));
}
for (String ele : usernameAttributes) {
this.usernameAttributes.add(ele);
}
return this;
}
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*
* @param usernameAttributes
* Specifies whether a user can use an email address or phone number as a username when they sign up.
* @return Returns a reference to this object so that method calls can be chained together.
* @see UsernameAttributeType
*/
public CreateUserPoolRequest withUsernameAttributes(java.util.Collection usernameAttributes) {
setUsernameAttributes(usernameAttributes);
return this;
}
/**
*
* Specifies whether a user can use an email address or phone number as a username when they sign up.
*
*
* @param usernameAttributes
* Specifies whether a user can use an email address or phone number as a username when they sign up.
* @return Returns a reference to this object so that method calls can be chained together.
* @see UsernameAttributeType
*/
public CreateUserPoolRequest withUsernameAttributes(UsernameAttributeType... usernameAttributes) {
java.util.ArrayList usernameAttributesCopy = new java.util.ArrayList(usernameAttributes.length);
for (UsernameAttributeType value : usernameAttributes) {
usernameAttributesCopy.add(value.toString());
}
if (getUsernameAttributes() == null) {
setUsernameAttributes(usernameAttributesCopy);
} else {
getUsernameAttributes().addAll(usernameAttributesCopy);
}
return this;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param smsVerificationMessage
* This parameter is no longer used. See VerificationMessageTemplateType.
*/
public void setSmsVerificationMessage(String smsVerificationMessage) {
this.smsVerificationMessage = smsVerificationMessage;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @return This parameter is no longer used. See VerificationMessageTemplateType.
*/
public String getSmsVerificationMessage() {
return this.smsVerificationMessage;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param smsVerificationMessage
* This parameter is no longer used. See VerificationMessageTemplateType.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withSmsVerificationMessage(String smsVerificationMessage) {
setSmsVerificationMessage(smsVerificationMessage);
return this;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param emailVerificationMessage
* This parameter is no longer used. See VerificationMessageTemplateType.
*/
public void setEmailVerificationMessage(String emailVerificationMessage) {
this.emailVerificationMessage = emailVerificationMessage;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @return This parameter is no longer used. See VerificationMessageTemplateType.
*/
public String getEmailVerificationMessage() {
return this.emailVerificationMessage;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param emailVerificationMessage
* This parameter is no longer used. See VerificationMessageTemplateType.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withEmailVerificationMessage(String emailVerificationMessage) {
setEmailVerificationMessage(emailVerificationMessage);
return this;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param emailVerificationSubject
* This parameter is no longer used. See VerificationMessageTemplateType.
*/
public void setEmailVerificationSubject(String emailVerificationSubject) {
this.emailVerificationSubject = emailVerificationSubject;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @return This parameter is no longer used. See VerificationMessageTemplateType.
*/
public String getEmailVerificationSubject() {
return this.emailVerificationSubject;
}
/**
*
* This parameter is no longer used. See VerificationMessageTemplateType.
*
*
* @param emailVerificationSubject
* This parameter is no longer used. See VerificationMessageTemplateType.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withEmailVerificationSubject(String emailVerificationSubject) {
setEmailVerificationSubject(emailVerificationSubject);
return this;
}
/**
*
* The template for the verification message that the user sees when the app requests permission to access the
* user's information.
*
*
* @param verificationMessageTemplate
* The template for the verification message that the user sees when the app requests permission to access
* the user's information.
*/
public void setVerificationMessageTemplate(VerificationMessageTemplateType verificationMessageTemplate) {
this.verificationMessageTemplate = verificationMessageTemplate;
}
/**
*
* The template for the verification message that the user sees when the app requests permission to access the
* user's information.
*
*
* @return The template for the verification message that the user sees when the app requests permission to access
* the user's information.
*/
public VerificationMessageTemplateType getVerificationMessageTemplate() {
return this.verificationMessageTemplate;
}
/**
*
* The template for the verification message that the user sees when the app requests permission to access the
* user's information.
*
*
* @param verificationMessageTemplate
* The template for the verification message that the user sees when the app requests permission to access
* the user's information.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withVerificationMessageTemplate(VerificationMessageTemplateType verificationMessageTemplate) {
setVerificationMessageTemplate(verificationMessageTemplate);
return this;
}
/**
*
* A string representing the SMS authentication message.
*
*
* @param smsAuthenticationMessage
* A string representing the SMS authentication message.
*/
public void setSmsAuthenticationMessage(String smsAuthenticationMessage) {
this.smsAuthenticationMessage = smsAuthenticationMessage;
}
/**
*
* A string representing the SMS authentication message.
*
*
* @return A string representing the SMS authentication message.
*/
public String getSmsAuthenticationMessage() {
return this.smsAuthenticationMessage;
}
/**
*
* A string representing the SMS authentication message.
*
*
* @param smsAuthenticationMessage
* A string representing the SMS authentication message.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withSmsAuthenticationMessage(String smsAuthenticationMessage) {
setSmsAuthenticationMessage(smsAuthenticationMessage);
return this;
}
/**
*
* Specifies MFA configuration details.
*
*
* @param mfaConfiguration
* Specifies MFA configuration details.
* @see UserPoolMfaType
*/
public void setMfaConfiguration(String mfaConfiguration) {
this.mfaConfiguration = mfaConfiguration;
}
/**
*
* Specifies MFA configuration details.
*
*
* @return Specifies MFA configuration details.
* @see UserPoolMfaType
*/
public String getMfaConfiguration() {
return this.mfaConfiguration;
}
/**
*
* Specifies MFA configuration details.
*
*
* @param mfaConfiguration
* Specifies MFA configuration details.
* @return Returns a reference to this object so that method calls can be chained together.
* @see UserPoolMfaType
*/
public CreateUserPoolRequest withMfaConfiguration(String mfaConfiguration) {
setMfaConfiguration(mfaConfiguration);
return this;
}
/**
*
* Specifies MFA configuration details.
*
*
* @param mfaConfiguration
* Specifies MFA configuration details.
* @see UserPoolMfaType
*/
public void setMfaConfiguration(UserPoolMfaType mfaConfiguration) {
withMfaConfiguration(mfaConfiguration);
}
/**
*
* Specifies MFA configuration details.
*
*
* @param mfaConfiguration
* Specifies MFA configuration details.
* @return Returns a reference to this object so that method calls can be chained together.
* @see UserPoolMfaType
*/
public CreateUserPoolRequest withMfaConfiguration(UserPoolMfaType mfaConfiguration) {
this.mfaConfiguration = mfaConfiguration.toString();
return this;
}
/**
*
* 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.
*
*
* @param 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.
*/
public void setUserAttributeUpdateSettings(UserAttributeUpdateSettingsType userAttributeUpdateSettings) {
this.userAttributeUpdateSettings = 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.
*
*
* @return 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.
*/
public UserAttributeUpdateSettingsType getUserAttributeUpdateSettings() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withUserAttributeUpdateSettings(UserAttributeUpdateSettingsType userAttributeUpdateSettings) {
setUserAttributeUpdateSettings(userAttributeUpdateSettings);
return this;
}
/**
*
* 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.
*
*
*
* @param 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.
*
*/
public void setDeviceConfiguration(DeviceConfigurationType deviceConfiguration) {
this.deviceConfiguration = 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.
*
*
*
* @return 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.
*
*/
public DeviceConfigurationType getDeviceConfiguration() {
return this.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.
*
*
*
* @param 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.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withDeviceConfiguration(DeviceConfigurationType deviceConfiguration) {
setDeviceConfiguration(deviceConfiguration);
return this;
}
/**
*
* 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.
*
*
* @param 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.
*/
public void setEmailConfiguration(EmailConfigurationType emailConfiguration) {
this.emailConfiguration = 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.
*
*
* @return 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.
*/
public EmailConfigurationType getEmailConfiguration() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withEmailConfiguration(EmailConfigurationType emailConfiguration) {
setEmailConfiguration(emailConfiguration);
return this;
}
/**
*
* 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.
*
*
* @param 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.
*/
public void setSmsConfiguration(SmsConfigurationType smsConfiguration) {
this.smsConfiguration = 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.
*
*
* @return 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.
*/
public SmsConfigurationType getSmsConfiguration() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withSmsConfiguration(SmsConfigurationType smsConfiguration) {
setSmsConfiguration(smsConfiguration);
return this;
}
/**
*
* 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.
*
*
* @return 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.
*/
public java.util.Map getUserPoolTags() {
return 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.
*
*
* @param 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.
*/
public void setUserPoolTags(java.util.Map userPoolTags) {
this.userPoolTags = 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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withUserPoolTags(java.util.Map userPoolTags) {
setUserPoolTags(userPoolTags);
return this;
}
/**
* Add a single UserPoolTags entry
*
* @see CreateUserPoolRequest#withUserPoolTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest addUserPoolTagsEntry(String key, String value) {
if (null == this.userPoolTags) {
this.userPoolTags = new java.util.HashMap();
}
if (this.userPoolTags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.userPoolTags.put(key, value);
return this;
}
/**
* Removes all the entries added into UserPoolTags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest clearUserPoolTagsEntries() {
this.userPoolTags = null;
return this;
}
/**
*
* The configuration for AdminCreateUser
requests.
*
*
* @param adminCreateUserConfig
* The configuration for AdminCreateUser
requests.
*/
public void setAdminCreateUserConfig(AdminCreateUserConfigType adminCreateUserConfig) {
this.adminCreateUserConfig = adminCreateUserConfig;
}
/**
*
* The configuration for AdminCreateUser
requests.
*
*
* @return The configuration for AdminCreateUser
requests.
*/
public AdminCreateUserConfigType getAdminCreateUserConfig() {
return this.adminCreateUserConfig;
}
/**
*
* The configuration for AdminCreateUser
requests.
*
*
* @param adminCreateUserConfig
* The configuration for AdminCreateUser
requests.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withAdminCreateUserConfig(AdminCreateUserConfigType adminCreateUserConfig) {
setAdminCreateUserConfig(adminCreateUserConfig);
return this;
}
/**
*
* An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
*
*
* @return An array of schema attributes for the new user pool. These attributes can be standard or custom
* attributes.
*/
public java.util.List getSchema() {
return schema;
}
/**
*
* An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
*
*
* @param schema
* An array of schema attributes for the new user pool. These attributes can be standard or custom
* attributes.
*/
public void setSchema(java.util.Collection schema) {
if (schema == null) {
this.schema = null;
return;
}
this.schema = new java.util.ArrayList(schema);
}
/**
*
* An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSchema(java.util.Collection)} or {@link #withSchema(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param schema
* An array of schema attributes for the new user pool. These attributes can be standard or custom
* attributes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withSchema(SchemaAttributeType... schema) {
if (this.schema == null) {
setSchema(new java.util.ArrayList(schema.length));
}
for (SchemaAttributeType ele : schema) {
this.schema.add(ele);
}
return this;
}
/**
*
* An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
*
*
* @param schema
* An array of schema attributes for the new user pool. These attributes can be standard or custom
* attributes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withSchema(java.util.Collection schema) {
setSchema(schema);
return this;
}
/**
*
* 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.
*
*
* @param 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.
*/
public void setUserPoolAddOns(UserPoolAddOnsType userPoolAddOns) {
this.userPoolAddOns = 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.
*
*
* @return 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.
*/
public UserPoolAddOnsType getUserPoolAddOns() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withUserPoolAddOns(UserPoolAddOnsType userPoolAddOns) {
setUserPoolAddOns(userPoolAddOns);
return this;
}
/**
*
* 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 protected]
or [email protected]
. 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.
*
*
* @param 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 protected]
or [email protected]
. 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.
*/
public void setUsernameConfiguration(UsernameConfigurationType usernameConfiguration) {
this.usernameConfiguration = 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 protected]
or [email protected]
. 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.
*
*
* @return 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 protected]
or [email protected]
. 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.
*/
public UsernameConfigurationType getUsernameConfiguration() {
return this.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 protected]
or [email protected]
. 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.
*
*
* @param 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 protected]
or [email protected]
. 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withUsernameConfiguration(UsernameConfigurationType usernameConfiguration) {
setUsernameConfiguration(usernameConfiguration);
return this;
}
/**
*
* 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.
*
*
* @param 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.
*/
public void setAccountRecoverySetting(AccountRecoverySettingType accountRecoverySetting) {
this.accountRecoverySetting = 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.
*
*
* @return 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.
*/
public AccountRecoverySettingType getAccountRecoverySetting() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateUserPoolRequest withAccountRecoverySetting(AccountRecoverySettingType accountRecoverySetting) {
setAccountRecoverySetting(accountRecoverySetting);
return this;
}
/**
* 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.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getPoolName() != null)
sb.append("PoolName: ").append(getPoolName()).append(",");
if (getPolicies() != null)
sb.append("Policies: ").append(getPolicies()).append(",");
if (getDeletionProtection() != null)
sb.append("DeletionProtection: ").append(getDeletionProtection()).append(",");
if (getLambdaConfig() != null)
sb.append("LambdaConfig: ").append(getLambdaConfig()).append(",");
if (getAutoVerifiedAttributes() != null)
sb.append("AutoVerifiedAttributes: ").append(getAutoVerifiedAttributes()).append(",");
if (getAliasAttributes() != null)
sb.append("AliasAttributes: ").append(getAliasAttributes()).append(",");
if (getUsernameAttributes() != null)
sb.append("UsernameAttributes: ").append(getUsernameAttributes()).append(",");
if (getSmsVerificationMessage() != null)
sb.append("SmsVerificationMessage: ").append(getSmsVerificationMessage()).append(",");
if (getEmailVerificationMessage() != null)
sb.append("EmailVerificationMessage: ").append(getEmailVerificationMessage()).append(",");
if (getEmailVerificationSubject() != null)
sb.append("EmailVerificationSubject: ").append(getEmailVerificationSubject()).append(",");
if (getVerificationMessageTemplate() != null)
sb.append("VerificationMessageTemplate: ").append(getVerificationMessageTemplate()).append(",");
if (getSmsAuthenticationMessage() != null)
sb.append("SmsAuthenticationMessage: ").append(getSmsAuthenticationMessage()).append(",");
if (getMfaConfiguration() != null)
sb.append("MfaConfiguration: ").append(getMfaConfiguration()).append(",");
if (getUserAttributeUpdateSettings() != null)
sb.append("UserAttributeUpdateSettings: ").append(getUserAttributeUpdateSettings()).append(",");
if (getDeviceConfiguration() != null)
sb.append("DeviceConfiguration: ").append(getDeviceConfiguration()).append(",");
if (getEmailConfiguration() != null)
sb.append("EmailConfiguration: ").append(getEmailConfiguration()).append(",");
if (getSmsConfiguration() != null)
sb.append("SmsConfiguration: ").append(getSmsConfiguration()).append(",");
if (getUserPoolTags() != null)
sb.append("UserPoolTags: ").append(getUserPoolTags()).append(",");
if (getAdminCreateUserConfig() != null)
sb.append("AdminCreateUserConfig: ").append(getAdminCreateUserConfig()).append(",");
if (getSchema() != null)
sb.append("Schema: ").append(getSchema()).append(",");
if (getUserPoolAddOns() != null)
sb.append("UserPoolAddOns: ").append(getUserPoolAddOns()).append(",");
if (getUsernameConfiguration() != null)
sb.append("UsernameConfiguration: ").append(getUsernameConfiguration()).append(",");
if (getAccountRecoverySetting() != null)
sb.append("AccountRecoverySetting: ").append(getAccountRecoverySetting());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateUserPoolRequest == false)
return false;
CreateUserPoolRequest other = (CreateUserPoolRequest) obj;
if (other.getPoolName() == null ^ this.getPoolName() == null)
return false;
if (other.getPoolName() != null && other.getPoolName().equals(this.getPoolName()) == false)
return false;
if (other.getPolicies() == null ^ this.getPolicies() == null)
return false;
if (other.getPolicies() != null && other.getPolicies().equals(this.getPolicies()) == false)
return false;
if (other.getDeletionProtection() == null ^ this.getDeletionProtection() == null)
return false;
if (other.getDeletionProtection() != null && other.getDeletionProtection().equals(this.getDeletionProtection()) == false)
return false;
if (other.getLambdaConfig() == null ^ this.getLambdaConfig() == null)
return false;
if (other.getLambdaConfig() != null && other.getLambdaConfig().equals(this.getLambdaConfig()) == false)
return false;
if (other.getAutoVerifiedAttributes() == null ^ this.getAutoVerifiedAttributes() == null)
return false;
if (other.getAutoVerifiedAttributes() != null && other.getAutoVerifiedAttributes().equals(this.getAutoVerifiedAttributes()) == false)
return false;
if (other.getAliasAttributes() == null ^ this.getAliasAttributes() == null)
return false;
if (other.getAliasAttributes() != null && other.getAliasAttributes().equals(this.getAliasAttributes()) == false)
return false;
if (other.getUsernameAttributes() == null ^ this.getUsernameAttributes() == null)
return false;
if (other.getUsernameAttributes() != null && other.getUsernameAttributes().equals(this.getUsernameAttributes()) == false)
return false;
if (other.getSmsVerificationMessage() == null ^ this.getSmsVerificationMessage() == null)
return false;
if (other.getSmsVerificationMessage() != null && other.getSmsVerificationMessage().equals(this.getSmsVerificationMessage()) == false)
return false;
if (other.getEmailVerificationMessage() == null ^ this.getEmailVerificationMessage() == null)
return false;
if (other.getEmailVerificationMessage() != null && other.getEmailVerificationMessage().equals(this.getEmailVerificationMessage()) == false)
return false;
if (other.getEmailVerificationSubject() == null ^ this.getEmailVerificationSubject() == null)
return false;
if (other.getEmailVerificationSubject() != null && other.getEmailVerificationSubject().equals(this.getEmailVerificationSubject()) == false)
return false;
if (other.getVerificationMessageTemplate() == null ^ this.getVerificationMessageTemplate() == null)
return false;
if (other.getVerificationMessageTemplate() != null && other.getVerificationMessageTemplate().equals(this.getVerificationMessageTemplate()) == false)
return false;
if (other.getSmsAuthenticationMessage() == null ^ this.getSmsAuthenticationMessage() == null)
return false;
if (other.getSmsAuthenticationMessage() != null && other.getSmsAuthenticationMessage().equals(this.getSmsAuthenticationMessage()) == false)
return false;
if (other.getMfaConfiguration() == null ^ this.getMfaConfiguration() == null)
return false;
if (other.getMfaConfiguration() != null && other.getMfaConfiguration().equals(this.getMfaConfiguration()) == false)
return false;
if (other.getUserAttributeUpdateSettings() == null ^ this.getUserAttributeUpdateSettings() == null)
return false;
if (other.getUserAttributeUpdateSettings() != null && other.getUserAttributeUpdateSettings().equals(this.getUserAttributeUpdateSettings()) == false)
return false;
if (other.getDeviceConfiguration() == null ^ this.getDeviceConfiguration() == null)
return false;
if (other.getDeviceConfiguration() != null && other.getDeviceConfiguration().equals(this.getDeviceConfiguration()) == false)
return false;
if (other.getEmailConfiguration() == null ^ this.getEmailConfiguration() == null)
return false;
if (other.getEmailConfiguration() != null && other.getEmailConfiguration().equals(this.getEmailConfiguration()) == false)
return false;
if (other.getSmsConfiguration() == null ^ this.getSmsConfiguration() == null)
return false;
if (other.getSmsConfiguration() != null && other.getSmsConfiguration().equals(this.getSmsConfiguration()) == false)
return false;
if (other.getUserPoolTags() == null ^ this.getUserPoolTags() == null)
return false;
if (other.getUserPoolTags() != null && other.getUserPoolTags().equals(this.getUserPoolTags()) == false)
return false;
if (other.getAdminCreateUserConfig() == null ^ this.getAdminCreateUserConfig() == null)
return false;
if (other.getAdminCreateUserConfig() != null && other.getAdminCreateUserConfig().equals(this.getAdminCreateUserConfig()) == false)
return false;
if (other.getSchema() == null ^ this.getSchema() == null)
return false;
if (other.getSchema() != null && other.getSchema().equals(this.getSchema()) == false)
return false;
if (other.getUserPoolAddOns() == null ^ this.getUserPoolAddOns() == null)
return false;
if (other.getUserPoolAddOns() != null && other.getUserPoolAddOns().equals(this.getUserPoolAddOns()) == false)
return false;
if (other.getUsernameConfiguration() == null ^ this.getUsernameConfiguration() == null)
return false;
if (other.getUsernameConfiguration() != null && other.getUsernameConfiguration().equals(this.getUsernameConfiguration()) == false)
return false;
if (other.getAccountRecoverySetting() == null ^ this.getAccountRecoverySetting() == null)
return false;
if (other.getAccountRecoverySetting() != null && other.getAccountRecoverySetting().equals(this.getAccountRecoverySetting()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getPoolName() == null) ? 0 : getPoolName().hashCode());
hashCode = prime * hashCode + ((getPolicies() == null) ? 0 : getPolicies().hashCode());
hashCode = prime * hashCode + ((getDeletionProtection() == null) ? 0 : getDeletionProtection().hashCode());
hashCode = prime * hashCode + ((getLambdaConfig() == null) ? 0 : getLambdaConfig().hashCode());
hashCode = prime * hashCode + ((getAutoVerifiedAttributes() == null) ? 0 : getAutoVerifiedAttributes().hashCode());
hashCode = prime * hashCode + ((getAliasAttributes() == null) ? 0 : getAliasAttributes().hashCode());
hashCode = prime * hashCode + ((getUsernameAttributes() == null) ? 0 : getUsernameAttributes().hashCode());
hashCode = prime * hashCode + ((getSmsVerificationMessage() == null) ? 0 : getSmsVerificationMessage().hashCode());
hashCode = prime * hashCode + ((getEmailVerificationMessage() == null) ? 0 : getEmailVerificationMessage().hashCode());
hashCode = prime * hashCode + ((getEmailVerificationSubject() == null) ? 0 : getEmailVerificationSubject().hashCode());
hashCode = prime * hashCode + ((getVerificationMessageTemplate() == null) ? 0 : getVerificationMessageTemplate().hashCode());
hashCode = prime * hashCode + ((getSmsAuthenticationMessage() == null) ? 0 : getSmsAuthenticationMessage().hashCode());
hashCode = prime * hashCode + ((getMfaConfiguration() == null) ? 0 : getMfaConfiguration().hashCode());
hashCode = prime * hashCode + ((getUserAttributeUpdateSettings() == null) ? 0 : getUserAttributeUpdateSettings().hashCode());
hashCode = prime * hashCode + ((getDeviceConfiguration() == null) ? 0 : getDeviceConfiguration().hashCode());
hashCode = prime * hashCode + ((getEmailConfiguration() == null) ? 0 : getEmailConfiguration().hashCode());
hashCode = prime * hashCode + ((getSmsConfiguration() == null) ? 0 : getSmsConfiguration().hashCode());
hashCode = prime * hashCode + ((getUserPoolTags() == null) ? 0 : getUserPoolTags().hashCode());
hashCode = prime * hashCode + ((getAdminCreateUserConfig() == null) ? 0 : getAdminCreateUserConfig().hashCode());
hashCode = prime * hashCode + ((getSchema() == null) ? 0 : getSchema().hashCode());
hashCode = prime * hashCode + ((getUserPoolAddOns() == null) ? 0 : getUserPoolAddOns().hashCode());
hashCode = prime * hashCode + ((getUsernameConfiguration() == null) ? 0 : getUsernameConfiguration().hashCode());
hashCode = prime * hashCode + ((getAccountRecoverySetting() == null) ? 0 : getAccountRecoverySetting().hashCode());
return hashCode;
}
@Override
public CreateUserPoolRequest clone() {
return (CreateUserPoolRequest) super.clone();
}
}