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/core/utils/DateTime.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace IoT 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Information that identifies a mitigation action. This information is returned 29 * by ListMitigationActions.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/MitigationActionIdentifier">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_IOT_API MitigationActionIdentifier 34 { 35 public: 36 MitigationActionIdentifier(); 37 MitigationActionIdentifier(Aws::Utils::Json::JsonView jsonValue); 38 MitigationActionIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The friendly name of the mitigation action.</p> 44 */ GetActionName()45 inline const Aws::String& GetActionName() const{ return m_actionName; } 46 47 /** 48 * <p>The friendly name of the mitigation action.</p> 49 */ ActionNameHasBeenSet()50 inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } 51 52 /** 53 * <p>The friendly name of the mitigation action.</p> 54 */ SetActionName(const Aws::String & value)55 inline void SetActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName = value; } 56 57 /** 58 * <p>The friendly name of the mitigation action.</p> 59 */ SetActionName(Aws::String && value)60 inline void SetActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } 61 62 /** 63 * <p>The friendly name of the mitigation action.</p> 64 */ SetActionName(const char * value)65 inline void SetActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.assign(value); } 66 67 /** 68 * <p>The friendly name of the mitigation action.</p> 69 */ WithActionName(const Aws::String & value)70 inline MitigationActionIdentifier& WithActionName(const Aws::String& value) { SetActionName(value); return *this;} 71 72 /** 73 * <p>The friendly name of the mitigation action.</p> 74 */ WithActionName(Aws::String && value)75 inline MitigationActionIdentifier& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;} 76 77 /** 78 * <p>The friendly name of the mitigation action.</p> 79 */ WithActionName(const char * value)80 inline MitigationActionIdentifier& WithActionName(const char* value) { SetActionName(value); return *this;} 81 82 83 /** 84 * <p>The IAM role ARN used to apply this mitigation action.</p> 85 */ GetActionArn()86 inline const Aws::String& GetActionArn() const{ return m_actionArn; } 87 88 /** 89 * <p>The IAM role ARN used to apply this mitigation action.</p> 90 */ ActionArnHasBeenSet()91 inline bool ActionArnHasBeenSet() const { return m_actionArnHasBeenSet; } 92 93 /** 94 * <p>The IAM role ARN used to apply this mitigation action.</p> 95 */ SetActionArn(const Aws::String & value)96 inline void SetActionArn(const Aws::String& value) { m_actionArnHasBeenSet = true; m_actionArn = value; } 97 98 /** 99 * <p>The IAM role ARN used to apply this mitigation action.</p> 100 */ SetActionArn(Aws::String && value)101 inline void SetActionArn(Aws::String&& value) { m_actionArnHasBeenSet = true; m_actionArn = std::move(value); } 102 103 /** 104 * <p>The IAM role ARN used to apply this mitigation action.</p> 105 */ SetActionArn(const char * value)106 inline void SetActionArn(const char* value) { m_actionArnHasBeenSet = true; m_actionArn.assign(value); } 107 108 /** 109 * <p>The IAM role ARN used to apply this mitigation action.</p> 110 */ WithActionArn(const Aws::String & value)111 inline MitigationActionIdentifier& WithActionArn(const Aws::String& value) { SetActionArn(value); return *this;} 112 113 /** 114 * <p>The IAM role ARN used to apply this mitigation action.</p> 115 */ WithActionArn(Aws::String && value)116 inline MitigationActionIdentifier& WithActionArn(Aws::String&& value) { SetActionArn(std::move(value)); return *this;} 117 118 /** 119 * <p>The IAM role ARN used to apply this mitigation action.</p> 120 */ WithActionArn(const char * value)121 inline MitigationActionIdentifier& WithActionArn(const char* value) { SetActionArn(value); return *this;} 122 123 124 /** 125 * <p>The date when this mitigation action was created.</p> 126 */ GetCreationDate()127 inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } 128 129 /** 130 * <p>The date when this mitigation action was created.</p> 131 */ CreationDateHasBeenSet()132 inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } 133 134 /** 135 * <p>The date when this mitigation action was created.</p> 136 */ SetCreationDate(const Aws::Utils::DateTime & value)137 inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } 138 139 /** 140 * <p>The date when this mitigation action was created.</p> 141 */ SetCreationDate(Aws::Utils::DateTime && value)142 inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } 143 144 /** 145 * <p>The date when this mitigation action was created.</p> 146 */ WithCreationDate(const Aws::Utils::DateTime & value)147 inline MitigationActionIdentifier& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} 148 149 /** 150 * <p>The date when this mitigation action was created.</p> 151 */ WithCreationDate(Aws::Utils::DateTime && value)152 inline MitigationActionIdentifier& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} 153 154 private: 155 156 Aws::String m_actionName; 157 bool m_actionNameHasBeenSet; 158 159 Aws::String m_actionArn; 160 bool m_actionArnHasBeenSet; 161 162 Aws::Utils::DateTime m_creationDate; 163 bool m_creationDateHasBeenSet; 164 }; 165 166 } // namespace Model 167 } // namespace IoT 168 } // namespace Aws 169