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

Specifies the status and settings of the email channel for an * application.

See Also:

AWS * API Reference

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

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline const Aws::String& GetConfigurationSet() const{ return m_configurationSet; } /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline bool ConfigurationSetHasBeenSet() const { return m_configurationSetHasBeenSet; } /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline void SetConfigurationSet(const Aws::String& value) { m_configurationSetHasBeenSet = true; m_configurationSet = value; } /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline void SetConfigurationSet(Aws::String&& value) { m_configurationSetHasBeenSet = true; m_configurationSet = std::move(value); } /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline void SetConfigurationSet(const char* value) { m_configurationSetHasBeenSet = true; m_configurationSet.assign(value); } /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline EmailChannelRequest& WithConfigurationSet(const Aws::String& value) { SetConfigurationSet(value); return *this;} /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline EmailChannelRequest& WithConfigurationSet(Aws::String&& value) { SetConfigurationSet(std::move(value)); return *this;} /** *

The Amazon * SES configuration set that you want to apply to messages that you send * through the channel.

*/ inline EmailChannelRequest& WithConfigurationSet(const char* value) { SetConfigurationSet(value); return *this;} /** *

Specifies whether to enable the email channel for the application.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Specifies whether to enable the email channel for the application.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Specifies whether to enable the email channel for the application.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Specifies whether to enable the email channel for the application.

*/ inline EmailChannelRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline const Aws::String& GetFromAddress() const{ return m_fromAddress; } /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline bool FromAddressHasBeenSet() const { return m_fromAddressHasBeenSet; } /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline void SetFromAddress(const Aws::String& value) { m_fromAddressHasBeenSet = true; m_fromAddress = value; } /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline void SetFromAddress(Aws::String&& value) { m_fromAddressHasBeenSet = true; m_fromAddress = std::move(value); } /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline void SetFromAddress(const char* value) { m_fromAddressHasBeenSet = true; m_fromAddress.assign(value); } /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline EmailChannelRequest& WithFromAddress(const Aws::String& value) { SetFromAddress(value); return *this;} /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline EmailChannelRequest& WithFromAddress(Aws::String&& value) { SetFromAddress(std::move(value)); return *this;} /** *

The verified email address that you want to send email from when you send * email through the channel.

*/ inline EmailChannelRequest& WithFromAddress(const char* value) { SetFromAddress(value); return *this;} /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline const Aws::String& GetIdentity() const{ return m_identity; } /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline void SetIdentity(const Aws::String& value) { m_identityHasBeenSet = true; m_identity = value; } /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline void SetIdentity(Aws::String&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); } /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline void SetIdentity(const char* value) { m_identityHasBeenSet = true; m_identity.assign(value); } /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline EmailChannelRequest& WithIdentity(const Aws::String& value) { SetIdentity(value); return *this;} /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline EmailChannelRequest& WithIdentity(Aws::String&& value) { SetIdentity(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple * Email Service (Amazon SES), that you want to use when you send email through the * channel.

*/ inline EmailChannelRequest& WithIdentity(const char* value) { SetIdentity(value); return *this;} /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline EmailChannelRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline EmailChannelRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the AWS Identity and Access Management (IAM) role that you want * Amazon Pinpoint to use when it submits email-related event data for the * channel.

*/ inline EmailChannelRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} private: Aws::String m_configurationSet; bool m_configurationSetHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::String m_fromAddress; bool m_fromAddressHasBeenSet = false; Aws::String m_identity; bool m_identityHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws