/** * 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 message template to use for the message, for each type of * channel.

See Also:

AWS * API Reference

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

The email template to use for the message.

*/ inline const Template& GetEmailTemplate() const{ return m_emailTemplate; } /** *

The email template to use for the message.

*/ inline bool EmailTemplateHasBeenSet() const { return m_emailTemplateHasBeenSet; } /** *

The email template to use for the message.

*/ inline void SetEmailTemplate(const Template& value) { m_emailTemplateHasBeenSet = true; m_emailTemplate = value; } /** *

The email template to use for the message.

*/ inline void SetEmailTemplate(Template&& value) { m_emailTemplateHasBeenSet = true; m_emailTemplate = std::move(value); } /** *

The email template to use for the message.

*/ inline TemplateConfiguration& WithEmailTemplate(const Template& value) { SetEmailTemplate(value); return *this;} /** *

The email template to use for the message.

*/ inline TemplateConfiguration& WithEmailTemplate(Template&& value) { SetEmailTemplate(std::move(value)); return *this;} /** *

The push notification template to use for the message.

*/ inline const Template& GetPushTemplate() const{ return m_pushTemplate; } /** *

The push notification template to use for the message.

*/ inline bool PushTemplateHasBeenSet() const { return m_pushTemplateHasBeenSet; } /** *

The push notification template to use for the message.

*/ inline void SetPushTemplate(const Template& value) { m_pushTemplateHasBeenSet = true; m_pushTemplate = value; } /** *

The push notification template to use for the message.

*/ inline void SetPushTemplate(Template&& value) { m_pushTemplateHasBeenSet = true; m_pushTemplate = std::move(value); } /** *

The push notification template to use for the message.

*/ inline TemplateConfiguration& WithPushTemplate(const Template& value) { SetPushTemplate(value); return *this;} /** *

The push notification template to use for the message.

*/ inline TemplateConfiguration& WithPushTemplate(Template&& value) { SetPushTemplate(std::move(value)); return *this;} /** *

The SMS template to use for the message.

*/ inline const Template& GetSMSTemplate() const{ return m_sMSTemplate; } /** *

The SMS template to use for the message.

*/ inline bool SMSTemplateHasBeenSet() const { return m_sMSTemplateHasBeenSet; } /** *

The SMS template to use for the message.

*/ inline void SetSMSTemplate(const Template& value) { m_sMSTemplateHasBeenSet = true; m_sMSTemplate = value; } /** *

The SMS template to use for the message.

*/ inline void SetSMSTemplate(Template&& value) { m_sMSTemplateHasBeenSet = true; m_sMSTemplate = std::move(value); } /** *

The SMS template to use for the message.

*/ inline TemplateConfiguration& WithSMSTemplate(const Template& value) { SetSMSTemplate(value); return *this;} /** *

The SMS template to use for the message.

*/ inline TemplateConfiguration& WithSMSTemplate(Template&& value) { SetSMSTemplate(std::move(value)); return *this;} /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline const Template& GetVoiceTemplate() const{ return m_voiceTemplate; } /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline bool VoiceTemplateHasBeenSet() const { return m_voiceTemplateHasBeenSet; } /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline void SetVoiceTemplate(const Template& value) { m_voiceTemplateHasBeenSet = true; m_voiceTemplate = value; } /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline void SetVoiceTemplate(Template&& value) { m_voiceTemplateHasBeenSet = true; m_voiceTemplate = std::move(value); } /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline TemplateConfiguration& WithVoiceTemplate(const Template& value) { SetVoiceTemplate(value); return *this;} /** *

The voice template to use for the message. This object isn't supported for * campaigns.

*/ inline TemplateConfiguration& WithVoiceTemplate(Template&& value) { SetVoiceTemplate(std::move(value)); return *this;} /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline const Template& GetInAppTemplate() const{ return m_inAppTemplate; } /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline bool InAppTemplateHasBeenSet() const { return m_inAppTemplateHasBeenSet; } /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline void SetInAppTemplate(const Template& value) { m_inAppTemplateHasBeenSet = true; m_inAppTemplate = value; } /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline void SetInAppTemplate(Template&& value) { m_inAppTemplateHasBeenSet = true; m_inAppTemplate = std::move(value); } /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline TemplateConfiguration& WithInAppTemplate(const Template& value) { SetInAppTemplate(value); return *this;} /** *

The InApp template to use for the message. The InApp template object is not * supported for SendMessages.

*/ inline TemplateConfiguration& WithInAppTemplate(Template&& value) { SetInAppTemplate(std::move(value)); return *this;} private: Template m_emailTemplate; bool m_emailTemplateHasBeenSet = false; Template m_pushTemplate; bool m_pushTemplateHasBeenSet = false; Template m_sMSTemplate; bool m_sMSTemplateHasBeenSet = false; Template m_voiceTemplate; bool m_voiceTemplateHasBeenSet = false; Template m_inAppTemplate; bool m_inAppTemplateHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws