7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/cleanrooms/model/JoinRequiredOption.h>
10#include <aws/cleanrooms/model/AdditionalAnalyses.h>
11#include <aws/cleanrooms/model/AggregateColumn.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/cleanrooms/model/JoinOperator.h>
14#include <aws/cleanrooms/model/ScalarFunctions.h>
15#include <aws/cleanrooms/model/AggregationConstraint.h>
54 template<
typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
55 void SetAggregateColumns(AggregateColumnsT&& value) { m_aggregateColumnsHasBeenSet =
true; m_aggregateColumns = std::forward<AggregateColumnsT>(value); }
56 template<
typename AggregateColumnsT = Aws::Vector<AggregateColumn>>
58 template<
typename AggregateColumnsT = AggregateColumn>
69 template<
typename JoinColumnsT = Aws::Vector<Aws::String>>
70 void SetJoinColumns(JoinColumnsT&& value) { m_joinColumnsHasBeenSet =
true; m_joinColumns = std::forward<JoinColumnsT>(value); }
71 template<
typename JoinColumnsT = Aws::Vector<Aws::String>>
73 template<
typename JoinColumnsT = Aws::String>
95 template<
typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
96 void SetAllowedJoinOperators(AllowedJoinOperatorsT&& value) { m_allowedJoinOperatorsHasBeenSet =
true; m_allowedJoinOperators = std::forward<AllowedJoinOperatorsT>(value); }
97 template<
typename AllowedJoinOperatorsT = Aws::Vector<JoinOperator>>
109 template<
typename DimensionColumnsT = Aws::Vector<Aws::String>>
110 void SetDimensionColumns(DimensionColumnsT&& value) { m_dimensionColumnsHasBeenSet =
true; m_dimensionColumns = std::forward<DimensionColumnsT>(value); }
111 template<
typename DimensionColumnsT = Aws::Vector<Aws::String>>
113 template<
typename DimensionColumnsT = Aws::String>
124 template<
typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
125 void SetScalarFunctions(ScalarFunctionsT&& value) { m_scalarFunctionsHasBeenSet =
true; m_scalarFunctions = std::forward<ScalarFunctionsT>(value); }
126 template<
typename ScalarFunctionsT = Aws::Vector<ScalarFunctions>>
138 template<
typename OutputConstra
intsT = Aws::Vector<AggregationConstra
int>>
139 void SetOutputConstraints(OutputConstraintsT&& value) { m_outputConstraintsHasBeenSet =
true; m_outputConstraints = std::forward<OutputConstraintsT>(value); }
140 template<
typename OutputConstra
intsT = Aws::Vector<AggregationConstra
int>>
142 template<
typename OutputConstra
intsT = AggregationConstra
int>
162 bool m_aggregateColumnsHasBeenSet =
false;
165 bool m_joinColumnsHasBeenSet =
false;
168 bool m_joinRequiredHasBeenSet =
false;
171 bool m_allowedJoinOperatorsHasBeenSet =
false;
174 bool m_dimensionColumnsHasBeenSet =
false;
177 bool m_scalarFunctionsHasBeenSet =
false;
180 bool m_outputConstraintsHasBeenSet =
false;
183 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