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/appflow/Appflow_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/appflow/model/ExecutionStatus.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 Appflow
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p> Describes the details of the flow run, including the timestamp, status, and
30    * message. </p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/ExecutionDetails">AWS
32    * API Reference</a></p>
33    */
34   class AWS_APPFLOW_API ExecutionDetails
35   {
36   public:
37     ExecutionDetails();
38     ExecutionDetails(Aws::Utils::Json::JsonView jsonValue);
39     ExecutionDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p> Describes the details of the most recent flow run. </p>
45      */
GetMostRecentExecutionMessage()46     inline const Aws::String& GetMostRecentExecutionMessage() const{ return m_mostRecentExecutionMessage; }
47 
48     /**
49      * <p> Describes the details of the most recent flow run. </p>
50      */
MostRecentExecutionMessageHasBeenSet()51     inline bool MostRecentExecutionMessageHasBeenSet() const { return m_mostRecentExecutionMessageHasBeenSet; }
52 
53     /**
54      * <p> Describes the details of the most recent flow run. </p>
55      */
SetMostRecentExecutionMessage(const Aws::String & value)56     inline void SetMostRecentExecutionMessage(const Aws::String& value) { m_mostRecentExecutionMessageHasBeenSet = true; m_mostRecentExecutionMessage = value; }
57 
58     /**
59      * <p> Describes the details of the most recent flow run. </p>
60      */
SetMostRecentExecutionMessage(Aws::String && value)61     inline void SetMostRecentExecutionMessage(Aws::String&& value) { m_mostRecentExecutionMessageHasBeenSet = true; m_mostRecentExecutionMessage = std::move(value); }
62 
63     /**
64      * <p> Describes the details of the most recent flow run. </p>
65      */
SetMostRecentExecutionMessage(const char * value)66     inline void SetMostRecentExecutionMessage(const char* value) { m_mostRecentExecutionMessageHasBeenSet = true; m_mostRecentExecutionMessage.assign(value); }
67 
68     /**
69      * <p> Describes the details of the most recent flow run. </p>
70      */
WithMostRecentExecutionMessage(const Aws::String & value)71     inline ExecutionDetails& WithMostRecentExecutionMessage(const Aws::String& value) { SetMostRecentExecutionMessage(value); return *this;}
72 
73     /**
74      * <p> Describes the details of the most recent flow run. </p>
75      */
WithMostRecentExecutionMessage(Aws::String && value)76     inline ExecutionDetails& WithMostRecentExecutionMessage(Aws::String&& value) { SetMostRecentExecutionMessage(std::move(value)); return *this;}
77 
78     /**
79      * <p> Describes the details of the most recent flow run. </p>
80      */
WithMostRecentExecutionMessage(const char * value)81     inline ExecutionDetails& WithMostRecentExecutionMessage(const char* value) { SetMostRecentExecutionMessage(value); return *this;}
82 
83 
84     /**
85      * <p> Specifies the time of the most recent flow run. </p>
86      */
GetMostRecentExecutionTime()87     inline const Aws::Utils::DateTime& GetMostRecentExecutionTime() const{ return m_mostRecentExecutionTime; }
88 
89     /**
90      * <p> Specifies the time of the most recent flow run. </p>
91      */
MostRecentExecutionTimeHasBeenSet()92     inline bool MostRecentExecutionTimeHasBeenSet() const { return m_mostRecentExecutionTimeHasBeenSet; }
93 
94     /**
95      * <p> Specifies the time of the most recent flow run. </p>
96      */
SetMostRecentExecutionTime(const Aws::Utils::DateTime & value)97     inline void SetMostRecentExecutionTime(const Aws::Utils::DateTime& value) { m_mostRecentExecutionTimeHasBeenSet = true; m_mostRecentExecutionTime = value; }
98 
99     /**
100      * <p> Specifies the time of the most recent flow run. </p>
101      */
SetMostRecentExecutionTime(Aws::Utils::DateTime && value)102     inline void SetMostRecentExecutionTime(Aws::Utils::DateTime&& value) { m_mostRecentExecutionTimeHasBeenSet = true; m_mostRecentExecutionTime = std::move(value); }
103 
104     /**
105      * <p> Specifies the time of the most recent flow run. </p>
106      */
WithMostRecentExecutionTime(const Aws::Utils::DateTime & value)107     inline ExecutionDetails& WithMostRecentExecutionTime(const Aws::Utils::DateTime& value) { SetMostRecentExecutionTime(value); return *this;}
108 
109     /**
110      * <p> Specifies the time of the most recent flow run. </p>
111      */
WithMostRecentExecutionTime(Aws::Utils::DateTime && value)112     inline ExecutionDetails& WithMostRecentExecutionTime(Aws::Utils::DateTime&& value) { SetMostRecentExecutionTime(std::move(value)); return *this;}
113 
114 
115     /**
116      * <p> Specifies the status of the most recent flow run. </p>
117      */
GetMostRecentExecutionStatus()118     inline const ExecutionStatus& GetMostRecentExecutionStatus() const{ return m_mostRecentExecutionStatus; }
119 
120     /**
121      * <p> Specifies the status of the most recent flow run. </p>
122      */
MostRecentExecutionStatusHasBeenSet()123     inline bool MostRecentExecutionStatusHasBeenSet() const { return m_mostRecentExecutionStatusHasBeenSet; }
124 
125     /**
126      * <p> Specifies the status of the most recent flow run. </p>
127      */
SetMostRecentExecutionStatus(const ExecutionStatus & value)128     inline void SetMostRecentExecutionStatus(const ExecutionStatus& value) { m_mostRecentExecutionStatusHasBeenSet = true; m_mostRecentExecutionStatus = value; }
129 
130     /**
131      * <p> Specifies the status of the most recent flow run. </p>
132      */
SetMostRecentExecutionStatus(ExecutionStatus && value)133     inline void SetMostRecentExecutionStatus(ExecutionStatus&& value) { m_mostRecentExecutionStatusHasBeenSet = true; m_mostRecentExecutionStatus = std::move(value); }
134 
135     /**
136      * <p> Specifies the status of the most recent flow run. </p>
137      */
WithMostRecentExecutionStatus(const ExecutionStatus & value)138     inline ExecutionDetails& WithMostRecentExecutionStatus(const ExecutionStatus& value) { SetMostRecentExecutionStatus(value); return *this;}
139 
140     /**
141      * <p> Specifies the status of the most recent flow run. </p>
142      */
WithMostRecentExecutionStatus(ExecutionStatus && value)143     inline ExecutionDetails& WithMostRecentExecutionStatus(ExecutionStatus&& value) { SetMostRecentExecutionStatus(std::move(value)); return *this;}
144 
145   private:
146 
147     Aws::String m_mostRecentExecutionMessage;
148     bool m_mostRecentExecutionMessageHasBeenSet;
149 
150     Aws::Utils::DateTime m_mostRecentExecutionTime;
151     bool m_mostRecentExecutionTimeHasBeenSet;
152 
153     ExecutionStatus m_mostRecentExecutionStatus;
154     bool m_mostRecentExecutionStatusHasBeenSet;
155   };
156 
157 } // namespace Model
158 } // namespace Appflow
159 } // namespace Aws
160