AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
AggFunction.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/quicksight/QuickSight_EXPORTS.h>
10#include <aws/quicksight/model/AggType.h>
11#include <aws/quicksight/model/TopicTimeGranularity.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace QuickSight {
23namespace Model {
24
31 public:
32 AWS_QUICKSIGHT_API AggFunction() = default;
33 AWS_QUICKSIGHT_API AggFunction(Aws::Utils::Json::JsonView jsonValue);
34 AWS_QUICKSIGHT_API AggFunction& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_QUICKSIGHT_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline AggType GetAggregation() const { return m_aggregation; }
42 inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; }
43 inline void SetAggregation(AggType value) {
44 m_aggregationHasBeenSet = true;
45 m_aggregation = value;
46 }
48 SetAggregation(value);
49 return *this;
50 }
52
54
57 inline const Aws::Map<Aws::String, Aws::String>& GetAggregationFunctionParameters() const { return m_aggregationFunctionParameters; }
58 inline bool AggregationFunctionParametersHasBeenSet() const { return m_aggregationFunctionParametersHasBeenSet; }
59 template <typename AggregationFunctionParametersT = Aws::Map<Aws::String, Aws::String>>
60 void SetAggregationFunctionParameters(AggregationFunctionParametersT&& value) {
61 m_aggregationFunctionParametersHasBeenSet = true;
62 m_aggregationFunctionParameters = std::forward<AggregationFunctionParametersT>(value);
63 }
64 template <typename AggregationFunctionParametersT = Aws::Map<Aws::String, Aws::String>>
65 AggFunction& WithAggregationFunctionParameters(AggregationFunctionParametersT&& value) {
66 SetAggregationFunctionParameters(std::forward<AggregationFunctionParametersT>(value));
67 return *this;
68 }
69 template <typename AggregationFunctionParametersKeyT = Aws::String, typename AggregationFunctionParametersValueT = Aws::String>
70 AggFunction& AddAggregationFunctionParameters(AggregationFunctionParametersKeyT&& key, AggregationFunctionParametersValueT&& value) {
71 m_aggregationFunctionParametersHasBeenSet = true;
72 m_aggregationFunctionParameters.emplace(std::forward<AggregationFunctionParametersKeyT>(key),
73 std::forward<AggregationFunctionParametersValueT>(value));
74 return *this;
75 }
77
79
82 inline TopicTimeGranularity GetPeriod() const { return m_period; }
83 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
84 inline void SetPeriod(TopicTimeGranularity value) {
85 m_periodHasBeenSet = true;
86 m_period = value;
87 }
89 SetPeriod(value);
90 return *this;
91 }
93
95
98 inline const Aws::String& GetPeriodField() const { return m_periodField; }
99 inline bool PeriodFieldHasBeenSet() const { return m_periodFieldHasBeenSet; }
100 template <typename PeriodFieldT = Aws::String>
101 void SetPeriodField(PeriodFieldT&& value) {
102 m_periodFieldHasBeenSet = true;
103 m_periodField = std::forward<PeriodFieldT>(value);
104 }
105 template <typename PeriodFieldT = Aws::String>
106 AggFunction& WithPeriodField(PeriodFieldT&& value) {
107 SetPeriodField(std::forward<PeriodFieldT>(value));
108 return *this;
109 }
111 private:
112 AggType m_aggregation{AggType::NOT_SET};
113
114 Aws::Map<Aws::String, Aws::String> m_aggregationFunctionParameters;
115
117
118 Aws::String m_periodField;
119 bool m_aggregationHasBeenSet = false;
120 bool m_aggregationFunctionParametersHasBeenSet = false;
121 bool m_periodHasBeenSet = false;
122 bool m_periodFieldHasBeenSet = false;
123};
124
125} // namespace Model
126} // namespace QuickSight
127} // namespace Aws
AggFunction & WithAggregation(AggType value)
Definition AggFunction.h:47
AggFunction & AddAggregationFunctionParameters(AggregationFunctionParametersKeyT &&key, AggregationFunctionParametersValueT &&value)
Definition AggFunction.h:70
AWS_QUICKSIGHT_API AggFunction & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Aws::String > & GetAggregationFunctionParameters() const
Definition AggFunction.h:57
AggFunction & WithPeriod(TopicTimeGranularity value)
Definition AggFunction.h:88
TopicTimeGranularity GetPeriod() const
Definition AggFunction.h:82
void SetAggregationFunctionParameters(AggregationFunctionParametersT &&value)
Definition AggFunction.h:60
void SetPeriodField(PeriodFieldT &&value)
const Aws::String & GetPeriodField() const
Definition AggFunction.h:98
AWS_QUICKSIGHT_API AggFunction(Aws::Utils::Json::JsonView jsonValue)
void SetAggregation(AggType value)
Definition AggFunction.h:43
AggFunction & WithPeriodField(PeriodFieldT &&value)
AggFunction & WithAggregationFunctionParameters(AggregationFunctionParametersT &&value)
Definition AggFunction.h:65
AWS_QUICKSIGHT_API AggFunction()=default
void SetPeriod(TopicTimeGranularity value)
Definition AggFunction.h:84
bool AggregationFunctionParametersHasBeenSet() const
Definition AggFunction.h:58
AWS_QUICKSIGHT_API Aws::Utils::Json::JsonValue Jsonize() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue