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

Describes whether to apply multi-factor authentication policies for your * Amazon Cognito user pool configured as a part of your Amplify * project.

See Also:

AWS * API Reference

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

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline const MFAMode& GetMFAMode() const{ return m_mFAMode; } /** *

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline bool MFAModeHasBeenSet() const { return m_mFAModeHasBeenSet; } /** *

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline void SetMFAMode(const MFAMode& value) { m_mFAModeHasBeenSet = true; m_mFAMode = value; } /** *

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline void SetMFAMode(MFAMode&& value) { m_mFAModeHasBeenSet = true; m_mFAMode = std::move(value); } /** *

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline CreateBackendAuthMFAConfig& WithMFAMode(const MFAMode& value) { SetMFAMode(value); return *this;} /** *

Describes whether MFA should be [ON, OFF, or OPTIONAL] for authentication in * your Amplify project.

*/ inline CreateBackendAuthMFAConfig& WithMFAMode(MFAMode&& value) { SetMFAMode(std::move(value)); return *this;} /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline const Settings& GetSettings() const{ return m_settings; } /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline void SetSettings(const Settings& value) { m_settingsHasBeenSet = true; m_settings = value; } /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline void SetSettings(Settings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline CreateBackendAuthMFAConfig& WithSettings(const Settings& value) { SetSettings(value); return *this;} /** *

Describes the configuration settings and methods for your Amplify app users * to use MFA.

*/ inline CreateBackendAuthMFAConfig& WithSettings(Settings&& value) { SetSettings(std::move(value)); return *this;} private: MFAMode m_mFAMode; bool m_mFAModeHasBeenSet = false; Settings m_settings; bool m_settingsHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws