/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the request to update the user pool.See Also:
AWS
* API Reference
The user pool ID for the user pool you want to update.
*/ inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } inline UpdateUserPoolRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} inline UpdateUserPoolRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} inline UpdateUserPoolRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} ///@} ///@{ /** *A container with the policies you want to update in a user pool.
*/ inline const UserPoolPolicyType& GetPolicies() const{ return m_policies; } inline bool PoliciesHasBeenSet() const { return m_policiesHasBeenSet; } inline void SetPolicies(const UserPoolPolicyType& value) { m_policiesHasBeenSet = true; m_policies = value; } inline void SetPolicies(UserPoolPolicyType&& value) { m_policiesHasBeenSet = true; m_policies = std::move(value); } inline UpdateUserPoolRequest& WithPolicies(const UserPoolPolicyType& value) { SetPolicies(value); return *this;} inline UpdateUserPoolRequest& WithPolicies(UserPoolPolicyType&& value) { SetPolicies(std::move(value)); 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.
The Lambda configuration information from the request to update the user * pool.
*/ inline const LambdaConfigType& GetLambdaConfig() const{ return m_lambdaConfig; } inline bool LambdaConfigHasBeenSet() const { return m_lambdaConfigHasBeenSet; } inline void SetLambdaConfig(const LambdaConfigType& value) { m_lambdaConfigHasBeenSet = true; m_lambdaConfig = value; } inline void SetLambdaConfig(LambdaConfigType&& value) { m_lambdaConfigHasBeenSet = true; m_lambdaConfig = std::move(value); } inline UpdateUserPoolRequest& WithLambdaConfig(const LambdaConfigType& value) { SetLambdaConfig(value); return *this;} inline UpdateUserPoolRequest& WithLambdaConfig(LambdaConfigType&& value) { SetLambdaConfig(std::move(value)); return *this;} ///@} ///@{ /** *The attributes that are automatically verified when Amazon Cognito requests * to update user pools.
*/ inline const Aws::VectorThis parameter is no longer used. See VerificationMessageTemplateType.
*/ inline const Aws::String& GetSmsVerificationMessage() const{ return m_smsVerificationMessage; } inline bool SmsVerificationMessageHasBeenSet() const { return m_smsVerificationMessageHasBeenSet; } inline void SetSmsVerificationMessage(const Aws::String& value) { m_smsVerificationMessageHasBeenSet = true; m_smsVerificationMessage = value; } inline void SetSmsVerificationMessage(Aws::String&& value) { m_smsVerificationMessageHasBeenSet = true; m_smsVerificationMessage = std::move(value); } inline void SetSmsVerificationMessage(const char* value) { m_smsVerificationMessageHasBeenSet = true; m_smsVerificationMessage.assign(value); } inline UpdateUserPoolRequest& WithSmsVerificationMessage(const Aws::String& value) { SetSmsVerificationMessage(value); return *this;} inline UpdateUserPoolRequest& WithSmsVerificationMessage(Aws::String&& value) { SetSmsVerificationMessage(std::move(value)); return *this;} inline UpdateUserPoolRequest& WithSmsVerificationMessage(const char* value) { SetSmsVerificationMessage(value); return *this;} ///@} ///@{ /** *This parameter is no longer used. See VerificationMessageTemplateType.
*/ inline const Aws::String& GetEmailVerificationMessage() const{ return m_emailVerificationMessage; } inline bool EmailVerificationMessageHasBeenSet() const { return m_emailVerificationMessageHasBeenSet; } inline void SetEmailVerificationMessage(const Aws::String& value) { m_emailVerificationMessageHasBeenSet = true; m_emailVerificationMessage = value; } inline void SetEmailVerificationMessage(Aws::String&& value) { m_emailVerificationMessageHasBeenSet = true; m_emailVerificationMessage = std::move(value); } inline void SetEmailVerificationMessage(const char* value) { m_emailVerificationMessageHasBeenSet = true; m_emailVerificationMessage.assign(value); } inline UpdateUserPoolRequest& WithEmailVerificationMessage(const Aws::String& value) { SetEmailVerificationMessage(value); return *this;} inline UpdateUserPoolRequest& WithEmailVerificationMessage(Aws::String&& value) { SetEmailVerificationMessage(std::move(value)); return *this;} inline UpdateUserPoolRequest& WithEmailVerificationMessage(const char* value) { SetEmailVerificationMessage(value); return *this;} ///@} ///@{ /** *This parameter is no longer used. See VerificationMessageTemplateType.
*/ inline const Aws::String& GetEmailVerificationSubject() const{ return m_emailVerificationSubject; } inline bool EmailVerificationSubjectHasBeenSet() const { return m_emailVerificationSubjectHasBeenSet; } inline void SetEmailVerificationSubject(const Aws::String& value) { m_emailVerificationSubjectHasBeenSet = true; m_emailVerificationSubject = value; } inline void SetEmailVerificationSubject(Aws::String&& value) { m_emailVerificationSubjectHasBeenSet = true; m_emailVerificationSubject = std::move(value); } inline void SetEmailVerificationSubject(const char* value) { m_emailVerificationSubjectHasBeenSet = true; m_emailVerificationSubject.assign(value); } inline UpdateUserPoolRequest& WithEmailVerificationSubject(const Aws::String& value) { SetEmailVerificationSubject(value); return *this;} inline UpdateUserPoolRequest& WithEmailVerificationSubject(Aws::String&& value) { SetEmailVerificationSubject(std::move(value)); return *this;} inline UpdateUserPoolRequest& WithEmailVerificationSubject(const char* value) { SetEmailVerificationSubject(value); return *this;} ///@} ///@{ /** *The template for verification messages.
*/ inline const VerificationMessageTemplateType& GetVerificationMessageTemplate() const{ return m_verificationMessageTemplate; } inline bool VerificationMessageTemplateHasBeenSet() const { return m_verificationMessageTemplateHasBeenSet; } inline void SetVerificationMessageTemplate(const VerificationMessageTemplateType& value) { m_verificationMessageTemplateHasBeenSet = true; m_verificationMessageTemplate = value; } inline void SetVerificationMessageTemplate(VerificationMessageTemplateType&& value) { m_verificationMessageTemplateHasBeenSet = true; m_verificationMessageTemplate = std::move(value); } inline UpdateUserPoolRequest& WithVerificationMessageTemplate(const VerificationMessageTemplateType& value) { SetVerificationMessageTemplate(value); return *this;} inline UpdateUserPoolRequest& WithVerificationMessageTemplate(VerificationMessageTemplateType&& value) { SetVerificationMessageTemplate(std::move(value)); return *this;} ///@} ///@{ /** *The contents of the SMS authentication message.
*/ inline const Aws::String& GetSmsAuthenticationMessage() const{ return m_smsAuthenticationMessage; } inline bool SmsAuthenticationMessageHasBeenSet() const { return m_smsAuthenticationMessageHasBeenSet; } inline void SetSmsAuthenticationMessage(const Aws::String& value) { m_smsAuthenticationMessageHasBeenSet = true; m_smsAuthenticationMessage = value; } inline void SetSmsAuthenticationMessage(Aws::String&& value) { m_smsAuthenticationMessageHasBeenSet = true; m_smsAuthenticationMessage = std::move(value); } inline void SetSmsAuthenticationMessage(const char* value) { m_smsAuthenticationMessageHasBeenSet = true; m_smsAuthenticationMessage.assign(value); } inline UpdateUserPoolRequest& WithSmsAuthenticationMessage(const Aws::String& value) { SetSmsAuthenticationMessage(value); return *this;} inline UpdateUserPoolRequest& WithSmsAuthenticationMessage(Aws::String&& value) { SetSmsAuthenticationMessage(std::move(value)); return *this;} inline UpdateUserPoolRequest& WithSmsAuthenticationMessage(const char* value) { SetSmsAuthenticationMessage(value); 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.
Possible values include:
OFF - MFA tokens
* aren't required and can't be specified during user registration.
ON - MFA tokens are required for all user registrations. You
* can only specify ON when you're initially creating a user pool. You can use the
* SetUserPoolMfaConfig
* API operation to turn MFA "ON" for existing user pools.
* OPTIONAL - Users have the option when registering to create an MFA
* token.
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.
The email configuration of your user pool. The email configuration type sets * your preferred sending method, Amazon Web Services Region, and sender for email * invitation and verification messages from your user pool.
*/ inline const EmailConfigurationType& GetEmailConfiguration() const{ return m_emailConfiguration; } inline bool EmailConfigurationHasBeenSet() const { return m_emailConfigurationHasBeenSet; } inline void SetEmailConfiguration(const EmailConfigurationType& value) { m_emailConfigurationHasBeenSet = true; m_emailConfiguration = value; } inline void SetEmailConfiguration(EmailConfigurationType&& value) { m_emailConfigurationHasBeenSet = true; m_emailConfiguration = std::move(value); } inline UpdateUserPoolRequest& WithEmailConfiguration(const EmailConfigurationType& value) { SetEmailConfiguration(value); return *this;} inline UpdateUserPoolRequest& WithEmailConfiguration(EmailConfigurationType&& value) { SetEmailConfiguration(std::move(value)); 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.
*/ inline const SmsConfigurationType& GetSmsConfiguration() const{ return m_smsConfiguration; } inline bool SmsConfigurationHasBeenSet() const { return m_smsConfigurationHasBeenSet; } inline void SetSmsConfiguration(const SmsConfigurationType& value) { m_smsConfigurationHasBeenSet = true; m_smsConfiguration = value; } inline void SetSmsConfiguration(SmsConfigurationType&& value) { m_smsConfigurationHasBeenSet = true; m_smsConfiguration = std::move(value); } inline UpdateUserPoolRequest& WithSmsConfiguration(const SmsConfigurationType& value) { SetSmsConfiguration(value); return *this;} inline UpdateUserPoolRequest& WithSmsConfiguration(SmsConfigurationType&& value) { SetSmsConfiguration(std::move(value)); 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.
*/ inline const Aws::MapThe configuration for AdminCreateUser requests.
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.
*/ inline const UserPoolAddOnsType& GetUserPoolAddOns() const{ return m_userPoolAddOns; } inline bool UserPoolAddOnsHasBeenSet() const { return m_userPoolAddOnsHasBeenSet; } inline void SetUserPoolAddOns(const UserPoolAddOnsType& value) { m_userPoolAddOnsHasBeenSet = true; m_userPoolAddOns = value; } inline void SetUserPoolAddOns(UserPoolAddOnsType&& value) { m_userPoolAddOnsHasBeenSet = true; m_userPoolAddOns = std::move(value); } inline UpdateUserPoolRequest& WithUserPoolAddOns(const UserPoolAddOnsType& value) { SetUserPoolAddOns(value); return *this;} inline UpdateUserPoolRequest& WithUserPoolAddOns(UserPoolAddOnsType&& value) { SetUserPoolAddOns(std::move(value)); 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.