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/eventbridge/EventBridge_EXPORTS.h>
8 #include <aws/eventbridge/EventBridgeRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/eventbridge/model/ReplayDestination.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace EventBridge
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_EVENTBRIDGE_API StartReplayRequest : public EventBridgeRequest
24   {
25   public:
26     StartReplayRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "StartReplay"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The name of the replay to start.</p>
41      */
GetReplayName()42     inline const Aws::String& GetReplayName() const{ return m_replayName; }
43 
44     /**
45      * <p>The name of the replay to start.</p>
46      */
ReplayNameHasBeenSet()47     inline bool ReplayNameHasBeenSet() const { return m_replayNameHasBeenSet; }
48 
49     /**
50      * <p>The name of the replay to start.</p>
51      */
SetReplayName(const Aws::String & value)52     inline void SetReplayName(const Aws::String& value) { m_replayNameHasBeenSet = true; m_replayName = value; }
53 
54     /**
55      * <p>The name of the replay to start.</p>
56      */
SetReplayName(Aws::String && value)57     inline void SetReplayName(Aws::String&& value) { m_replayNameHasBeenSet = true; m_replayName = std::move(value); }
58 
59     /**
60      * <p>The name of the replay to start.</p>
61      */
SetReplayName(const char * value)62     inline void SetReplayName(const char* value) { m_replayNameHasBeenSet = true; m_replayName.assign(value); }
63 
64     /**
65      * <p>The name of the replay to start.</p>
66      */
WithReplayName(const Aws::String & value)67     inline StartReplayRequest& WithReplayName(const Aws::String& value) { SetReplayName(value); return *this;}
68 
69     /**
70      * <p>The name of the replay to start.</p>
71      */
WithReplayName(Aws::String && value)72     inline StartReplayRequest& WithReplayName(Aws::String&& value) { SetReplayName(std::move(value)); return *this;}
73 
74     /**
75      * <p>The name of the replay to start.</p>
76      */
WithReplayName(const char * value)77     inline StartReplayRequest& WithReplayName(const char* value) { SetReplayName(value); return *this;}
78 
79 
80     /**
81      * <p>A description for the replay to start.</p>
82      */
GetDescription()83     inline const Aws::String& GetDescription() const{ return m_description; }
84 
85     /**
86      * <p>A description for the replay to start.</p>
87      */
DescriptionHasBeenSet()88     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
89 
90     /**
91      * <p>A description for the replay to start.</p>
92      */
SetDescription(const Aws::String & value)93     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
94 
95     /**
96      * <p>A description for the replay to start.</p>
97      */
SetDescription(Aws::String && value)98     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
99 
100     /**
101      * <p>A description for the replay to start.</p>
102      */
SetDescription(const char * value)103     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
104 
105     /**
106      * <p>A description for the replay to start.</p>
107      */
WithDescription(const Aws::String & value)108     inline StartReplayRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
109 
110     /**
111      * <p>A description for the replay to start.</p>
112      */
WithDescription(Aws::String && value)113     inline StartReplayRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
114 
115     /**
116      * <p>A description for the replay to start.</p>
117      */
WithDescription(const char * value)118     inline StartReplayRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
119 
120 
121     /**
122      * <p>The ARN of the archive to replay events from.</p>
123      */
GetEventSourceArn()124     inline const Aws::String& GetEventSourceArn() const{ return m_eventSourceArn; }
125 
126     /**
127      * <p>The ARN of the archive to replay events from.</p>
128      */
EventSourceArnHasBeenSet()129     inline bool EventSourceArnHasBeenSet() const { return m_eventSourceArnHasBeenSet; }
130 
131     /**
132      * <p>The ARN of the archive to replay events from.</p>
133      */
SetEventSourceArn(const Aws::String & value)134     inline void SetEventSourceArn(const Aws::String& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = value; }
135 
136     /**
137      * <p>The ARN of the archive to replay events from.</p>
138      */
SetEventSourceArn(Aws::String && value)139     inline void SetEventSourceArn(Aws::String&& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = std::move(value); }
140 
141     /**
142      * <p>The ARN of the archive to replay events from.</p>
143      */
SetEventSourceArn(const char * value)144     inline void SetEventSourceArn(const char* value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn.assign(value); }
145 
146     /**
147      * <p>The ARN of the archive to replay events from.</p>
148      */
WithEventSourceArn(const Aws::String & value)149     inline StartReplayRequest& WithEventSourceArn(const Aws::String& value) { SetEventSourceArn(value); return *this;}
150 
151     /**
152      * <p>The ARN of the archive to replay events from.</p>
153      */
WithEventSourceArn(Aws::String && value)154     inline StartReplayRequest& WithEventSourceArn(Aws::String&& value) { SetEventSourceArn(std::move(value)); return *this;}
155 
156     /**
157      * <p>The ARN of the archive to replay events from.</p>
158      */
WithEventSourceArn(const char * value)159     inline StartReplayRequest& WithEventSourceArn(const char* value) { SetEventSourceArn(value); return *this;}
160 
161 
162     /**
163      * <p>A time stamp for the time to start replaying events. Only events that
164      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
165      * are replayed.</p>
166      */
GetEventStartTime()167     inline const Aws::Utils::DateTime& GetEventStartTime() const{ return m_eventStartTime; }
168 
169     /**
170      * <p>A time stamp for the time to start replaying events. Only events that
171      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
172      * are replayed.</p>
173      */
EventStartTimeHasBeenSet()174     inline bool EventStartTimeHasBeenSet() const { return m_eventStartTimeHasBeenSet; }
175 
176     /**
177      * <p>A time stamp for the time to start replaying events. Only events that
178      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
179      * are replayed.</p>
180      */
SetEventStartTime(const Aws::Utils::DateTime & value)181     inline void SetEventStartTime(const Aws::Utils::DateTime& value) { m_eventStartTimeHasBeenSet = true; m_eventStartTime = value; }
182 
183     /**
184      * <p>A time stamp for the time to start replaying events. Only events that
185      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
186      * are replayed.</p>
187      */
SetEventStartTime(Aws::Utils::DateTime && value)188     inline void SetEventStartTime(Aws::Utils::DateTime&& value) { m_eventStartTimeHasBeenSet = true; m_eventStartTime = std::move(value); }
189 
190     /**
191      * <p>A time stamp for the time to start replaying events. Only events that
192      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
193      * are replayed.</p>
194      */
WithEventStartTime(const Aws::Utils::DateTime & value)195     inline StartReplayRequest& WithEventStartTime(const Aws::Utils::DateTime& value) { SetEventStartTime(value); return *this;}
196 
197     /**
198      * <p>A time stamp for the time to start replaying events. Only events that
199      * occurred between the <code>EventStartTime</code> and <code>EventEndTime</code>
200      * are replayed.</p>
201      */
WithEventStartTime(Aws::Utils::DateTime && value)202     inline StartReplayRequest& WithEventStartTime(Aws::Utils::DateTime&& value) { SetEventStartTime(std::move(value)); return *this;}
203 
204 
205     /**
206      * <p>A time stamp for the time to stop replaying events. Only events that occurred
207      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
208      * replayed.</p>
209      */
GetEventEndTime()210     inline const Aws::Utils::DateTime& GetEventEndTime() const{ return m_eventEndTime; }
211 
212     /**
213      * <p>A time stamp for the time to stop replaying events. Only events that occurred
214      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
215      * replayed.</p>
216      */
EventEndTimeHasBeenSet()217     inline bool EventEndTimeHasBeenSet() const { return m_eventEndTimeHasBeenSet; }
218 
219     /**
220      * <p>A time stamp for the time to stop replaying events. Only events that occurred
221      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
222      * replayed.</p>
223      */
SetEventEndTime(const Aws::Utils::DateTime & value)224     inline void SetEventEndTime(const Aws::Utils::DateTime& value) { m_eventEndTimeHasBeenSet = true; m_eventEndTime = value; }
225 
226     /**
227      * <p>A time stamp for the time to stop replaying events. Only events that occurred
228      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
229      * replayed.</p>
230      */
SetEventEndTime(Aws::Utils::DateTime && value)231     inline void SetEventEndTime(Aws::Utils::DateTime&& value) { m_eventEndTimeHasBeenSet = true; m_eventEndTime = std::move(value); }
232 
233     /**
234      * <p>A time stamp for the time to stop replaying events. Only events that occurred
235      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
236      * replayed.</p>
237      */
WithEventEndTime(const Aws::Utils::DateTime & value)238     inline StartReplayRequest& WithEventEndTime(const Aws::Utils::DateTime& value) { SetEventEndTime(value); return *this;}
239 
240     /**
241      * <p>A time stamp for the time to stop replaying events. Only events that occurred
242      * between the <code>EventStartTime</code> and <code>EventEndTime</code> are
243      * replayed.</p>
244      */
WithEventEndTime(Aws::Utils::DateTime && value)245     inline StartReplayRequest& WithEventEndTime(Aws::Utils::DateTime&& value) { SetEventEndTime(std::move(value)); return *this;}
246 
247 
248     /**
249      * <p>A <code>ReplayDestination</code> object that includes details about the
250      * destination for the replay.</p>
251      */
GetDestination()252     inline const ReplayDestination& GetDestination() const{ return m_destination; }
253 
254     /**
255      * <p>A <code>ReplayDestination</code> object that includes details about the
256      * destination for the replay.</p>
257      */
DestinationHasBeenSet()258     inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
259 
260     /**
261      * <p>A <code>ReplayDestination</code> object that includes details about the
262      * destination for the replay.</p>
263      */
SetDestination(const ReplayDestination & value)264     inline void SetDestination(const ReplayDestination& value) { m_destinationHasBeenSet = true; m_destination = value; }
265 
266     /**
267      * <p>A <code>ReplayDestination</code> object that includes details about the
268      * destination for the replay.</p>
269      */
SetDestination(ReplayDestination && value)270     inline void SetDestination(ReplayDestination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); }
271 
272     /**
273      * <p>A <code>ReplayDestination</code> object that includes details about the
274      * destination for the replay.</p>
275      */
WithDestination(const ReplayDestination & value)276     inline StartReplayRequest& WithDestination(const ReplayDestination& value) { SetDestination(value); return *this;}
277 
278     /**
279      * <p>A <code>ReplayDestination</code> object that includes details about the
280      * destination for the replay.</p>
281      */
WithDestination(ReplayDestination && value)282     inline StartReplayRequest& WithDestination(ReplayDestination&& value) { SetDestination(std::move(value)); return *this;}
283 
284   private:
285 
286     Aws::String m_replayName;
287     bool m_replayNameHasBeenSet;
288 
289     Aws::String m_description;
290     bool m_descriptionHasBeenSet;
291 
292     Aws::String m_eventSourceArn;
293     bool m_eventSourceArnHasBeenSet;
294 
295     Aws::Utils::DateTime m_eventStartTime;
296     bool m_eventStartTimeHasBeenSet;
297 
298     Aws::Utils::DateTime m_eventEndTime;
299     bool m_eventEndTimeHasBeenSet;
300 
301     ReplayDestination m_destination;
302     bool m_destinationHasBeenSet;
303   };
304 
305 } // namespace Model
306 } // namespace EventBridge
307 } // namespace Aws
308