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/iot/IoT_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/iot/model/MitigationActionType.h>
10 #include <aws/iot/model/MitigationActionParams.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace IoT
27 {
28 namespace Model
29 {
30   class AWS_IOT_API DescribeMitigationActionResult
31   {
32   public:
33     DescribeMitigationActionResult();
34     DescribeMitigationActionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeMitigationActionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>The friendly name that uniquely identifies the mitigation action.</p>
40      */
GetActionName()41     inline const Aws::String& GetActionName() const{ return m_actionName; }
42 
43     /**
44      * <p>The friendly name that uniquely identifies the mitigation action.</p>
45      */
SetActionName(const Aws::String & value)46     inline void SetActionName(const Aws::String& value) { m_actionName = value; }
47 
48     /**
49      * <p>The friendly name that uniquely identifies the mitigation action.</p>
50      */
SetActionName(Aws::String && value)51     inline void SetActionName(Aws::String&& value) { m_actionName = std::move(value); }
52 
53     /**
54      * <p>The friendly name that uniquely identifies the mitigation action.</p>
55      */
SetActionName(const char * value)56     inline void SetActionName(const char* value) { m_actionName.assign(value); }
57 
58     /**
59      * <p>The friendly name that uniquely identifies the mitigation action.</p>
60      */
WithActionName(const Aws::String & value)61     inline DescribeMitigationActionResult& WithActionName(const Aws::String& value) { SetActionName(value); return *this;}
62 
63     /**
64      * <p>The friendly name that uniquely identifies the mitigation action.</p>
65      */
WithActionName(Aws::String && value)66     inline DescribeMitigationActionResult& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;}
67 
68     /**
69      * <p>The friendly name that uniquely identifies the mitigation action.</p>
70      */
WithActionName(const char * value)71     inline DescribeMitigationActionResult& WithActionName(const char* value) { SetActionName(value); return *this;}
72 
73 
74     /**
75      * <p>The type of mitigation action.</p>
76      */
GetActionType()77     inline const MitigationActionType& GetActionType() const{ return m_actionType; }
78 
79     /**
80      * <p>The type of mitigation action.</p>
81      */
SetActionType(const MitigationActionType & value)82     inline void SetActionType(const MitigationActionType& value) { m_actionType = value; }
83 
84     /**
85      * <p>The type of mitigation action.</p>
86      */
SetActionType(MitigationActionType && value)87     inline void SetActionType(MitigationActionType&& value) { m_actionType = std::move(value); }
88 
89     /**
90      * <p>The type of mitigation action.</p>
91      */
WithActionType(const MitigationActionType & value)92     inline DescribeMitigationActionResult& WithActionType(const MitigationActionType& value) { SetActionType(value); return *this;}
93 
94     /**
95      * <p>The type of mitigation action.</p>
96      */
WithActionType(MitigationActionType && value)97     inline DescribeMitigationActionResult& WithActionType(MitigationActionType&& value) { SetActionType(std::move(value)); return *this;}
98 
99 
100     /**
101      * <p>The ARN that identifies this migration action.</p>
102      */
GetActionArn()103     inline const Aws::String& GetActionArn() const{ return m_actionArn; }
104 
105     /**
106      * <p>The ARN that identifies this migration action.</p>
107      */
SetActionArn(const Aws::String & value)108     inline void SetActionArn(const Aws::String& value) { m_actionArn = value; }
109 
110     /**
111      * <p>The ARN that identifies this migration action.</p>
112      */
SetActionArn(Aws::String && value)113     inline void SetActionArn(Aws::String&& value) { m_actionArn = std::move(value); }
114 
115     /**
116      * <p>The ARN that identifies this migration action.</p>
117      */
SetActionArn(const char * value)118     inline void SetActionArn(const char* value) { m_actionArn.assign(value); }
119 
120     /**
121      * <p>The ARN that identifies this migration action.</p>
122      */
WithActionArn(const Aws::String & value)123     inline DescribeMitigationActionResult& WithActionArn(const Aws::String& value) { SetActionArn(value); return *this;}
124 
125     /**
126      * <p>The ARN that identifies this migration action.</p>
127      */
WithActionArn(Aws::String && value)128     inline DescribeMitigationActionResult& WithActionArn(Aws::String&& value) { SetActionArn(std::move(value)); return *this;}
129 
130     /**
131      * <p>The ARN that identifies this migration action.</p>
132      */
WithActionArn(const char * value)133     inline DescribeMitigationActionResult& WithActionArn(const char* value) { SetActionArn(value); return *this;}
134 
135 
136     /**
137      * <p>A unique identifier for this action.</p>
138      */
GetActionId()139     inline const Aws::String& GetActionId() const{ return m_actionId; }
140 
141     /**
142      * <p>A unique identifier for this action.</p>
143      */
SetActionId(const Aws::String & value)144     inline void SetActionId(const Aws::String& value) { m_actionId = value; }
145 
146     /**
147      * <p>A unique identifier for this action.</p>
148      */
SetActionId(Aws::String && value)149     inline void SetActionId(Aws::String&& value) { m_actionId = std::move(value); }
150 
151     /**
152      * <p>A unique identifier for this action.</p>
153      */
SetActionId(const char * value)154     inline void SetActionId(const char* value) { m_actionId.assign(value); }
155 
156     /**
157      * <p>A unique identifier for this action.</p>
158      */
WithActionId(const Aws::String & value)159     inline DescribeMitigationActionResult& WithActionId(const Aws::String& value) { SetActionId(value); return *this;}
160 
161     /**
162      * <p>A unique identifier for this action.</p>
163      */
WithActionId(Aws::String && value)164     inline DescribeMitigationActionResult& WithActionId(Aws::String&& value) { SetActionId(std::move(value)); return *this;}
165 
166     /**
167      * <p>A unique identifier for this action.</p>
168      */
WithActionId(const char * value)169     inline DescribeMitigationActionResult& WithActionId(const char* value) { SetActionId(value); return *this;}
170 
171 
172     /**
173      * <p>The ARN of the IAM role used to apply this action.</p>
174      */
GetRoleArn()175     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
176 
177     /**
178      * <p>The ARN of the IAM role used to apply this action.</p>
179      */
SetRoleArn(const Aws::String & value)180     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
181 
182     /**
183      * <p>The ARN of the IAM role used to apply this action.</p>
184      */
SetRoleArn(Aws::String && value)185     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
186 
187     /**
188      * <p>The ARN of the IAM role used to apply this action.</p>
189      */
SetRoleArn(const char * value)190     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
191 
192     /**
193      * <p>The ARN of the IAM role used to apply this action.</p>
194      */
WithRoleArn(const Aws::String & value)195     inline DescribeMitigationActionResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
196 
197     /**
198      * <p>The ARN of the IAM role used to apply this action.</p>
199      */
WithRoleArn(Aws::String && value)200     inline DescribeMitigationActionResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
201 
202     /**
203      * <p>The ARN of the IAM role used to apply this action.</p>
204      */
WithRoleArn(const char * value)205     inline DescribeMitigationActionResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
206 
207 
208     /**
209      * <p>Parameters that control how the mitigation action is applied, specific to the
210      * type of mitigation action.</p>
211      */
GetActionParams()212     inline const MitigationActionParams& GetActionParams() const{ return m_actionParams; }
213 
214     /**
215      * <p>Parameters that control how the mitigation action is applied, specific to the
216      * type of mitigation action.</p>
217      */
SetActionParams(const MitigationActionParams & value)218     inline void SetActionParams(const MitigationActionParams& value) { m_actionParams = value; }
219 
220     /**
221      * <p>Parameters that control how the mitigation action is applied, specific to the
222      * type of mitigation action.</p>
223      */
SetActionParams(MitigationActionParams && value)224     inline void SetActionParams(MitigationActionParams&& value) { m_actionParams = std::move(value); }
225 
226     /**
227      * <p>Parameters that control how the mitigation action is applied, specific to the
228      * type of mitigation action.</p>
229      */
WithActionParams(const MitigationActionParams & value)230     inline DescribeMitigationActionResult& WithActionParams(const MitigationActionParams& value) { SetActionParams(value); return *this;}
231 
232     /**
233      * <p>Parameters that control how the mitigation action is applied, specific to the
234      * type of mitigation action.</p>
235      */
WithActionParams(MitigationActionParams && value)236     inline DescribeMitigationActionResult& WithActionParams(MitigationActionParams&& value) { SetActionParams(std::move(value)); return *this;}
237 
238 
239     /**
240      * <p>The date and time when the mitigation action was added to your Amazon Web
241      * Services accounts.</p>
242      */
GetCreationDate()243     inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; }
244 
245     /**
246      * <p>The date and time when the mitigation action was added to your Amazon Web
247      * Services accounts.</p>
248      */
SetCreationDate(const Aws::Utils::DateTime & value)249     inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; }
250 
251     /**
252      * <p>The date and time when the mitigation action was added to your Amazon Web
253      * Services accounts.</p>
254      */
SetCreationDate(Aws::Utils::DateTime && value)255     inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); }
256 
257     /**
258      * <p>The date and time when the mitigation action was added to your Amazon Web
259      * Services accounts.</p>
260      */
WithCreationDate(const Aws::Utils::DateTime & value)261     inline DescribeMitigationActionResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;}
262 
263     /**
264      * <p>The date and time when the mitigation action was added to your Amazon Web
265      * Services accounts.</p>
266      */
WithCreationDate(Aws::Utils::DateTime && value)267     inline DescribeMitigationActionResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;}
268 
269 
270     /**
271      * <p>The date and time when the mitigation action was last changed.</p>
272      */
GetLastModifiedDate()273     inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; }
274 
275     /**
276      * <p>The date and time when the mitigation action was last changed.</p>
277      */
SetLastModifiedDate(const Aws::Utils::DateTime & value)278     inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDate = value; }
279 
280     /**
281      * <p>The date and time when the mitigation action was last changed.</p>
282      */
SetLastModifiedDate(Aws::Utils::DateTime && value)283     inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDate = std::move(value); }
284 
285     /**
286      * <p>The date and time when the mitigation action was last changed.</p>
287      */
WithLastModifiedDate(const Aws::Utils::DateTime & value)288     inline DescribeMitigationActionResult& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;}
289 
290     /**
291      * <p>The date and time when the mitigation action was last changed.</p>
292      */
WithLastModifiedDate(Aws::Utils::DateTime && value)293     inline DescribeMitigationActionResult& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;}
294 
295   private:
296 
297     Aws::String m_actionName;
298 
299     MitigationActionType m_actionType;
300 
301     Aws::String m_actionArn;
302 
303     Aws::String m_actionId;
304 
305     Aws::String m_roleArn;
306 
307     MitigationActionParams m_actionParams;
308 
309     Aws::Utils::DateTime m_creationDate;
310 
311     Aws::Utils::DateTime m_lastModifiedDate;
312   };
313 
314 } // namespace Model
315 } // namespace IoT
316 } // namespace Aws
317