/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3 { namespace Model { /** *

Describes how uncompressed comma-separated values (CSV)-formatted results are * formatted.

See Also:

AWS API * Reference

*/ class AWS_S3_API CSVOutput { public: CSVOutput(); CSVOutput(const Aws::Utils::Xml::XmlNode& xmlNode); CSVOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline const QuoteFields& GetQuoteFields() const{ return m_quoteFields; } /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline bool QuoteFieldsHasBeenSet() const { return m_quoteFieldsHasBeenSet; } /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline void SetQuoteFields(const QuoteFields& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = value; } /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline void SetQuoteFields(QuoteFields&& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = std::move(value); } /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline CSVOutput& WithQuoteFields(const QuoteFields& value) { SetQuoteFields(value); return *this;} /** *

Indicates whether to use quotation marks around output fields.

  • *

    ALWAYS: Always use quotation marks for output fields.

  • *
  • ASNEEDED: Use quotation marks for output fields when * needed.

*/ inline CSVOutput& WithQuoteFields(QuoteFields&& value) { SetQuoteFields(std::move(value)); return *this;} /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; } /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; } /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; } /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); } /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); } /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline CSVOutput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;} /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline CSVOutput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;} /** *

The single character used for escaping the quote character inside an already * escaped value.

*/ inline CSVOutput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;} /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; } /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; } /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; } /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); } /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); } /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline CSVOutput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;} /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline CSVOutput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;} /** *

A single character used to separate individual records in the output. Instead * of the default value, you can specify an arbitrary delimiter.

*/ inline CSVOutput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;} /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline const Aws::String& GetFieldDelimiter() const{ return m_fieldDelimiter; } /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline bool FieldDelimiterHasBeenSet() const { return m_fieldDelimiterHasBeenSet; } /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline void SetFieldDelimiter(const Aws::String& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = value; } /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline void SetFieldDelimiter(Aws::String&& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = std::move(value); } /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline void SetFieldDelimiter(const char* value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter.assign(value); } /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline CSVOutput& WithFieldDelimiter(const Aws::String& value) { SetFieldDelimiter(value); return *this;} /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline CSVOutput& WithFieldDelimiter(Aws::String&& value) { SetFieldDelimiter(std::move(value)); return *this;} /** *

The value used to separate individual fields in a record. You can specify an * arbitrary delimiter.

*/ inline CSVOutput& WithFieldDelimiter(const char* value) { SetFieldDelimiter(value); return *this;} /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline const Aws::String& GetQuoteCharacter() const{ return m_quoteCharacter; } /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline bool QuoteCharacterHasBeenSet() const { return m_quoteCharacterHasBeenSet; } /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline void SetQuoteCharacter(const Aws::String& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = value; } /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline void SetQuoteCharacter(Aws::String&& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = std::move(value); } /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline void SetQuoteCharacter(const char* value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter.assign(value); } /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline CSVOutput& WithQuoteCharacter(const Aws::String& value) { SetQuoteCharacter(value); return *this;} /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline CSVOutput& WithQuoteCharacter(Aws::String&& value) { SetQuoteCharacter(std::move(value)); return *this;} /** *

A single character used for escaping when the field delimiter is part of the * value. For example, if the value is a, b, Amazon S3 wraps this * field value in quotation marks, as follows: " a , b ".

*/ inline CSVOutput& WithQuoteCharacter(const char* value) { SetQuoteCharacter(value); return *this;} private: QuoteFields m_quoteFields; bool m_quoteFieldsHasBeenSet; Aws::String m_quoteEscapeCharacter; bool m_quoteEscapeCharacterHasBeenSet; Aws::String m_recordDelimiter; bool m_recordDelimiterHasBeenSet; Aws::String m_fieldDelimiter; bool m_fieldDelimiterHasBeenSet; Aws::String m_quoteCharacter; bool m_quoteCharacterHasBeenSet; }; } // namespace Model } // namespace S3 } // namespace Aws