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/mgn/Mgn_EXPORTS.h>
8 #include <aws/mgn/model/JobLogEvent.h>
9 #include <aws/mgn/model/JobLogEventData.h>
10 #include <aws/core/utils/memory/stl/AWSString.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 mgn
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Job log.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/JobLog">AWS API
31    * Reference</a></p>
32    */
33   class AWS_MGN_API JobLog
34   {
35   public:
36     JobLog();
37     JobLog(Aws::Utils::Json::JsonView jsonValue);
38     JobLog& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>Job log event.</p>
44      */
GetEvent()45     inline const JobLogEvent& GetEvent() const{ return m_event; }
46 
47     /**
48      * <p>Job log event.</p>
49      */
EventHasBeenSet()50     inline bool EventHasBeenSet() const { return m_eventHasBeenSet; }
51 
52     /**
53      * <p>Job log event.</p>
54      */
SetEvent(const JobLogEvent & value)55     inline void SetEvent(const JobLogEvent& value) { m_eventHasBeenSet = true; m_event = value; }
56 
57     /**
58      * <p>Job log event.</p>
59      */
SetEvent(JobLogEvent && value)60     inline void SetEvent(JobLogEvent&& value) { m_eventHasBeenSet = true; m_event = std::move(value); }
61 
62     /**
63      * <p>Job log event.</p>
64      */
WithEvent(const JobLogEvent & value)65     inline JobLog& WithEvent(const JobLogEvent& value) { SetEvent(value); return *this;}
66 
67     /**
68      * <p>Job log event.</p>
69      */
WithEvent(JobLogEvent && value)70     inline JobLog& WithEvent(JobLogEvent&& value) { SetEvent(std::move(value)); return *this;}
71 
72 
73     /**
74      * <p>Job event data</p>
75      */
GetEventData()76     inline const JobLogEventData& GetEventData() const{ return m_eventData; }
77 
78     /**
79      * <p>Job event data</p>
80      */
EventDataHasBeenSet()81     inline bool EventDataHasBeenSet() const { return m_eventDataHasBeenSet; }
82 
83     /**
84      * <p>Job event data</p>
85      */
SetEventData(const JobLogEventData & value)86     inline void SetEventData(const JobLogEventData& value) { m_eventDataHasBeenSet = true; m_eventData = value; }
87 
88     /**
89      * <p>Job event data</p>
90      */
SetEventData(JobLogEventData && value)91     inline void SetEventData(JobLogEventData&& value) { m_eventDataHasBeenSet = true; m_eventData = std::move(value); }
92 
93     /**
94      * <p>Job event data</p>
95      */
WithEventData(const JobLogEventData & value)96     inline JobLog& WithEventData(const JobLogEventData& value) { SetEventData(value); return *this;}
97 
98     /**
99      * <p>Job event data</p>
100      */
WithEventData(JobLogEventData && value)101     inline JobLog& WithEventData(JobLogEventData&& value) { SetEventData(std::move(value)); return *this;}
102 
103 
104     /**
105      * <p>Job log event date and time.</p>
106      */
GetLogDateTime()107     inline const Aws::String& GetLogDateTime() const{ return m_logDateTime; }
108 
109     /**
110      * <p>Job log event date and time.</p>
111      */
LogDateTimeHasBeenSet()112     inline bool LogDateTimeHasBeenSet() const { return m_logDateTimeHasBeenSet; }
113 
114     /**
115      * <p>Job log event date and time.</p>
116      */
SetLogDateTime(const Aws::String & value)117     inline void SetLogDateTime(const Aws::String& value) { m_logDateTimeHasBeenSet = true; m_logDateTime = value; }
118 
119     /**
120      * <p>Job log event date and time.</p>
121      */
SetLogDateTime(Aws::String && value)122     inline void SetLogDateTime(Aws::String&& value) { m_logDateTimeHasBeenSet = true; m_logDateTime = std::move(value); }
123 
124     /**
125      * <p>Job log event date and time.</p>
126      */
SetLogDateTime(const char * value)127     inline void SetLogDateTime(const char* value) { m_logDateTimeHasBeenSet = true; m_logDateTime.assign(value); }
128 
129     /**
130      * <p>Job log event date and time.</p>
131      */
WithLogDateTime(const Aws::String & value)132     inline JobLog& WithLogDateTime(const Aws::String& value) { SetLogDateTime(value); return *this;}
133 
134     /**
135      * <p>Job log event date and time.</p>
136      */
WithLogDateTime(Aws::String && value)137     inline JobLog& WithLogDateTime(Aws::String&& value) { SetLogDateTime(std::move(value)); return *this;}
138 
139     /**
140      * <p>Job log event date and time.</p>
141      */
WithLogDateTime(const char * value)142     inline JobLog& WithLogDateTime(const char* value) { SetLogDateTime(value); return *this;}
143 
144   private:
145 
146     JobLogEvent m_event;
147     bool m_eventHasBeenSet;
148 
149     JobLogEventData m_eventData;
150     bool m_eventDataHasBeenSet;
151 
152     Aws::String m_logDateTime;
153     bool m_logDateTimeHasBeenSet;
154   };
155 
156 } // namespace Model
157 } // namespace mgn
158 } // namespace Aws
159