/** * 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 #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Specifies the settings and content for the default message and any default * messages that you tailored for specific channels.

See Also:

AWS * API Reference

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

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline const ADMMessage& GetADMMessage() const{ return m_aDMMessage; } /** *

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline bool ADMMessageHasBeenSet() const { return m_aDMMessageHasBeenSet; } /** *

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetADMMessage(const ADMMessage& value) { m_aDMMessageHasBeenSet = true; m_aDMMessage = value; } /** *

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetADMMessage(ADMMessage&& value) { m_aDMMessageHasBeenSet = true; m_aDMMessage = std::move(value); } /** *

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithADMMessage(const ADMMessage& value) { SetADMMessage(value); return *this;} /** *

The default push notification message for the ADM (Amazon Device Messaging) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithADMMessage(ADMMessage&& value) { SetADMMessage(std::move(value)); return *this;} /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline const APNSMessage& GetAPNSMessage() const{ return m_aPNSMessage; } /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline bool APNSMessageHasBeenSet() const { return m_aPNSMessageHasBeenSet; } /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetAPNSMessage(const APNSMessage& value) { m_aPNSMessageHasBeenSet = true; m_aPNSMessage = value; } /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetAPNSMessage(APNSMessage&& value) { m_aPNSMessageHasBeenSet = true; m_aPNSMessage = std::move(value); } /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithAPNSMessage(const APNSMessage& value) { SetAPNSMessage(value); return *this;} /** *

The default push notification message for the APNs (Apple Push Notification * service) channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithAPNSMessage(APNSMessage&& value) { SetAPNSMessage(std::move(value)); return *this;} /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline const BaiduMessage& GetBaiduMessage() const{ return m_baiduMessage; } /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline bool BaiduMessageHasBeenSet() const { return m_baiduMessageHasBeenSet; } /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetBaiduMessage(const BaiduMessage& value) { m_baiduMessageHasBeenSet = true; m_baiduMessage = value; } /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline void SetBaiduMessage(BaiduMessage&& value) { m_baiduMessageHasBeenSet = true; m_baiduMessage = std::move(value); } /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithBaiduMessage(const BaiduMessage& value) { SetBaiduMessage(value); return *this;} /** *

The default push notification message for the Baidu (Baidu Cloud Push) * channel. This message overrides the default push notification message * (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithBaiduMessage(BaiduMessage&& value) { SetBaiduMessage(std::move(value)); return *this;} /** *

The default message for all channels.

*/ inline const DefaultMessage& GetDefaultMessage() const{ return m_defaultMessage; } /** *

The default message for all channels.

*/ inline bool DefaultMessageHasBeenSet() const { return m_defaultMessageHasBeenSet; } /** *

The default message for all channels.

*/ inline void SetDefaultMessage(const DefaultMessage& value) { m_defaultMessageHasBeenSet = true; m_defaultMessage = value; } /** *

The default message for all channels.

*/ inline void SetDefaultMessage(DefaultMessage&& value) { m_defaultMessageHasBeenSet = true; m_defaultMessage = std::move(value); } /** *

The default message for all channels.

*/ inline DirectMessageConfiguration& WithDefaultMessage(const DefaultMessage& value) { SetDefaultMessage(value); return *this;} /** *

The default message for all channels.

*/ inline DirectMessageConfiguration& WithDefaultMessage(DefaultMessage&& value) { SetDefaultMessage(std::move(value)); return *this;} /** *

The default push notification message for all push notification channels.

*/ inline const DefaultPushNotificationMessage& GetDefaultPushNotificationMessage() const{ return m_defaultPushNotificationMessage; } /** *

The default push notification message for all push notification channels.

*/ inline bool DefaultPushNotificationMessageHasBeenSet() const { return m_defaultPushNotificationMessageHasBeenSet; } /** *

The default push notification message for all push notification channels.

*/ inline void SetDefaultPushNotificationMessage(const DefaultPushNotificationMessage& value) { m_defaultPushNotificationMessageHasBeenSet = true; m_defaultPushNotificationMessage = value; } /** *

The default push notification message for all push notification channels.

*/ inline void SetDefaultPushNotificationMessage(DefaultPushNotificationMessage&& value) { m_defaultPushNotificationMessageHasBeenSet = true; m_defaultPushNotificationMessage = std::move(value); } /** *

The default push notification message for all push notification channels.

*/ inline DirectMessageConfiguration& WithDefaultPushNotificationMessage(const DefaultPushNotificationMessage& value) { SetDefaultPushNotificationMessage(value); return *this;} /** *

The default push notification message for all push notification channels.

*/ inline DirectMessageConfiguration& WithDefaultPushNotificationMessage(DefaultPushNotificationMessage&& value) { SetDefaultPushNotificationMessage(std::move(value)); return *this;} /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline const EmailMessage& GetEmailMessage() const{ return m_emailMessage; } /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline bool EmailMessageHasBeenSet() const { return m_emailMessageHasBeenSet; } /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetEmailMessage(const EmailMessage& value) { m_emailMessageHasBeenSet = true; m_emailMessage = value; } /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetEmailMessage(EmailMessage&& value) { m_emailMessageHasBeenSet = true; m_emailMessage = std::move(value); } /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithEmailMessage(const EmailMessage& value) { SetEmailMessage(value); return *this;} /** *

The default message for the email channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithEmailMessage(EmailMessage&& value) { SetEmailMessage(std::move(value)); return *this;} /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline const GCMMessage& GetGCMMessage() const{ return m_gCMMessage; } /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline bool GCMMessageHasBeenSet() const { return m_gCMMessageHasBeenSet; } /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline void SetGCMMessage(const GCMMessage& value) { m_gCMMessageHasBeenSet = true; m_gCMMessage = value; } /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline void SetGCMMessage(GCMMessage&& value) { m_gCMMessageHasBeenSet = true; m_gCMMessage = std::move(value); } /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithGCMMessage(const GCMMessage& value) { SetGCMMessage(value); return *this;} /** *

The default push notification message for the GCM channel, which is used to * send notifications through the Firebase Cloud Messaging (FCM), formerly Google * Cloud Messaging (GCM), service. This message overrides the default push * notification message (DefaultPushNotificationMessage).

*/ inline DirectMessageConfiguration& WithGCMMessage(GCMMessage&& value) { SetGCMMessage(std::move(value)); return *this;} /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline const SMSMessage& GetSMSMessage() const{ return m_sMSMessage; } /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline bool SMSMessageHasBeenSet() const { return m_sMSMessageHasBeenSet; } /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetSMSMessage(const SMSMessage& value) { m_sMSMessageHasBeenSet = true; m_sMSMessage = value; } /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetSMSMessage(SMSMessage&& value) { m_sMSMessageHasBeenSet = true; m_sMSMessage = std::move(value); } /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithSMSMessage(const SMSMessage& value) { SetSMSMessage(value); return *this;} /** *

The default message for the SMS channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithSMSMessage(SMSMessage&& value) { SetSMSMessage(std::move(value)); return *this;} /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline const VoiceMessage& GetVoiceMessage() const{ return m_voiceMessage; } /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline bool VoiceMessageHasBeenSet() const { return m_voiceMessageHasBeenSet; } /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetVoiceMessage(const VoiceMessage& value) { m_voiceMessageHasBeenSet = true; m_voiceMessage = value; } /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline void SetVoiceMessage(VoiceMessage&& value) { m_voiceMessageHasBeenSet = true; m_voiceMessage = std::move(value); } /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithVoiceMessage(const VoiceMessage& value) { SetVoiceMessage(value); return *this;} /** *

The default message for the voice channel. This message overrides the default * message (DefaultMessage).

*/ inline DirectMessageConfiguration& WithVoiceMessage(VoiceMessage&& value) { SetVoiceMessage(std::move(value)); return *this;} private: ADMMessage m_aDMMessage; bool m_aDMMessageHasBeenSet = false; APNSMessage m_aPNSMessage; bool m_aPNSMessageHasBeenSet = false; BaiduMessage m_baiduMessage; bool m_baiduMessageHasBeenSet = false; DefaultMessage m_defaultMessage; bool m_defaultMessageHasBeenSet = false; DefaultPushNotificationMessage m_defaultPushNotificationMessage; bool m_defaultPushNotificationMessageHasBeenSet = false; EmailMessage m_emailMessage; bool m_emailMessageHasBeenSet = false; GCMMessage m_gCMMessage; bool m_gCMMessageHasBeenSet = false; SMSMessage m_sMSMessage; bool m_sMSMessageHasBeenSet = false; VoiceMessage m_voiceMessage; bool m_voiceMessageHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws