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/discovery/ApplicationDiscoveryService_EXPORTS.h> 8 #include <aws/discovery/model/ConfigurationItemType.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/DateTime.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 ApplicationDiscoveryService 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Tags for a configuration item. Tags are metadata that help you categorize IT 30 * assets.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ConfigurationTag">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_APPLICATIONDISCOVERYSERVICE_API ConfigurationTag 35 { 36 public: 37 ConfigurationTag(); 38 ConfigurationTag(Aws::Utils::Json::JsonView jsonValue); 39 ConfigurationTag& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>A type of IT asset to tag.</p> 45 */ GetConfigurationType()46 inline const ConfigurationItemType& GetConfigurationType() const{ return m_configurationType; } 47 48 /** 49 * <p>A type of IT asset to tag.</p> 50 */ ConfigurationTypeHasBeenSet()51 inline bool ConfigurationTypeHasBeenSet() const { return m_configurationTypeHasBeenSet; } 52 53 /** 54 * <p>A type of IT asset to tag.</p> 55 */ SetConfigurationType(const ConfigurationItemType & value)56 inline void SetConfigurationType(const ConfigurationItemType& value) { m_configurationTypeHasBeenSet = true; m_configurationType = value; } 57 58 /** 59 * <p>A type of IT asset to tag.</p> 60 */ SetConfigurationType(ConfigurationItemType && value)61 inline void SetConfigurationType(ConfigurationItemType&& value) { m_configurationTypeHasBeenSet = true; m_configurationType = std::move(value); } 62 63 /** 64 * <p>A type of IT asset to tag.</p> 65 */ WithConfigurationType(const ConfigurationItemType & value)66 inline ConfigurationTag& WithConfigurationType(const ConfigurationItemType& value) { SetConfigurationType(value); return *this;} 67 68 /** 69 * <p>A type of IT asset to tag.</p> 70 */ WithConfigurationType(ConfigurationItemType && value)71 inline ConfigurationTag& WithConfigurationType(ConfigurationItemType&& value) { SetConfigurationType(std::move(value)); return *this;} 72 73 74 /** 75 * <p>The configuration ID for the item to tag. You can specify a list of keys and 76 * values.</p> 77 */ GetConfigurationId()78 inline const Aws::String& GetConfigurationId() const{ return m_configurationId; } 79 80 /** 81 * <p>The configuration ID for the item to tag. You can specify a list of keys and 82 * values.</p> 83 */ ConfigurationIdHasBeenSet()84 inline bool ConfigurationIdHasBeenSet() const { return m_configurationIdHasBeenSet; } 85 86 /** 87 * <p>The configuration ID for the item to tag. You can specify a list of keys and 88 * values.</p> 89 */ SetConfigurationId(const Aws::String & value)90 inline void SetConfigurationId(const Aws::String& value) { m_configurationIdHasBeenSet = true; m_configurationId = value; } 91 92 /** 93 * <p>The configuration ID for the item to tag. You can specify a list of keys and 94 * values.</p> 95 */ SetConfigurationId(Aws::String && value)96 inline void SetConfigurationId(Aws::String&& value) { m_configurationIdHasBeenSet = true; m_configurationId = std::move(value); } 97 98 /** 99 * <p>The configuration ID for the item to tag. You can specify a list of keys and 100 * values.</p> 101 */ SetConfigurationId(const char * value)102 inline void SetConfigurationId(const char* value) { m_configurationIdHasBeenSet = true; m_configurationId.assign(value); } 103 104 /** 105 * <p>The configuration ID for the item to tag. You can specify a list of keys and 106 * values.</p> 107 */ WithConfigurationId(const Aws::String & value)108 inline ConfigurationTag& WithConfigurationId(const Aws::String& value) { SetConfigurationId(value); return *this;} 109 110 /** 111 * <p>The configuration ID for the item to tag. You can specify a list of keys and 112 * values.</p> 113 */ WithConfigurationId(Aws::String && value)114 inline ConfigurationTag& WithConfigurationId(Aws::String&& value) { SetConfigurationId(std::move(value)); return *this;} 115 116 /** 117 * <p>The configuration ID for the item to tag. You can specify a list of keys and 118 * values.</p> 119 */ WithConfigurationId(const char * value)120 inline ConfigurationTag& WithConfigurationId(const char* value) { SetConfigurationId(value); return *this;} 121 122 123 /** 124 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 125 */ GetKey()126 inline const Aws::String& GetKey() const{ return m_key; } 127 128 /** 129 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 130 */ KeyHasBeenSet()131 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } 132 133 /** 134 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 135 */ SetKey(const Aws::String & value)136 inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } 137 138 /** 139 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 140 */ SetKey(Aws::String && value)141 inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } 142 143 /** 144 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 145 */ SetKey(const char * value)146 inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } 147 148 /** 149 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 150 */ WithKey(const Aws::String & value)151 inline ConfigurationTag& WithKey(const Aws::String& value) { SetKey(value); return *this;} 152 153 /** 154 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 155 */ WithKey(Aws::String && value)156 inline ConfigurationTag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 157 158 /** 159 * <p>A type of tag on which to filter. For example, <i>serverType</i>.</p> 160 */ WithKey(const char * value)161 inline ConfigurationTag& WithKey(const char* value) { SetKey(value); return *this;} 162 163 164 /** 165 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 166 * = web server</i>.</p> 167 */ GetValue()168 inline const Aws::String& GetValue() const{ return m_value; } 169 170 /** 171 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 172 * = web server</i>.</p> 173 */ ValueHasBeenSet()174 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } 175 176 /** 177 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 178 * = web server</i>.</p> 179 */ SetValue(const Aws::String & value)180 inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } 181 182 /** 183 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 184 * = web server</i>.</p> 185 */ SetValue(Aws::String && value)186 inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } 187 188 /** 189 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 190 * = web server</i>.</p> 191 */ SetValue(const char * value)192 inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } 193 194 /** 195 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 196 * = web server</i>.</p> 197 */ WithValue(const Aws::String & value)198 inline ConfigurationTag& WithValue(const Aws::String& value) { SetValue(value); return *this;} 199 200 /** 201 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 202 * = web server</i>.</p> 203 */ WithValue(Aws::String && value)204 inline ConfigurationTag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} 205 206 /** 207 * <p>A value on which to filter. For example <i>key = serverType</i> and <i>value 208 * = web server</i>.</p> 209 */ WithValue(const char * value)210 inline ConfigurationTag& WithValue(const char* value) { SetValue(value); return *this;} 211 212 213 /** 214 * <p>The time the configuration tag was created in Coordinated Universal Time 215 * (UTC).</p> 216 */ GetTimeOfCreation()217 inline const Aws::Utils::DateTime& GetTimeOfCreation() const{ return m_timeOfCreation; } 218 219 /** 220 * <p>The time the configuration tag was created in Coordinated Universal Time 221 * (UTC).</p> 222 */ TimeOfCreationHasBeenSet()223 inline bool TimeOfCreationHasBeenSet() const { return m_timeOfCreationHasBeenSet; } 224 225 /** 226 * <p>The time the configuration tag was created in Coordinated Universal Time 227 * (UTC).</p> 228 */ SetTimeOfCreation(const Aws::Utils::DateTime & value)229 inline void SetTimeOfCreation(const Aws::Utils::DateTime& value) { m_timeOfCreationHasBeenSet = true; m_timeOfCreation = value; } 230 231 /** 232 * <p>The time the configuration tag was created in Coordinated Universal Time 233 * (UTC).</p> 234 */ SetTimeOfCreation(Aws::Utils::DateTime && value)235 inline void SetTimeOfCreation(Aws::Utils::DateTime&& value) { m_timeOfCreationHasBeenSet = true; m_timeOfCreation = std::move(value); } 236 237 /** 238 * <p>The time the configuration tag was created in Coordinated Universal Time 239 * (UTC).</p> 240 */ WithTimeOfCreation(const Aws::Utils::DateTime & value)241 inline ConfigurationTag& WithTimeOfCreation(const Aws::Utils::DateTime& value) { SetTimeOfCreation(value); return *this;} 242 243 /** 244 * <p>The time the configuration tag was created in Coordinated Universal Time 245 * (UTC).</p> 246 */ WithTimeOfCreation(Aws::Utils::DateTime && value)247 inline ConfigurationTag& WithTimeOfCreation(Aws::Utils::DateTime&& value) { SetTimeOfCreation(std::move(value)); return *this;} 248 249 private: 250 251 ConfigurationItemType m_configurationType; 252 bool m_configurationTypeHasBeenSet; 253 254 Aws::String m_configurationId; 255 bool m_configurationIdHasBeenSet; 256 257 Aws::String m_key; 258 bool m_keyHasBeenSet; 259 260 Aws::String m_value; 261 bool m_valueHasBeenSet; 262 263 Aws::Utils::DateTime m_timeOfCreation; 264 bool m_timeOfCreationHasBeenSet; 265 }; 266 267 } // namespace Model 268 } // namespace ApplicationDiscoveryService 269 } // namespace Aws 270