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/iotsitewise/model/Variant.h> 9 #include <aws/iotsitewise/model/TimeInNanos.h> 10 #include <aws/iotsitewise/model/Quality.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 IoTSiteWise 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Contains asset property value information.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/AssetPropertyValue">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_IOTSITEWISE_API AssetPropertyValue 34 { 35 public: 36 AssetPropertyValue(); 37 AssetPropertyValue(Aws::Utils::Json::JsonView jsonValue); 38 AssetPropertyValue& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The value of the asset property (see <code>Variant</code>).</p> 44 */ GetValue()45 inline const Variant& GetValue() const{ return m_value; } 46 47 /** 48 * <p>The value of the asset property (see <code>Variant</code>).</p> 49 */ ValueHasBeenSet()50 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } 51 52 /** 53 * <p>The value of the asset property (see <code>Variant</code>).</p> 54 */ SetValue(const Variant & value)55 inline void SetValue(const Variant& value) { m_valueHasBeenSet = true; m_value = value; } 56 57 /** 58 * <p>The value of the asset property (see <code>Variant</code>).</p> 59 */ SetValue(Variant && value)60 inline void SetValue(Variant&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } 61 62 /** 63 * <p>The value of the asset property (see <code>Variant</code>).</p> 64 */ WithValue(const Variant & value)65 inline AssetPropertyValue& WithValue(const Variant& value) { SetValue(value); return *this;} 66 67 /** 68 * <p>The value of the asset property (see <code>Variant</code>).</p> 69 */ WithValue(Variant && value)70 inline AssetPropertyValue& WithValue(Variant&& value) { SetValue(std::move(value)); return *this;} 71 72 73 /** 74 * <p>The timestamp of the asset property value.</p> 75 */ GetTimestamp()76 inline const TimeInNanos& GetTimestamp() const{ return m_timestamp; } 77 78 /** 79 * <p>The timestamp of the asset property value.</p> 80 */ TimestampHasBeenSet()81 inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } 82 83 /** 84 * <p>The timestamp of the asset property value.</p> 85 */ SetTimestamp(const TimeInNanos & value)86 inline void SetTimestamp(const TimeInNanos& value) { m_timestampHasBeenSet = true; m_timestamp = value; } 87 88 /** 89 * <p>The timestamp of the asset property value.</p> 90 */ SetTimestamp(TimeInNanos && value)91 inline void SetTimestamp(TimeInNanos&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } 92 93 /** 94 * <p>The timestamp of the asset property value.</p> 95 */ WithTimestamp(const TimeInNanos & value)96 inline AssetPropertyValue& WithTimestamp(const TimeInNanos& value) { SetTimestamp(value); return *this;} 97 98 /** 99 * <p>The timestamp of the asset property value.</p> 100 */ WithTimestamp(TimeInNanos && value)101 inline AssetPropertyValue& WithTimestamp(TimeInNanos&& value) { SetTimestamp(std::move(value)); return *this;} 102 103 104 /** 105 * <p>The quality of the asset property value.</p> 106 */ GetQuality()107 inline const Quality& GetQuality() const{ return m_quality; } 108 109 /** 110 * <p>The quality of the asset property value.</p> 111 */ QualityHasBeenSet()112 inline bool QualityHasBeenSet() const { return m_qualityHasBeenSet; } 113 114 /** 115 * <p>The quality of the asset property value.</p> 116 */ SetQuality(const Quality & value)117 inline void SetQuality(const Quality& value) { m_qualityHasBeenSet = true; m_quality = value; } 118 119 /** 120 * <p>The quality of the asset property value.</p> 121 */ SetQuality(Quality && value)122 inline void SetQuality(Quality&& value) { m_qualityHasBeenSet = true; m_quality = std::move(value); } 123 124 /** 125 * <p>The quality of the asset property value.</p> 126 */ WithQuality(const Quality & value)127 inline AssetPropertyValue& WithQuality(const Quality& value) { SetQuality(value); return *this;} 128 129 /** 130 * <p>The quality of the asset property value.</p> 131 */ WithQuality(Quality && value)132 inline AssetPropertyValue& WithQuality(Quality&& value) { SetQuality(std::move(value)); return *this;} 133 134 private: 135 136 Variant m_value; 137 bool m_valueHasBeenSet; 138 139 TimeInNanos m_timestamp; 140 bool m_timestampHasBeenSet; 141 142 Quality m_quality; 143 bool m_qualityHasBeenSet; 144 }; 145 146 } // namespace Model 147 } // namespace IoTSiteWise 148 } // namespace Aws 149