
com.pulumi.awsnative.quicksight.kotlin.inputs.AnalysisResourcePermissionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.quicksight.kotlin.inputs
import com.pulumi.awsnative.quicksight.inputs.AnalysisResourcePermissionArgs.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.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Permission for the resource.
* @property actions The IAM action to grant or revoke permissions on.
* @property principal The Amazon Resource Name (ARN) of the principal. This can be one of the
* following:
*
* -
*
The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
*
* -
*
The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
*
* -
*
The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight
* ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.
* (This is less common.)
*
*
*/
public data class AnalysisResourcePermissionArgs(
public val actions: Output>,
public val principal: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.quicksight.inputs.AnalysisResourcePermissionArgs =
com.pulumi.awsnative.quicksight.inputs.AnalysisResourcePermissionArgs.builder()
.actions(actions.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.principal(principal.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AnalysisResourcePermissionArgs].
*/
@PulumiTagMarker
public class AnalysisResourcePermissionArgsBuilder internal constructor() {
private var actions: Output>? = null
private var principal: Output? = null
/**
* @param value The IAM action to grant or revoke permissions on.
*/
@JvmName("noqxfuicgmtuhjaa")
public suspend fun actions(`value`: Output>) {
this.actions = value
}
@JvmName("cbjxnrjvsoakmlxk")
public suspend fun actions(vararg values: Output) {
this.actions = Output.all(values.asList())
}
/**
* @param values The IAM action to grant or revoke permissions on.
*/
@JvmName("qqoskitgnsfedkwr")
public suspend fun actions(values: List