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

An object that contains information about your account details.

See * Also:

AWS * API Reference

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

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline const MailType& GetMailType() const{ return m_mailType; } /** *

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline bool MailTypeHasBeenSet() const { return m_mailTypeHasBeenSet; } /** *

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline void SetMailType(const MailType& value) { m_mailTypeHasBeenSet = true; m_mailType = value; } /** *

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline void SetMailType(MailType&& value) { m_mailTypeHasBeenSet = true; m_mailType = std::move(value); } /** *

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline AccountDetails& WithMailType(const MailType& value) { SetMailType(value); return *this;} /** *

The type of email your account is sending. The mail type can be one of the * following:

  • MARKETING – Most of your sending * traffic is to keep your customers informed of your latest offering.

  • *
  • TRANSACTIONAL – Most of your sending traffic is to * communicate during a transaction with a customer.

*/ inline AccountDetails& WithMailType(MailType&& value) { SetMailType(std::move(value)); return *this;} /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline const Aws::String& GetWebsiteURL() const{ return m_websiteURL; } /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline bool WebsiteURLHasBeenSet() const { return m_websiteURLHasBeenSet; } /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline void SetWebsiteURL(const Aws::String& value) { m_websiteURLHasBeenSet = true; m_websiteURL = value; } /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline void SetWebsiteURL(Aws::String&& value) { m_websiteURLHasBeenSet = true; m_websiteURL = std::move(value); } /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline void SetWebsiteURL(const char* value) { m_websiteURLHasBeenSet = true; m_websiteURL.assign(value); } /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline AccountDetails& WithWebsiteURL(const Aws::String& value) { SetWebsiteURL(value); return *this;} /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline AccountDetails& WithWebsiteURL(Aws::String&& value) { SetWebsiteURL(std::move(value)); return *this;} /** *

The URL of your website. This information helps us better understand the type * of content that you plan to send.

*/ inline AccountDetails& WithWebsiteURL(const char* value) { SetWebsiteURL(value); return *this;} /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline const ContactLanguage& GetContactLanguage() const{ return m_contactLanguage; } /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline bool ContactLanguageHasBeenSet() const { return m_contactLanguageHasBeenSet; } /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline void SetContactLanguage(const ContactLanguage& value) { m_contactLanguageHasBeenSet = true; m_contactLanguage = value; } /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline void SetContactLanguage(ContactLanguage&& value) { m_contactLanguageHasBeenSet = true; m_contactLanguage = std::move(value); } /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline AccountDetails& WithContactLanguage(const ContactLanguage& value) { SetContactLanguage(value); return *this;} /** *

The language you would prefer for the case. The contact language can be one * of ENGLISH or JAPANESE.

*/ inline AccountDetails& WithContactLanguage(ContactLanguage&& value) { SetContactLanguage(std::move(value)); return *this;} /** *

A description of the types of email that you plan to send.

*/ inline const Aws::String& GetUseCaseDescription() const{ return m_useCaseDescription; } /** *

A description of the types of email that you plan to send.

*/ inline bool UseCaseDescriptionHasBeenSet() const { return m_useCaseDescriptionHasBeenSet; } /** *

A description of the types of email that you plan to send.

*/ inline void SetUseCaseDescription(const Aws::String& value) { m_useCaseDescriptionHasBeenSet = true; m_useCaseDescription = value; } /** *

A description of the types of email that you plan to send.

*/ inline void SetUseCaseDescription(Aws::String&& value) { m_useCaseDescriptionHasBeenSet = true; m_useCaseDescription = std::move(value); } /** *

A description of the types of email that you plan to send.

*/ inline void SetUseCaseDescription(const char* value) { m_useCaseDescriptionHasBeenSet = true; m_useCaseDescription.assign(value); } /** *

A description of the types of email that you plan to send.

*/ inline AccountDetails& WithUseCaseDescription(const Aws::String& value) { SetUseCaseDescription(value); return *this;} /** *

A description of the types of email that you plan to send.

*/ inline AccountDetails& WithUseCaseDescription(Aws::String&& value) { SetUseCaseDescription(std::move(value)); return *this;} /** *

A description of the types of email that you plan to send.

*/ inline AccountDetails& WithUseCaseDescription(const char* value) { SetUseCaseDescription(value); return *this;} /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline const Aws::Vector& GetAdditionalContactEmailAddresses() const{ return m_additionalContactEmailAddresses; } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline bool AdditionalContactEmailAddressesHasBeenSet() const { return m_additionalContactEmailAddressesHasBeenSet; } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline void SetAdditionalContactEmailAddresses(const Aws::Vector& value) { m_additionalContactEmailAddressesHasBeenSet = true; m_additionalContactEmailAddresses = value; } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline void SetAdditionalContactEmailAddresses(Aws::Vector&& value) { m_additionalContactEmailAddressesHasBeenSet = true; m_additionalContactEmailAddresses = std::move(value); } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline AccountDetails& WithAdditionalContactEmailAddresses(const Aws::Vector& value) { SetAdditionalContactEmailAddresses(value); return *this;} /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline AccountDetails& WithAdditionalContactEmailAddresses(Aws::Vector&& value) { SetAdditionalContactEmailAddresses(std::move(value)); return *this;} /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline AccountDetails& AddAdditionalContactEmailAddresses(const Aws::String& value) { m_additionalContactEmailAddressesHasBeenSet = true; m_additionalContactEmailAddresses.push_back(value); return *this; } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline AccountDetails& AddAdditionalContactEmailAddresses(Aws::String&& value) { m_additionalContactEmailAddressesHasBeenSet = true; m_additionalContactEmailAddresses.push_back(std::move(value)); return *this; } /** *

Additional email addresses where updates are sent about your account review * process.

*/ inline AccountDetails& AddAdditionalContactEmailAddresses(const char* value) { m_additionalContactEmailAddressesHasBeenSet = true; m_additionalContactEmailAddresses.push_back(value); return *this; } /** *

Information about the review of the latest details you submitted.

*/ inline const ReviewDetails& GetReviewDetails() const{ return m_reviewDetails; } /** *

Information about the review of the latest details you submitted.

*/ inline bool ReviewDetailsHasBeenSet() const { return m_reviewDetailsHasBeenSet; } /** *

Information about the review of the latest details you submitted.

*/ inline void SetReviewDetails(const ReviewDetails& value) { m_reviewDetailsHasBeenSet = true; m_reviewDetails = value; } /** *

Information about the review of the latest details you submitted.

*/ inline void SetReviewDetails(ReviewDetails&& value) { m_reviewDetailsHasBeenSet = true; m_reviewDetails = std::move(value); } /** *

Information about the review of the latest details you submitted.

*/ inline AccountDetails& WithReviewDetails(const ReviewDetails& value) { SetReviewDetails(value); return *this;} /** *

Information about the review of the latest details you submitted.

*/ inline AccountDetails& WithReviewDetails(ReviewDetails&& value) { SetReviewDetails(std::move(value)); return *this;} private: MailType m_mailType; bool m_mailTypeHasBeenSet = false; Aws::String m_websiteURL; bool m_websiteURLHasBeenSet = false; ContactLanguage m_contactLanguage; bool m_contactLanguageHasBeenSet = false; Aws::String m_useCaseDescription; bool m_useCaseDescriptionHasBeenSet = false; Aws::Vector m_additionalContactEmailAddresses; bool m_additionalContactEmailAddressesHasBeenSet = false; ReviewDetails m_reviewDetails; bool m_reviewDetailsHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws