commonMain.aws.sdk.kotlin.services.athena.model.CreateWorkGroupRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of athena-jvm Show documentation
Show all versions of athena-jvm Show documentation
The AWS SDK for Kotlin client for Athena
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.athena.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateWorkGroupRequest private constructor(builder: Builder) {
/**
* Contains configuration information for creating an Athena SQL workgroup or Spark enabled Athena workgroup. Athena SQL workgroup configuration includes the location in Amazon S3 where query and calculation results are stored, the encryption configuration, if any, used for encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is specified, and whether workgroup's settings (specified with `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration` override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.
*/
public val configuration: aws.sdk.kotlin.services.athena.model.WorkGroupConfiguration? = builder.configuration
/**
* The workgroup description.
*/
public val description: kotlin.String? = builder.description
/**
* The workgroup name.
*/
public val name: kotlin.String? = builder.name
/**
* A list of comma separated tags to add to the workgroup that is created.
*/
public val tags: List? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.athena.model.CreateWorkGroupRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateWorkGroupRequest(")
append("configuration=$configuration,")
append("description=$description,")
append("name=$name,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = configuration?.hashCode() ?: 0
result = 31 * result + (description?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (tags?.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 CreateWorkGroupRequest
if (configuration != other.configuration) return false
if (description != other.description) return false
if (name != other.name) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.athena.model.CreateWorkGroupRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Contains configuration information for creating an Athena SQL workgroup or Spark enabled Athena workgroup. Athena SQL workgroup configuration includes the location in Amazon S3 where query and calculation results are stored, the encryption configuration, if any, used for encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is specified, and whether workgroup's settings (specified with `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration` override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.
*/
public var configuration: aws.sdk.kotlin.services.athena.model.WorkGroupConfiguration? = null
/**
* The workgroup description.
*/
public var description: kotlin.String? = null
/**
* The workgroup name.
*/
public var name: kotlin.String? = null
/**
* A list of comma separated tags to add to the workgroup that is created.
*/
public var tags: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.athena.model.CreateWorkGroupRequest) : this() {
this.configuration = x.configuration
this.description = x.description
this.name = x.name
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.athena.model.CreateWorkGroupRequest = CreateWorkGroupRequest(this)
/**
* construct an [aws.sdk.kotlin.services.athena.model.WorkGroupConfiguration] inside the given [block]
*/
public fun configuration(block: aws.sdk.kotlin.services.athena.model.WorkGroupConfiguration.Builder.() -> kotlin.Unit) {
this.configuration = aws.sdk.kotlin.services.athena.model.WorkGroupConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}