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/iotsitewise/IoTSiteWise_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/iotsitewise/model/PropertyNotification.h> 10 #include <aws/iotsitewise/model/PropertyDataType.h> 11 #include <aws/iotsitewise/model/PropertyType.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace IoTSiteWise 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Contains asset property information.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/Property">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_IOTSITEWISE_API Property 35 { 36 public: 37 Property(); 38 Property(Aws::Utils::Json::JsonView jsonValue); 39 Property& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The ID of the asset property.</p> 45 */ GetId()46 inline const Aws::String& GetId() const{ return m_id; } 47 48 /** 49 * <p>The ID of the asset property.</p> 50 */ IdHasBeenSet()51 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 52 53 /** 54 * <p>The ID of the asset property.</p> 55 */ SetId(const Aws::String & value)56 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 57 58 /** 59 * <p>The ID of the asset property.</p> 60 */ SetId(Aws::String && value)61 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 62 63 /** 64 * <p>The ID of the asset property.</p> 65 */ SetId(const char * value)66 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 67 68 /** 69 * <p>The ID of the asset property.</p> 70 */ WithId(const Aws::String & value)71 inline Property& WithId(const Aws::String& value) { SetId(value); return *this;} 72 73 /** 74 * <p>The ID of the asset property.</p> 75 */ WithId(Aws::String && value)76 inline Property& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 77 78 /** 79 * <p>The ID of the asset property.</p> 80 */ WithId(const char * value)81 inline Property& WithId(const char* value) { SetId(value); return *this;} 82 83 84 /** 85 * <p>The name of the property.</p> 86 */ GetName()87 inline const Aws::String& GetName() const{ return m_name; } 88 89 /** 90 * <p>The name of the property.</p> 91 */ NameHasBeenSet()92 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 93 94 /** 95 * <p>The name of the property.</p> 96 */ SetName(const Aws::String & value)97 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 98 99 /** 100 * <p>The name of the property.</p> 101 */ SetName(Aws::String && value)102 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 103 104 /** 105 * <p>The name of the property.</p> 106 */ SetName(const char * value)107 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 108 109 /** 110 * <p>The name of the property.</p> 111 */ WithName(const Aws::String & value)112 inline Property& WithName(const Aws::String& value) { SetName(value); return *this;} 113 114 /** 115 * <p>The name of the property.</p> 116 */ WithName(Aws::String && value)117 inline Property& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 118 119 /** 120 * <p>The name of the property.</p> 121 */ WithName(const char * value)122 inline Property& WithName(const char* value) { SetName(value); return *this;} 123 124 125 /** 126 * <p>The alias that identifies the property, such as an OPC-UA server data stream 127 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 128 * more information, see <a 129 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 130 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 131 * Guide</i>.</p> 132 */ GetAlias()133 inline const Aws::String& GetAlias() const{ return m_alias; } 134 135 /** 136 * <p>The alias that identifies the property, such as an OPC-UA server data stream 137 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 138 * more information, see <a 139 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 140 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 141 * Guide</i>.</p> 142 */ AliasHasBeenSet()143 inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } 144 145 /** 146 * <p>The alias that identifies the property, such as an OPC-UA server data stream 147 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 148 * more information, see <a 149 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 150 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 151 * Guide</i>.</p> 152 */ SetAlias(const Aws::String & value)153 inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } 154 155 /** 156 * <p>The alias that identifies the property, such as an OPC-UA server data stream 157 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 158 * more information, see <a 159 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 160 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 161 * Guide</i>.</p> 162 */ SetAlias(Aws::String && value)163 inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } 164 165 /** 166 * <p>The alias that identifies the property, such as an OPC-UA server data stream 167 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 168 * more information, see <a 169 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 170 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 171 * Guide</i>.</p> 172 */ SetAlias(const char * value)173 inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } 174 175 /** 176 * <p>The alias that identifies the property, such as an OPC-UA server data stream 177 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 178 * more information, see <a 179 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 180 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 181 * Guide</i>.</p> 182 */ WithAlias(const Aws::String & value)183 inline Property& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} 184 185 /** 186 * <p>The alias that identifies the property, such as an OPC-UA server data stream 187 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 188 * more information, see <a 189 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 190 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 191 * Guide</i>.</p> 192 */ WithAlias(Aws::String && value)193 inline Property& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} 194 195 /** 196 * <p>The alias that identifies the property, such as an OPC-UA server data stream 197 * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For 198 * more information, see <a 199 * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping 200 * industrial data streams to asset properties</a> in the <i>IoT SiteWise User 201 * Guide</i>.</p> 202 */ WithAlias(const char * value)203 inline Property& WithAlias(const char* value) { SetAlias(value); return *this;} 204 205 206 /** 207 * <p>The asset property's notification topic and state. For more information, see 208 * <a 209 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 210 */ GetNotification()211 inline const PropertyNotification& GetNotification() const{ return m_notification; } 212 213 /** 214 * <p>The asset property's notification topic and state. For more information, see 215 * <a 216 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 217 */ NotificationHasBeenSet()218 inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; } 219 220 /** 221 * <p>The asset property's notification topic and state. For more information, see 222 * <a 223 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 224 */ SetNotification(const PropertyNotification & value)225 inline void SetNotification(const PropertyNotification& value) { m_notificationHasBeenSet = true; m_notification = value; } 226 227 /** 228 * <p>The asset property's notification topic and state. For more information, see 229 * <a 230 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 231 */ SetNotification(PropertyNotification && value)232 inline void SetNotification(PropertyNotification&& value) { m_notificationHasBeenSet = true; m_notification = std::move(value); } 233 234 /** 235 * <p>The asset property's notification topic and state. For more information, see 236 * <a 237 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 238 */ WithNotification(const PropertyNotification & value)239 inline Property& WithNotification(const PropertyNotification& value) { SetNotification(value); return *this;} 240 241 /** 242 * <p>The asset property's notification topic and state. For more information, see 243 * <a 244 * href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p> 245 */ WithNotification(PropertyNotification && value)246 inline Property& WithNotification(PropertyNotification&& value) { SetNotification(std::move(value)); return *this;} 247 248 249 /** 250 * <p>The property data type.</p> 251 */ GetDataType()252 inline const PropertyDataType& GetDataType() const{ return m_dataType; } 253 254 /** 255 * <p>The property data type.</p> 256 */ DataTypeHasBeenSet()257 inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } 258 259 /** 260 * <p>The property data type.</p> 261 */ SetDataType(const PropertyDataType & value)262 inline void SetDataType(const PropertyDataType& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } 263 264 /** 265 * <p>The property data type.</p> 266 */ SetDataType(PropertyDataType && value)267 inline void SetDataType(PropertyDataType&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } 268 269 /** 270 * <p>The property data type.</p> 271 */ WithDataType(const PropertyDataType & value)272 inline Property& WithDataType(const PropertyDataType& value) { SetDataType(value); return *this;} 273 274 /** 275 * <p>The property data type.</p> 276 */ WithDataType(PropertyDataType && value)277 inline Property& WithDataType(PropertyDataType&& value) { SetDataType(std::move(value)); return *this;} 278 279 280 /** 281 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 282 * property.</p> 283 */ GetUnit()284 inline const Aws::String& GetUnit() const{ return m_unit; } 285 286 /** 287 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 288 * property.</p> 289 */ UnitHasBeenSet()290 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } 291 292 /** 293 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 294 * property.</p> 295 */ SetUnit(const Aws::String & value)296 inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } 297 298 /** 299 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 300 * property.</p> 301 */ SetUnit(Aws::String && value)302 inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } 303 304 /** 305 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 306 * property.</p> 307 */ SetUnit(const char * value)308 inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } 309 310 /** 311 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 312 * property.</p> 313 */ WithUnit(const Aws::String & value)314 inline Property& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} 315 316 /** 317 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 318 * property.</p> 319 */ WithUnit(Aws::String && value)320 inline Property& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} 321 322 /** 323 * <p>The unit (such as <code>Newtons</code> or <code>RPM</code>) of the asset 324 * property.</p> 325 */ WithUnit(const char * value)326 inline Property& WithUnit(const char* value) { SetUnit(value); return *this;} 327 328 329 /** 330 * <p>The property type (see <code>PropertyType</code>). A property contains one 331 * type.</p> 332 */ GetType()333 inline const PropertyType& GetType() const{ return m_type; } 334 335 /** 336 * <p>The property type (see <code>PropertyType</code>). A property contains one 337 * type.</p> 338 */ TypeHasBeenSet()339 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 340 341 /** 342 * <p>The property type (see <code>PropertyType</code>). A property contains one 343 * type.</p> 344 */ SetType(const PropertyType & value)345 inline void SetType(const PropertyType& value) { m_typeHasBeenSet = true; m_type = value; } 346 347 /** 348 * <p>The property type (see <code>PropertyType</code>). A property contains one 349 * type.</p> 350 */ SetType(PropertyType && value)351 inline void SetType(PropertyType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 352 353 /** 354 * <p>The property type (see <code>PropertyType</code>). A property contains one 355 * type.</p> 356 */ WithType(const PropertyType & value)357 inline Property& WithType(const PropertyType& value) { SetType(value); return *this;} 358 359 /** 360 * <p>The property type (see <code>PropertyType</code>). A property contains one 361 * type.</p> 362 */ WithType(PropertyType && value)363 inline Property& WithType(PropertyType&& value) { SetType(std::move(value)); return *this;} 364 365 private: 366 367 Aws::String m_id; 368 bool m_idHasBeenSet; 369 370 Aws::String m_name; 371 bool m_nameHasBeenSet; 372 373 Aws::String m_alias; 374 bool m_aliasHasBeenSet; 375 376 PropertyNotification m_notification; 377 bool m_notificationHasBeenSet; 378 379 PropertyDataType m_dataType; 380 bool m_dataTypeHasBeenSet; 381 382 Aws::String m_unit; 383 bool m_unitHasBeenSet; 384 385 PropertyType m_type; 386 bool m_typeHasBeenSet; 387 }; 388 389 } // namespace Model 390 } // namespace IoTSiteWise 391 } // namespace Aws 392