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/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/pinpoint/model/JourneyLimits.h>
11 #include <aws/pinpoint/model/QuietTime.h>
12 #include <aws/pinpoint/model/JourneySchedule.h>
13 #include <aws/pinpoint/model/StartCondition.h>
14 #include <aws/pinpoint/model/State.h>
15 #include <aws/pinpoint/model/Activity.h>
16 #include <utility>
17 
18 namespace Aws
19 {
20 namespace Utils
21 {
22 namespace Json
23 {
24   class JsonValue;
25   class JsonView;
26 } // namespace Json
27 } // namespace Utils
28 namespace Pinpoint
29 {
30 namespace Model
31 {
32 
33   /**
34    * <p>Specifies the configuration and other settings for a journey.</p><p><h3>See
35    * Also:</h3>   <a
36    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteJourneyRequest">AWS
37    * API Reference</a></p>
38    */
39   class AWS_PINPOINT_API WriteJourneyRequest
40   {
41   public:
42     WriteJourneyRequest();
43     WriteJourneyRequest(Aws::Utils::Json::JsonView jsonValue);
44     WriteJourneyRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
45     Aws::Utils::Json::JsonValue Jsonize() const;
46 
47 
48     /**
49      * <p>A map that contains a set of Activity objects, one object for each activity
50      * in the journey. For each Activity object, the key is the unique identifier
51      * (string) for an activity and the value is the settings for the activity. An
52      * activity identifier can contain a maximum of 100 characters. The characters must
53      * be alphanumeric characters.</p>
54      */
GetActivities()55     inline const Aws::Map<Aws::String, Activity>& GetActivities() const{ return m_activities; }
56 
57     /**
58      * <p>A map that contains a set of Activity objects, one object for each activity
59      * in the journey. For each Activity object, the key is the unique identifier
60      * (string) for an activity and the value is the settings for the activity. An
61      * activity identifier can contain a maximum of 100 characters. The characters must
62      * be alphanumeric characters.</p>
63      */
ActivitiesHasBeenSet()64     inline bool ActivitiesHasBeenSet() const { return m_activitiesHasBeenSet; }
65 
66     /**
67      * <p>A map that contains a set of Activity objects, one object for each activity
68      * in the journey. For each Activity object, the key is the unique identifier
69      * (string) for an activity and the value is the settings for the activity. An
70      * activity identifier can contain a maximum of 100 characters. The characters must
71      * be alphanumeric characters.</p>
72      */
SetActivities(const Aws::Map<Aws::String,Activity> & value)73     inline void SetActivities(const Aws::Map<Aws::String, Activity>& value) { m_activitiesHasBeenSet = true; m_activities = value; }
74 
75     /**
76      * <p>A map that contains a set of Activity objects, one object for each activity
77      * in the journey. For each Activity object, the key is the unique identifier
78      * (string) for an activity and the value is the settings for the activity. An
79      * activity identifier can contain a maximum of 100 characters. The characters must
80      * be alphanumeric characters.</p>
81      */
SetActivities(Aws::Map<Aws::String,Activity> && value)82     inline void SetActivities(Aws::Map<Aws::String, Activity>&& value) { m_activitiesHasBeenSet = true; m_activities = std::move(value); }
83 
84     /**
85      * <p>A map that contains a set of Activity objects, one object for each activity
86      * in the journey. For each Activity object, the key is the unique identifier
87      * (string) for an activity and the value is the settings for the activity. An
88      * activity identifier can contain a maximum of 100 characters. The characters must
89      * be alphanumeric characters.</p>
90      */
WithActivities(const Aws::Map<Aws::String,Activity> & value)91     inline WriteJourneyRequest& WithActivities(const Aws::Map<Aws::String, Activity>& value) { SetActivities(value); return *this;}
92 
93     /**
94      * <p>A map that contains a set of Activity objects, one object for each activity
95      * in the journey. For each Activity object, the key is the unique identifier
96      * (string) for an activity and the value is the settings for the activity. An
97      * activity identifier can contain a maximum of 100 characters. The characters must
98      * be alphanumeric characters.</p>
99      */
WithActivities(Aws::Map<Aws::String,Activity> && value)100     inline WriteJourneyRequest& WithActivities(Aws::Map<Aws::String, Activity>&& value) { SetActivities(std::move(value)); return *this;}
101 
102     /**
103      * <p>A map that contains a set of Activity objects, one object for each activity
104      * in the journey. For each Activity object, the key is the unique identifier
105      * (string) for an activity and the value is the settings for the activity. An
106      * activity identifier can contain a maximum of 100 characters. The characters must
107      * be alphanumeric characters.</p>
108      */
AddActivities(const Aws::String & key,const Activity & value)109     inline WriteJourneyRequest& AddActivities(const Aws::String& key, const Activity& value) { m_activitiesHasBeenSet = true; m_activities.emplace(key, value); return *this; }
110 
111     /**
112      * <p>A map that contains a set of Activity objects, one object for each activity
113      * in the journey. For each Activity object, the key is the unique identifier
114      * (string) for an activity and the value is the settings for the activity. An
115      * activity identifier can contain a maximum of 100 characters. The characters must
116      * be alphanumeric characters.</p>
117      */
AddActivities(Aws::String && key,const Activity & value)118     inline WriteJourneyRequest& AddActivities(Aws::String&& key, const Activity& value) { m_activitiesHasBeenSet = true; m_activities.emplace(std::move(key), value); return *this; }
119 
120     /**
121      * <p>A map that contains a set of Activity objects, one object for each activity
122      * in the journey. For each Activity object, the key is the unique identifier
123      * (string) for an activity and the value is the settings for the activity. An
124      * activity identifier can contain a maximum of 100 characters. The characters must
125      * be alphanumeric characters.</p>
126      */
AddActivities(const Aws::String & key,Activity && value)127     inline WriteJourneyRequest& AddActivities(const Aws::String& key, Activity&& value) { m_activitiesHasBeenSet = true; m_activities.emplace(key, std::move(value)); return *this; }
128 
129     /**
130      * <p>A map that contains a set of Activity objects, one object for each activity
131      * in the journey. For each Activity object, the key is the unique identifier
132      * (string) for an activity and the value is the settings for the activity. An
133      * activity identifier can contain a maximum of 100 characters. The characters must
134      * be alphanumeric characters.</p>
135      */
AddActivities(Aws::String && key,Activity && value)136     inline WriteJourneyRequest& AddActivities(Aws::String&& key, Activity&& value) { m_activitiesHasBeenSet = true; m_activities.emplace(std::move(key), std::move(value)); return *this; }
137 
138     /**
139      * <p>A map that contains a set of Activity objects, one object for each activity
140      * in the journey. For each Activity object, the key is the unique identifier
141      * (string) for an activity and the value is the settings for the activity. An
142      * activity identifier can contain a maximum of 100 characters. The characters must
143      * be alphanumeric characters.</p>
144      */
AddActivities(const char * key,Activity && value)145     inline WriteJourneyRequest& AddActivities(const char* key, Activity&& value) { m_activitiesHasBeenSet = true; m_activities.emplace(key, std::move(value)); return *this; }
146 
147     /**
148      * <p>A map that contains a set of Activity objects, one object for each activity
149      * in the journey. For each Activity object, the key is the unique identifier
150      * (string) for an activity and the value is the settings for the activity. An
151      * activity identifier can contain a maximum of 100 characters. The characters must
152      * be alphanumeric characters.</p>
153      */
AddActivities(const char * key,const Activity & value)154     inline WriteJourneyRequest& AddActivities(const char* key, const Activity& value) { m_activitiesHasBeenSet = true; m_activities.emplace(key, value); return *this; }
155 
156 
157     /**
158      * <p>The date, in ISO 8601 format, when the journey was created.</p>
159      */
GetCreationDate()160     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
161 
162     /**
163      * <p>The date, in ISO 8601 format, when the journey was created.</p>
164      */
CreationDateHasBeenSet()165     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
166 
167     /**
168      * <p>The date, in ISO 8601 format, when the journey was created.</p>
169      */
SetCreationDate(const Aws::String & value)170     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
171 
172     /**
173      * <p>The date, in ISO 8601 format, when the journey was created.</p>
174      */
SetCreationDate(Aws::String && value)175     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
176 
177     /**
178      * <p>The date, in ISO 8601 format, when the journey was created.</p>
179      */
SetCreationDate(const char * value)180     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
181 
182     /**
183      * <p>The date, in ISO 8601 format, when the journey was created.</p>
184      */
WithCreationDate(const Aws::String & value)185     inline WriteJourneyRequest& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
186 
187     /**
188      * <p>The date, in ISO 8601 format, when the journey was created.</p>
189      */
WithCreationDate(Aws::String && value)190     inline WriteJourneyRequest& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
191 
192     /**
193      * <p>The date, in ISO 8601 format, when the journey was created.</p>
194      */
WithCreationDate(const char * value)195     inline WriteJourneyRequest& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
196 
197 
198     /**
199      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
200      */
GetLastModifiedDate()201     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
202 
203     /**
204      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
205      */
LastModifiedDateHasBeenSet()206     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
207 
208     /**
209      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
210      */
SetLastModifiedDate(const Aws::String & value)211     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
212 
213     /**
214      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
215      */
SetLastModifiedDate(Aws::String && value)216     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
217 
218     /**
219      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
220      */
SetLastModifiedDate(const char * value)221     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
222 
223     /**
224      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
225      */
WithLastModifiedDate(const Aws::String & value)226     inline WriteJourneyRequest& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
227 
228     /**
229      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
230      */
WithLastModifiedDate(Aws::String && value)231     inline WriteJourneyRequest& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
232 
233     /**
234      * <p>The date, in ISO 8601 format, when the journey was last modified.</p>
235      */
WithLastModifiedDate(const char * value)236     inline WriteJourneyRequest& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
237 
238 
239     /**
240      * <p>The messaging and entry limits for the journey.</p>
241      */
GetLimits()242     inline const JourneyLimits& GetLimits() const{ return m_limits; }
243 
244     /**
245      * <p>The messaging and entry limits for the journey.</p>
246      */
LimitsHasBeenSet()247     inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; }
248 
249     /**
250      * <p>The messaging and entry limits for the journey.</p>
251      */
SetLimits(const JourneyLimits & value)252     inline void SetLimits(const JourneyLimits& value) { m_limitsHasBeenSet = true; m_limits = value; }
253 
254     /**
255      * <p>The messaging and entry limits for the journey.</p>
256      */
SetLimits(JourneyLimits && value)257     inline void SetLimits(JourneyLimits&& value) { m_limitsHasBeenSet = true; m_limits = std::move(value); }
258 
259     /**
260      * <p>The messaging and entry limits for the journey.</p>
261      */
WithLimits(const JourneyLimits & value)262     inline WriteJourneyRequest& WithLimits(const JourneyLimits& value) { SetLimits(value); return *this;}
263 
264     /**
265      * <p>The messaging and entry limits for the journey.</p>
266      */
WithLimits(JourneyLimits && value)267     inline WriteJourneyRequest& WithLimits(JourneyLimits&& value) { SetLimits(std::move(value)); return *this;}
268 
269 
270     /**
271      * <p>Specifies whether the journey's scheduled start and end times use each
272      * participant's local time. To base the schedule on each participant's local time,
273      * set this value to true.</p>
274      */
GetLocalTime()275     inline bool GetLocalTime() const{ return m_localTime; }
276 
277     /**
278      * <p>Specifies whether the journey's scheduled start and end times use each
279      * participant's local time. To base the schedule on each participant's local time,
280      * set this value to true.</p>
281      */
LocalTimeHasBeenSet()282     inline bool LocalTimeHasBeenSet() const { return m_localTimeHasBeenSet; }
283 
284     /**
285      * <p>Specifies whether the journey's scheduled start and end times use each
286      * participant's local time. To base the schedule on each participant's local time,
287      * set this value to true.</p>
288      */
SetLocalTime(bool value)289     inline void SetLocalTime(bool value) { m_localTimeHasBeenSet = true; m_localTime = value; }
290 
291     /**
292      * <p>Specifies whether the journey's scheduled start and end times use each
293      * participant's local time. To base the schedule on each participant's local time,
294      * set this value to true.</p>
295      */
WithLocalTime(bool value)296     inline WriteJourneyRequest& WithLocalTime(bool value) { SetLocalTime(value); return *this;}
297 
298 
299     /**
300      * <p>The name of the journey. A journey name can contain a maximum of 150
301      * characters. The characters can be alphanumeric characters or symbols, such as
302      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
303      */
GetName()304     inline const Aws::String& GetName() const{ return m_name; }
305 
306     /**
307      * <p>The name of the journey. A journey name can contain a maximum of 150
308      * characters. The characters can be alphanumeric characters or symbols, such as
309      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
310      */
NameHasBeenSet()311     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
312 
313     /**
314      * <p>The name of the journey. A journey name can contain a maximum of 150
315      * characters. The characters can be alphanumeric characters or symbols, such as
316      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
317      */
SetName(const Aws::String & value)318     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
319 
320     /**
321      * <p>The name of the journey. A journey name can contain a maximum of 150
322      * characters. The characters can be alphanumeric characters or symbols, such as
323      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
324      */
SetName(Aws::String && value)325     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
326 
327     /**
328      * <p>The name of the journey. A journey name can contain a maximum of 150
329      * characters. The characters can be alphanumeric characters or symbols, such as
330      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
331      */
SetName(const char * value)332     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
333 
334     /**
335      * <p>The name of the journey. A journey name can contain a maximum of 150
336      * characters. The characters can be alphanumeric characters or symbols, such as
337      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
338      */
WithName(const Aws::String & value)339     inline WriteJourneyRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
340 
341     /**
342      * <p>The name of the journey. A journey name can contain a maximum of 150
343      * characters. The characters can be alphanumeric characters or symbols, such as
344      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
345      */
WithName(Aws::String && value)346     inline WriteJourneyRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
347 
348     /**
349      * <p>The name of the journey. A journey name can contain a maximum of 150
350      * characters. The characters can be alphanumeric characters or symbols, such as
351      * underscores (_) or hyphens (-). A journey name can't contain any spaces.</p>
352      */
WithName(const char * value)353     inline WriteJourneyRequest& WithName(const char* value) { SetName(value); return *this;}
354 
355 
356     /**
357      * <p>The quiet time settings for the journey. Quiet time is a specific time range
358      * when a journey doesn't send messages to participants, if all the following
359      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
360      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
361      * current time in the participant's time zone is later than or equal to the time
362      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
363      * current time in the participant's time zone is earlier than or equal to the time
364      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
365      * of the preceding conditions isn't met, the participant will receive messages
366      * from the journey, even if quiet time is enabled.</p>
367      */
GetQuietTime()368     inline const QuietTime& GetQuietTime() const{ return m_quietTime; }
369 
370     /**
371      * <p>The quiet time settings for the journey. Quiet time is a specific time range
372      * when a journey doesn't send messages to participants, if all the following
373      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
374      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
375      * current time in the participant's time zone is later than or equal to the time
376      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
377      * current time in the participant's time zone is earlier than or equal to the time
378      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
379      * of the preceding conditions isn't met, the participant will receive messages
380      * from the journey, even if quiet time is enabled.</p>
381      */
QuietTimeHasBeenSet()382     inline bool QuietTimeHasBeenSet() const { return m_quietTimeHasBeenSet; }
383 
384     /**
385      * <p>The quiet time settings for the journey. Quiet time is a specific time range
386      * when a journey doesn't send messages to participants, if all the following
387      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
388      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
389      * current time in the participant's time zone is later than or equal to the time
390      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
391      * current time in the participant's time zone is earlier than or equal to the time
392      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
393      * of the preceding conditions isn't met, the participant will receive messages
394      * from the journey, even if quiet time is enabled.</p>
395      */
SetQuietTime(const QuietTime & value)396     inline void SetQuietTime(const QuietTime& value) { m_quietTimeHasBeenSet = true; m_quietTime = value; }
397 
398     /**
399      * <p>The quiet time settings for the journey. Quiet time is a specific time range
400      * when a journey doesn't send messages to participants, if all the following
401      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
402      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
403      * current time in the participant's time zone is later than or equal to the time
404      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
405      * current time in the participant's time zone is earlier than or equal to the time
406      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
407      * of the preceding conditions isn't met, the participant will receive messages
408      * from the journey, even if quiet time is enabled.</p>
409      */
SetQuietTime(QuietTime && value)410     inline void SetQuietTime(QuietTime&& value) { m_quietTimeHasBeenSet = true; m_quietTime = std::move(value); }
411 
412     /**
413      * <p>The quiet time settings for the journey. Quiet time is a specific time range
414      * when a journey doesn't send messages to participants, if all the following
415      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
416      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
417      * current time in the participant's time zone is later than or equal to the time
418      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
419      * current time in the participant's time zone is earlier than or equal to the time
420      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
421      * of the preceding conditions isn't met, the participant will receive messages
422      * from the journey, even if quiet time is enabled.</p>
423      */
WithQuietTime(const QuietTime & value)424     inline WriteJourneyRequest& WithQuietTime(const QuietTime& value) { SetQuietTime(value); return *this;}
425 
426     /**
427      * <p>The quiet time settings for the journey. Quiet time is a specific time range
428      * when a journey doesn't send messages to participants, if all the following
429      * conditions are met:</p> <ul><li><p>The EndpointDemographic.Timezone property of
430      * the endpoint for the participant is set to a valid value.</p></li> <li><p>The
431      * current time in the participant's time zone is later than or equal to the time
432      * specified by the QuietTime.Start property for the journey.</p></li> <li><p>The
433      * current time in the participant's time zone is earlier than or equal to the time
434      * specified by the QuietTime.End property for the journey.</p></li></ul> <p>If any
435      * of the preceding conditions isn't met, the participant will receive messages
436      * from the journey, even if quiet time is enabled.</p>
437      */
WithQuietTime(QuietTime && value)438     inline WriteJourneyRequest& WithQuietTime(QuietTime&& value) { SetQuietTime(std::move(value)); return *this;}
439 
440 
441     /**
442      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
443      * the journey, as a duration in ISO 8601 format.</p>
444      */
GetRefreshFrequency()445     inline const Aws::String& GetRefreshFrequency() const{ return m_refreshFrequency; }
446 
447     /**
448      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
449      * the journey, as a duration in ISO 8601 format.</p>
450      */
RefreshFrequencyHasBeenSet()451     inline bool RefreshFrequencyHasBeenSet() const { return m_refreshFrequencyHasBeenSet; }
452 
453     /**
454      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
455      * the journey, as a duration in ISO 8601 format.</p>
456      */
SetRefreshFrequency(const Aws::String & value)457     inline void SetRefreshFrequency(const Aws::String& value) { m_refreshFrequencyHasBeenSet = true; m_refreshFrequency = value; }
458 
459     /**
460      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
461      * the journey, as a duration in ISO 8601 format.</p>
462      */
SetRefreshFrequency(Aws::String && value)463     inline void SetRefreshFrequency(Aws::String&& value) { m_refreshFrequencyHasBeenSet = true; m_refreshFrequency = std::move(value); }
464 
465     /**
466      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
467      * the journey, as a duration in ISO 8601 format.</p>
468      */
SetRefreshFrequency(const char * value)469     inline void SetRefreshFrequency(const char* value) { m_refreshFrequencyHasBeenSet = true; m_refreshFrequency.assign(value); }
470 
471     /**
472      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
473      * the journey, as a duration in ISO 8601 format.</p>
474      */
WithRefreshFrequency(const Aws::String & value)475     inline WriteJourneyRequest& WithRefreshFrequency(const Aws::String& value) { SetRefreshFrequency(value); return *this;}
476 
477     /**
478      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
479      * the journey, as a duration in ISO 8601 format.</p>
480      */
WithRefreshFrequency(Aws::String && value)481     inline WriteJourneyRequest& WithRefreshFrequency(Aws::String&& value) { SetRefreshFrequency(std::move(value)); return *this;}
482 
483     /**
484      * <p>The frequency with which Amazon Pinpoint evaluates segment and event data for
485      * the journey, as a duration in ISO 8601 format.</p>
486      */
WithRefreshFrequency(const char * value)487     inline WriteJourneyRequest& WithRefreshFrequency(const char* value) { SetRefreshFrequency(value); return *this;}
488 
489 
490     /**
491      * <p>The schedule settings for the journey.</p>
492      */
GetSchedule()493     inline const JourneySchedule& GetSchedule() const{ return m_schedule; }
494 
495     /**
496      * <p>The schedule settings for the journey.</p>
497      */
ScheduleHasBeenSet()498     inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
499 
500     /**
501      * <p>The schedule settings for the journey.</p>
502      */
SetSchedule(const JourneySchedule & value)503     inline void SetSchedule(const JourneySchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; }
504 
505     /**
506      * <p>The schedule settings for the journey.</p>
507      */
SetSchedule(JourneySchedule && value)508     inline void SetSchedule(JourneySchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); }
509 
510     /**
511      * <p>The schedule settings for the journey.</p>
512      */
WithSchedule(const JourneySchedule & value)513     inline WriteJourneyRequest& WithSchedule(const JourneySchedule& value) { SetSchedule(value); return *this;}
514 
515     /**
516      * <p>The schedule settings for the journey.</p>
517      */
WithSchedule(JourneySchedule && value)518     inline WriteJourneyRequest& WithSchedule(JourneySchedule&& value) { SetSchedule(std::move(value)); return *this;}
519 
520 
521     /**
522      * <p>The unique identifier for the first activity in the journey. The identifier
523      * for this activity can contain a maximum of 128 characters. The characters must
524      * be alphanumeric characters.</p>
525      */
GetStartActivity()526     inline const Aws::String& GetStartActivity() const{ return m_startActivity; }
527 
528     /**
529      * <p>The unique identifier for the first activity in the journey. The identifier
530      * for this activity can contain a maximum of 128 characters. The characters must
531      * be alphanumeric characters.</p>
532      */
StartActivityHasBeenSet()533     inline bool StartActivityHasBeenSet() const { return m_startActivityHasBeenSet; }
534 
535     /**
536      * <p>The unique identifier for the first activity in the journey. The identifier
537      * for this activity can contain a maximum of 128 characters. The characters must
538      * be alphanumeric characters.</p>
539      */
SetStartActivity(const Aws::String & value)540     inline void SetStartActivity(const Aws::String& value) { m_startActivityHasBeenSet = true; m_startActivity = value; }
541 
542     /**
543      * <p>The unique identifier for the first activity in the journey. The identifier
544      * for this activity can contain a maximum of 128 characters. The characters must
545      * be alphanumeric characters.</p>
546      */
SetStartActivity(Aws::String && value)547     inline void SetStartActivity(Aws::String&& value) { m_startActivityHasBeenSet = true; m_startActivity = std::move(value); }
548 
549     /**
550      * <p>The unique identifier for the first activity in the journey. The identifier
551      * for this activity can contain a maximum of 128 characters. The characters must
552      * be alphanumeric characters.</p>
553      */
SetStartActivity(const char * value)554     inline void SetStartActivity(const char* value) { m_startActivityHasBeenSet = true; m_startActivity.assign(value); }
555 
556     /**
557      * <p>The unique identifier for the first activity in the journey. The identifier
558      * for this activity can contain a maximum of 128 characters. The characters must
559      * be alphanumeric characters.</p>
560      */
WithStartActivity(const Aws::String & value)561     inline WriteJourneyRequest& WithStartActivity(const Aws::String& value) { SetStartActivity(value); return *this;}
562 
563     /**
564      * <p>The unique identifier for the first activity in the journey. The identifier
565      * for this activity can contain a maximum of 128 characters. The characters must
566      * be alphanumeric characters.</p>
567      */
WithStartActivity(Aws::String && value)568     inline WriteJourneyRequest& WithStartActivity(Aws::String&& value) { SetStartActivity(std::move(value)); return *this;}
569 
570     /**
571      * <p>The unique identifier for the first activity in the journey. The identifier
572      * for this activity can contain a maximum of 128 characters. The characters must
573      * be alphanumeric characters.</p>
574      */
WithStartActivity(const char * value)575     inline WriteJourneyRequest& WithStartActivity(const char* value) { SetStartActivity(value); return *this;}
576 
577 
578     /**
579      * <p>The segment that defines which users are participants in the journey.</p>
580      */
GetStartCondition()581     inline const StartCondition& GetStartCondition() const{ return m_startCondition; }
582 
583     /**
584      * <p>The segment that defines which users are participants in the journey.</p>
585      */
StartConditionHasBeenSet()586     inline bool StartConditionHasBeenSet() const { return m_startConditionHasBeenSet; }
587 
588     /**
589      * <p>The segment that defines which users are participants in the journey.</p>
590      */
SetStartCondition(const StartCondition & value)591     inline void SetStartCondition(const StartCondition& value) { m_startConditionHasBeenSet = true; m_startCondition = value; }
592 
593     /**
594      * <p>The segment that defines which users are participants in the journey.</p>
595      */
SetStartCondition(StartCondition && value)596     inline void SetStartCondition(StartCondition&& value) { m_startConditionHasBeenSet = true; m_startCondition = std::move(value); }
597 
598     /**
599      * <p>The segment that defines which users are participants in the journey.</p>
600      */
WithStartCondition(const StartCondition & value)601     inline WriteJourneyRequest& WithStartCondition(const StartCondition& value) { SetStartCondition(value); return *this;}
602 
603     /**
604      * <p>The segment that defines which users are participants in the journey.</p>
605      */
WithStartCondition(StartCondition && value)606     inline WriteJourneyRequest& WithStartCondition(StartCondition&& value) { SetStartCondition(std::move(value)); return *this;}
607 
608 
609     /**
610      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
611      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
612      * journey. Depending on the journey's schedule, the journey starts running
613      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
614      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
615      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
616      * or update a journey. To cancel, pause, or resume a journey, use the <link
617      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
618      * resource.</p>
619      */
GetState()620     inline const State& GetState() const{ return m_state; }
621 
622     /**
623      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
624      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
625      * journey. Depending on the journey's schedule, the journey starts running
626      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
627      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
628      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
629      * or update a journey. To cancel, pause, or resume a journey, use the <link
630      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
631      * resource.</p>
632      */
StateHasBeenSet()633     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
634 
635     /**
636      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
637      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
638      * journey. Depending on the journey's schedule, the journey starts running
639      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
640      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
641      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
642      * or update a journey. To cancel, pause, or resume a journey, use the <link
643      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
644      * resource.</p>
645      */
SetState(const State & value)646     inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; }
647 
648     /**
649      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
650      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
651      * journey. Depending on the journey's schedule, the journey starts running
652      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
653      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
654      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
655      * or update a journey. To cancel, pause, or resume a journey, use the <link
656      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
657      * resource.</p>
658      */
SetState(State && value)659     inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
660 
661     /**
662      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
663      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
664      * journey. Depending on the journey's schedule, the journey starts running
665      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
666      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
667      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
668      * or update a journey. To cancel, pause, or resume a journey, use the <link
669      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
670      * resource.</p>
671      */
WithState(const State & value)672     inline WriteJourneyRequest& WithState(const State& value) { SetState(value); return *this;}
673 
674     /**
675      * <p>The status of the journey. Valid values are:</p> <ul><li><p>DRAFT - Saves the
676      * journey and doesn't publish it.</p></li> <li><p>ACTIVE - Saves and publishes the
677      * journey. Depending on the journey's schedule, the journey starts running
678      * immediately or at the scheduled start time. If a journey's status is ACTIVE, you
679      * can't add, change, or remove activities from it.</p></li></ul> <p>PAUSED,
680      * CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create
681      * or update a journey. To cancel, pause, or resume a journey, use the <link
682      * linkend="apps-application-id-journeys-journey-id-state">Journey State</link>
683      * resource.</p>
684      */
WithState(State && value)685     inline WriteJourneyRequest& WithState(State&& value) { SetState(std::move(value)); return *this;}
686 
687 
688     /**
689      * <p>Specifies whether endpoints in quiet hours should enter a wait till the end
690      * of their quiet hours.</p>
691      */
GetWaitForQuietTime()692     inline bool GetWaitForQuietTime() const{ return m_waitForQuietTime; }
693 
694     /**
695      * <p>Specifies whether endpoints in quiet hours should enter a wait till the end
696      * of their quiet hours.</p>
697      */
WaitForQuietTimeHasBeenSet()698     inline bool WaitForQuietTimeHasBeenSet() const { return m_waitForQuietTimeHasBeenSet; }
699 
700     /**
701      * <p>Specifies whether endpoints in quiet hours should enter a wait till the end
702      * of their quiet hours.</p>
703      */
SetWaitForQuietTime(bool value)704     inline void SetWaitForQuietTime(bool value) { m_waitForQuietTimeHasBeenSet = true; m_waitForQuietTime = value; }
705 
706     /**
707      * <p>Specifies whether endpoints in quiet hours should enter a wait till the end
708      * of their quiet hours.</p>
709      */
WithWaitForQuietTime(bool value)710     inline WriteJourneyRequest& WithWaitForQuietTime(bool value) { SetWaitForQuietTime(value); return *this;}
711 
712 
713     /**
714      * <p>Specifies whether a journey should be refreshed on segment update.</p>
715      */
GetRefreshOnSegmentUpdate()716     inline bool GetRefreshOnSegmentUpdate() const{ return m_refreshOnSegmentUpdate; }
717 
718     /**
719      * <p>Specifies whether a journey should be refreshed on segment update.</p>
720      */
RefreshOnSegmentUpdateHasBeenSet()721     inline bool RefreshOnSegmentUpdateHasBeenSet() const { return m_refreshOnSegmentUpdateHasBeenSet; }
722 
723     /**
724      * <p>Specifies whether a journey should be refreshed on segment update.</p>
725      */
SetRefreshOnSegmentUpdate(bool value)726     inline void SetRefreshOnSegmentUpdate(bool value) { m_refreshOnSegmentUpdateHasBeenSet = true; m_refreshOnSegmentUpdate = value; }
727 
728     /**
729      * <p>Specifies whether a journey should be refreshed on segment update.</p>
730      */
WithRefreshOnSegmentUpdate(bool value)731     inline WriteJourneyRequest& WithRefreshOnSegmentUpdate(bool value) { SetRefreshOnSegmentUpdate(value); return *this;}
732 
733   private:
734 
735     Aws::Map<Aws::String, Activity> m_activities;
736     bool m_activitiesHasBeenSet;
737 
738     Aws::String m_creationDate;
739     bool m_creationDateHasBeenSet;
740 
741     Aws::String m_lastModifiedDate;
742     bool m_lastModifiedDateHasBeenSet;
743 
744     JourneyLimits m_limits;
745     bool m_limitsHasBeenSet;
746 
747     bool m_localTime;
748     bool m_localTimeHasBeenSet;
749 
750     Aws::String m_name;
751     bool m_nameHasBeenSet;
752 
753     QuietTime m_quietTime;
754     bool m_quietTimeHasBeenSet;
755 
756     Aws::String m_refreshFrequency;
757     bool m_refreshFrequencyHasBeenSet;
758 
759     JourneySchedule m_schedule;
760     bool m_scheduleHasBeenSet;
761 
762     Aws::String m_startActivity;
763     bool m_startActivityHasBeenSet;
764 
765     StartCondition m_startCondition;
766     bool m_startConditionHasBeenSet;
767 
768     State m_state;
769     bool m_stateHasBeenSet;
770 
771     bool m_waitForQuietTime;
772     bool m_waitForQuietTimeHasBeenSet;
773 
774     bool m_refreshOnSegmentUpdate;
775     bool m_refreshOnSegmentUpdateHasBeenSet;
776   };
777 
778 } // namespace Model
779 } // namespace Pinpoint
780 } // namespace Aws
781