/** * 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 channel membership preferences for push notification.

See * Also:

AWS * API Reference

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

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline const AllowNotifications& GetAllowNotifications() const{ return m_allowNotifications; } /** *

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline bool AllowNotificationsHasBeenSet() const { return m_allowNotificationsHasBeenSet; } /** *

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline void SetAllowNotifications(const AllowNotifications& value) { m_allowNotificationsHasBeenSet = true; m_allowNotifications = value; } /** *

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline void SetAllowNotifications(AllowNotifications&& value) { m_allowNotificationsHasBeenSet = true; m_allowNotifications = std::move(value); } /** *

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline PushNotificationPreferences& WithAllowNotifications(const AllowNotifications& value) { SetAllowNotifications(value); return *this;} /** *

Enum value that indicates which push notifications to send to the requested * member of a channel. ALL sends all push notifications, * NONE sends no push notifications, FILTERED sends only * filtered push notifications.

*/ inline PushNotificationPreferences& WithAllowNotifications(AllowNotifications&& value) { SetAllowNotifications(std::move(value)); return *this;} /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline const Aws::String& GetFilterRule() const{ return m_filterRule; } /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline bool FilterRuleHasBeenSet() const { return m_filterRuleHasBeenSet; } /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline void SetFilterRule(const Aws::String& value) { m_filterRuleHasBeenSet = true; m_filterRule = value; } /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline void SetFilterRule(Aws::String&& value) { m_filterRuleHasBeenSet = true; m_filterRule = std::move(value); } /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline void SetFilterRule(const char* value) { m_filterRuleHasBeenSet = true; m_filterRule.assign(value); } /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline PushNotificationPreferences& WithFilterRule(const Aws::String& value) { SetFilterRule(value); return *this;} /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline PushNotificationPreferences& WithFilterRule(Aws::String&& value) { SetFilterRule(std::move(value)); return *this;} /** *

The simple JSON object used to send a subset of a push notification to the * requested member.

*/ inline PushNotificationPreferences& WithFilterRule(const char* value) { SetFilterRule(value); return *this;} private: AllowNotifications m_allowNotifications; bool m_allowNotificationsHasBeenSet = false; Aws::String m_filterRule; bool m_filterRuleHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMessaging } // namespace Aws