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/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace Pinpoint 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Specifies limits on the messages that a journey can send and the number of 28 * times participants can enter a journey.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneyLimits">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_PINPOINT_API JourneyLimits 33 { 34 public: 35 JourneyLimits(); 36 JourneyLimits(Aws::Utils::Json::JsonView jsonValue); 37 JourneyLimits& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The maximum number of messages that the journey can send to a single 43 * participant during a 24-hour period. The maximum value is 100.</p> 44 */ GetDailyCap()45 inline int GetDailyCap() const{ return m_dailyCap; } 46 47 /** 48 * <p>The maximum number of messages that the journey can send to a single 49 * participant during a 24-hour period. The maximum value is 100.</p> 50 */ DailyCapHasBeenSet()51 inline bool DailyCapHasBeenSet() const { return m_dailyCapHasBeenSet; } 52 53 /** 54 * <p>The maximum number of messages that the journey can send to a single 55 * participant during a 24-hour period. The maximum value is 100.</p> 56 */ SetDailyCap(int value)57 inline void SetDailyCap(int value) { m_dailyCapHasBeenSet = true; m_dailyCap = value; } 58 59 /** 60 * <p>The maximum number of messages that the journey can send to a single 61 * participant during a 24-hour period. The maximum value is 100.</p> 62 */ WithDailyCap(int value)63 inline JourneyLimits& WithDailyCap(int value) { SetDailyCap(value); return *this;} 64 65 66 /** 67 * <p>The maximum number of times that a participant can enter the journey. The 68 * maximum value is 100. To allow participants to enter the journey an unlimited 69 * number of times, set this value to 0.</p> 70 */ GetEndpointReentryCap()71 inline int GetEndpointReentryCap() const{ return m_endpointReentryCap; } 72 73 /** 74 * <p>The maximum number of times that a participant can enter the journey. The 75 * maximum value is 100. To allow participants to enter the journey an unlimited 76 * number of times, set this value to 0.</p> 77 */ EndpointReentryCapHasBeenSet()78 inline bool EndpointReentryCapHasBeenSet() const { return m_endpointReentryCapHasBeenSet; } 79 80 /** 81 * <p>The maximum number of times that a participant can enter the journey. The 82 * maximum value is 100. To allow participants to enter the journey an unlimited 83 * number of times, set this value to 0.</p> 84 */ SetEndpointReentryCap(int value)85 inline void SetEndpointReentryCap(int value) { m_endpointReentryCapHasBeenSet = true; m_endpointReentryCap = value; } 86 87 /** 88 * <p>The maximum number of times that a participant can enter the journey. The 89 * maximum value is 100. To allow participants to enter the journey an unlimited 90 * number of times, set this value to 0.</p> 91 */ WithEndpointReentryCap(int value)92 inline JourneyLimits& WithEndpointReentryCap(int value) { SetEndpointReentryCap(value); return *this;} 93 94 95 /** 96 * <p>The maximum number of messages that the journey can send each second.</p> 97 */ GetMessagesPerSecond()98 inline int GetMessagesPerSecond() const{ return m_messagesPerSecond; } 99 100 /** 101 * <p>The maximum number of messages that the journey can send each second.</p> 102 */ MessagesPerSecondHasBeenSet()103 inline bool MessagesPerSecondHasBeenSet() const { return m_messagesPerSecondHasBeenSet; } 104 105 /** 106 * <p>The maximum number of messages that the journey can send each second.</p> 107 */ SetMessagesPerSecond(int value)108 inline void SetMessagesPerSecond(int value) { m_messagesPerSecondHasBeenSet = true; m_messagesPerSecond = value; } 109 110 /** 111 * <p>The maximum number of messages that the journey can send each second.</p> 112 */ WithMessagesPerSecond(int value)113 inline JourneyLimits& WithMessagesPerSecond(int value) { SetMessagesPerSecond(value); return *this;} 114 115 116 /** 117 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 118 * The duration should use an ISO 8601 format, such as PT1H. </p> 119 */ GetEndpointReentryInterval()120 inline const Aws::String& GetEndpointReentryInterval() const{ return m_endpointReentryInterval; } 121 122 /** 123 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 124 * The duration should use an ISO 8601 format, such as PT1H. </p> 125 */ EndpointReentryIntervalHasBeenSet()126 inline bool EndpointReentryIntervalHasBeenSet() const { return m_endpointReentryIntervalHasBeenSet; } 127 128 /** 129 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 130 * The duration should use an ISO 8601 format, such as PT1H. </p> 131 */ SetEndpointReentryInterval(const Aws::String & value)132 inline void SetEndpointReentryInterval(const Aws::String& value) { m_endpointReentryIntervalHasBeenSet = true; m_endpointReentryInterval = value; } 133 134 /** 135 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 136 * The duration should use an ISO 8601 format, such as PT1H. </p> 137 */ SetEndpointReentryInterval(Aws::String && value)138 inline void SetEndpointReentryInterval(Aws::String&& value) { m_endpointReentryIntervalHasBeenSet = true; m_endpointReentryInterval = std::move(value); } 139 140 /** 141 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 142 * The duration should use an ISO 8601 format, such as PT1H. </p> 143 */ SetEndpointReentryInterval(const char * value)144 inline void SetEndpointReentryInterval(const char* value) { m_endpointReentryIntervalHasBeenSet = true; m_endpointReentryInterval.assign(value); } 145 146 /** 147 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 148 * The duration should use an ISO 8601 format, such as PT1H. </p> 149 */ WithEndpointReentryInterval(const Aws::String & value)150 inline JourneyLimits& WithEndpointReentryInterval(const Aws::String& value) { SetEndpointReentryInterval(value); return *this;} 151 152 /** 153 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 154 * The duration should use an ISO 8601 format, such as PT1H. </p> 155 */ WithEndpointReentryInterval(Aws::String && value)156 inline JourneyLimits& WithEndpointReentryInterval(Aws::String&& value) { SetEndpointReentryInterval(std::move(value)); return *this;} 157 158 /** 159 * <p>Minimum time that must pass before an endpoint can re-enter a given journey. 160 * The duration should use an ISO 8601 format, such as PT1H. </p> 161 */ WithEndpointReentryInterval(const char * value)162 inline JourneyLimits& WithEndpointReentryInterval(const char* value) { SetEndpointReentryInterval(value); return *this;} 163 164 private: 165 166 int m_dailyCap; 167 bool m_dailyCapHasBeenSet; 168 169 int m_endpointReentryCap; 170 bool m_endpointReentryCapHasBeenSet; 171 172 int m_messagesPerSecond; 173 bool m_messagesPerSecondHasBeenSet; 174 175 Aws::String m_endpointReentryInterval; 176 bool m_endpointReentryIntervalHasBeenSet; 177 }; 178 179 } // namespace Model 180 } // namespace Pinpoint 181 } // namespace Aws 182