/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CleanRooms { namespace Model { /** *

Column in configured table that can be used in aggregate function in * query.

See Also:

AWS * API Reference

*/ class AggregateColumn { public: AWS_CLEANROOMS_API AggregateColumn(); AWS_CLEANROOMS_API AggregateColumn(Aws::Utils::Json::JsonView jsonValue); AWS_CLEANROOMS_API AggregateColumn& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Column names in configured table of aggregate columns.

*/ inline const Aws::Vector& GetColumnNames() const{ return m_columnNames; } /** *

Column names in configured table of aggregate columns.

*/ inline bool ColumnNamesHasBeenSet() const { return m_columnNamesHasBeenSet; } /** *

Column names in configured table of aggregate columns.

*/ inline void SetColumnNames(const Aws::Vector& value) { m_columnNamesHasBeenSet = true; m_columnNames = value; } /** *

Column names in configured table of aggregate columns.

*/ inline void SetColumnNames(Aws::Vector&& value) { m_columnNamesHasBeenSet = true; m_columnNames = std::move(value); } /** *

Column names in configured table of aggregate columns.

*/ inline AggregateColumn& WithColumnNames(const Aws::Vector& value) { SetColumnNames(value); return *this;} /** *

Column names in configured table of aggregate columns.

*/ inline AggregateColumn& WithColumnNames(Aws::Vector&& value) { SetColumnNames(std::move(value)); return *this;} /** *

Column names in configured table of aggregate columns.

*/ inline AggregateColumn& AddColumnNames(const Aws::String& value) { m_columnNamesHasBeenSet = true; m_columnNames.push_back(value); return *this; } /** *

Column names in configured table of aggregate columns.

*/ inline AggregateColumn& AddColumnNames(Aws::String&& value) { m_columnNamesHasBeenSet = true; m_columnNames.push_back(std::move(value)); return *this; } /** *

Column names in configured table of aggregate columns.

*/ inline AggregateColumn& AddColumnNames(const char* value) { m_columnNamesHasBeenSet = true; m_columnNames.push_back(value); return *this; } /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline const AggregateFunctionName& GetFunction() const{ return m_function; } /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline bool FunctionHasBeenSet() const { return m_functionHasBeenSet; } /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline void SetFunction(const AggregateFunctionName& value) { m_functionHasBeenSet = true; m_function = value; } /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline void SetFunction(AggregateFunctionName&& value) { m_functionHasBeenSet = true; m_function = std::move(value); } /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline AggregateColumn& WithFunction(const AggregateFunctionName& value) { SetFunction(value); return *this;} /** *

Aggregation function that can be applied to aggregate column in query.

*/ inline AggregateColumn& WithFunction(AggregateFunctionName&& value) { SetFunction(std::move(value)); return *this;} private: Aws::Vector m_columnNames; bool m_columnNamesHasBeenSet = false; AggregateFunctionName m_function; bool m_functionHasBeenSet = false; }; } // namespace Model } // namespace CleanRooms } // namespace Aws