
commonMain.aws.sdk.kotlin.services.databrew.model.Output.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.databrew.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Represents options that specify how and where in Amazon S3 DataBrew writes the output generated by recipe jobs or profile jobs.
*/
public class Output private constructor(builder: Builder) {
/**
* The compression algorithm used to compress the output text of the job.
*/
public val compressionFormat: aws.sdk.kotlin.services.databrew.model.CompressionFormat? = builder.compressionFormat
/**
* The data format of the output of the job.
*/
public val format: aws.sdk.kotlin.services.databrew.model.OutputFormat? = builder.format
/**
* Represents options that define how DataBrew formats job output files.
*/
public val formatOptions: aws.sdk.kotlin.services.databrew.model.OutputFormatOptions? = builder.formatOptions
/**
* The location in Amazon S3 where the job writes its output.
*/
public val location: aws.sdk.kotlin.services.databrew.model.S3Location? = builder.location
/**
* 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.
*/
public val maxOutputFiles: kotlin.Int? = builder.maxOutputFiles
/**
* A value that, if true, means that any data in the location specified for output is overwritten with new output.
*/
public val overwrite: kotlin.Boolean = builder.overwrite
/**
* The names of one or more partition columns for the output of the job.
*/
public val partitionColumns: List? = builder.partitionColumns
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.databrew.model.Output = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Output(")
append("compressionFormat=$compressionFormat,")
append("format=$format,")
append("formatOptions=$formatOptions,")
append("location=$location,")
append("maxOutputFiles=$maxOutputFiles,")
append("overwrite=$overwrite,")
append("partitionColumns=$partitionColumns")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = compressionFormat?.hashCode() ?: 0
result = 31 * result + (format?.hashCode() ?: 0)
result = 31 * result + (formatOptions?.hashCode() ?: 0)
result = 31 * result + (location?.hashCode() ?: 0)
result = 31 * result + (maxOutputFiles ?: 0)
result = 31 * result + (overwrite.hashCode())
result = 31 * result + (partitionColumns?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as Output
if (compressionFormat != other.compressionFormat) return false
if (format != other.format) return false
if (formatOptions != other.formatOptions) return false
if (location != other.location) return false
if (maxOutputFiles != other.maxOutputFiles) return false
if (overwrite != other.overwrite) return false
if (partitionColumns != other.partitionColumns) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.databrew.model.Output = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The compression algorithm used to compress the output text of the job.
*/
public var compressionFormat: aws.sdk.kotlin.services.databrew.model.CompressionFormat? = null
/**
* The data format of the output of the job.
*/
public var format: aws.sdk.kotlin.services.databrew.model.OutputFormat? = null
/**
* Represents options that define how DataBrew formats job output files.
*/
public var formatOptions: aws.sdk.kotlin.services.databrew.model.OutputFormatOptions? = null
/**
* The location in Amazon S3 where the job writes its output.
*/
public var location: aws.sdk.kotlin.services.databrew.model.S3Location? = null
/**
* 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.
*/
public var maxOutputFiles: kotlin.Int? = null
/**
* A value that, if true, means that any data in the location specified for output is overwritten with new output.
*/
public var overwrite: kotlin.Boolean = false
/**
* The names of one or more partition columns for the output of the job.
*/
public var partitionColumns: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.databrew.model.Output) : this() {
this.compressionFormat = x.compressionFormat
this.format = x.format
this.formatOptions = x.formatOptions
this.location = x.location
this.maxOutputFiles = x.maxOutputFiles
this.overwrite = x.overwrite
this.partitionColumns = x.partitionColumns
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.databrew.model.Output = Output(this)
/**
* construct an [aws.sdk.kotlin.services.databrew.model.OutputFormatOptions] inside the given [block]
*/
public fun formatOptions(block: aws.sdk.kotlin.services.databrew.model.OutputFormatOptions.Builder.() -> kotlin.Unit) {
this.formatOptions = aws.sdk.kotlin.services.databrew.model.OutputFormatOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.databrew.model.S3Location] inside the given [block]
*/
public fun location(block: aws.sdk.kotlin.services.databrew.model.S3Location.Builder.() -> kotlin.Unit) {
this.location = aws.sdk.kotlin.services.databrew.model.S3Location.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy