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/pinpoint/model/EventFilter.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Specifies the settings for an event that causes a journey activity to
29    * start.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EventStartCondition">AWS
31    * API Reference</a></p>
32    */
33   class AWS_PINPOINT_API EventStartCondition
34   {
35   public:
36     EventStartCondition();
37     EventStartCondition(Aws::Utils::Json::JsonView jsonValue);
38     EventStartCondition& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42 
GetEventFilter()43     inline const EventFilter& GetEventFilter() const{ return m_eventFilter; }
44 
45 
EventFilterHasBeenSet()46     inline bool EventFilterHasBeenSet() const { return m_eventFilterHasBeenSet; }
47 
48 
SetEventFilter(const EventFilter & value)49     inline void SetEventFilter(const EventFilter& value) { m_eventFilterHasBeenSet = true; m_eventFilter = value; }
50 
51 
SetEventFilter(EventFilter && value)52     inline void SetEventFilter(EventFilter&& value) { m_eventFilterHasBeenSet = true; m_eventFilter = std::move(value); }
53 
54 
WithEventFilter(const EventFilter & value)55     inline EventStartCondition& WithEventFilter(const EventFilter& value) { SetEventFilter(value); return *this;}
56 
57 
WithEventFilter(EventFilter && value)58     inline EventStartCondition& WithEventFilter(EventFilter&& value) { SetEventFilter(std::move(value)); return *this;}
59 
60 
61 
GetSegmentId()62     inline const Aws::String& GetSegmentId() const{ return m_segmentId; }
63 
64 
SegmentIdHasBeenSet()65     inline bool SegmentIdHasBeenSet() const { return m_segmentIdHasBeenSet; }
66 
67 
SetSegmentId(const Aws::String & value)68     inline void SetSegmentId(const Aws::String& value) { m_segmentIdHasBeenSet = true; m_segmentId = value; }
69 
70 
SetSegmentId(Aws::String && value)71     inline void SetSegmentId(Aws::String&& value) { m_segmentIdHasBeenSet = true; m_segmentId = std::move(value); }
72 
73 
SetSegmentId(const char * value)74     inline void SetSegmentId(const char* value) { m_segmentIdHasBeenSet = true; m_segmentId.assign(value); }
75 
76 
WithSegmentId(const Aws::String & value)77     inline EventStartCondition& WithSegmentId(const Aws::String& value) { SetSegmentId(value); return *this;}
78 
79 
WithSegmentId(Aws::String && value)80     inline EventStartCondition& WithSegmentId(Aws::String&& value) { SetSegmentId(std::move(value)); return *this;}
81 
82 
WithSegmentId(const char * value)83     inline EventStartCondition& WithSegmentId(const char* value) { SetSegmentId(value); return *this;}
84 
85   private:
86 
87     EventFilter m_eventFilter;
88     bool m_eventFilterHasBeenSet;
89 
90     Aws::String m_segmentId;
91     bool m_segmentIdHasBeenSet;
92   };
93 
94 } // namespace Model
95 } // namespace Pinpoint
96 } // namespace Aws
97