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

Processing options for the CSV file being imported.

See * Also:

AWS * API Reference

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

The delimiter used for separating items in the CSV file being imported.

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

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline const Aws::Vector& GetHeaderList() const{ return m_headerList; } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline bool HeaderListHasBeenSet() const { return m_headerListHasBeenSet; } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline void SetHeaderList(const Aws::Vector& value) { m_headerListHasBeenSet = true; m_headerList = value; } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline void SetHeaderList(Aws::Vector&& value) { m_headerListHasBeenSet = true; m_headerList = std::move(value); } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline CsvOptions& WithHeaderList(const Aws::Vector& value) { SetHeaderList(value); return *this;} /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline CsvOptions& WithHeaderList(Aws::Vector&& value) { SetHeaderList(std::move(value)); return *this;} /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline CsvOptions& AddHeaderList(const Aws::String& value) { m_headerListHasBeenSet = true; m_headerList.push_back(value); return *this; } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline CsvOptions& AddHeaderList(Aws::String&& value) { m_headerListHasBeenSet = true; m_headerList.push_back(std::move(value)); return *this; } /** *

List of the headers used to specify a common header for all source CSV files * being imported. If this field is specified then the first line of each CSV file * is treated as data instead of the header. If this field is not specified the the * first line of each CSV file is treated as the header.

*/ inline CsvOptions& AddHeaderList(const char* value) { m_headerListHasBeenSet = true; m_headerList.push_back(value); return *this; } private: Aws::String m_delimiter; bool m_delimiterHasBeenSet = false; Aws::Vector m_headerList; bool m_headerListHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws