AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Datum.h
1
6#pragma once
7#include <aws/timestream-query/TimestreamQuery_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/timestream-query/model/TimeSeriesDataPoint.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSAllocator.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace TimestreamQuery
25{
26namespace Model
27{
28 class Row;
29 class TimeSeriesDataPoint;
30
37 class Datum
38 {
39 public:
40 AWS_TIMESTREAMQUERY_API Datum() = default;
41 AWS_TIMESTREAMQUERY_API Datum(Aws::Utils::Json::JsonView jsonValue);
43 AWS_TIMESTREAMQUERY_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
51 inline const Aws::String& GetScalarValue() const { return m_scalarValue; }
52 inline bool ScalarValueHasBeenSet() const { return m_scalarValueHasBeenSet; }
53 template<typename ScalarValueT = Aws::String>
54 void SetScalarValue(ScalarValueT&& value) { m_scalarValueHasBeenSet = true; m_scalarValue = std::forward<ScalarValueT>(value); }
55 template<typename ScalarValueT = Aws::String>
56 Datum& WithScalarValue(ScalarValueT&& value) { SetScalarValue(std::forward<ScalarValueT>(value)); return *this;}
58
60
63 inline const Aws::Vector<TimeSeriesDataPoint>& GetTimeSeriesValue() const { return m_timeSeriesValue; }
64 inline bool TimeSeriesValueHasBeenSet() const { return m_timeSeriesValueHasBeenSet; }
65 template<typename TimeSeriesValueT = Aws::Vector<TimeSeriesDataPoint>>
66 void SetTimeSeriesValue(TimeSeriesValueT&& value) { m_timeSeriesValueHasBeenSet = true; m_timeSeriesValue = std::forward<TimeSeriesValueT>(value); }
67 template<typename TimeSeriesValueT = Aws::Vector<TimeSeriesDataPoint>>
68 Datum& WithTimeSeriesValue(TimeSeriesValueT&& value) { SetTimeSeriesValue(std::forward<TimeSeriesValueT>(value)); return *this;}
69 template<typename TimeSeriesValueT = TimeSeriesDataPoint>
70 Datum& AddTimeSeriesValue(TimeSeriesValueT&& value) { m_timeSeriesValueHasBeenSet = true; m_timeSeriesValue.emplace_back(std::forward<TimeSeriesValueT>(value)); return *this; }
72
74
77 inline const Aws::Vector<Datum>& GetArrayValue() const { return m_arrayValue; }
78 inline bool ArrayValueHasBeenSet() const { return m_arrayValueHasBeenSet; }
79 template<typename ArrayValueT = Aws::Vector<Datum>>
80 void SetArrayValue(ArrayValueT&& value) { m_arrayValueHasBeenSet = true; m_arrayValue = std::forward<ArrayValueT>(value); }
81 template<typename ArrayValueT = Aws::Vector<Datum>>
82 Datum& WithArrayValue(ArrayValueT&& value) { SetArrayValue(std::forward<ArrayValueT>(value)); return *this;}
83 template<typename ArrayValueT = Datum>
84 Datum& AddArrayValue(ArrayValueT&& value) { m_arrayValueHasBeenSet = true; m_arrayValue.emplace_back(std::forward<ArrayValueT>(value)); return *this; }
86
88
91 inline const Row& GetRowValue() const{
92 return *m_rowValue;
93 }
94 inline bool RowValueHasBeenSet() const { return m_rowValueHasBeenSet; }
95 template<typename RowValueT = Row>
96 void SetRowValue(RowValueT&& value) {
97 m_rowValueHasBeenSet = true;
98 m_rowValue = Aws::MakeShared<Row>("Datum", std::forward<RowValueT>(value));
99 }
100 template<typename RowValueT = Row>
101 Datum& WithRowValue(RowValueT&& value) { SetRowValue(std::forward<RowValueT>(value)); return *this;}
103
105
108 inline bool GetNullValue() const { return m_nullValue; }
109 inline bool NullValueHasBeenSet() const { return m_nullValueHasBeenSet; }
110 inline void SetNullValue(bool value) { m_nullValueHasBeenSet = true; m_nullValue = value; }
111 inline Datum& WithNullValue(bool value) { SetNullValue(value); return *this;}
113 private:
114
115 Aws::String m_scalarValue;
116 bool m_scalarValueHasBeenSet = false;
117
118 Aws::Vector<TimeSeriesDataPoint> m_timeSeriesValue;
119 bool m_timeSeriesValueHasBeenSet = false;
120
121 Aws::Vector<Datum> m_arrayValue;
122 bool m_arrayValueHasBeenSet = false;
123
124 std::shared_ptr<Row> m_rowValue;
125 bool m_rowValueHasBeenSet = false;
126
127 bool m_nullValue{false};
128 bool m_nullValueHasBeenSet = false;
129 };
130
131} // namespace Model
132} // namespace TimestreamQuery
133} // namespace Aws
void SetRowValue(RowValueT &&value)
Definition Datum.h:96
AWS_TIMESTREAMQUERY_API Datum & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetScalarValue() const
Definition Datum.h:51
Datum & WithNullValue(bool value)
Definition Datum.h:111
AWS_TIMESTREAMQUERY_API Datum()=default
void SetArrayValue(ArrayValueT &&value)
Definition Datum.h:80
AWS_TIMESTREAMQUERY_API Aws::Utils::Json::JsonValue Jsonize() const
Datum & AddArrayValue(ArrayValueT &&value)
Definition Datum.h:84
Datum & WithScalarValue(ScalarValueT &&value)
Definition Datum.h:56
bool TimeSeriesValueHasBeenSet() const
Definition Datum.h:64
void SetNullValue(bool value)
Definition Datum.h:110
void SetScalarValue(ScalarValueT &&value)
Definition Datum.h:54
AWS_TIMESTREAMQUERY_API Datum(Aws::Utils::Json::JsonView jsonValue)
Datum & WithTimeSeriesValue(TimeSeriesValueT &&value)
Definition Datum.h:68
void SetTimeSeriesValue(TimeSeriesValueT &&value)
Definition Datum.h:66
const Aws::Vector< Datum > & GetArrayValue() const
Definition Datum.h:77
Datum & AddTimeSeriesValue(TimeSeriesValueT &&value)
Definition Datum.h:70
bool ScalarValueHasBeenSet() const
Definition Datum.h:52
bool ArrayValueHasBeenSet() const
Definition Datum.h:78
Datum & WithArrayValue(ArrayValueT &&value)
Definition Datum.h:82
Datum & WithRowValue(RowValueT &&value)
Definition Datum.h:101
const Aws::Vector< TimeSeriesDataPoint > & GetTimeSeriesValue() const
Definition Datum.h:63
const Row & GetRowValue() const
Definition Datum.h:91
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue