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

For a campaign, specifies limits on the messages that the campaign can send. * For an application, specifies the default limits for messages that campaigns in * the application can send.

See Also:

AWS * API Reference

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

The maximum number of messages that a campaign can send to a single endpoint * during a 24-hour period. For an application, this value specifies the default * limit for the number of messages that campaigns and journeys can send to a * single endpoint during a 24-hour period. The maximum value is 100.

*/ inline int GetDaily() const{ return m_daily; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during a 24-hour period. For an application, this value specifies the default * limit for the number of messages that campaigns and journeys can send to a * single endpoint during a 24-hour period. The maximum value is 100.

*/ inline bool DailyHasBeenSet() const { return m_dailyHasBeenSet; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during a 24-hour period. For an application, this value specifies the default * limit for the number of messages that campaigns and journeys can send to a * single endpoint during a 24-hour period. The maximum value is 100.

*/ inline void SetDaily(int value) { m_dailyHasBeenSet = true; m_daily = value; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during a 24-hour period. For an application, this value specifies the default * limit for the number of messages that campaigns and journeys can send to a * single endpoint during a 24-hour period. The maximum value is 100.

*/ inline CampaignLimits& WithDaily(int value) { SetDaily(value); return *this;} /** *

The maximum amount of time, in seconds, that a campaign can attempt to * deliver a message after the scheduled start time for the campaign. The minimum * value is 60 seconds.

*/ inline int GetMaximumDuration() const{ return m_maximumDuration; } /** *

The maximum amount of time, in seconds, that a campaign can attempt to * deliver a message after the scheduled start time for the campaign. The minimum * value is 60 seconds.

*/ inline bool MaximumDurationHasBeenSet() const { return m_maximumDurationHasBeenSet; } /** *

The maximum amount of time, in seconds, that a campaign can attempt to * deliver a message after the scheduled start time for the campaign. The minimum * value is 60 seconds.

*/ inline void SetMaximumDuration(int value) { m_maximumDurationHasBeenSet = true; m_maximumDuration = value; } /** *

The maximum amount of time, in seconds, that a campaign can attempt to * deliver a message after the scheduled start time for the campaign. The minimum * value is 60 seconds.

*/ inline CampaignLimits& WithMaximumDuration(int value) { SetMaximumDuration(value); return *this;} /** *

The maximum number of messages that a campaign can send each second. For an * application, this value specifies the default limit for the number of messages * that campaigns can send each second. The minimum value is 50. The maximum value * is 20,000.

*/ inline int GetMessagesPerSecond() const{ return m_messagesPerSecond; } /** *

The maximum number of messages that a campaign can send each second. For an * application, this value specifies the default limit for the number of messages * that campaigns can send each second. The minimum value is 50. The maximum value * is 20,000.

*/ inline bool MessagesPerSecondHasBeenSet() const { return m_messagesPerSecondHasBeenSet; } /** *

The maximum number of messages that a campaign can send each second. For an * application, this value specifies the default limit for the number of messages * that campaigns can send each second. The minimum value is 50. The maximum value * is 20,000.

*/ inline void SetMessagesPerSecond(int value) { m_messagesPerSecondHasBeenSet = true; m_messagesPerSecond = value; } /** *

The maximum number of messages that a campaign can send each second. For an * application, this value specifies the default limit for the number of messages * that campaigns can send each second. The minimum value is 50. The maximum value * is 20,000.

*/ inline CampaignLimits& WithMessagesPerSecond(int value) { SetMessagesPerSecond(value); return *this;} /** *

The maximum number of messages that a campaign can send to a single endpoint * during the course of the campaign. If a campaign recurs, this setting applies to * all runs of the campaign. The maximum value is 100.

*/ inline int GetTotal() const{ return m_total; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during the course of the campaign. If a campaign recurs, this setting applies to * all runs of the campaign. The maximum value is 100.

*/ inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during the course of the campaign. If a campaign recurs, this setting applies to * all runs of the campaign. The maximum value is 100.

*/ inline void SetTotal(int value) { m_totalHasBeenSet = true; m_total = value; } /** *

The maximum number of messages that a campaign can send to a single endpoint * during the course of the campaign. If a campaign recurs, this setting applies to * all runs of the campaign. The maximum value is 100.

*/ inline CampaignLimits& WithTotal(int value) { SetTotal(value); return *this;} /** *

The maximum total number of messages that the campaign can send per user * session.

*/ inline int GetSession() const{ return m_session; } /** *

The maximum total number of messages that the campaign can send per user * session.

*/ inline bool SessionHasBeenSet() const { return m_sessionHasBeenSet; } /** *

The maximum total number of messages that the campaign can send per user * session.

*/ inline void SetSession(int value) { m_sessionHasBeenSet = true; m_session = value; } /** *

The maximum total number of messages that the campaign can send per user * session.

*/ inline CampaignLimits& WithSession(int value) { SetSession(value); return *this;} private: int m_daily; bool m_dailyHasBeenSet = false; int m_maximumDuration; bool m_maximumDurationHasBeenSet = false; int m_messagesPerSecond; bool m_messagesPerSecondHasBeenSet = false; int m_total; bool m_totalHasBeenSet = false; int m_session; bool m_sessionHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws