commonMain.aws.sdk.kotlin.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cleanrooms-jvm Show documentation
Show all versions of cleanrooms-jvm Show documentation
The AWS SDK for Kotlin client for CleanRooms
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.cleanrooms.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreatePrivacyBudgetTemplateRequest private constructor(builder: Builder) {
/**
* How often the privacy budget refreshes.
*
* If you plan to regularly bring new data into the collaboration, you can 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 queries across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
*/
public val autoRefresh: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateAutoRefresh? = builder.autoRefresh
/**
* A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.
*/
public val membershipIdentifier: kotlin.String? = builder.membershipIdentifier
/**
* Specifies your parameters for the privacy budget template.
*/
public val parameters: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateParametersInput? = builder.parameters
/**
* Specifies the type of the privacy budget template.
*/
public val privacyBudgetType: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetType? = builder.privacyBudgetType
/**
* An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
*/
public val tags: Map? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreatePrivacyBudgetTemplateRequest(")
append("autoRefresh=$autoRefresh,")
append("membershipIdentifier=$membershipIdentifier,")
append("parameters=$parameters,")
append("privacyBudgetType=$privacyBudgetType,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = autoRefresh?.hashCode() ?: 0
result = 31 * result + (membershipIdentifier?.hashCode() ?: 0)
result = 31 * result + (parameters?.hashCode() ?: 0)
result = 31 * result + (privacyBudgetType?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as CreatePrivacyBudgetTemplateRequest
if (autoRefresh != other.autoRefresh) return false
if (membershipIdentifier != other.membershipIdentifier) return false
if (parameters != other.parameters) return false
if (privacyBudgetType != other.privacyBudgetType) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* How often the privacy budget refreshes.
*
* If you plan to regularly bring new data into the collaboration, you can 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 queries across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
*/
public var autoRefresh: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateAutoRefresh? = null
/**
* A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.
*/
public var membershipIdentifier: kotlin.String? = null
/**
* Specifies your parameters for the privacy budget template.
*/
public var parameters: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateParametersInput? = null
/**
* Specifies the type of the privacy budget template.
*/
public var privacyBudgetType: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetType? = null
/**
* An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
*/
public var tags: Map? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest) : this() {
this.autoRefresh = x.autoRefresh
this.membershipIdentifier = x.membershipIdentifier
this.parameters = x.parameters
this.privacyBudgetType = x.privacyBudgetType
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest = CreatePrivacyBudgetTemplateRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}