
com.pulumi.awsnative.athena.kotlin.inputs.WorkGroupResultConfigurationUpdatesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.athena.kotlin.inputs
import com.pulumi.awsnative.athena.inputs.WorkGroupResultConfigurationUpdatesArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.
* @property aclConfiguration The ACL configuration for the query results.
* @property encryptionConfiguration The encryption configuration for the query results.
* @property expectedBucketOwner The AWS account ID that you expect to be the owner of the Amazon S3 bucket specified by `ResultConfiguration$OutputLocation` . If set, Athena uses the value for `ExpectedBucketOwner` when it makes Amazon S3 calls to your specified output location. If the `ExpectedBucketOwner` AWS account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.
* If workgroup settings override client-side settings, then the query uses the `ExpectedBucketOwner` setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See `WorkGroupConfiguration$EnforceWorkGroupConfiguration` and [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
* @property outputLocation The location in Amazon S3 where your query results are stored, such as `s3://path/to/query/bucket/` . For more information, see [Query Results](https://docs.aws.amazon.com/athena/latest/ug/querying.html) If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The "workgroup settings override" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See `EnforceWorkGroupConfiguration` .
* @property removeAclConfiguration If set to `true` , indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null. If set to `false` or not set, and a value is present in the `AclConfiguration` of `ResultConfigurationUpdates` , the `AclConfiguration` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
* @property removeEncryptionConfiguration If set to "true", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
* @property removeExpectedBucketOwner If set to "true", removes the AWS account ID previously specified for `ResultConfiguration$ExpectedBucketOwner` . If set to "false" or not set, and a value is present in the `ExpectedBucketOwner` in `ResultConfigurationUpdates` (the client-side setting), the `ExpectedBucketOwner` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
* @property removeOutputLocation If set to "true", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
public data class WorkGroupResultConfigurationUpdatesArgs(
public val aclConfiguration: Output? = null,
public val encryptionConfiguration: Output? = null,
public val expectedBucketOwner: Output? = null,
public val outputLocation: Output? = null,
public val removeAclConfiguration: Output? = null,
public val removeEncryptionConfiguration: Output? = null,
public val removeExpectedBucketOwner: Output? = null,
public val removeOutputLocation: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.athena.inputs.WorkGroupResultConfigurationUpdatesArgs = com.pulumi.awsnative.athena.inputs.WorkGroupResultConfigurationUpdatesArgs.builder()
.aclConfiguration(aclConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.encryptionConfiguration(
encryptionConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.expectedBucketOwner(expectedBucketOwner?.applyValue({ args0 -> args0 }))
.outputLocation(outputLocation?.applyValue({ args0 -> args0 }))
.removeAclConfiguration(removeAclConfiguration?.applyValue({ args0 -> args0 }))
.removeEncryptionConfiguration(removeEncryptionConfiguration?.applyValue({ args0 -> args0 }))
.removeExpectedBucketOwner(removeExpectedBucketOwner?.applyValue({ args0 -> args0 }))
.removeOutputLocation(removeOutputLocation?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [WorkGroupResultConfigurationUpdatesArgs].
*/
@PulumiTagMarker
public class WorkGroupResultConfigurationUpdatesArgsBuilder internal constructor() {
private var aclConfiguration: Output? = null
private var encryptionConfiguration: Output? = null
private var expectedBucketOwner: Output? = null
private var outputLocation: Output? = null
private var removeAclConfiguration: Output? = null
private var removeEncryptionConfiguration: Output? = null
private var removeExpectedBucketOwner: Output? = null
private var removeOutputLocation: Output? = null
/**
* @param value The ACL configuration for the query results.
*/
@JvmName("leyovxdrulrrtnnt")
public suspend fun aclConfiguration(`value`: Output) {
this.aclConfiguration = value
}
/**
* @param value The encryption configuration for the query results.
*/
@JvmName("fanwjxtvkgooocfi")
public suspend fun encryptionConfiguration(`value`: Output) {
this.encryptionConfiguration = value
}
/**
* @param value The AWS account ID that you expect to be the owner of the Amazon S3 bucket specified by `ResultConfiguration$OutputLocation` . If set, Athena uses the value for `ExpectedBucketOwner` when it makes Amazon S3 calls to your specified output location. If the `ExpectedBucketOwner` AWS account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.
* If workgroup settings override client-side settings, then the query uses the `ExpectedBucketOwner` setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See `WorkGroupConfiguration$EnforceWorkGroupConfiguration` and [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("pajuyiocvyosoflq")
public suspend fun expectedBucketOwner(`value`: Output) {
this.expectedBucketOwner = value
}
/**
* @param value The location in Amazon S3 where your query results are stored, such as `s3://path/to/query/bucket/` . For more information, see [Query Results](https://docs.aws.amazon.com/athena/latest/ug/querying.html) If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The "workgroup settings override" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See `EnforceWorkGroupConfiguration` .
*/
@JvmName("xuvaglipmiwknven")
public suspend fun outputLocation(`value`: Output) {
this.outputLocation = value
}
/**
* @param value If set to `true` , indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null. If set to `false` or not set, and a value is present in the `AclConfiguration` of `ResultConfigurationUpdates` , the `AclConfiguration` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("jillpiitfmootbmm")
public suspend fun removeAclConfiguration(`value`: Output) {
this.removeAclConfiguration = value
}
/**
* @param value If set to "true", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("vicfusxllloeoqjw")
public suspend fun removeEncryptionConfiguration(`value`: Output) {
this.removeEncryptionConfiguration = value
}
/**
* @param value If set to "true", removes the AWS account ID previously specified for `ResultConfiguration$ExpectedBucketOwner` . If set to "false" or not set, and a value is present in the `ExpectedBucketOwner` in `ResultConfigurationUpdates` (the client-side setting), the `ExpectedBucketOwner` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("ctwsofxkehvfxtbj")
public suspend fun removeExpectedBucketOwner(`value`: Output) {
this.removeExpectedBucketOwner = value
}
/**
* @param value If set to "true", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("dssaeblalyxxxwul")
public suspend fun removeOutputLocation(`value`: Output) {
this.removeOutputLocation = value
}
/**
* @param value The ACL configuration for the query results.
*/
@JvmName("cfrxppgqylsarqqi")
public suspend fun aclConfiguration(`value`: WorkGroupAclConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.aclConfiguration = mapped
}
/**
* @param argument The ACL configuration for the query results.
*/
@JvmName("cccssquveugjuamf")
public suspend fun aclConfiguration(argument: suspend WorkGroupAclConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = WorkGroupAclConfigurationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.aclConfiguration = mapped
}
/**
* @param value The encryption configuration for the query results.
*/
@JvmName("eujxkfmljnhigxmx")
public suspend fun encryptionConfiguration(`value`: WorkGroupEncryptionConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptionConfiguration = mapped
}
/**
* @param argument The encryption configuration for the query results.
*/
@JvmName("yxmsmqlguhigbwui")
public suspend fun encryptionConfiguration(argument: suspend WorkGroupEncryptionConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = WorkGroupEncryptionConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.encryptionConfiguration = mapped
}
/**
* @param value The AWS account ID that you expect to be the owner of the Amazon S3 bucket specified by `ResultConfiguration$OutputLocation` . If set, Athena uses the value for `ExpectedBucketOwner` when it makes Amazon S3 calls to your specified output location. If the `ExpectedBucketOwner` AWS account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.
* If workgroup settings override client-side settings, then the query uses the `ExpectedBucketOwner` setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See `WorkGroupConfiguration$EnforceWorkGroupConfiguration` and [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("crsgnrelxuhbdxnq")
public suspend fun expectedBucketOwner(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.expectedBucketOwner = mapped
}
/**
* @param value The location in Amazon S3 where your query results are stored, such as `s3://path/to/query/bucket/` . For more information, see [Query Results](https://docs.aws.amazon.com/athena/latest/ug/querying.html) If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The "workgroup settings override" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See `EnforceWorkGroupConfiguration` .
*/
@JvmName("elljqvxhneywkpmw")
public suspend fun outputLocation(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.outputLocation = mapped
}
/**
* @param value If set to `true` , indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null. If set to `false` or not set, and a value is present in the `AclConfiguration` of `ResultConfigurationUpdates` , the `AclConfiguration` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("gsvkjocxwoargjhj")
public suspend fun removeAclConfiguration(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.removeAclConfiguration = mapped
}
/**
* @param value If set to "true", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("yamadfskruxxetqx")
public suspend fun removeEncryptionConfiguration(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.removeEncryptionConfiguration = mapped
}
/**
* @param value If set to "true", removes the AWS account ID previously specified for `ResultConfiguration$ExpectedBucketOwner` . If set to "false" or not set, and a value is present in the `ExpectedBucketOwner` in `ResultConfigurationUpdates` (the client-side setting), the `ExpectedBucketOwner` in the workgroup's `ResultConfiguration` is updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("bacclkdehrmhited")
public suspend fun removeExpectedBucketOwner(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.removeExpectedBucketOwner = mapped
}
/**
* @param value If set to "true", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null. If set to "false" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) .
*/
@JvmName("nyvofjafcwlmnmyp")
public suspend fun removeOutputLocation(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.removeOutputLocation = mapped
}
internal fun build(): WorkGroupResultConfigurationUpdatesArgs =
WorkGroupResultConfigurationUpdatesArgs(
aclConfiguration = aclConfiguration,
encryptionConfiguration = encryptionConfiguration,
expectedBucketOwner = expectedBucketOwner,
outputLocation = outputLocation,
removeAclConfiguration = removeAclConfiguration,
removeEncryptionConfiguration = removeEncryptionConfiguration,
removeExpectedBucketOwner = removeExpectedBucketOwner,
removeOutputLocation = removeOutputLocation,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy