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

A classifier for custom CSV content.

See Also:

* AWS * API Reference

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

The name of the classifier.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the classifier.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the classifier.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the classifier.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the classifier.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the classifier.

*/ inline CsvClassifier& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the classifier.

*/ inline CsvClassifier& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the classifier.

*/ inline CsvClassifier& WithName(const char* value) { SetName(value); return *this;} /** *

The time that this classifier was registered.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time that this classifier was registered.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time that this classifier was registered.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time that this classifier was registered.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time that this classifier was registered.

*/ inline CsvClassifier& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time that this classifier was registered.

*/ inline CsvClassifier& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The time that this classifier was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *

The time that this classifier was last updated.

*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *

The time that this classifier was last updated.

*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *

The time that this classifier was last updated.

*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *

The time that this classifier was last updated.

*/ inline CsvClassifier& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *

The time that this classifier was last updated.

*/ inline CsvClassifier& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} /** *

The version of this classifier.

*/ inline long long GetVersion() const{ return m_version; } /** *

The version of this classifier.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version of this classifier.

*/ inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version of this classifier.

*/ inline CsvClassifier& WithVersion(long long value) { SetVersion(value); return *this;} /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline const Aws::String& GetDelimiter() const{ return m_delimiter; } /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline CsvClassifier& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline CsvClassifier& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} /** *

A custom symbol to denote what separates each column entry in the row.

*/ inline CsvClassifier& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline const Aws::String& GetQuoteSymbol() const{ return m_quoteSymbol; } /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline bool QuoteSymbolHasBeenSet() const { return m_quoteSymbolHasBeenSet; } /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline void SetQuoteSymbol(const Aws::String& value) { m_quoteSymbolHasBeenSet = true; m_quoteSymbol = value; } /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline void SetQuoteSymbol(Aws::String&& value) { m_quoteSymbolHasBeenSet = true; m_quoteSymbol = std::move(value); } /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline void SetQuoteSymbol(const char* value) { m_quoteSymbolHasBeenSet = true; m_quoteSymbol.assign(value); } /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline CsvClassifier& WithQuoteSymbol(const Aws::String& value) { SetQuoteSymbol(value); return *this;} /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline CsvClassifier& WithQuoteSymbol(Aws::String&& value) { SetQuoteSymbol(std::move(value)); return *this;} /** *

A custom symbol to denote what combines content into a single column value. * It must be different from the column delimiter.

*/ inline CsvClassifier& WithQuoteSymbol(const char* value) { SetQuoteSymbol(value); return *this;} /** *

Indicates whether the CSV file contains a header.

*/ inline const CsvHeaderOption& GetContainsHeader() const{ return m_containsHeader; } /** *

Indicates whether the CSV file contains a header.

*/ inline bool ContainsHeaderHasBeenSet() const { return m_containsHeaderHasBeenSet; } /** *

Indicates whether the CSV file contains a header.

*/ inline void SetContainsHeader(const CsvHeaderOption& value) { m_containsHeaderHasBeenSet = true; m_containsHeader = value; } /** *

Indicates whether the CSV file contains a header.

*/ inline void SetContainsHeader(CsvHeaderOption&& value) { m_containsHeaderHasBeenSet = true; m_containsHeader = std::move(value); } /** *

Indicates whether the CSV file contains a header.

*/ inline CsvClassifier& WithContainsHeader(const CsvHeaderOption& value) { SetContainsHeader(value); return *this;} /** *

Indicates whether the CSV file contains a header.

*/ inline CsvClassifier& WithContainsHeader(CsvHeaderOption&& value) { SetContainsHeader(std::move(value)); return *this;} /** *

A list of strings representing column names.

*/ inline const Aws::Vector& GetHeader() const{ return m_header; } /** *

A list of strings representing column names.

*/ inline bool HeaderHasBeenSet() const { return m_headerHasBeenSet; } /** *

A list of strings representing column names.

*/ inline void SetHeader(const Aws::Vector& value) { m_headerHasBeenSet = true; m_header = value; } /** *

A list of strings representing column names.

*/ inline void SetHeader(Aws::Vector&& value) { m_headerHasBeenSet = true; m_header = std::move(value); } /** *

A list of strings representing column names.

*/ inline CsvClassifier& WithHeader(const Aws::Vector& value) { SetHeader(value); return *this;} /** *

A list of strings representing column names.

*/ inline CsvClassifier& WithHeader(Aws::Vector&& value) { SetHeader(std::move(value)); return *this;} /** *

A list of strings representing column names.

*/ inline CsvClassifier& AddHeader(const Aws::String& value) { m_headerHasBeenSet = true; m_header.push_back(value); return *this; } /** *

A list of strings representing column names.

*/ inline CsvClassifier& AddHeader(Aws::String&& value) { m_headerHasBeenSet = true; m_header.push_back(std::move(value)); return *this; } /** *

A list of strings representing column names.

*/ inline CsvClassifier& AddHeader(const char* value) { m_headerHasBeenSet = true; m_header.push_back(value); return *this; } /** *

Specifies not to trim values before identifying the type of column values. * The default value is true.

*/ inline bool GetDisableValueTrimming() const{ return m_disableValueTrimming; } /** *

Specifies not to trim values before identifying the type of column values. * The default value is true.

*/ inline bool DisableValueTrimmingHasBeenSet() const { return m_disableValueTrimmingHasBeenSet; } /** *

Specifies not to trim values before identifying the type of column values. * The default value is true.

*/ inline void SetDisableValueTrimming(bool value) { m_disableValueTrimmingHasBeenSet = true; m_disableValueTrimming = value; } /** *

Specifies not to trim values before identifying the type of column values. * The default value is true.

*/ inline CsvClassifier& WithDisableValueTrimming(bool value) { SetDisableValueTrimming(value); return *this;} /** *

Enables the processing of files that contain only one column.

*/ inline bool GetAllowSingleColumn() const{ return m_allowSingleColumn; } /** *

Enables the processing of files that contain only one column.

*/ inline bool AllowSingleColumnHasBeenSet() const { return m_allowSingleColumnHasBeenSet; } /** *

Enables the processing of files that contain only one column.

*/ inline void SetAllowSingleColumn(bool value) { m_allowSingleColumnHasBeenSet = true; m_allowSingleColumn = value; } /** *

Enables the processing of files that contain only one column.

*/ inline CsvClassifier& WithAllowSingleColumn(bool value) { SetAllowSingleColumn(value); return *this;} /** *

Enables the custom datatype to be configured.

*/ inline bool GetCustomDatatypeConfigured() const{ return m_customDatatypeConfigured; } /** *

Enables the custom datatype to be configured.

*/ inline bool CustomDatatypeConfiguredHasBeenSet() const { return m_customDatatypeConfiguredHasBeenSet; } /** *

Enables the custom datatype to be configured.

*/ inline void SetCustomDatatypeConfigured(bool value) { m_customDatatypeConfiguredHasBeenSet = true; m_customDatatypeConfigured = value; } /** *

Enables the custom datatype to be configured.

*/ inline CsvClassifier& WithCustomDatatypeConfigured(bool value) { SetCustomDatatypeConfigured(value); return *this;} /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline const Aws::Vector& GetCustomDatatypes() const{ return m_customDatatypes; } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline bool CustomDatatypesHasBeenSet() const { return m_customDatatypesHasBeenSet; } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline void SetCustomDatatypes(const Aws::Vector& value) { m_customDatatypesHasBeenSet = true; m_customDatatypes = value; } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline void SetCustomDatatypes(Aws::Vector&& value) { m_customDatatypesHasBeenSet = true; m_customDatatypes = std::move(value); } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline CsvClassifier& WithCustomDatatypes(const Aws::Vector& value) { SetCustomDatatypes(value); return *this;} /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline CsvClassifier& WithCustomDatatypes(Aws::Vector&& value) { SetCustomDatatypes(std::move(value)); return *this;} /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline CsvClassifier& AddCustomDatatypes(const Aws::String& value) { m_customDatatypesHasBeenSet = true; m_customDatatypes.push_back(value); return *this; } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline CsvClassifier& AddCustomDatatypes(Aws::String&& value) { m_customDatatypesHasBeenSet = true; m_customDatatypes.push_back(std::move(value)); return *this; } /** *

A list of custom datatypes including "BINARY", "BOOLEAN", "DATE", "DECIMAL", * "DOUBLE", "FLOAT", "INT", "LONG", "SHORT", "STRING", "TIMESTAMP".

*/ inline CsvClassifier& AddCustomDatatypes(const char* value) { m_customDatatypesHasBeenSet = true; m_customDatatypes.push_back(value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; long long m_version; bool m_versionHasBeenSet = false; Aws::String m_delimiter; bool m_delimiterHasBeenSet = false; Aws::String m_quoteSymbol; bool m_quoteSymbolHasBeenSet = false; CsvHeaderOption m_containsHeader; bool m_containsHeaderHasBeenSet = false; Aws::Vector m_header; bool m_headerHasBeenSet = false; bool m_disableValueTrimming; bool m_disableValueTrimmingHasBeenSet = false; bool m_allowSingleColumn; bool m_allowSingleColumnHasBeenSet = false; bool m_customDatatypeConfigured; bool m_customDatatypeConfiguredHasBeenSet = false; Aws::Vector m_customDatatypes; bool m_customDatatypesHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws