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/dataexchange/DataExchange_EXPORTS.h>
8 #include <aws/dataexchange/DataExchangeRequest.h>
9 #include <aws/dataexchange/model/Action.h>
10 #include <aws/dataexchange/model/Event.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace DataExchange
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>The request body for CreateEventAction.</p><p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/CreateEventActionRequest">AWS
23    * API Reference</a></p>
24    */
25   class AWS_DATAEXCHANGE_API CreateEventActionRequest : public DataExchangeRequest
26   {
27   public:
28     CreateEventActionRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "CreateEventAction"; }
35 
36     Aws::String SerializePayload() const override;
37 
38 
39     /**
40      * <p>What occurs after a certain event.</p>
41      */
GetAction()42     inline const Action& GetAction() const{ return m_action; }
43 
44     /**
45      * <p>What occurs after a certain event.</p>
46      */
ActionHasBeenSet()47     inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
48 
49     /**
50      * <p>What occurs after a certain event.</p>
51      */
SetAction(const Action & value)52     inline void SetAction(const Action& value) { m_actionHasBeenSet = true; m_action = value; }
53 
54     /**
55      * <p>What occurs after a certain event.</p>
56      */
SetAction(Action && value)57     inline void SetAction(Action&& value) { m_actionHasBeenSet = true; m_action = std::move(value); }
58 
59     /**
60      * <p>What occurs after a certain event.</p>
61      */
WithAction(const Action & value)62     inline CreateEventActionRequest& WithAction(const Action& value) { SetAction(value); return *this;}
63 
64     /**
65      * <p>What occurs after a certain event.</p>
66      */
WithAction(Action && value)67     inline CreateEventActionRequest& WithAction(Action&& value) { SetAction(std::move(value)); return *this;}
68 
69 
70     /**
71      * <p>What occurs to start an action.</p>
72      */
GetEvent()73     inline const Event& GetEvent() const{ return m_event; }
74 
75     /**
76      * <p>What occurs to start an action.</p>
77      */
EventHasBeenSet()78     inline bool EventHasBeenSet() const { return m_eventHasBeenSet; }
79 
80     /**
81      * <p>What occurs to start an action.</p>
82      */
SetEvent(const Event & value)83     inline void SetEvent(const Event& value) { m_eventHasBeenSet = true; m_event = value; }
84 
85     /**
86      * <p>What occurs to start an action.</p>
87      */
SetEvent(Event && value)88     inline void SetEvent(Event&& value) { m_eventHasBeenSet = true; m_event = std::move(value); }
89 
90     /**
91      * <p>What occurs to start an action.</p>
92      */
WithEvent(const Event & value)93     inline CreateEventActionRequest& WithEvent(const Event& value) { SetEvent(value); return *this;}
94 
95     /**
96      * <p>What occurs to start an action.</p>
97      */
WithEvent(Event && value)98     inline CreateEventActionRequest& WithEvent(Event&& value) { SetEvent(std::move(value)); return *this;}
99 
100   private:
101 
102     Action m_action;
103     bool m_actionHasBeenSet;
104 
105     Event m_event;
106     bool m_eventHasBeenSet;
107   };
108 
109 } // namespace Model
110 } // namespace DataExchange
111 } // namespace Aws
112