All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.quicksight.kotlin.inputs.DataSourceRedshiftIamParametersArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.quicksight.kotlin.inputs

import com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftIamParametersArgs.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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * 

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see * GetClusterCredentials * .

* @property autoCreateDatabaseUser

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

* @property databaseGroups

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

* @property databaseUser

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

* @property roleArn

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

*/ public data class DataSourceRedshiftIamParametersArgs( public val autoCreateDatabaseUser: Output? = null, public val databaseGroups: Output>? = null, public val databaseUser: Output? = null, public val roleArn: Output, ) : ConvertibleToJava { override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftIamParametersArgs = com.pulumi.awsnative.quicksight.inputs.DataSourceRedshiftIamParametersArgs.builder() .autoCreateDatabaseUser(autoCreateDatabaseUser?.applyValue({ args0 -> args0 })) .databaseGroups(databaseGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })) .databaseUser(databaseUser?.applyValue({ args0 -> args0 })) .roleArn(roleArn.applyValue({ args0 -> args0 })).build() } /** * Builder for [DataSourceRedshiftIamParametersArgs]. */ @PulumiTagMarker public class DataSourceRedshiftIamParametersArgsBuilder internal constructor() { private var autoCreateDatabaseUser: Output? = null private var databaseGroups: Output>? = null private var databaseUser: Output? = null private var roleArn: Output? = null /** * @param value

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

*/ @JvmName("nqdpuixtnsjcnapi") public suspend fun autoCreateDatabaseUser(`value`: Output) { this.autoCreateDatabaseUser = value } /** * @param value

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

*/ @JvmName("ovupdwmbstfrkpas") public suspend fun databaseGroups(`value`: Output>) { this.databaseGroups = value } @JvmName("veunerfjmdbsjjvi") public suspend fun databaseGroups(vararg values: Output) { this.databaseGroups = Output.all(values.asList()) } /** * @param values

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

*/ @JvmName("owarwstgeraaabou") public suspend fun databaseGroups(values: List>) { this.databaseGroups = Output.all(values) } /** * @param value

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

*/ @JvmName("gtdapbbuoqpwbqvh") public suspend fun databaseUser(`value`: Output) { this.databaseUser = value } /** * @param value

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

*/ @JvmName("nktglgmhphidrsdg") public suspend fun roleArn(`value`: Output) { this.roleArn = value } /** * @param value

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

*/ @JvmName("ljtfffptkigcwjkx") public suspend fun autoCreateDatabaseUser(`value`: Boolean?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.autoCreateDatabaseUser = mapped } /** * @param value

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

*/ @JvmName("dvlhixxogcubptik") public suspend fun databaseGroups(`value`: List?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.databaseGroups = mapped } /** * @param values

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

*/ @JvmName("xvqvemcrkxghlgko") public suspend fun databaseGroups(vararg values: String) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.databaseGroups = mapped } /** * @param value

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

*/ @JvmName("iualfqncsjiedjpl") public suspend fun databaseUser(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.databaseUser = mapped } /** * @param value

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

*/ @JvmName("aniecknhnaoksggb") public suspend fun roleArn(`value`: String) { val toBeMapped = value val mapped = toBeMapped.let({ args0 -> of(args0) }) this.roleArn = mapped } internal fun build(): DataSourceRedshiftIamParametersArgs = DataSourceRedshiftIamParametersArgs( autoCreateDatabaseUser = autoCreateDatabaseUser, databaseGroups = databaseGroups, databaseUser = databaseUser, roleArn = roleArn ?: throw PulumiNullFieldException("roleArn"), ) }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy