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

A notification with subscribers. A notification can have one SNS subscriber * and up to 10 email subscribers, for a total of 11 subscribers.

See * Also:

AWS * API Reference

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

The notification that's associated with a budget.

*/ inline const Notification& GetNotification() const{ return m_notification; } /** *

The notification that's associated with a budget.

*/ inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; } /** *

The notification that's associated with a budget.

*/ inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; } /** *

The notification that's associated with a budget.

*/ inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); } /** *

The notification that's associated with a budget.

*/ inline NotificationWithSubscribers& WithNotification(const Notification& value) { SetNotification(value); return *this;} /** *

The notification that's associated with a budget.

*/ inline NotificationWithSubscribers& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;} /** *

A list of subscribers who are subscribed to this notification.

*/ inline const Aws::Vector& GetSubscribers() const{ return m_subscribers; } /** *

A list of subscribers who are subscribed to this notification.

*/ inline bool SubscribersHasBeenSet() const { return m_subscribersHasBeenSet; } /** *

A list of subscribers who are subscribed to this notification.

*/ inline void SetSubscribers(const Aws::Vector& value) { m_subscribersHasBeenSet = true; m_subscribers = value; } /** *

A list of subscribers who are subscribed to this notification.

*/ inline void SetSubscribers(Aws::Vector&& value) { m_subscribersHasBeenSet = true; m_subscribers = std::move(value); } /** *

A list of subscribers who are subscribed to this notification.

*/ inline NotificationWithSubscribers& WithSubscribers(const Aws::Vector& value) { SetSubscribers(value); return *this;} /** *

A list of subscribers who are subscribed to this notification.

*/ inline NotificationWithSubscribers& WithSubscribers(Aws::Vector&& value) { SetSubscribers(std::move(value)); return *this;} /** *

A list of subscribers who are subscribed to this notification.

*/ inline NotificationWithSubscribers& AddSubscribers(const Subscriber& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(value); return *this; } /** *

A list of subscribers who are subscribed to this notification.

*/ inline NotificationWithSubscribers& AddSubscribers(Subscriber&& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(std::move(value)); return *this; } private: Notification m_notification; bool m_notificationHasBeenSet = false; Aws::Vector m_subscribers; bool m_subscribersHasBeenSet = false; }; } // namespace Model } // namespace Budgets } // namespace Aws