commonMain.aws.sdk.kotlin.services.glue.model.UpsertRedshiftTargetOptions.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of glue-jvm Show documentation
Show all versions of glue-jvm Show documentation
The AWS SDK for Kotlin client for Glue
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The options to configure an upsert operation when writing to a Redshift target .
*/
public class UpsertRedshiftTargetOptions private constructor(builder: Builder) {
/**
* The name of the connection to use to write to Redshift.
*/
public val connectionName: kotlin.String? = builder.connectionName
/**
* The physical location of the Redshift table.
*/
public val tableLocation: kotlin.String? = builder.tableLocation
/**
* The keys used to determine whether to perform an update or insert.
*/
public val upsertKeys: List? = builder.upsertKeys
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.UpsertRedshiftTargetOptions = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("UpsertRedshiftTargetOptions(")
append("connectionName=$connectionName,")
append("tableLocation=$tableLocation,")
append("upsertKeys=$upsertKeys")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = connectionName?.hashCode() ?: 0
result = 31 * result + (tableLocation?.hashCode() ?: 0)
result = 31 * result + (upsertKeys?.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 UpsertRedshiftTargetOptions
if (connectionName != other.connectionName) return false
if (tableLocation != other.tableLocation) return false
if (upsertKeys != other.upsertKeys) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.UpsertRedshiftTargetOptions = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The name of the connection to use to write to Redshift.
*/
public var connectionName: kotlin.String? = null
/**
* The physical location of the Redshift table.
*/
public var tableLocation: kotlin.String? = null
/**
* The keys used to determine whether to perform an update or insert.
*/
public var upsertKeys: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.UpsertRedshiftTargetOptions) : this() {
this.connectionName = x.connectionName
this.tableLocation = x.tableLocation
this.upsertKeys = x.upsertKeys
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.UpsertRedshiftTargetOptions = UpsertRedshiftTargetOptions(this)
internal fun correctErrors(): Builder {
return this
}
}
}