/** * 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 and * journeys in the application can send.

See Also:

AWS * API Reference

*/ class AWS_PINPOINT_API CampaignLimits { public: CampaignLimits(); CampaignLimits(Aws::Utils::Json::JsonView jsonValue); CampaignLimits& operator=(Aws::Utils::Json::JsonView jsonValue); 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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;} private: int m_daily; bool m_dailyHasBeenSet; int m_maximumDuration; bool m_maximumDurationHasBeenSet; int m_messagesPerSecond; bool m_messagesPerSecondHasBeenSet; int m_total; bool m_totalHasBeenSet; }; } // namespace Model } // namespace Pinpoint } // namespace Aws