com.pulumi.awsnative.budgets.kotlin.inputs.BudgetsActionDefinitionArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.budgets.kotlin.inputs
import com.pulumi.awsnative.budgets.inputs.BudgetsActionDefinitionArgs.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.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property iamActionDefinition The AWS Identity and Access Management ( IAM ) action definition details.
* @property scpActionDefinition The service control policies (SCP) action definition details.
* @property ssmActionDefinition The Amazon EC2 Systems Manager ( SSM ) action definition details.
*/
public data class BudgetsActionDefinitionArgs(
public val iamActionDefinition: Output? = null,
public val scpActionDefinition: Output? = null,
public val ssmActionDefinition: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.budgets.inputs.BudgetsActionDefinitionArgs =
com.pulumi.awsnative.budgets.inputs.BudgetsActionDefinitionArgs.builder()
.iamActionDefinition(
iamActionDefinition?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.scpActionDefinition(
scpActionDefinition?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.ssmActionDefinition(
ssmActionDefinition?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [BudgetsActionDefinitionArgs].
*/
@PulumiTagMarker
public class BudgetsActionDefinitionArgsBuilder internal constructor() {
private var iamActionDefinition: Output? = null
private var scpActionDefinition: Output? = null
private var ssmActionDefinition: Output? = null
/**
* @param value The AWS Identity and Access Management ( IAM ) action definition details.
*/
@JvmName("dlbtyaupckpmnqdr")
public suspend fun iamActionDefinition(`value`: Output) {
this.iamActionDefinition = value
}
/**
* @param value The service control policies (SCP) action definition details.
*/
@JvmName("nlslcabafxtkldsy")
public suspend fun scpActionDefinition(`value`: Output) {
this.scpActionDefinition = value
}
/**
* @param value The Amazon EC2 Systems Manager ( SSM ) action definition details.
*/
@JvmName("rfsfwqyiugjubkdv")
public suspend fun ssmActionDefinition(`value`: Output) {
this.ssmActionDefinition = value
}
/**
* @param value The AWS Identity and Access Management ( IAM ) action definition details.
*/
@JvmName("okpqcslfvmwhppon")
public suspend fun iamActionDefinition(`value`: BudgetsActionIamActionDefinitionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamActionDefinition = mapped
}
/**
* @param argument The AWS Identity and Access Management ( IAM ) action definition details.
*/
@JvmName("vihsqopwffmrypvc")
public suspend fun iamActionDefinition(argument: suspend BudgetsActionIamActionDefinitionArgsBuilder.() -> Unit) {
val toBeMapped = BudgetsActionIamActionDefinitionArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.iamActionDefinition = mapped
}
/**
* @param value The service control policies (SCP) action definition details.
*/
@JvmName("otntqksdoakptrqv")
public suspend fun scpActionDefinition(`value`: BudgetsActionScpActionDefinitionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scpActionDefinition = mapped
}
/**
* @param argument The service control policies (SCP) action definition details.
*/
@JvmName("bcdrtpcnyejfmvdr")
public suspend fun scpActionDefinition(argument: suspend BudgetsActionScpActionDefinitionArgsBuilder.() -> Unit) {
val toBeMapped = BudgetsActionScpActionDefinitionArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.scpActionDefinition = mapped
}
/**
* @param value The Amazon EC2 Systems Manager ( SSM ) action definition details.
*/
@JvmName("hepiqcucsordtflw")
public suspend fun ssmActionDefinition(`value`: BudgetsActionSsmActionDefinitionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ssmActionDefinition = mapped
}
/**
* @param argument The Amazon EC2 Systems Manager ( SSM ) action definition details.
*/
@JvmName("qhitxclgfxcfukpf")
public suspend fun ssmActionDefinition(argument: suspend BudgetsActionSsmActionDefinitionArgsBuilder.() -> Unit) {
val toBeMapped = BudgetsActionSsmActionDefinitionArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.ssmActionDefinition = mapped
}
internal fun build(): BudgetsActionDefinitionArgs = BudgetsActionDefinitionArgs(
iamActionDefinition = iamActionDefinition,
scpActionDefinition = scpActionDefinition,
ssmActionDefinition = ssmActionDefinition,
)
}