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

The push notification configuration of the message.

See Also:

* AWS * API Reference

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

The title of the push notification.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

The title of the push notification.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

The title of the push notification.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

The title of the push notification.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

The title of the push notification.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

The title of the push notification.

*/ inline PushNotificationConfiguration& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The title of the push notification.

*/ inline PushNotificationConfiguration& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

The title of the push notification.

*/ inline PushNotificationConfiguration& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

The body of the push notification.

*/ inline const Aws::String& GetBody() const{ return m_body; } /** *

The body of the push notification.

*/ inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } /** *

The body of the push notification.

*/ inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } /** *

The body of the push notification.

*/ inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } /** *

The body of the push notification.

*/ inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } /** *

The body of the push notification.

*/ inline PushNotificationConfiguration& WithBody(const Aws::String& value) { SetBody(value); return *this;} /** *

The body of the push notification.

*/ inline PushNotificationConfiguration& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} /** *

The body of the push notification.

*/ inline PushNotificationConfiguration& WithBody(const char* value) { SetBody(value); return *this;} /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline const PushNotificationType& GetType() const{ return m_type; } /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline void SetType(const PushNotificationType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline void SetType(PushNotificationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline PushNotificationConfiguration& WithType(const PushNotificationType& value) { SetType(value); return *this;} /** *

Enum value that indicates the type of the push notification for a message. * DEFAULT: Normal mobile push notification. VOIP: VOIP * mobile push notification.

*/ inline PushNotificationConfiguration& WithType(PushNotificationType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_body; bool m_bodyHasBeenSet = false; PushNotificationType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMessaging } // namespace Aws