/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CognitoIdentityProvider { namespace Model { /** *

You can use this parameter to set an MFA configuration that uses the SMS * delivery medium.

See Also:

AWS * API Reference

*/ class AdminSetUserSettingsRequest : public CognitoIdentityProviderRequest { public: AWS_COGNITOIDENTITYPROVIDER_API AdminSetUserSettingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "AdminSetUserSettings"; } AWS_COGNITOIDENTITYPROVIDER_API Aws::String SerializePayload() const override; AWS_COGNITOIDENTITYPROVIDER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; ///@{ /** *

The ID of the user pool that contains the user whose options you're * setting.

*/ 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 AdminSetUserSettingsRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} inline AdminSetUserSettingsRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} inline AdminSetUserSettingsRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} ///@} ///@{ /** *

The username of the user that you want to query or modify. The value of this * parameter is typically your user's username, but it can be any of their alias * attributes. If username isn't an alias attribute in your user pool, * this value must be the sub of a local user or the username of a * user from a third-party IdP.

*/ inline const Aws::String& GetUsername() const{ return m_username; } inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } inline AdminSetUserSettingsRequest& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} inline AdminSetUserSettingsRequest& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} inline AdminSetUserSettingsRequest& WithUsername(const char* value) { SetUsername(value); return *this;} ///@} ///@{ /** *

You can use this parameter only to set an SMS configuration that uses SMS for * delivery.

*/ inline const Aws::Vector& GetMFAOptions() const{ return m_mFAOptions; } inline bool MFAOptionsHasBeenSet() const { return m_mFAOptionsHasBeenSet; } inline void SetMFAOptions(const Aws::Vector& value) { m_mFAOptionsHasBeenSet = true; m_mFAOptions = value; } inline void SetMFAOptions(Aws::Vector&& value) { m_mFAOptionsHasBeenSet = true; m_mFAOptions = std::move(value); } inline AdminSetUserSettingsRequest& WithMFAOptions(const Aws::Vector& value) { SetMFAOptions(value); return *this;} inline AdminSetUserSettingsRequest& WithMFAOptions(Aws::Vector&& value) { SetMFAOptions(std::move(value)); return *this;} inline AdminSetUserSettingsRequest& AddMFAOptions(const MFAOptionType& value) { m_mFAOptionsHasBeenSet = true; m_mFAOptions.push_back(value); return *this; } inline AdminSetUserSettingsRequest& AddMFAOptions(MFAOptionType&& value) { m_mFAOptionsHasBeenSet = true; m_mFAOptions.push_back(std::move(value)); return *this; } ///@} private: Aws::String m_userPoolId; bool m_userPoolIdHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::Vector m_mFAOptions; bool m_mFAOptionsHasBeenSet = false; }; } // namespace Model } // namespace CognitoIdentityProvider } // namespace Aws