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>
48 template <
typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
50 m_aggregateColumnsHasBeenSet =
true;
51 m_aggregateColumns = std::forward<AggregateColumnsT>(value);
53 template <
typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
58 template <
typename AggregateColumnsT = AggregateColumn>
60 m_aggregateColumnsHasBeenSet =
true;
61 m_aggregateColumns.emplace_back(std::forward<AggregateColumnsT>(value));
73 template <
typename JoinColumnsT = Aws::Vector<Aws::String>>
75 m_joinColumnsHasBeenSet =
true;
76 m_joinColumns = std::forward<JoinColumnsT>(value);
78 template <
typename JoinColumnsT = Aws::Vector<Aws::String>>
83 template <
typename JoinColumnsT = Aws::String>
85 m_joinColumnsHasBeenSet =
true;
86 m_joinColumns.emplace_back(std::forward<JoinColumnsT>(value));
99 m_joinRequiredHasBeenSet =
true;
100 m_joinRequired = value;
115 template <
typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
117 m_allowedJoinOperatorsHasBeenSet =
true;
118 m_allowedJoinOperators = std::forward<AllowedJoinOperatorsT>(value);
120 template <
typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
126 m_allowedJoinOperatorsHasBeenSet =
true;
127 m_allowedJoinOperators.push_back(value);
139 template <
typename DimensionColumnsT = Aws::Vector<Aws::String>>
141 m_dimensionColumnsHasBeenSet =
true;
142 m_dimensionColumns = std::forward<DimensionColumnsT>(value);
144 template <
typename DimensionColumnsT = Aws::Vector<Aws::String>>
149 template <
typename DimensionColumnsT = Aws::String>
151 m_dimensionColumnsHasBeenSet =
true;
152 m_dimensionColumns.emplace_back(std::forward<DimensionColumnsT>(value));
164 template <
typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
166 m_scalarFunctionsHasBeenSet =
true;
167 m_scalarFunctions = std::forward<ScalarFunctionsT>(value);
169 template <
typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
175 m_scalarFunctionsHasBeenSet =
true;
176 m_scalarFunctions.push_back(value);
188 template <
typename OutputConstra
intsT = Aws::Vector<AggregationConstra
int>>
190 m_outputConstraintsHasBeenSet =
true;
191 m_outputConstraints = std::forward<OutputConstraintsT>(value);
193 template <
typename OutputConstra
intsT = Aws::Vector<AggregationConstra
int>>
198 template <
typename OutputConstra
intsT = AggregationConstra
int>
200 m_outputConstraintsHasBeenSet =
true;
201 m_outputConstraints.emplace_back(std::forward<OutputConstraintsT>(value));
217 m_additionalAnalysesHasBeenSet =
true;
218 m_additionalAnalyses = value;
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;
AnalysisRuleAggregation & AddAllowedJoinOperators(JoinOperator value)
JoinRequiredOption GetJoinRequired() const
AnalysisRuleAggregation & WithDimensionColumns(DimensionColumnsT &&value)
AnalysisRuleAggregation & WithAdditionalAnalyses(AdditionalAnalyses value)
const Aws::Vector< JoinOperator > & GetAllowedJoinOperators() const
bool ScalarFunctionsHasBeenSet() const
AnalysisRuleAggregation & WithOutputConstraints(OutputConstraintsT &&value)
void SetAdditionalAnalyses(AdditionalAnalyses value)
void SetJoinColumns(JoinColumnsT &&value)
AnalysisRuleAggregation & WithJoinColumns(JoinColumnsT &&value)
bool AdditionalAnalysesHasBeenSet() const
AnalysisRuleAggregation & AddOutputConstraints(OutputConstraintsT &&value)
void SetOutputConstraints(OutputConstraintsT &&value)
AnalysisRuleAggregation & AddJoinColumns(JoinColumnsT &&value)
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CLEANROOMS_API AnalysisRuleAggregation(Aws::Utils::Json::JsonView jsonValue)
bool JoinColumnsHasBeenSet() const
const Aws::Vector< Aws::String > & GetJoinColumns() const
AnalysisRuleAggregation & AddAggregateColumns(AggregateColumnsT &&value)
bool DimensionColumnsHasBeenSet() const
const Aws::Vector< AggregateColumn > & GetAggregateColumns() const
void SetAggregateColumns(AggregateColumnsT &&value)
bool AllowedJoinOperatorsHasBeenSet() const
AnalysisRuleAggregation & AddDimensionColumns(DimensionColumnsT &&value)
const Aws::Vector< Aws::String > & GetDimensionColumns() const
void SetDimensionColumns(DimensionColumnsT &&value)
bool OutputConstraintsHasBeenSet() const
AWS_CLEANROOMS_API AnalysisRuleAggregation & operator=(Aws::Utils::Json::JsonView jsonValue)
bool JoinRequiredHasBeenSet() const
void SetAllowedJoinOperators(AllowedJoinOperatorsT &&value)
AWS_CLEANROOMS_API AnalysisRuleAggregation()=default
AnalysisRuleAggregation & WithAggregateColumns(AggregateColumnsT &&value)
void SetJoinRequired(JoinRequiredOption value)
bool AggregateColumnsHasBeenSet() const
AdditionalAnalyses GetAdditionalAnalyses() const
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)
void SetScalarFunctions(ScalarFunctionsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue