/** * 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 SESV2 { namespace Model { /** *

The VDM attributes that apply to your Amazon SES account.

See * Also:

AWS * API Reference

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

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline const FeatureStatus& GetVdmEnabled() const{ return m_vdmEnabled; } /** *

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline bool VdmEnabledHasBeenSet() const { return m_vdmEnabledHasBeenSet; } /** *

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline void SetVdmEnabled(const FeatureStatus& value) { m_vdmEnabledHasBeenSet = true; m_vdmEnabled = value; } /** *

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline void SetVdmEnabled(FeatureStatus&& value) { m_vdmEnabledHasBeenSet = true; m_vdmEnabled = std::move(value); } /** *

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline VdmAttributes& WithVdmEnabled(const FeatureStatus& value) { SetVdmEnabled(value); return *this;} /** *

Specifies the status of your VDM configuration. Can be one of the * following:

  • ENABLED – Amazon SES enables VDM for * your account.

  • DISABLED – Amazon SES disables VDM * for your account.

*/ inline VdmAttributes& WithVdmEnabled(FeatureStatus&& value) { SetVdmEnabled(std::move(value)); return *this;} /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline const DashboardAttributes& GetDashboardAttributes() const{ return m_dashboardAttributes; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline bool DashboardAttributesHasBeenSet() const { return m_dashboardAttributesHasBeenSet; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline void SetDashboardAttributes(const DashboardAttributes& value) { m_dashboardAttributesHasBeenSet = true; m_dashboardAttributes = value; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline void SetDashboardAttributes(DashboardAttributes&& value) { m_dashboardAttributesHasBeenSet = true; m_dashboardAttributes = std::move(value); } /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline VdmAttributes& WithDashboardAttributes(const DashboardAttributes& value) { SetDashboardAttributes(value); return *this;} /** *

Specifies additional settings for your VDM configuration as applicable to the * Dashboard.

*/ inline VdmAttributes& WithDashboardAttributes(DashboardAttributes&& value) { SetDashboardAttributes(std::move(value)); return *this;} /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline const GuardianAttributes& GetGuardianAttributes() const{ return m_guardianAttributes; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline bool GuardianAttributesHasBeenSet() const { return m_guardianAttributesHasBeenSet; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline void SetGuardianAttributes(const GuardianAttributes& value) { m_guardianAttributesHasBeenSet = true; m_guardianAttributes = value; } /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline void SetGuardianAttributes(GuardianAttributes&& value) { m_guardianAttributesHasBeenSet = true; m_guardianAttributes = std::move(value); } /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline VdmAttributes& WithGuardianAttributes(const GuardianAttributes& value) { SetGuardianAttributes(value); return *this;} /** *

Specifies additional settings for your VDM configuration as applicable to the * Guardian.

*/ inline VdmAttributes& WithGuardianAttributes(GuardianAttributes&& value) { SetGuardianAttributes(std::move(value)); return *this;} private: FeatureStatus m_vdmEnabled; bool m_vdmEnabledHasBeenSet = false; DashboardAttributes m_dashboardAttributes; bool m_dashboardAttributesHasBeenSet = false; GuardianAttributes m_guardianAttributes; bool m_guardianAttributesHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws