AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
AnalysisRuleAggregation.h
1
6#pragma once
7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/cleanrooms/model/AdditionalAnalyses.h>
9#include <aws/cleanrooms/model/AggregateColumn.h>
10#include <aws/cleanrooms/model/AggregationConstraint.h>
11#include <aws/cleanrooms/model/JoinOperator.h>
12#include <aws/cleanrooms/model/JoinRequiredOption.h>
13#include <aws/cleanrooms/model/ScalarFunctions.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace CleanRooms {
27namespace Model {
28
36 public:
37 AWS_CLEANROOMS_API AnalysisRuleAggregation() = default;
40 AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::Vector<AggregateColumn>& GetAggregateColumns() const { return m_aggregateColumns; }
47 inline bool AggregateColumnsHasBeenSet() const { return m_aggregateColumnsHasBeenSet; }
48 template <typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
49 void SetAggregateColumns(AggregateColumnsT&& value) {
50 m_aggregateColumnsHasBeenSet = true;
51 m_aggregateColumns = std::forward<AggregateColumnsT>(value);
52 }
53 template <typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
54 AnalysisRuleAggregation& WithAggregateColumns(AggregateColumnsT&& value) {
55 SetAggregateColumns(std::forward<AggregateColumnsT>(value));
56 return *this;
57 }
58 template <typename AggregateColumnsT = AggregateColumn>
59 AnalysisRuleAggregation& AddAggregateColumns(AggregateColumnsT&& value) {
60 m_aggregateColumnsHasBeenSet = true;
61 m_aggregateColumns.emplace_back(std::forward<AggregateColumnsT>(value));
62 return *this;
63 }
65
67
71 inline const Aws::Vector<Aws::String>& GetJoinColumns() const { return m_joinColumns; }
72 inline bool JoinColumnsHasBeenSet() const { return m_joinColumnsHasBeenSet; }
73 template <typename JoinColumnsT = Aws::Vector<Aws::String>>
74 void SetJoinColumns(JoinColumnsT&& value) {
75 m_joinColumnsHasBeenSet = true;
76 m_joinColumns = std::forward<JoinColumnsT>(value);
77 }
78 template <typename JoinColumnsT = Aws::Vector<Aws::String>>
80 SetJoinColumns(std::forward<JoinColumnsT>(value));
81 return *this;
82 }
83 template <typename JoinColumnsT = Aws::String>
84 AnalysisRuleAggregation& AddJoinColumns(JoinColumnsT&& value) {
85 m_joinColumnsHasBeenSet = true;
86 m_joinColumns.emplace_back(std::forward<JoinColumnsT>(value));
87 return *this;
88 }
90
92
96 inline JoinRequiredOption GetJoinRequired() const { return m_joinRequired; }
97 inline bool JoinRequiredHasBeenSet() const { return m_joinRequiredHasBeenSet; }
99 m_joinRequiredHasBeenSet = true;
100 m_joinRequired = value;
101 }
103 SetJoinRequired(value);
104 return *this;
105 }
107
109
113 inline const Aws::Vector<JoinOperator>& GetAllowedJoinOperators() const { return m_allowedJoinOperators; }
114 inline bool AllowedJoinOperatorsHasBeenSet() const { return m_allowedJoinOperatorsHasBeenSet; }
115 template <typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
116 void SetAllowedJoinOperators(AllowedJoinOperatorsT&& value) {
117 m_allowedJoinOperatorsHasBeenSet = true;
118 m_allowedJoinOperators = std::forward<AllowedJoinOperatorsT>(value);
119 }
120 template <typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
121 AnalysisRuleAggregation& WithAllowedJoinOperators(AllowedJoinOperatorsT&& value) {
122 SetAllowedJoinOperators(std::forward<AllowedJoinOperatorsT>(value));
123 return *this;
124 }
126 m_allowedJoinOperatorsHasBeenSet = true;
127 m_allowedJoinOperators.push_back(value);
128 return *this;
129 }
131
133
137 inline const Aws::Vector<Aws::String>& GetDimensionColumns() const { return m_dimensionColumns; }
138 inline bool DimensionColumnsHasBeenSet() const { return m_dimensionColumnsHasBeenSet; }
139 template <typename DimensionColumnsT = Aws::Vector<Aws::String>>
140 void SetDimensionColumns(DimensionColumnsT&& value) {
141 m_dimensionColumnsHasBeenSet = true;
142 m_dimensionColumns = std::forward<DimensionColumnsT>(value);
143 }
144 template <typename DimensionColumnsT = Aws::Vector<Aws::String>>
145 AnalysisRuleAggregation& WithDimensionColumns(DimensionColumnsT&& value) {
146 SetDimensionColumns(std::forward<DimensionColumnsT>(value));
147 return *this;
148 }
149 template <typename DimensionColumnsT = Aws::String>
150 AnalysisRuleAggregation& AddDimensionColumns(DimensionColumnsT&& value) {
151 m_dimensionColumnsHasBeenSet = true;
152 m_dimensionColumns.emplace_back(std::forward<DimensionColumnsT>(value));
153 return *this;
154 }
156
158
162 inline const Aws::Vector<ScalarFunctions>& GetScalarFunctions() const { return m_scalarFunctions; }
163 inline bool ScalarFunctionsHasBeenSet() const { return m_scalarFunctionsHasBeenSet; }
164 template <typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
165 void SetScalarFunctions(ScalarFunctionsT&& value) {
166 m_scalarFunctionsHasBeenSet = true;
167 m_scalarFunctions = std::forward<ScalarFunctionsT>(value);
168 }
169 template <typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
170 AnalysisRuleAggregation& WithScalarFunctions(ScalarFunctionsT&& value) {
171 SetScalarFunctions(std::forward<ScalarFunctionsT>(value));
172 return *this;
173 }
175 m_scalarFunctionsHasBeenSet = true;
176 m_scalarFunctions.push_back(value);
177 return *this;
178 }
180
182
186 inline const Aws::Vector<AggregationConstraint>& GetOutputConstraints() const { return m_outputConstraints; }
187 inline bool OutputConstraintsHasBeenSet() const { return m_outputConstraintsHasBeenSet; }
188 template <typename OutputConstraintsT = Aws::Vector<AggregationConstraint>>
189 void SetOutputConstraints(OutputConstraintsT&& value) {
190 m_outputConstraintsHasBeenSet = true;
191 m_outputConstraints = std::forward<OutputConstraintsT>(value);
192 }
193 template <typename OutputConstraintsT = Aws::Vector<AggregationConstraint>>
194 AnalysisRuleAggregation& WithOutputConstraints(OutputConstraintsT&& value) {
195 SetOutputConstraints(std::forward<OutputConstraintsT>(value));
196 return *this;
197 }
198 template <typename OutputConstraintsT = AggregationConstraint>
199 AnalysisRuleAggregation& AddOutputConstraints(OutputConstraintsT&& value) {
200 m_outputConstraintsHasBeenSet = true;
201 m_outputConstraints.emplace_back(std::forward<OutputConstraintsT>(value));
202 return *this;
203 }
205
207
214 inline AdditionalAnalyses GetAdditionalAnalyses() const { return m_additionalAnalyses; }
215 inline bool AdditionalAnalysesHasBeenSet() const { return m_additionalAnalysesHasBeenSet; }
217 m_additionalAnalysesHasBeenSet = true;
218 m_additionalAnalyses = value;
219 }
222 return *this;
223 }
225 private:
226 Aws::Vector<AggregateColumn> m_aggregateColumns;
227
228 Aws::Vector<Aws::String> m_joinColumns;
229
231
232 Aws::Vector<JoinOperator> m_allowedJoinOperators;
233
234 Aws::Vector<Aws::String> m_dimensionColumns;
235
236 Aws::Vector<ScalarFunctions> m_scalarFunctions;
237
238 Aws::Vector<AggregationConstraint> m_outputConstraints;
239
241 bool m_aggregateColumnsHasBeenSet = false;
242 bool m_joinColumnsHasBeenSet = false;
243 bool m_joinRequiredHasBeenSet = false;
244 bool m_allowedJoinOperatorsHasBeenSet = false;
245 bool m_dimensionColumnsHasBeenSet = false;
246 bool m_scalarFunctionsHasBeenSet = false;
247 bool m_outputConstraintsHasBeenSet = false;
248 bool m_additionalAnalysesHasBeenSet = false;
249};
250
251} // namespace Model
252} // namespace CleanRooms
253} // namespace Aws
AnalysisRuleAggregation & AddAllowedJoinOperators(JoinOperator value)
AnalysisRuleAggregation & WithDimensionColumns(DimensionColumnsT &&value)
AnalysisRuleAggregation & WithAdditionalAnalyses(AdditionalAnalyses value)
const Aws::Vector< JoinOperator > & GetAllowedJoinOperators() const
AnalysisRuleAggregation & WithOutputConstraints(OutputConstraintsT &&value)
AnalysisRuleAggregation & WithJoinColumns(JoinColumnsT &&value)
AnalysisRuleAggregation & AddOutputConstraints(OutputConstraintsT &&value)
AnalysisRuleAggregation & AddJoinColumns(JoinColumnsT &&value)
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CLEANROOMS_API AnalysisRuleAggregation(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetJoinColumns() const
AnalysisRuleAggregation & AddAggregateColumns(AggregateColumnsT &&value)
const Aws::Vector< AggregateColumn > & GetAggregateColumns() const
AnalysisRuleAggregation & AddDimensionColumns(DimensionColumnsT &&value)
const Aws::Vector< Aws::String > & GetDimensionColumns() const
AWS_CLEANROOMS_API AnalysisRuleAggregation & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAllowedJoinOperators(AllowedJoinOperatorsT &&value)
AWS_CLEANROOMS_API AnalysisRuleAggregation()=default
AnalysisRuleAggregation & WithAggregateColumns(AggregateColumnsT &&value)
AnalysisRuleAggregation & WithJoinRequired(JoinRequiredOption value)
AnalysisRuleAggregation & WithScalarFunctions(ScalarFunctionsT &&value)
const Aws::Vector< ScalarFunctions > & GetScalarFunctions() const
AnalysisRuleAggregation & WithAllowedJoinOperators(AllowedJoinOperatorsT &&value)
const Aws::Vector< AggregationConstraint > & GetOutputConstraints() const
AnalysisRuleAggregation & AddScalarFunctions(ScalarFunctions value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue