1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/budgets/Budgets_EXPORTS.h> 8 #include <aws/budgets/model/Notification.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/budgets/model/Subscriber.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace Budgets 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>A notification with subscribers. A notification can have one SNS subscriber 30 * and up to 10 email subscribers, for a total of 11 subscribers.</p><p><h3>See 31 * Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/NotificationWithSubscribers">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_BUDGETS_API NotificationWithSubscribers 36 { 37 public: 38 NotificationWithSubscribers(); 39 NotificationWithSubscribers(Aws::Utils::Json::JsonView jsonValue); 40 NotificationWithSubscribers& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The notification that is associated with a budget.</p> 46 */ GetNotification()47 inline const Notification& GetNotification() const{ return m_notification; } 48 49 /** 50 * <p>The notification that is associated with a budget.</p> 51 */ NotificationHasBeenSet()52 inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; } 53 54 /** 55 * <p>The notification that is associated with a budget.</p> 56 */ SetNotification(const Notification & value)57 inline void SetNotification(const Notification& value) { m_notificationHasBeenSet = true; m_notification = value; } 58 59 /** 60 * <p>The notification that is associated with a budget.</p> 61 */ SetNotification(Notification && value)62 inline void SetNotification(Notification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); } 63 64 /** 65 * <p>The notification that is associated with a budget.</p> 66 */ WithNotification(const Notification & value)67 inline NotificationWithSubscribers& WithNotification(const Notification& value) { SetNotification(value); return *this;} 68 69 /** 70 * <p>The notification that is associated with a budget.</p> 71 */ WithNotification(Notification && value)72 inline NotificationWithSubscribers& WithNotification(Notification&& value) { SetNotification(std::move(value)); return *this;} 73 74 75 /** 76 * <p>A list of subscribers who are subscribed to this notification.</p> 77 */ GetSubscribers()78 inline const Aws::Vector<Subscriber>& GetSubscribers() const{ return m_subscribers; } 79 80 /** 81 * <p>A list of subscribers who are subscribed to this notification.</p> 82 */ SubscribersHasBeenSet()83 inline bool SubscribersHasBeenSet() const { return m_subscribersHasBeenSet; } 84 85 /** 86 * <p>A list of subscribers who are subscribed to this notification.</p> 87 */ SetSubscribers(const Aws::Vector<Subscriber> & value)88 inline void SetSubscribers(const Aws::Vector<Subscriber>& value) { m_subscribersHasBeenSet = true; m_subscribers = value; } 89 90 /** 91 * <p>A list of subscribers who are subscribed to this notification.</p> 92 */ SetSubscribers(Aws::Vector<Subscriber> && value)93 inline void SetSubscribers(Aws::Vector<Subscriber>&& value) { m_subscribersHasBeenSet = true; m_subscribers = std::move(value); } 94 95 /** 96 * <p>A list of subscribers who are subscribed to this notification.</p> 97 */ WithSubscribers(const Aws::Vector<Subscriber> & value)98 inline NotificationWithSubscribers& WithSubscribers(const Aws::Vector<Subscriber>& value) { SetSubscribers(value); return *this;} 99 100 /** 101 * <p>A list of subscribers who are subscribed to this notification.</p> 102 */ WithSubscribers(Aws::Vector<Subscriber> && value)103 inline NotificationWithSubscribers& WithSubscribers(Aws::Vector<Subscriber>&& value) { SetSubscribers(std::move(value)); return *this;} 104 105 /** 106 * <p>A list of subscribers who are subscribed to this notification.</p> 107 */ AddSubscribers(const Subscriber & value)108 inline NotificationWithSubscribers& AddSubscribers(const Subscriber& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(value); return *this; } 109 110 /** 111 * <p>A list of subscribers who are subscribed to this notification.</p> 112 */ AddSubscribers(Subscriber && value)113 inline NotificationWithSubscribers& AddSubscribers(Subscriber&& value) { m_subscribersHasBeenSet = true; m_subscribers.push_back(std::move(value)); return *this; } 114 115 private: 116 117 Notification m_notification; 118 bool m_notificationHasBeenSet; 119 120 Aws::Vector<Subscriber> m_subscribers; 121 bool m_subscribersHasBeenSet; 122 }; 123 124 } // namespace Model 125 } // namespace Budgets 126 } // namespace Aws 127