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

Specifies the schedule settings for a campaign.

See Also:

AWS * API Reference

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

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline const Aws::String& GetEndTime() const{ return m_endTime; } /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline void SetEndTime(const Aws::String& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline void SetEndTime(Aws::String&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline void SetEndTime(const char* value) { m_endTimeHasBeenSet = true; m_endTime.assign(value); } /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline Schedule& WithEndTime(const Aws::String& value) { SetEndTime(value); return *this;} /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline Schedule& WithEndTime(Aws::String&& value) { SetEndTime(std::move(value)); return *this;} /** *

The scheduled time, in ISO 8601 format, when the campaign ended or will * end.

*/ inline Schedule& WithEndTime(const char* value) { SetEndTime(value); return *this;} /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline const CampaignEventFilter& GetEventFilter() const{ return m_eventFilter; } /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline bool EventFilterHasBeenSet() const { return m_eventFilterHasBeenSet; } /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline void SetEventFilter(const CampaignEventFilter& value) { m_eventFilterHasBeenSet = true; m_eventFilter = value; } /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline void SetEventFilter(CampaignEventFilter&& value) { m_eventFilterHasBeenSet = true; m_eventFilter = std::move(value); } /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline Schedule& WithEventFilter(const CampaignEventFilter& value) { SetEventFilter(value); return *this;} /** *

The type of event that causes the campaign to be sent, if the value of the * Frequency property is EVENT.

*/ inline Schedule& WithEventFilter(CampaignEventFilter&& value) { SetEventFilter(std::move(value)); return *this;} /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline const Frequency& GetFrequency() const{ return m_frequency; } /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline void SetFrequency(const Frequency& value) { m_frequencyHasBeenSet = true; m_frequency = value; } /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline void SetFrequency(Frequency&& value) { m_frequencyHasBeenSet = true; m_frequency = std::move(value); } /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline Schedule& WithFrequency(const Frequency& value) { SetFrequency(value); return *this;} /** *

Specifies how often the campaign is sent or whether the campaign is sent in * response to a specific event.

*/ inline Schedule& WithFrequency(Frequency&& value) { SetFrequency(std::move(value)); return *this;} /** *

Specifies whether the start and end times for the campaign schedule use each * recipient's local time. To base the schedule on each recipient's local time, set * this value to true.

*/ inline bool GetIsLocalTime() const{ return m_isLocalTime; } /** *

Specifies whether the start and end times for the campaign schedule use each * recipient's local time. To base the schedule on each recipient's local time, set * this value to true.

*/ inline bool IsLocalTimeHasBeenSet() const { return m_isLocalTimeHasBeenSet; } /** *

Specifies whether the start and end times for the campaign schedule use each * recipient's local time. To base the schedule on each recipient's local time, set * this value to true.

*/ inline void SetIsLocalTime(bool value) { m_isLocalTimeHasBeenSet = true; m_isLocalTime = value; } /** *

Specifies whether the start and end times for the campaign schedule use each * recipient's local time. To base the schedule on each recipient's local time, set * this value to true.

*/ inline Schedule& WithIsLocalTime(bool value) { SetIsLocalTime(value); return *this;} /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline const QuietTime& GetQuietTime() const{ return m_quietTime; } /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline bool QuietTimeHasBeenSet() const { return m_quietTimeHasBeenSet; } /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline void SetQuietTime(const QuietTime& value) { m_quietTimeHasBeenSet = true; m_quietTime = value; } /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline void SetQuietTime(QuietTime&& value) { m_quietTimeHasBeenSet = true; m_quietTime = std::move(value); } /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline Schedule& WithQuietTime(const QuietTime& value) { SetQuietTime(value); return *this;} /** *

The default quiet time for the campaign. Quiet time is a specific time range * when a campaign doesn't send messages to endpoints, if all the following * conditions are met:

  • The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.

  • The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the campaign.

  • The current time in * the endpoint's time zone is earlier than or equal to the time specified by the * QuietTime.End property for the campaign.

If any of the * preceding conditions isn't met, the endpoint will receive messages from the * campaign, even if quiet time is enabled.

*/ inline Schedule& WithQuietTime(QuietTime&& value) { SetQuietTime(std::move(value)); return *this;} /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline const Aws::String& GetStartTime() const{ return m_startTime; } /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline void SetStartTime(const Aws::String& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline void SetStartTime(Aws::String&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline void SetStartTime(const char* value) { m_startTimeHasBeenSet = true; m_startTime.assign(value); } /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline Schedule& WithStartTime(const Aws::String& value) { SetStartTime(value); return *this;} /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline Schedule& WithStartTime(Aws::String&& value) { SetStartTime(std::move(value)); return *this;} /** *

The scheduled time when the campaign began or will begin. Valid values are: * IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 * format.

*/ inline Schedule& WithStartTime(const char* value) { SetStartTime(value); return *this;} /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline Schedule& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline Schedule& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The starting UTC offset for the campaign schedule, if the value of the * IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, * UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, * UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, * UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

*/ inline Schedule& WithTimezone(const char* value) { SetTimezone(value); return *this;} private: Aws::String m_endTime; bool m_endTimeHasBeenSet = false; CampaignEventFilter m_eventFilter; bool m_eventFilterHasBeenSet = false; Frequency m_frequency; bool m_frequencyHasBeenSet = false; bool m_isLocalTime; bool m_isLocalTimeHasBeenSet = false; QuietTime m_quietTime; bool m_quietTimeHasBeenSet = false; Aws::String m_startTime; bool m_startTimeHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws