commonMain.aws.sdk.kotlin.services.glue.model.ColumnStatisticsTaskSettings.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
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The settings for a column statistics task.
*/
public class ColumnStatisticsTaskSettings private constructor(builder: Builder) {
/**
* The ID of the Data Catalog in which the database resides.
*/
public val catalogId: kotlin.String? = builder.catalogId
/**
* A list of column names for which to run statistics.
*/
public val columnNameList: List? = builder.columnNameList
/**
* The name of the database where the table resides.
*/
public val databaseName: kotlin.String? = builder.databaseName
/**
* The last `ExecutionAttempt` for the column statistics task run.
*/
public val lastExecutionAttempt: aws.sdk.kotlin.services.glue.model.ExecutionAttempt? = builder.lastExecutionAttempt
/**
* The role used for running the column statistics.
*/
public val role: kotlin.String? = builder.role
/**
* The percentage of data to sample.
*/
public val sampleSize: kotlin.Double = builder.sampleSize
/**
* A schedule for running the column statistics, specified in CRON syntax.
*/
public val schedule: aws.sdk.kotlin.services.glue.model.Schedule? = builder.schedule
/**
* The type of schedule for a column statistics task. Possible values may be `CRON` or `AUTO`.
*/
public val scheduleType: aws.sdk.kotlin.services.glue.model.ScheduleType? = builder.scheduleType
/**
* Name of the security configuration that is used to encrypt CloudWatch logs.
*/
public val securityConfiguration: kotlin.String? = builder.securityConfiguration
/**
* The source of setting the column statistics task. Possible values may be `CATALOG` or `TABLE`.
*/
public val settingSource: aws.sdk.kotlin.services.glue.model.SettingSource? = builder.settingSource
/**
* The name of the table for which to generate column statistics.
*/
public val tableName: kotlin.String? = builder.tableName
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.ColumnStatisticsTaskSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ColumnStatisticsTaskSettings(")
append("catalogId=$catalogId,")
append("columnNameList=$columnNameList,")
append("databaseName=$databaseName,")
append("lastExecutionAttempt=$lastExecutionAttempt,")
append("role=$role,")
append("sampleSize=$sampleSize,")
append("schedule=$schedule,")
append("scheduleType=$scheduleType,")
append("securityConfiguration=$securityConfiguration,")
append("settingSource=$settingSource,")
append("tableName=$tableName")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = catalogId?.hashCode() ?: 0
result = 31 * result + (columnNameList?.hashCode() ?: 0)
result = 31 * result + (databaseName?.hashCode() ?: 0)
result = 31 * result + (lastExecutionAttempt?.hashCode() ?: 0)
result = 31 * result + (role?.hashCode() ?: 0)
result = 31 * result + (sampleSize.hashCode())
result = 31 * result + (schedule?.hashCode() ?: 0)
result = 31 * result + (scheduleType?.hashCode() ?: 0)
result = 31 * result + (securityConfiguration?.hashCode() ?: 0)
result = 31 * result + (settingSource?.hashCode() ?: 0)
result = 31 * result + (tableName?.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 ColumnStatisticsTaskSettings
if (catalogId != other.catalogId) return false
if (columnNameList != other.columnNameList) return false
if (databaseName != other.databaseName) return false
if (lastExecutionAttempt != other.lastExecutionAttempt) return false
if (role != other.role) return false
if (!(sampleSize?.equals(other.sampleSize) ?: (other.sampleSize == null))) return false
if (schedule != other.schedule) return false
if (scheduleType != other.scheduleType) return false
if (securityConfiguration != other.securityConfiguration) return false
if (settingSource != other.settingSource) return false
if (tableName != other.tableName) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.ColumnStatisticsTaskSettings = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ID of the Data Catalog in which the database resides.
*/
public var catalogId: kotlin.String? = null
/**
* A list of column names for which to run statistics.
*/
public var columnNameList: List? = null
/**
* The name of the database where the table resides.
*/
public var databaseName: kotlin.String? = null
/**
* The last `ExecutionAttempt` for the column statistics task run.
*/
public var lastExecutionAttempt: aws.sdk.kotlin.services.glue.model.ExecutionAttempt? = null
/**
* The role used for running the column statistics.
*/
public var role: kotlin.String? = null
/**
* The percentage of data to sample.
*/
public var sampleSize: kotlin.Double = 0.0
/**
* A schedule for running the column statistics, specified in CRON syntax.
*/
public var schedule: aws.sdk.kotlin.services.glue.model.Schedule? = null
/**
* The type of schedule for a column statistics task. Possible values may be `CRON` or `AUTO`.
*/
public var scheduleType: aws.sdk.kotlin.services.glue.model.ScheduleType? = null
/**
* Name of the security configuration that is used to encrypt CloudWatch logs.
*/
public var securityConfiguration: kotlin.String? = null
/**
* The source of setting the column statistics task. Possible values may be `CATALOG` or `TABLE`.
*/
public var settingSource: aws.sdk.kotlin.services.glue.model.SettingSource? = null
/**
* The name of the table for which to generate column statistics.
*/
public var tableName: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.ColumnStatisticsTaskSettings) : this() {
this.catalogId = x.catalogId
this.columnNameList = x.columnNameList
this.databaseName = x.databaseName
this.lastExecutionAttempt = x.lastExecutionAttempt
this.role = x.role
this.sampleSize = x.sampleSize
this.schedule = x.schedule
this.scheduleType = x.scheduleType
this.securityConfiguration = x.securityConfiguration
this.settingSource = x.settingSource
this.tableName = x.tableName
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.ColumnStatisticsTaskSettings = ColumnStatisticsTaskSettings(this)
/**
* construct an [aws.sdk.kotlin.services.glue.model.ExecutionAttempt] inside the given [block]
*/
public fun lastExecutionAttempt(block: aws.sdk.kotlin.services.glue.model.ExecutionAttempt.Builder.() -> kotlin.Unit) {
this.lastExecutionAttempt = aws.sdk.kotlin.services.glue.model.ExecutionAttempt.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.glue.model.Schedule] inside the given [block]
*/
public fun schedule(block: aws.sdk.kotlin.services.glue.model.Schedule.Builder.() -> kotlin.Unit) {
this.schedule = aws.sdk.kotlin.services.glue.model.Schedule.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy