/** * 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 { /** *

Specifies a custom CSV classifier for CreateClassifier to * create.

See Also:

AWS * API Reference

*/ class CreateCsvClassifierRequest { public: AWS_GLUE_API CreateCsvClassifierRequest(); AWS_GLUE_API CreateCsvClassifierRequest(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API CreateCsvClassifierRequest& 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 CreateCsvClassifierRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the classifier.

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

The name of the classifier.

*/ inline CreateCsvClassifierRequest& WithName(const char* value) { SetName(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 CreateCsvClassifierRequest& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} /** *

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

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

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

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

A custom symbol to denote what combines content into a single column value. * 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. * 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. * 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. * 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. * 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. * Must be different from the column delimiter.

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

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

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

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

*/ inline CreateCsvClassifierRequest& 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 CreateCsvClassifierRequest& WithContainsHeader(const CsvHeaderOption& value) { SetContainsHeader(value); return *this;} /** *

Indicates whether the CSV file contains a header.

*/ inline CreateCsvClassifierRequest& 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 CreateCsvClassifierRequest& WithHeader(const Aws::Vector& value) { SetHeader(value); return *this;} /** *

A list of strings representing column names.

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

A list of strings representing column names.

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

A list of strings representing column names.

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

A list of strings representing column names.

*/ inline CreateCsvClassifierRequest& 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 CreateCsvClassifierRequest& 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 CreateCsvClassifierRequest& WithAllowSingleColumn(bool value) { SetAllowSingleColumn(value); return *this;} /** *

Enables the configuration of custom datatypes.

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

Enables the configuration of custom datatypes.

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

Enables the configuration of custom datatypes.

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

Enables the configuration of custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

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

Creates a list of supported custom datatypes.

*/ inline CreateCsvClassifierRequest& AddCustomDatatypes(const char* value) { m_customDatatypesHasBeenSet = true; m_customDatatypes.push_back(value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = 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