AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
AssetPropertyValue.h
1
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
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace IoTSiteWise
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_IOTSITEWISE_API AssetPropertyValue() = default;
37 AWS_IOTSITEWISE_API AssetPropertyValue(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const Variant& GetValue() const { return m_value; }
47 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
48 template<typename ValueT = Variant>
49 void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward<ValueT>(value); }
50 template<typename ValueT = Variant>
51 AssetPropertyValue& WithValue(ValueT&& value) { SetValue(std::forward<ValueT>(value)); return *this;}
53
55
58 inline const TimeInNanos& GetTimestamp() const { return m_timestamp; }
59 inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
60 template<typename TimestampT = TimeInNanos>
61 void SetTimestamp(TimestampT&& value) { m_timestampHasBeenSet = true; m_timestamp = std::forward<TimestampT>(value); }
62 template<typename TimestampT = TimeInNanos>
63 AssetPropertyValue& WithTimestamp(TimestampT&& value) { SetTimestamp(std::forward<TimestampT>(value)); return *this;}
65
67
70 inline Quality GetQuality() const { return m_quality; }
71 inline bool QualityHasBeenSet() const { return m_qualityHasBeenSet; }
72 inline void SetQuality(Quality value) { m_qualityHasBeenSet = true; m_quality = value; }
73 inline AssetPropertyValue& WithQuality(Quality value) { SetQuality(value); return *this;}
75 private:
76
77 Variant m_value;
78 bool m_valueHasBeenSet = false;
79
80 TimeInNanos m_timestamp;
81 bool m_timestampHasBeenSet = false;
82
83 Quality m_quality{Quality::NOT_SET};
84 bool m_qualityHasBeenSet = false;
85 };
86
87} // namespace Model
88} // namespace IoTSiteWise
89} // namespace Aws
AssetPropertyValue & WithTimestamp(TimestampT &&value)
AssetPropertyValue & WithQuality(Quality value)
AssetPropertyValue & WithValue(ValueT &&value)
AWS_IOTSITEWISE_API AssetPropertyValue(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTSITEWISE_API AssetPropertyValue()=default
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_IOTSITEWISE_API AssetPropertyValue & operator=(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::Json::JsonValue JsonValue