/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyBackend { namespace Model { /** *

Updates the configuration of the email or SMS message for the auth resource * configured for your Amplify project.

See Also:

AWS * API Reference

*/ class UpdateBackendAuthVerificationMessageConfig { public: AWS_AMPLIFYBACKEND_API UpdateBackendAuthVerificationMessageConfig(); AWS_AMPLIFYBACKEND_API UpdateBackendAuthVerificationMessageConfig(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYBACKEND_API UpdateBackendAuthVerificationMessageConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYBACKEND_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of verification message to send.

*/ inline const DeliveryMethod& GetDeliveryMethod() const{ return m_deliveryMethod; } /** *

The type of verification message to send.

*/ inline bool DeliveryMethodHasBeenSet() const { return m_deliveryMethodHasBeenSet; } /** *

The type of verification message to send.

*/ inline void SetDeliveryMethod(const DeliveryMethod& value) { m_deliveryMethodHasBeenSet = true; m_deliveryMethod = value; } /** *

The type of verification message to send.

*/ inline void SetDeliveryMethod(DeliveryMethod&& value) { m_deliveryMethodHasBeenSet = true; m_deliveryMethod = std::move(value); } /** *

The type of verification message to send.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithDeliveryMethod(const DeliveryMethod& value) { SetDeliveryMethod(value); return *this;} /** *

The type of verification message to send.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithDeliveryMethod(DeliveryMethod&& value) { SetDeliveryMethod(std::move(value)); return *this;} /** *

The settings for the email message.

*/ inline const EmailSettings& GetEmailSettings() const{ return m_emailSettings; } /** *

The settings for the email message.

*/ inline bool EmailSettingsHasBeenSet() const { return m_emailSettingsHasBeenSet; } /** *

The settings for the email message.

*/ inline void SetEmailSettings(const EmailSettings& value) { m_emailSettingsHasBeenSet = true; m_emailSettings = value; } /** *

The settings for the email message.

*/ inline void SetEmailSettings(EmailSettings&& value) { m_emailSettingsHasBeenSet = true; m_emailSettings = std::move(value); } /** *

The settings for the email message.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithEmailSettings(const EmailSettings& value) { SetEmailSettings(value); return *this;} /** *

The settings for the email message.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithEmailSettings(EmailSettings&& value) { SetEmailSettings(std::move(value)); return *this;} /** *

The settings for the SMS message.

*/ inline const SmsSettings& GetSmsSettings() const{ return m_smsSettings; } /** *

The settings for the SMS message.

*/ inline bool SmsSettingsHasBeenSet() const { return m_smsSettingsHasBeenSet; } /** *

The settings for the SMS message.

*/ inline void SetSmsSettings(const SmsSettings& value) { m_smsSettingsHasBeenSet = true; m_smsSettings = value; } /** *

The settings for the SMS message.

*/ inline void SetSmsSettings(SmsSettings&& value) { m_smsSettingsHasBeenSet = true; m_smsSettings = std::move(value); } /** *

The settings for the SMS message.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithSmsSettings(const SmsSettings& value) { SetSmsSettings(value); return *this;} /** *

The settings for the SMS message.

*/ inline UpdateBackendAuthVerificationMessageConfig& WithSmsSettings(SmsSettings&& value) { SetSmsSettings(std::move(value)); return *this;} private: DeliveryMethod m_deliveryMethod; bool m_deliveryMethodHasBeenSet = false; EmailSettings m_emailSettings; bool m_emailSettingsHasBeenSet = false; SmsSettings m_smsSettings; bool m_smsSettingsHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws