/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Enables query structure and specified queries that produce aggregate
* statistics.See Also:
AWS
* API Reference
The columns that query runners are allowed to use in aggregation queries.
*/ inline const Aws::VectorThe columns that query runners are allowed to use in aggregation queries.
*/ inline bool AggregateColumnsHasBeenSet() const { return m_aggregateColumnsHasBeenSet; } /** *The columns that query runners are allowed to use in aggregation queries.
*/ inline void SetAggregateColumns(const Aws::VectorThe columns that query runners are allowed to use in aggregation queries.
*/ inline void SetAggregateColumns(Aws::VectorThe columns that query runners are allowed to use in aggregation queries.
*/ inline AnalysisRuleAggregation& WithAggregateColumns(const Aws::VectorThe columns that query runners are allowed to use in aggregation queries.
*/ inline AnalysisRuleAggregation& WithAggregateColumns(Aws::VectorThe columns that query runners are allowed to use in aggregation queries.
*/ inline AnalysisRuleAggregation& AddAggregateColumns(const AggregateColumn& value) { m_aggregateColumnsHasBeenSet = true; m_aggregateColumns.push_back(value); return *this; } /** *The columns that query runners are allowed to use in aggregation queries.
*/ inline AnalysisRuleAggregation& AddAggregateColumns(AggregateColumn&& value) { m_aggregateColumnsHasBeenSet = true; m_aggregateColumns.push_back(std::move(value)); return *this; } /** *Columns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline const Aws::VectorColumns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline bool JoinColumnsHasBeenSet() const { return m_joinColumnsHasBeenSet; } /** *Columns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline void SetJoinColumns(const Aws::VectorColumns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline void SetJoinColumns(Aws::VectorColumns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline AnalysisRuleAggregation& WithJoinColumns(const Aws::VectorColumns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline AnalysisRuleAggregation& WithJoinColumns(Aws::VectorColumns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline AnalysisRuleAggregation& AddJoinColumns(const Aws::String& value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(value); return *this; } /** *Columns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline AnalysisRuleAggregation& AddJoinColumns(Aws::String&& value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(std::move(value)); return *this; } /** *Columns in configured table that can be used in join statements and/or as * aggregate columns. They can never be outputted directly.
*/ inline AnalysisRuleAggregation& AddJoinColumns(const char* value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(value); return *this; } /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline const JoinRequiredOption& GetJoinRequired() const{ return m_joinRequired; } /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline bool JoinRequiredHasBeenSet() const { return m_joinRequiredHasBeenSet; } /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline void SetJoinRequired(const JoinRequiredOption& value) { m_joinRequiredHasBeenSet = true; m_joinRequired = value; } /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline void SetJoinRequired(JoinRequiredOption&& value) { m_joinRequiredHasBeenSet = true; m_joinRequired = std::move(value); } /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline AnalysisRuleAggregation& WithJoinRequired(const JoinRequiredOption& value) { SetJoinRequired(value); return *this;} /** *Control that requires member who runs query to do a join with their * configured table and/or other configured table in query.
*/ inline AnalysisRuleAggregation& WithJoinRequired(JoinRequiredOption&& value) { SetJoinRequired(std::move(value)); return *this;} /** *Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
Which logical operators (if any) are to be used in an INNER JOIN match
* condition. Default is AND
.
The columns that query runners are allowed to select, group by, or filter * by.
*/ inline const Aws::VectorThe columns that query runners are allowed to select, group by, or filter * by.
*/ inline bool DimensionColumnsHasBeenSet() const { return m_dimensionColumnsHasBeenSet; } /** *The columns that query runners are allowed to select, group by, or filter * by.
*/ inline void SetDimensionColumns(const Aws::VectorThe columns that query runners are allowed to select, group by, or filter * by.
*/ inline void SetDimensionColumns(Aws::VectorThe columns that query runners are allowed to select, group by, or filter * by.
*/ inline AnalysisRuleAggregation& WithDimensionColumns(const Aws::VectorThe columns that query runners are allowed to select, group by, or filter * by.
*/ inline AnalysisRuleAggregation& WithDimensionColumns(Aws::VectorThe columns that query runners are allowed to select, group by, or filter * by.
*/ inline AnalysisRuleAggregation& AddDimensionColumns(const Aws::String& value) { m_dimensionColumnsHasBeenSet = true; m_dimensionColumns.push_back(value); return *this; } /** *The columns that query runners are allowed to select, group by, or filter * by.
*/ inline AnalysisRuleAggregation& AddDimensionColumns(Aws::String&& value) { m_dimensionColumnsHasBeenSet = true; m_dimensionColumns.push_back(std::move(value)); return *this; } /** *The columns that query runners are allowed to select, group by, or filter * by.
*/ inline AnalysisRuleAggregation& AddDimensionColumns(const char* value) { m_dimensionColumnsHasBeenSet = true; m_dimensionColumns.push_back(value); return *this; } /** *Set of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline const Aws::VectorSet of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline bool ScalarFunctionsHasBeenSet() const { return m_scalarFunctionsHasBeenSet; } /** *Set of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline void SetScalarFunctions(const Aws::VectorSet of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline void SetScalarFunctions(Aws::VectorSet of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline AnalysisRuleAggregation& WithScalarFunctions(const Aws::VectorSet of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline AnalysisRuleAggregation& WithScalarFunctions(Aws::VectorSet of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline AnalysisRuleAggregation& AddScalarFunctions(const ScalarFunctions& value) { m_scalarFunctionsHasBeenSet = true; m_scalarFunctions.push_back(value); return *this; } /** *Set of scalar functions that are allowed to be used on dimension columns and * the output of aggregation of metrics.
*/ inline AnalysisRuleAggregation& AddScalarFunctions(ScalarFunctions&& value) { m_scalarFunctionsHasBeenSet = true; m_scalarFunctions.push_back(std::move(value)); return *this; } /** *Columns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline const Aws::VectorColumns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline bool OutputConstraintsHasBeenSet() const { return m_outputConstraintsHasBeenSet; } /** *Columns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline void SetOutputConstraints(const Aws::VectorColumns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline void SetOutputConstraints(Aws::VectorColumns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline AnalysisRuleAggregation& WithOutputConstraints(const Aws::VectorColumns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline AnalysisRuleAggregation& WithOutputConstraints(Aws::VectorColumns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline AnalysisRuleAggregation& AddOutputConstraints(const AggregationConstraint& value) { m_outputConstraintsHasBeenSet = true; m_outputConstraints.push_back(value); return *this; } /** *Columns that must meet a specific threshold value (after an aggregation * function is applied to it) for each output row to be returned.
*/ inline AnalysisRuleAggregation& AddOutputConstraints(AggregationConstraint&& value) { m_outputConstraintsHasBeenSet = true; m_outputConstraints.push_back(std::move(value)); return *this; } private: Aws::Vector