
com.pulumi.awsnative.athena.kotlin.inputs.WorkGroupConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.athena.kotlin.inputs
import com.pulumi.awsnative.athena.inputs.WorkGroupConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property additionalConfiguration Specifies a user defined JSON string that is passed to the session engine.
* @property bytesScannedCutoffPerQuery The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. No default is defined.
* > This property currently supports integer types. Support for long values is planned.
* @property customerContentEncryptionConfiguration Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.
* @property enforceWorkGroupConfiguration If set to "true", the settings for the workgroup override client-side settings. If set to "false", client-side settings are used. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
* @property engineVersion The engine version that all queries running on the workgroup use.
* @property executionRole Role used to access user resources in an Athena for Apache Spark session. This property applies only to Spark-enabled workgroups in Athena.
* @property publishCloudWatchMetricsEnabled Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.
* @property requesterPaysEnabled If set to `true` , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to `false` , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is `false` . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the *Amazon Simple Storage Service Developer Guide* .
* @property resultConfiguration Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. For more information, see [Working with Query Results, Output Files, and Query History](https://docs.aws.amazon.com/athena/latest/ug/querying.html) .
*/
public data class WorkGroupConfigurationArgs(
public val additionalConfiguration: Output? = null,
public val bytesScannedCutoffPerQuery: Output? = null,
public val customerContentEncryptionConfiguration: Output? = null,
public val enforceWorkGroupConfiguration: Output? = null,
public val engineVersion: Output? = null,
public val executionRole: Output? = null,
public val publishCloudWatchMetricsEnabled: Output? = null,
public val requesterPaysEnabled: Output? = null,
public val resultConfiguration: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.athena.inputs.WorkGroupConfigurationArgs =
com.pulumi.awsnative.athena.inputs.WorkGroupConfigurationArgs.builder()
.additionalConfiguration(additionalConfiguration?.applyValue({ args0 -> args0 }))
.bytesScannedCutoffPerQuery(bytesScannedCutoffPerQuery?.applyValue({ args0 -> args0 }))
.customerContentEncryptionConfiguration(
customerContentEncryptionConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.enforceWorkGroupConfiguration(enforceWorkGroupConfiguration?.applyValue({ args0 -> args0 }))
.engineVersion(engineVersion?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.executionRole(executionRole?.applyValue({ args0 -> args0 }))
.publishCloudWatchMetricsEnabled(publishCloudWatchMetricsEnabled?.applyValue({ args0 -> args0 }))
.requesterPaysEnabled(requesterPaysEnabled?.applyValue({ args0 -> args0 }))
.resultConfiguration(
resultConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [WorkGroupConfigurationArgs].
*/
@PulumiTagMarker
public class WorkGroupConfigurationArgsBuilder internal constructor() {
private var additionalConfiguration: Output? = null
private var bytesScannedCutoffPerQuery: Output? = null
private var customerContentEncryptionConfiguration:
Output? = null
private var enforceWorkGroupConfiguration: Output? = null
private var engineVersion: Output? = null
private var executionRole: Output? = null
private var publishCloudWatchMetricsEnabled: Output? = null
private var requesterPaysEnabled: Output? = null
private var resultConfiguration: Output? = null
/**
* @param value Specifies a user defined JSON string that is passed to the session engine.
*/
@JvmName("xhvvpguxycixuyct")
public suspend fun additionalConfiguration(`value`: Output) {
this.additionalConfiguration = value
}
/**
* @param value The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. No default is defined.
* > This property currently supports integer types. Support for long values is planned.
*/
@JvmName("ypynefctxcujeanf")
public suspend fun bytesScannedCutoffPerQuery(`value`: Output) {
this.bytesScannedCutoffPerQuery = value
}
/**
* @param value Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.
*/
@JvmName("wonfwvhwtbvvprof")
public suspend fun customerContentEncryptionConfiguration(`value`: Output) {
this.customerContentEncryptionConfiguration = value
}
/**
* @param value If set to "true", the settings for the workgroup override client-side settings. If set to "false", client-side settings are used. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("kuyjqdmkhdpppiey")
public suspend fun enforceWorkGroupConfiguration(`value`: Output) {
this.enforceWorkGroupConfiguration = value
}
/**
* @param value The engine version that all queries running on the workgroup use.
*/
@JvmName("iumxglwxaljepdsa")
public suspend fun engineVersion(`value`: Output) {
this.engineVersion = value
}
/**
* @param value Role used to access user resources in an Athena for Apache Spark session. This property applies only to Spark-enabled workgroups in Athena.
*/
@JvmName("fpimexmobeultptd")
public suspend fun executionRole(`value`: Output) {
this.executionRole = value
}
/**
* @param value Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.
*/
@JvmName("fpuchlfsaetfwdbf")
public suspend fun publishCloudWatchMetricsEnabled(`value`: Output) {
this.publishCloudWatchMetricsEnabled = value
}
/**
* @param value If set to `true` , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to `false` , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is `false` . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the *Amazon Simple Storage Service Developer Guide* .
*/
@JvmName("gmccswxkblqcusks")
public suspend fun requesterPaysEnabled(`value`: Output) {
this.requesterPaysEnabled = value
}
/**
* @param value Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. For more information, see [Working with Query Results, Output Files, and Query History](https://docs.aws.amazon.com/athena/latest/ug/querying.html) .
*/
@JvmName("rrvhwfjlsvvlywuw")
public suspend fun resultConfiguration(`value`: Output) {
this.resultConfiguration = value
}
/**
* @param value Specifies a user defined JSON string that is passed to the session engine.
*/
@JvmName("neahwtwnhimqoscx")
public suspend fun additionalConfiguration(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalConfiguration = mapped
}
/**
* @param value The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. No default is defined.
* > This property currently supports integer types. Support for long values is planned.
*/
@JvmName("edaioukcjegbdoid")
public suspend fun bytesScannedCutoffPerQuery(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bytesScannedCutoffPerQuery = mapped
}
/**
* @param value Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.
*/
@JvmName("jplvwqrbuegagdka")
public suspend fun customerContentEncryptionConfiguration(`value`: WorkGroupCustomerContentEncryptionConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.customerContentEncryptionConfiguration = mapped
}
/**
* @param argument Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.
*/
@JvmName("autawdrkmogvcbio")
public suspend fun customerContentEncryptionConfiguration(argument: suspend WorkGroupCustomerContentEncryptionConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = WorkGroupCustomerContentEncryptionConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.customerContentEncryptionConfiguration = mapped
}
/**
* @param value If set to "true", the settings for the workgroup override client-side settings. If set to "false", client-side settings are used. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("cbjweykhsrovufun")
public suspend fun enforceWorkGroupConfiguration(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enforceWorkGroupConfiguration = mapped
}
/**
* @param value The engine version that all queries running on the workgroup use.
*/
@JvmName("gwpxhnyspxkqqbyk")
public suspend fun engineVersion(`value`: WorkGroupEngineVersionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.engineVersion = mapped
}
/**
* @param argument The engine version that all queries running on the workgroup use.
*/
@JvmName("lhxahllpcbfbdsvj")
public suspend fun engineVersion(argument: suspend WorkGroupEngineVersionArgsBuilder.() -> Unit) {
val toBeMapped = WorkGroupEngineVersionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.engineVersion = mapped
}
/**
* @param value Role used to access user resources in an Athena for Apache Spark session. This property applies only to Spark-enabled workgroups in Athena.
*/
@JvmName("weksfjdakxwnmdgb")
public suspend fun executionRole(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.executionRole = mapped
}
/**
* @param value Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.
*/
@JvmName("icyrvekwivnieobs")
public suspend fun publishCloudWatchMetricsEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.publishCloudWatchMetricsEnabled = mapped
}
/**
* @param value If set to `true` , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to `false` , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is `false` . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the *Amazon Simple Storage Service Developer Guide* .
*/
@JvmName("xanuucejbtrcfidf")
public suspend fun requesterPaysEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requesterPaysEnabled = mapped
}
/**
* @param value Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. For more information, see [Working with Query Results, Output Files, and Query History](https://docs.aws.amazon.com/athena/latest/ug/querying.html) .
*/
@JvmName("kwcadfmdpvpyhkiy")
public suspend fun resultConfiguration(`value`: WorkGroupResultConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resultConfiguration = mapped
}
/**
* @param argument Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. For more information, see [Working with Query Results, Output Files, and Query History](https://docs.aws.amazon.com/athena/latest/ug/querying.html) .
*/
@JvmName("pvoqrvtapfxqwhyp")
public suspend fun resultConfiguration(argument: suspend WorkGroupResultConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = WorkGroupResultConfigurationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.resultConfiguration = mapped
}
internal fun build(): WorkGroupConfigurationArgs = WorkGroupConfigurationArgs(
additionalConfiguration = additionalConfiguration,
bytesScannedCutoffPerQuery = bytesScannedCutoffPerQuery,
customerContentEncryptionConfiguration = customerContentEncryptionConfiguration,
enforceWorkGroupConfiguration = enforceWorkGroupConfiguration,
engineVersion = engineVersion,
executionRole = executionRole,
publishCloudWatchMetricsEnabled = publishCloudWatchMetricsEnabled,
requesterPaysEnabled = requesterPaysEnabled,
resultConfiguration = resultConfiguration,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy