
com.pulumi.awsnative.quicksight.kotlin.inputs.DataSourceRedshiftParametersArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.quicksight.kotlin.inputs
import com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftParametersArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The parameters for Amazon Redshift. The ClusterId
field can be blank if
* Host
and Port
are both set. The Host
and Port
fields can be blank if the ClusterId
field is set.
* @property clusterId Cluster ID. This field can be blank if the Host
and Port
are
* provided.
* @property database Database.
* @property host Host. This field can be blank if ClusterId
is provided.
* @property iamParameters An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of [DataSourceCredentials](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DataSourceCredentials.html) .
* @property identityCenterConfiguration An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.
* This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.
* @property port Port. This field can be blank if the ClusterId
is provided.
*/
public data class DataSourceRedshiftParametersArgs(
public val clusterId: Output? = null,
public val database: Output,
public val host: Output? = null,
public val iamParameters: Output? = null,
public val identityCenterConfiguration: Output? = null,
public val port: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftParametersArgs =
com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftParametersArgs.builder()
.clusterId(clusterId?.applyValue({ args0 -> args0 }))
.database(database.applyValue({ args0 -> args0 }))
.host(host?.applyValue({ args0 -> args0 }))
.iamParameters(iamParameters?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.identityCenterConfiguration(
identityCenterConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.port(port?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DataSourceRedshiftParametersArgs].
*/
@PulumiTagMarker
public class DataSourceRedshiftParametersArgsBuilder internal constructor() {
private var clusterId: Output? = null
private var database: Output? = null
private var host: Output? = null
private var iamParameters: Output? = null
private var identityCenterConfiguration: Output? = null
private var port: Output? = null
/**
* @param value Cluster ID. This field can be blank if the Host
and Port
are
* provided.
*/
@JvmName("uabneprtwqpoanmo")
public suspend fun clusterId(`value`: Output) {
this.clusterId = value
}
/**
* @param value Database.
*/
@JvmName("kdbexaiqpdcokbdg")
public suspend fun database(`value`: Output) {
this.database = value
}
/**
* @param value Host. This field can be blank if ClusterId
is provided.
*/
@JvmName("blolbmumypjpugkl")
public suspend fun host(`value`: Output) {
this.host = value
}
/**
* @param value An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of [DataSourceCredentials](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DataSourceCredentials.html) .
*/
@JvmName("dpvxcfpymtfjbeig")
public suspend fun iamParameters(`value`: Output) {
this.iamParameters = value
}
/**
* @param value An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.
* This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.
*/
@JvmName("atnopxgrxtasnotd")
public suspend fun identityCenterConfiguration(`value`: Output) {
this.identityCenterConfiguration = value
}
/**
* @param value Port. This field can be blank if the ClusterId
is provided.
*/
@JvmName("mmivopcqxccncfeu")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value Cluster ID. This field can be blank if the Host
and Port
are
* provided.
*/
@JvmName("defrcstneqylrmlv")
public suspend fun clusterId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clusterId = mapped
}
/**
* @param value Database.
*/
@JvmName("mxbdxidejwrwgvrk")
public suspend fun database(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.database = mapped
}
/**
* @param value Host. This field can be blank if ClusterId
is provided.
*/
@JvmName("plnlxqlwribfhljg")
public suspend fun host(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.host = mapped
}
/**
* @param value An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of [DataSourceCredentials](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DataSourceCredentials.html) .
*/
@JvmName("mnqsumclbcwihwod")
public suspend fun iamParameters(`value`: DataSourceRedshiftIamParametersArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamParameters = mapped
}
/**
* @param argument An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of [DataSourceCredentials](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DataSourceCredentials.html) .
*/
@JvmName("jvnpmijsbvrcmrbp")
public suspend fun iamParameters(argument: suspend DataSourceRedshiftIamParametersArgsBuilder.() -> Unit) {
val toBeMapped = DataSourceRedshiftIamParametersArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.iamParameters = mapped
}
/**
* @param value An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.
* This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.
*/
@JvmName("lhvfkgmvooeogdnq")
public suspend fun identityCenterConfiguration(`value`: DataSourceIdentityCenterConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.identityCenterConfiguration = mapped
}
/**
* @param argument An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.
* This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.
*/
@JvmName("thdmwgmdyfiogbhl")
public suspend fun identityCenterConfiguration(argument: suspend DataSourceIdentityCenterConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = DataSourceIdentityCenterConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.identityCenterConfiguration = mapped
}
/**
* @param value Port. This field can be blank if the ClusterId
is provided.
*/
@JvmName("pddehtbsdipscqps")
public suspend fun port(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
internal fun build(): DataSourceRedshiftParametersArgs = DataSourceRedshiftParametersArgs(
clusterId = clusterId,
database = database ?: throw PulumiNullFieldException("database"),
host = host,
iamParameters = iamParameters,
identityCenterConfiguration = identityCenterConfiguration,
port = port,
)
}