/** * 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 Glue { namespace Model { /** *

Represents the generated column-level statistics for a table or * partition.

See Also:

AWS * API Reference

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

Name of column which statistics belong to.

*/ inline const Aws::String& GetColumnName() const{ return m_columnName; } /** *

Name of column which statistics belong to.

*/ inline bool ColumnNameHasBeenSet() const { return m_columnNameHasBeenSet; } /** *

Name of column which statistics belong to.

*/ inline void SetColumnName(const Aws::String& value) { m_columnNameHasBeenSet = true; m_columnName = value; } /** *

Name of column which statistics belong to.

*/ inline void SetColumnName(Aws::String&& value) { m_columnNameHasBeenSet = true; m_columnName = std::move(value); } /** *

Name of column which statistics belong to.

*/ inline void SetColumnName(const char* value) { m_columnNameHasBeenSet = true; m_columnName.assign(value); } /** *

Name of column which statistics belong to.

*/ inline ColumnStatistics& WithColumnName(const Aws::String& value) { SetColumnName(value); return *this;} /** *

Name of column which statistics belong to.

*/ inline ColumnStatistics& WithColumnName(Aws::String&& value) { SetColumnName(std::move(value)); return *this;} /** *

Name of column which statistics belong to.

*/ inline ColumnStatistics& WithColumnName(const char* value) { SetColumnName(value); return *this;} /** *

The data type of the column.

*/ inline const Aws::String& GetColumnType() const{ return m_columnType; } /** *

The data type of the column.

*/ inline bool ColumnTypeHasBeenSet() const { return m_columnTypeHasBeenSet; } /** *

The data type of the column.

*/ inline void SetColumnType(const Aws::String& value) { m_columnTypeHasBeenSet = true; m_columnType = value; } /** *

The data type of the column.

*/ inline void SetColumnType(Aws::String&& value) { m_columnTypeHasBeenSet = true; m_columnType = std::move(value); } /** *

The data type of the column.

*/ inline void SetColumnType(const char* value) { m_columnTypeHasBeenSet = true; m_columnType.assign(value); } /** *

The data type of the column.

*/ inline ColumnStatistics& WithColumnType(const Aws::String& value) { SetColumnType(value); return *this;} /** *

The data type of the column.

*/ inline ColumnStatistics& WithColumnType(Aws::String&& value) { SetColumnType(std::move(value)); return *this;} /** *

The data type of the column.

*/ inline ColumnStatistics& WithColumnType(const char* value) { SetColumnType(value); return *this;} /** *

The timestamp of when column statistics were generated.

*/ inline const Aws::Utils::DateTime& GetAnalyzedTime() const{ return m_analyzedTime; } /** *

The timestamp of when column statistics were generated.

*/ inline bool AnalyzedTimeHasBeenSet() const { return m_analyzedTimeHasBeenSet; } /** *

The timestamp of when column statistics were generated.

*/ inline void SetAnalyzedTime(const Aws::Utils::DateTime& value) { m_analyzedTimeHasBeenSet = true; m_analyzedTime = value; } /** *

The timestamp of when column statistics were generated.

*/ inline void SetAnalyzedTime(Aws::Utils::DateTime&& value) { m_analyzedTimeHasBeenSet = true; m_analyzedTime = std::move(value); } /** *

The timestamp of when column statistics were generated.

*/ inline ColumnStatistics& WithAnalyzedTime(const Aws::Utils::DateTime& value) { SetAnalyzedTime(value); return *this;} /** *

The timestamp of when column statistics were generated.

*/ inline ColumnStatistics& WithAnalyzedTime(Aws::Utils::DateTime&& value) { SetAnalyzedTime(std::move(value)); return *this;} /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline const ColumnStatisticsData& GetStatisticsData() const{ return m_statisticsData; } /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline bool StatisticsDataHasBeenSet() const { return m_statisticsDataHasBeenSet; } /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline void SetStatisticsData(const ColumnStatisticsData& value) { m_statisticsDataHasBeenSet = true; m_statisticsData = value; } /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline void SetStatisticsData(ColumnStatisticsData&& value) { m_statisticsDataHasBeenSet = true; m_statisticsData = std::move(value); } /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline ColumnStatistics& WithStatisticsData(const ColumnStatisticsData& value) { SetStatisticsData(value); return *this;} /** *

A ColumnStatisticData object that contains the statistics data * values.

*/ inline ColumnStatistics& WithStatisticsData(ColumnStatisticsData&& value) { SetStatisticsData(std::move(value)); return *this;} private: Aws::String m_columnName; bool m_columnNameHasBeenSet = false; Aws::String m_columnType; bool m_columnTypeHasBeenSet = false; Aws::Utils::DateTime m_analyzedTime; bool m_analyzedTimeHasBeenSet = false; ColumnStatisticsData m_statisticsData; bool m_statisticsDataHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws