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

A request to submit new account details.

See Also:

AWS * API Reference

*/ class PutAccountDetailsRequest : public SESV2Request { public: AWS_SESV2_API PutAccountDetailsRequest(); // 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 "PutAccountDetails"; } AWS_SESV2_API Aws::String SerializePayload() const override; /** *

The type of email your account will send.

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

The type of email your account will send.

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

The type of email your account will send.

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

The type of email your account will send.

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

The type of email your account will send.

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

The type of email your account will send.

*/ inline PutAccountDetailsRequest& 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 PutAccountDetailsRequest& 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 PutAccountDetailsRequest& 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 PutAccountDetailsRequest& WithWebsiteURL(const char* value) { SetWebsiteURL(value); return *this;} /** *

The language you would prefer to be contacted with.

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

The language you would prefer to be contacted with.

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

The language you would prefer to be contacted with.

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

The language you would prefer to be contacted with.

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

The language you would prefer to be contacted with.

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

The language you would prefer to be contacted with.

*/ inline PutAccountDetailsRequest& 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 PutAccountDetailsRequest& WithUseCaseDescription(const Aws::String& value) { SetUseCaseDescription(value); return *this;} /** *

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

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

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

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Additional email addresses that you would like to be notified regarding * Amazon SES matters.

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

Indicates whether or not your account should have production access in the * current Amazon Web Services Region.

If the value is false, * then your account is in the sandbox. When your account is in the sandbox, * you can only send email to verified identities. Additionally, the maximum number * of emails you can send in a 24-hour period (your sending quota) is 200, and the * maximum number of emails you can send per second (your maximum sending rate) is * 1.

If the value is true, then your account has production * access. When your account has production access, you can send email to any * address. The sending quota and maximum sending rate for your account vary based * on your specific use case.

*/ inline bool GetProductionAccessEnabled() const{ return m_productionAccessEnabled; } /** *

Indicates whether or not your account should have production access in the * current Amazon Web Services Region.

If the value is false, * then your account is in the sandbox. When your account is in the sandbox, * you can only send email to verified identities. Additionally, the maximum number * of emails you can send in a 24-hour period (your sending quota) is 200, and the * maximum number of emails you can send per second (your maximum sending rate) is * 1.

If the value is true, then your account has production * access. When your account has production access, you can send email to any * address. The sending quota and maximum sending rate for your account vary based * on your specific use case.

*/ inline bool ProductionAccessEnabledHasBeenSet() const { return m_productionAccessEnabledHasBeenSet; } /** *

Indicates whether or not your account should have production access in the * current Amazon Web Services Region.

If the value is false, * then your account is in the sandbox. When your account is in the sandbox, * you can only send email to verified identities. Additionally, the maximum number * of emails you can send in a 24-hour period (your sending quota) is 200, and the * maximum number of emails you can send per second (your maximum sending rate) is * 1.

If the value is true, then your account has production * access. When your account has production access, you can send email to any * address. The sending quota and maximum sending rate for your account vary based * on your specific use case.

*/ inline void SetProductionAccessEnabled(bool value) { m_productionAccessEnabledHasBeenSet = true; m_productionAccessEnabled = value; } /** *

Indicates whether or not your account should have production access in the * current Amazon Web Services Region.

If the value is false, * then your account is in the sandbox. When your account is in the sandbox, * you can only send email to verified identities. Additionally, the maximum number * of emails you can send in a 24-hour period (your sending quota) is 200, and the * maximum number of emails you can send per second (your maximum sending rate) is * 1.

If the value is true, then your account has production * access. When your account has production access, you can send email to any * address. The sending quota and maximum sending rate for your account vary based * on your specific use case.

*/ inline PutAccountDetailsRequest& WithProductionAccessEnabled(bool value) { SetProductionAccessEnabled(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; bool m_productionAccessEnabled; bool m_productionAccessEnabledHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws