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/EventDimensions.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 conditions to evaluate for an event that applies to an activity
29    * in a journey.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EventCondition">AWS
31    * API Reference</a></p>
32    */
33   class AWS_PINPOINT_API EventCondition
34   {
35   public:
36     EventCondition();
37     EventCondition(Aws::Utils::Json::JsonView jsonValue);
38     EventCondition& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The dimensions for the event filter to use for the activity.</p>
44      */
GetDimensions()45     inline const EventDimensions& GetDimensions() const{ return m_dimensions; }
46 
47     /**
48      * <p>The dimensions for the event filter to use for the activity.</p>
49      */
DimensionsHasBeenSet()50     inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
51 
52     /**
53      * <p>The dimensions for the event filter to use for the activity.</p>
54      */
SetDimensions(const EventDimensions & value)55     inline void SetDimensions(const EventDimensions& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
56 
57     /**
58      * <p>The dimensions for the event filter to use for the activity.</p>
59      */
SetDimensions(EventDimensions && value)60     inline void SetDimensions(EventDimensions&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
61 
62     /**
63      * <p>The dimensions for the event filter to use for the activity.</p>
64      */
WithDimensions(const EventDimensions & value)65     inline EventCondition& WithDimensions(const EventDimensions& value) { SetDimensions(value); return *this;}
66 
67     /**
68      * <p>The dimensions for the event filter to use for the activity.</p>
69      */
WithDimensions(EventDimensions && value)70     inline EventCondition& WithDimensions(EventDimensions&& value) { SetDimensions(std::move(value)); return *this;}
71 
72 
73     /**
74      * <p>The message identifier (message_id) for the message to use when determining
75      * whether message events meet the condition.</p>
76      */
GetMessageActivity()77     inline const Aws::String& GetMessageActivity() const{ return m_messageActivity; }
78 
79     /**
80      * <p>The message identifier (message_id) for the message to use when determining
81      * whether message events meet the condition.</p>
82      */
MessageActivityHasBeenSet()83     inline bool MessageActivityHasBeenSet() const { return m_messageActivityHasBeenSet; }
84 
85     /**
86      * <p>The message identifier (message_id) for the message to use when determining
87      * whether message events meet the condition.</p>
88      */
SetMessageActivity(const Aws::String & value)89     inline void SetMessageActivity(const Aws::String& value) { m_messageActivityHasBeenSet = true; m_messageActivity = value; }
90 
91     /**
92      * <p>The message identifier (message_id) for the message to use when determining
93      * whether message events meet the condition.</p>
94      */
SetMessageActivity(Aws::String && value)95     inline void SetMessageActivity(Aws::String&& value) { m_messageActivityHasBeenSet = true; m_messageActivity = std::move(value); }
96 
97     /**
98      * <p>The message identifier (message_id) for the message to use when determining
99      * whether message events meet the condition.</p>
100      */
SetMessageActivity(const char * value)101     inline void SetMessageActivity(const char* value) { m_messageActivityHasBeenSet = true; m_messageActivity.assign(value); }
102 
103     /**
104      * <p>The message identifier (message_id) for the message to use when determining
105      * whether message events meet the condition.</p>
106      */
WithMessageActivity(const Aws::String & value)107     inline EventCondition& WithMessageActivity(const Aws::String& value) { SetMessageActivity(value); return *this;}
108 
109     /**
110      * <p>The message identifier (message_id) for the message to use when determining
111      * whether message events meet the condition.</p>
112      */
WithMessageActivity(Aws::String && value)113     inline EventCondition& WithMessageActivity(Aws::String&& value) { SetMessageActivity(std::move(value)); return *this;}
114 
115     /**
116      * <p>The message identifier (message_id) for the message to use when determining
117      * whether message events meet the condition.</p>
118      */
WithMessageActivity(const char * value)119     inline EventCondition& WithMessageActivity(const char* value) { SetMessageActivity(value); return *this;}
120 
121   private:
122 
123     EventDimensions m_dimensions;
124     bool m_dimensionsHasBeenSet;
125 
126     Aws::String m_messageActivity;
127     bool m_messageActivityHasBeenSet;
128   };
129 
130 } // namespace Model
131 } // namespace Pinpoint
132 } // namespace Aws
133