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 <aws/pinpoint/model/CampaignEventFilter.h> 10 #include <aws/pinpoint/model/QuietTime.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 Pinpoint 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Schedule of the campaign.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/InAppCampaignSchedule">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API InAppCampaignSchedule 34 { 35 public: 36 InAppCampaignSchedule(); 37 InAppCampaignSchedule(Aws::Utils::Json::JsonView jsonValue); 38 InAppCampaignSchedule& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The scheduled time after which the in-app message should not be shown. 44 * Timestamp is in ISO 8601 format.</p> 45 */ GetEndDate()46 inline const Aws::String& GetEndDate() const{ return m_endDate; } 47 48 /** 49 * <p>The scheduled time after which the in-app message should not be shown. 50 * Timestamp is in ISO 8601 format.</p> 51 */ EndDateHasBeenSet()52 inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } 53 54 /** 55 * <p>The scheduled time after which the in-app message should not be shown. 56 * Timestamp is in ISO 8601 format.</p> 57 */ SetEndDate(const Aws::String & value)58 inline void SetEndDate(const Aws::String& value) { m_endDateHasBeenSet = true; m_endDate = value; } 59 60 /** 61 * <p>The scheduled time after which the in-app message should not be shown. 62 * Timestamp is in ISO 8601 format.</p> 63 */ SetEndDate(Aws::String && value)64 inline void SetEndDate(Aws::String&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); } 65 66 /** 67 * <p>The scheduled time after which the in-app message should not be shown. 68 * Timestamp is in ISO 8601 format.</p> 69 */ SetEndDate(const char * value)70 inline void SetEndDate(const char* value) { m_endDateHasBeenSet = true; m_endDate.assign(value); } 71 72 /** 73 * <p>The scheduled time after which the in-app message should not be shown. 74 * Timestamp is in ISO 8601 format.</p> 75 */ WithEndDate(const Aws::String & value)76 inline InAppCampaignSchedule& WithEndDate(const Aws::String& value) { SetEndDate(value); return *this;} 77 78 /** 79 * <p>The scheduled time after which the in-app message should not be shown. 80 * Timestamp is in ISO 8601 format.</p> 81 */ WithEndDate(Aws::String && value)82 inline InAppCampaignSchedule& WithEndDate(Aws::String&& value) { SetEndDate(std::move(value)); return *this;} 83 84 /** 85 * <p>The scheduled time after which the in-app message should not be shown. 86 * Timestamp is in ISO 8601 format.</p> 87 */ WithEndDate(const char * value)88 inline InAppCampaignSchedule& WithEndDate(const char* value) { SetEndDate(value); return *this;} 89 90 91 /** 92 * <p>The event filter the SDK has to use to show the in-app message in the 93 * application.</p> 94 */ GetEventFilter()95 inline const CampaignEventFilter& GetEventFilter() const{ return m_eventFilter; } 96 97 /** 98 * <p>The event filter the SDK has to use to show the in-app message in the 99 * application.</p> 100 */ EventFilterHasBeenSet()101 inline bool EventFilterHasBeenSet() const { return m_eventFilterHasBeenSet; } 102 103 /** 104 * <p>The event filter the SDK has to use to show the in-app message in the 105 * application.</p> 106 */ SetEventFilter(const CampaignEventFilter & value)107 inline void SetEventFilter(const CampaignEventFilter& value) { m_eventFilterHasBeenSet = true; m_eventFilter = value; } 108 109 /** 110 * <p>The event filter the SDK has to use to show the in-app message in the 111 * application.</p> 112 */ SetEventFilter(CampaignEventFilter && value)113 inline void SetEventFilter(CampaignEventFilter&& value) { m_eventFilterHasBeenSet = true; m_eventFilter = std::move(value); } 114 115 /** 116 * <p>The event filter the SDK has to use to show the in-app message in the 117 * application.</p> 118 */ WithEventFilter(const CampaignEventFilter & value)119 inline InAppCampaignSchedule& WithEventFilter(const CampaignEventFilter& value) { SetEventFilter(value); return *this;} 120 121 /** 122 * <p>The event filter the SDK has to use to show the in-app message in the 123 * application.</p> 124 */ WithEventFilter(CampaignEventFilter && value)125 inline InAppCampaignSchedule& WithEventFilter(CampaignEventFilter&& value) { SetEventFilter(std::move(value)); return *this;} 126 127 128 /** 129 * <p>Time during which the in-app message should not be shown to the user.</p> 130 */ GetQuietTime()131 inline const QuietTime& GetQuietTime() const{ return m_quietTime; } 132 133 /** 134 * <p>Time during which the in-app message should not be shown to the user.</p> 135 */ QuietTimeHasBeenSet()136 inline bool QuietTimeHasBeenSet() const { return m_quietTimeHasBeenSet; } 137 138 /** 139 * <p>Time during which the in-app message should not be shown to the user.</p> 140 */ SetQuietTime(const QuietTime & value)141 inline void SetQuietTime(const QuietTime& value) { m_quietTimeHasBeenSet = true; m_quietTime = value; } 142 143 /** 144 * <p>Time during which the in-app message should not be shown to the user.</p> 145 */ SetQuietTime(QuietTime && value)146 inline void SetQuietTime(QuietTime&& value) { m_quietTimeHasBeenSet = true; m_quietTime = std::move(value); } 147 148 /** 149 * <p>Time during which the in-app message should not be shown to the user.</p> 150 */ WithQuietTime(const QuietTime & value)151 inline InAppCampaignSchedule& WithQuietTime(const QuietTime& value) { SetQuietTime(value); return *this;} 152 153 /** 154 * <p>Time during which the in-app message should not be shown to the user.</p> 155 */ WithQuietTime(QuietTime && value)156 inline InAppCampaignSchedule& WithQuietTime(QuietTime&& value) { SetQuietTime(std::move(value)); return *this;} 157 158 private: 159 160 Aws::String m_endDate; 161 bool m_endDateHasBeenSet; 162 163 CampaignEventFilter m_eventFilter; 164 bool m_eventFilterHasBeenSet; 165 166 QuietTime m_quietTime; 167 bool m_quietTimeHasBeenSet; 168 }; 169 170 } // namespace Model 171 } // namespace Pinpoint 172 } // namespace Aws 173