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

Represents options that specify how and where in Amazon S3 DataBrew writes * the output generated by recipe jobs or profile jobs.

See Also:

* AWS * API Reference

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

The compression algorithm used to compress the output text of the job.

*/ inline const CompressionFormat& GetCompressionFormat() const{ return m_compressionFormat; } /** *

The compression algorithm used to compress the output text of the job.

*/ inline bool CompressionFormatHasBeenSet() const { return m_compressionFormatHasBeenSet; } /** *

The compression algorithm used to compress the output text of the job.

*/ inline void SetCompressionFormat(const CompressionFormat& value) { m_compressionFormatHasBeenSet = true; m_compressionFormat = value; } /** *

The compression algorithm used to compress the output text of the job.

*/ inline void SetCompressionFormat(CompressionFormat&& value) { m_compressionFormatHasBeenSet = true; m_compressionFormat = std::move(value); } /** *

The compression algorithm used to compress the output text of the job.

*/ inline Output& WithCompressionFormat(const CompressionFormat& value) { SetCompressionFormat(value); return *this;} /** *

The compression algorithm used to compress the output text of the job.

*/ inline Output& WithCompressionFormat(CompressionFormat&& value) { SetCompressionFormat(std::move(value)); return *this;} /** *

The data format of the output of the job.

*/ inline const OutputFormat& GetFormat() const{ return m_format; } /** *

The data format of the output of the job.

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

The data format of the output of the job.

*/ inline void SetFormat(const OutputFormat& value) { m_formatHasBeenSet = true; m_format = value; } /** *

The data format of the output of the job.

*/ inline void SetFormat(OutputFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

The data format of the output of the job.

*/ inline Output& WithFormat(const OutputFormat& value) { SetFormat(value); return *this;} /** *

The data format of the output of the job.

*/ inline Output& WithFormat(OutputFormat&& value) { SetFormat(std::move(value)); return *this;} /** *

The names of one or more partition columns for the output of the job.

*/ inline const Aws::Vector& GetPartitionColumns() const{ return m_partitionColumns; } /** *

The names of one or more partition columns for the output of the job.

*/ inline bool PartitionColumnsHasBeenSet() const { return m_partitionColumnsHasBeenSet; } /** *

The names of one or more partition columns for the output of the job.

*/ inline void SetPartitionColumns(const Aws::Vector& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns = value; } /** *

The names of one or more partition columns for the output of the job.

*/ inline void SetPartitionColumns(Aws::Vector&& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns = std::move(value); } /** *

The names of one or more partition columns for the output of the job.

*/ inline Output& WithPartitionColumns(const Aws::Vector& value) { SetPartitionColumns(value); return *this;} /** *

The names of one or more partition columns for the output of the job.

*/ inline Output& WithPartitionColumns(Aws::Vector&& value) { SetPartitionColumns(std::move(value)); return *this;} /** *

The names of one or more partition columns for the output of the job.

*/ inline Output& AddPartitionColumns(const Aws::String& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(value); return *this; } /** *

The names of one or more partition columns for the output of the job.

*/ inline Output& AddPartitionColumns(Aws::String&& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(std::move(value)); return *this; } /** *

The names of one or more partition columns for the output of the job.

*/ inline Output& AddPartitionColumns(const char* value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(value); return *this; } /** *

The location in Amazon S3 where the job writes its output.

*/ inline const S3Location& GetLocation() const{ return m_location; } /** *

The location in Amazon S3 where the job writes its output.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The location in Amazon S3 where the job writes its output.

*/ inline void SetLocation(const S3Location& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The location in Amazon S3 where the job writes its output.

*/ inline void SetLocation(S3Location&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The location in Amazon S3 where the job writes its output.

*/ inline Output& WithLocation(const S3Location& value) { SetLocation(value); return *this;} /** *

The location in Amazon S3 where the job writes its output.

*/ inline Output& WithLocation(S3Location&& value) { SetLocation(std::move(value)); return *this;} /** *

A value that, if true, means that any data in the location specified for * output is overwritten with new output.

*/ inline bool GetOverwrite() const{ return m_overwrite; } /** *

A value that, if true, means that any data in the location specified for * output is overwritten with new output.

*/ inline bool OverwriteHasBeenSet() const { return m_overwriteHasBeenSet; } /** *

A value that, if true, means that any data in the location specified for * output is overwritten with new output.

*/ inline void SetOverwrite(bool value) { m_overwriteHasBeenSet = true; m_overwrite = value; } /** *

A value that, if true, means that any data in the location specified for * output is overwritten with new output.

*/ inline Output& WithOverwrite(bool value) { SetOverwrite(value); return *this;} /** *

Represents options that define how DataBrew formats job output files.

*/ inline const OutputFormatOptions& GetFormatOptions() const{ return m_formatOptions; } /** *

Represents options that define how DataBrew formats job output files.

*/ inline bool FormatOptionsHasBeenSet() const { return m_formatOptionsHasBeenSet; } /** *

Represents options that define how DataBrew formats job output files.

*/ inline void SetFormatOptions(const OutputFormatOptions& value) { m_formatOptionsHasBeenSet = true; m_formatOptions = value; } /** *

Represents options that define how DataBrew formats job output files.

*/ inline void SetFormatOptions(OutputFormatOptions&& value) { m_formatOptionsHasBeenSet = true; m_formatOptions = std::move(value); } /** *

Represents options that define how DataBrew formats job output files.

*/ inline Output& WithFormatOptions(const OutputFormatOptions& value) { SetFormatOptions(value); return *this;} /** *

Represents options that define how DataBrew formats job output files.

*/ inline Output& WithFormatOptions(OutputFormatOptions&& value) { SetFormatOptions(std::move(value)); return *this;} /** *

Maximum number of files to be generated by the job and written to the output * folder. For output partitioned by column(s), the MaxOutputFiles value is the * maximum number of files per partition.

*/ inline int GetMaxOutputFiles() const{ return m_maxOutputFiles; } /** *

Maximum number of files to be generated by the job and written to the output * folder. For output partitioned by column(s), the MaxOutputFiles value is the * maximum number of files per partition.

*/ inline bool MaxOutputFilesHasBeenSet() const { return m_maxOutputFilesHasBeenSet; } /** *

Maximum number of files to be generated by the job and written to the output * folder. For output partitioned by column(s), the MaxOutputFiles value is the * maximum number of files per partition.

*/ inline void SetMaxOutputFiles(int value) { m_maxOutputFilesHasBeenSet = true; m_maxOutputFiles = value; } /** *

Maximum number of files to be generated by the job and written to the output * folder. For output partitioned by column(s), the MaxOutputFiles value is the * maximum number of files per partition.

*/ inline Output& WithMaxOutputFiles(int value) { SetMaxOutputFiles(value); return *this;} private: CompressionFormat m_compressionFormat; bool m_compressionFormatHasBeenSet = false; OutputFormat m_format; bool m_formatHasBeenSet = false; Aws::Vector m_partitionColumns; bool m_partitionColumnsHasBeenSet = false; S3Location m_location; bool m_locationHasBeenSet = false; bool m_overwrite; bool m_overwriteHasBeenSet = false; OutputFormatOptions m_formatOptions; bool m_formatOptionsHasBeenSet = false; int m_maxOutputFiles; bool m_maxOutputFilesHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws