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