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/events/CloudWatchEvents_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/events/model/ReplayState.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace CloudWatchEvents
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>A <code>Replay</code> object that contains details about a
30    * replay.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/Replay">AWS API
32    * Reference</a></p>
33    */
34   class AWS_CLOUDWATCHEVENTS_API Replay
35   {
36   public:
37     Replay();
38     Replay(Aws::Utils::Json::JsonView jsonValue);
39     Replay& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The name of the replay.</p>
45      */
GetReplayName()46     inline const Aws::String& GetReplayName() const{ return m_replayName; }
47 
48     /**
49      * <p>The name of the replay.</p>
50      */
ReplayNameHasBeenSet()51     inline bool ReplayNameHasBeenSet() const { return m_replayNameHasBeenSet; }
52 
53     /**
54      * <p>The name of the replay.</p>
55      */
SetReplayName(const Aws::String & value)56     inline void SetReplayName(const Aws::String& value) { m_replayNameHasBeenSet = true; m_replayName = value; }
57 
58     /**
59      * <p>The name of the replay.</p>
60      */
SetReplayName(Aws::String && value)61     inline void SetReplayName(Aws::String&& value) { m_replayNameHasBeenSet = true; m_replayName = std::move(value); }
62 
63     /**
64      * <p>The name of the replay.</p>
65      */
SetReplayName(const char * value)66     inline void SetReplayName(const char* value) { m_replayNameHasBeenSet = true; m_replayName.assign(value); }
67 
68     /**
69      * <p>The name of the replay.</p>
70      */
WithReplayName(const Aws::String & value)71     inline Replay& WithReplayName(const Aws::String& value) { SetReplayName(value); return *this;}
72 
73     /**
74      * <p>The name of the replay.</p>
75      */
WithReplayName(Aws::String && value)76     inline Replay& WithReplayName(Aws::String&& value) { SetReplayName(std::move(value)); return *this;}
77 
78     /**
79      * <p>The name of the replay.</p>
80      */
WithReplayName(const char * value)81     inline Replay& WithReplayName(const char* value) { SetReplayName(value); return *this;}
82 
83 
84     /**
85      * <p>The ARN of the archive to replay event from.</p>
86      */
GetEventSourceArn()87     inline const Aws::String& GetEventSourceArn() const{ return m_eventSourceArn; }
88 
89     /**
90      * <p>The ARN of the archive to replay event from.</p>
91      */
EventSourceArnHasBeenSet()92     inline bool EventSourceArnHasBeenSet() const { return m_eventSourceArnHasBeenSet; }
93 
94     /**
95      * <p>The ARN of the archive to replay event from.</p>
96      */
SetEventSourceArn(const Aws::String & value)97     inline void SetEventSourceArn(const Aws::String& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = value; }
98 
99     /**
100      * <p>The ARN of the archive to replay event from.</p>
101      */
SetEventSourceArn(Aws::String && value)102     inline void SetEventSourceArn(Aws::String&& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = std::move(value); }
103 
104     /**
105      * <p>The ARN of the archive to replay event from.</p>
106      */
SetEventSourceArn(const char * value)107     inline void SetEventSourceArn(const char* value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn.assign(value); }
108 
109     /**
110      * <p>The ARN of the archive to replay event from.</p>
111      */
WithEventSourceArn(const Aws::String & value)112     inline Replay& WithEventSourceArn(const Aws::String& value) { SetEventSourceArn(value); return *this;}
113 
114     /**
115      * <p>The ARN of the archive to replay event from.</p>
116      */
WithEventSourceArn(Aws::String && value)117     inline Replay& WithEventSourceArn(Aws::String&& value) { SetEventSourceArn(std::move(value)); return *this;}
118 
119     /**
120      * <p>The ARN of the archive to replay event from.</p>
121      */
WithEventSourceArn(const char * value)122     inline Replay& WithEventSourceArn(const char* value) { SetEventSourceArn(value); return *this;}
123 
124 
125     /**
126      * <p>The current state of the replay.</p>
127      */
GetState()128     inline const ReplayState& GetState() const{ return m_state; }
129 
130     /**
131      * <p>The current state of the replay.</p>
132      */
StateHasBeenSet()133     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
134 
135     /**
136      * <p>The current state of the replay.</p>
137      */
SetState(const ReplayState & value)138     inline void SetState(const ReplayState& value) { m_stateHasBeenSet = true; m_state = value; }
139 
140     /**
141      * <p>The current state of the replay.</p>
142      */
SetState(ReplayState && value)143     inline void SetState(ReplayState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
144 
145     /**
146      * <p>The current state of the replay.</p>
147      */
WithState(const ReplayState & value)148     inline Replay& WithState(const ReplayState& value) { SetState(value); return *this;}
149 
150     /**
151      * <p>The current state of the replay.</p>
152      */
WithState(ReplayState && value)153     inline Replay& WithState(ReplayState&& value) { SetState(std::move(value)); return *this;}
154 
155 
156     /**
157      * <p>A description of why the replay is in the current state.</p>
158      */
GetStateReason()159     inline const Aws::String& GetStateReason() const{ return m_stateReason; }
160 
161     /**
162      * <p>A description of why the replay is in the current state.</p>
163      */
StateReasonHasBeenSet()164     inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
165 
166     /**
167      * <p>A description of why the replay is in the current state.</p>
168      */
SetStateReason(const Aws::String & value)169     inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; }
170 
171     /**
172      * <p>A description of why the replay is in the current state.</p>
173      */
SetStateReason(Aws::String && value)174     inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); }
175 
176     /**
177      * <p>A description of why the replay is in the current state.</p>
178      */
SetStateReason(const char * value)179     inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); }
180 
181     /**
182      * <p>A description of why the replay is in the current state.</p>
183      */
WithStateReason(const Aws::String & value)184     inline Replay& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;}
185 
186     /**
187      * <p>A description of why the replay is in the current state.</p>
188      */
WithStateReason(Aws::String && value)189     inline Replay& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;}
190 
191     /**
192      * <p>A description of why the replay is in the current state.</p>
193      */
WithStateReason(const char * value)194     inline Replay& WithStateReason(const char* value) { SetStateReason(value); return *this;}
195 
196 
197     /**
198      * <p>A time stamp for the time to start replaying events. This is determined by
199      * the time in the event as described in <a
200      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
201      */
GetEventStartTime()202     inline const Aws::Utils::DateTime& GetEventStartTime() const{ return m_eventStartTime; }
203 
204     /**
205      * <p>A time stamp for the time to start replaying events. This is determined by
206      * the time in the event as described in <a
207      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
208      */
EventStartTimeHasBeenSet()209     inline bool EventStartTimeHasBeenSet() const { return m_eventStartTimeHasBeenSet; }
210 
211     /**
212      * <p>A time stamp for the time to start replaying events. This is determined by
213      * the time in the event as described in <a
214      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
215      */
SetEventStartTime(const Aws::Utils::DateTime & value)216     inline void SetEventStartTime(const Aws::Utils::DateTime& value) { m_eventStartTimeHasBeenSet = true; m_eventStartTime = value; }
217 
218     /**
219      * <p>A time stamp for the time to start replaying events. This is determined by
220      * the time in the event as described in <a
221      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
222      */
SetEventStartTime(Aws::Utils::DateTime && value)223     inline void SetEventStartTime(Aws::Utils::DateTime&& value) { m_eventStartTimeHasBeenSet = true; m_eventStartTime = std::move(value); }
224 
225     /**
226      * <p>A time stamp for the time to start replaying events. This is determined by
227      * the time in the event as described in <a
228      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
229      */
WithEventStartTime(const Aws::Utils::DateTime & value)230     inline Replay& WithEventStartTime(const Aws::Utils::DateTime& value) { SetEventStartTime(value); return *this;}
231 
232     /**
233      * <p>A time stamp for the time to start replaying events. This is determined by
234      * the time in the event as described in <a
235      * href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time">Time</a>.</p>
236      */
WithEventStartTime(Aws::Utils::DateTime && value)237     inline Replay& WithEventStartTime(Aws::Utils::DateTime&& value) { SetEventStartTime(std::move(value)); return *this;}
238 
239 
240     /**
241      * <p>A time stamp for the time to start replaying events. Any event with a
242      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
243      */
GetEventEndTime()244     inline const Aws::Utils::DateTime& GetEventEndTime() const{ return m_eventEndTime; }
245 
246     /**
247      * <p>A time stamp for the time to start replaying events. Any event with a
248      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
249      */
EventEndTimeHasBeenSet()250     inline bool EventEndTimeHasBeenSet() const { return m_eventEndTimeHasBeenSet; }
251 
252     /**
253      * <p>A time stamp for the time to start replaying events. Any event with a
254      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
255      */
SetEventEndTime(const Aws::Utils::DateTime & value)256     inline void SetEventEndTime(const Aws::Utils::DateTime& value) { m_eventEndTimeHasBeenSet = true; m_eventEndTime = value; }
257 
258     /**
259      * <p>A time stamp for the time to start replaying events. Any event with a
260      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
261      */
SetEventEndTime(Aws::Utils::DateTime && value)262     inline void SetEventEndTime(Aws::Utils::DateTime&& value) { m_eventEndTimeHasBeenSet = true; m_eventEndTime = std::move(value); }
263 
264     /**
265      * <p>A time stamp for the time to start replaying events. Any event with a
266      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
267      */
WithEventEndTime(const Aws::Utils::DateTime & value)268     inline Replay& WithEventEndTime(const Aws::Utils::DateTime& value) { SetEventEndTime(value); return *this;}
269 
270     /**
271      * <p>A time stamp for the time to start replaying events. Any event with a
272      * creation time prior to the <code>EventEndTime</code> specified is replayed.</p>
273      */
WithEventEndTime(Aws::Utils::DateTime && value)274     inline Replay& WithEventEndTime(Aws::Utils::DateTime&& value) { SetEventEndTime(std::move(value)); return *this;}
275 
276 
277     /**
278      * <p>A time stamp for the time that the last event was replayed.</p>
279      */
GetEventLastReplayedTime()280     inline const Aws::Utils::DateTime& GetEventLastReplayedTime() const{ return m_eventLastReplayedTime; }
281 
282     /**
283      * <p>A time stamp for the time that the last event was replayed.</p>
284      */
EventLastReplayedTimeHasBeenSet()285     inline bool EventLastReplayedTimeHasBeenSet() const { return m_eventLastReplayedTimeHasBeenSet; }
286 
287     /**
288      * <p>A time stamp for the time that the last event was replayed.</p>
289      */
SetEventLastReplayedTime(const Aws::Utils::DateTime & value)290     inline void SetEventLastReplayedTime(const Aws::Utils::DateTime& value) { m_eventLastReplayedTimeHasBeenSet = true; m_eventLastReplayedTime = value; }
291 
292     /**
293      * <p>A time stamp for the time that the last event was replayed.</p>
294      */
SetEventLastReplayedTime(Aws::Utils::DateTime && value)295     inline void SetEventLastReplayedTime(Aws::Utils::DateTime&& value) { m_eventLastReplayedTimeHasBeenSet = true; m_eventLastReplayedTime = std::move(value); }
296 
297     /**
298      * <p>A time stamp for the time that the last event was replayed.</p>
299      */
WithEventLastReplayedTime(const Aws::Utils::DateTime & value)300     inline Replay& WithEventLastReplayedTime(const Aws::Utils::DateTime& value) { SetEventLastReplayedTime(value); return *this;}
301 
302     /**
303      * <p>A time stamp for the time that the last event was replayed.</p>
304      */
WithEventLastReplayedTime(Aws::Utils::DateTime && value)305     inline Replay& WithEventLastReplayedTime(Aws::Utils::DateTime&& value) { SetEventLastReplayedTime(std::move(value)); return *this;}
306 
307 
308     /**
309      * <p>A time stamp for the time that the replay started.</p>
310      */
GetReplayStartTime()311     inline const Aws::Utils::DateTime& GetReplayStartTime() const{ return m_replayStartTime; }
312 
313     /**
314      * <p>A time stamp for the time that the replay started.</p>
315      */
ReplayStartTimeHasBeenSet()316     inline bool ReplayStartTimeHasBeenSet() const { return m_replayStartTimeHasBeenSet; }
317 
318     /**
319      * <p>A time stamp for the time that the replay started.</p>
320      */
SetReplayStartTime(const Aws::Utils::DateTime & value)321     inline void SetReplayStartTime(const Aws::Utils::DateTime& value) { m_replayStartTimeHasBeenSet = true; m_replayStartTime = value; }
322 
323     /**
324      * <p>A time stamp for the time that the replay started.</p>
325      */
SetReplayStartTime(Aws::Utils::DateTime && value)326     inline void SetReplayStartTime(Aws::Utils::DateTime&& value) { m_replayStartTimeHasBeenSet = true; m_replayStartTime = std::move(value); }
327 
328     /**
329      * <p>A time stamp for the time that the replay started.</p>
330      */
WithReplayStartTime(const Aws::Utils::DateTime & value)331     inline Replay& WithReplayStartTime(const Aws::Utils::DateTime& value) { SetReplayStartTime(value); return *this;}
332 
333     /**
334      * <p>A time stamp for the time that the replay started.</p>
335      */
WithReplayStartTime(Aws::Utils::DateTime && value)336     inline Replay& WithReplayStartTime(Aws::Utils::DateTime&& value) { SetReplayStartTime(std::move(value)); return *this;}
337 
338 
339     /**
340      * <p>A time stamp for the time that the replay completed.</p>
341      */
GetReplayEndTime()342     inline const Aws::Utils::DateTime& GetReplayEndTime() const{ return m_replayEndTime; }
343 
344     /**
345      * <p>A time stamp for the time that the replay completed.</p>
346      */
ReplayEndTimeHasBeenSet()347     inline bool ReplayEndTimeHasBeenSet() const { return m_replayEndTimeHasBeenSet; }
348 
349     /**
350      * <p>A time stamp for the time that the replay completed.</p>
351      */
SetReplayEndTime(const Aws::Utils::DateTime & value)352     inline void SetReplayEndTime(const Aws::Utils::DateTime& value) { m_replayEndTimeHasBeenSet = true; m_replayEndTime = value; }
353 
354     /**
355      * <p>A time stamp for the time that the replay completed.</p>
356      */
SetReplayEndTime(Aws::Utils::DateTime && value)357     inline void SetReplayEndTime(Aws::Utils::DateTime&& value) { m_replayEndTimeHasBeenSet = true; m_replayEndTime = std::move(value); }
358 
359     /**
360      * <p>A time stamp for the time that the replay completed.</p>
361      */
WithReplayEndTime(const Aws::Utils::DateTime & value)362     inline Replay& WithReplayEndTime(const Aws::Utils::DateTime& value) { SetReplayEndTime(value); return *this;}
363 
364     /**
365      * <p>A time stamp for the time that the replay completed.</p>
366      */
WithReplayEndTime(Aws::Utils::DateTime && value)367     inline Replay& WithReplayEndTime(Aws::Utils::DateTime&& value) { SetReplayEndTime(std::move(value)); return *this;}
368 
369   private:
370 
371     Aws::String m_replayName;
372     bool m_replayNameHasBeenSet;
373 
374     Aws::String m_eventSourceArn;
375     bool m_eventSourceArnHasBeenSet;
376 
377     ReplayState m_state;
378     bool m_stateHasBeenSet;
379 
380     Aws::String m_stateReason;
381     bool m_stateReasonHasBeenSet;
382 
383     Aws::Utils::DateTime m_eventStartTime;
384     bool m_eventStartTimeHasBeenSet;
385 
386     Aws::Utils::DateTime m_eventEndTime;
387     bool m_eventEndTimeHasBeenSet;
388 
389     Aws::Utils::DateTime m_eventLastReplayedTime;
390     bool m_eventLastReplayedTimeHasBeenSet;
391 
392     Aws::Utils::DateTime m_replayStartTime;
393     bool m_replayStartTimeHasBeenSet;
394 
395     Aws::Utils::DateTime m_replayEndTime;
396     bool m_replayEndTimeHasBeenSet;
397   };
398 
399 } // namespace Model
400 } // namespace CloudWatchEvents
401 } // namespace Aws
402