
com.pulumi.awsnative.cleanrooms.kotlin.PrivacyBudgetTemplateArgs.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.cleanrooms.kotlin
import com.pulumi.awsnative.cleanrooms.PrivacyBudgetTemplateArgs.builder
import com.pulumi.awsnative.cleanrooms.kotlin.enums.PrivacyBudgetTemplateAutoRefresh
import com.pulumi.awsnative.cleanrooms.kotlin.enums.PrivacyBudgetTemplatePrivacyBudgetType
import com.pulumi.awsnative.cleanrooms.kotlin.inputs.ParametersPropertiesArgs
import com.pulumi.awsnative.cleanrooms.kotlin.inputs.ParametersPropertiesArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Represents a privacy budget within a collaboration
* @property autoRefresh How often the privacy budget refreshes.
* > If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
* @property membershipIdentifier The identifier for a membership resource.
* @property parameters Specifies the epislon and noise parameters for the privacy budget template.
* @property privacyBudgetType Specifies the type of the privacy budget template.
* @property tags An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
*/
public data class PrivacyBudgetTemplateArgs(
public val autoRefresh: Output? = null,
public val membershipIdentifier: Output? = null,
public val parameters: Output? = null,
public val privacyBudgetType: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.cleanrooms.PrivacyBudgetTemplateArgs =
com.pulumi.awsnative.cleanrooms.PrivacyBudgetTemplateArgs.builder()
.autoRefresh(autoRefresh?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.membershipIdentifier(membershipIdentifier?.applyValue({ args0 -> args0 }))
.parameters(parameters?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.privacyBudgetType(privacyBudgetType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [PrivacyBudgetTemplateArgs].
*/
@PulumiTagMarker
public class PrivacyBudgetTemplateArgsBuilder internal constructor() {
private var autoRefresh: Output? = null
private var membershipIdentifier: Output? = null
private var parameters: Output? = null
private var privacyBudgetType: Output? = null
private var tags: Output>? = null
/**
* @param value How often the privacy budget refreshes.
* > If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
*/
@JvmName("pgdlkbntvgisrwuf")
public suspend fun autoRefresh(`value`: Output) {
this.autoRefresh = value
}
/**
* @param value The identifier for a membership resource.
*/
@JvmName("fpdrgvqkcskonhwe")
public suspend fun membershipIdentifier(`value`: Output) {
this.membershipIdentifier = value
}
/**
* @param value Specifies the epislon and noise parameters for the privacy budget template.
*/
@JvmName("whdbafvdbawappqc")
public suspend fun parameters(`value`: Output) {
this.parameters = value
}
/**
* @param value Specifies the type of the privacy budget template.
*/
@JvmName("qebgxmskdodxpyjt")
public suspend fun privacyBudgetType(`value`: Output) {
this.privacyBudgetType = value
}
/**
* @param value An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
*/
@JvmName("ewlvabbixppyuhax")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("lwasuuuidmnrjfdn")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
*/
@JvmName("uyjjyrwwtoqcaoej")
public suspend fun tags(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy