commonMain.aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplate.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
import aws.smithy.kotlin.runtime.time.Instant
/**
* An object that defines the privacy budget template.
*/
public class PrivacyBudgetTemplate private constructor(builder: Builder) {
/**
* The ARN of the privacy budget template.
*/
public val arn: kotlin.String = requireNotNull(builder.arn) { "A non-null value must be provided for arn" }
/**
* 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.
*/
public val autoRefresh: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateAutoRefresh = requireNotNull(builder.autoRefresh) { "A non-null value must be provided for autoRefresh" }
/**
* The ARN of the collaboration that contains this privacy budget template.
*/
public val collaborationArn: kotlin.String = requireNotNull(builder.collaborationArn) { "A non-null value must be provided for collaborationArn" }
/**
* The unique ID of the collaboration that contains this privacy budget template.
*/
public val collaborationId: kotlin.String = requireNotNull(builder.collaborationId) { "A non-null value must be provided for collaborationId" }
/**
* The time at which the privacy budget template was created.
*/
public val createTime: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.createTime) { "A non-null value must be provided for createTime" }
/**
* The unique identifier of the privacy budget template.
*/
public val id: kotlin.String = requireNotNull(builder.id) { "A non-null value must be provided for id" }
/**
* The Amazon Resource Name (ARN) of the member who created the privacy budget template.
*/
public val membershipArn: kotlin.String = requireNotNull(builder.membershipArn) { "A non-null value must be provided for membershipArn" }
/**
* The identifier for a membership resource.
*/
public val membershipId: kotlin.String = requireNotNull(builder.membershipId) { "A non-null value must be provided for membershipId" }
/**
* Specifies the epsilon and noise parameters for the privacy budget template.
*/
public val parameters: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateParametersOutput? = builder.parameters
/**
* Specifies the type of the privacy budget template.
*/
public val privacyBudgetType: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetType = requireNotNull(builder.privacyBudgetType) { "A non-null value must be provided for privacyBudgetType" }
/**
* The most recent time at which the privacy budget template was updated.
*/
public val updateTime: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.updateTime) { "A non-null value must be provided for updateTime" }
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplate = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("PrivacyBudgetTemplate(")
append("arn=$arn,")
append("autoRefresh=$autoRefresh,")
append("collaborationArn=$collaborationArn,")
append("collaborationId=$collaborationId,")
append("createTime=$createTime,")
append("id=$id,")
append("membershipArn=$membershipArn,")
append("membershipId=$membershipId,")
append("parameters=$parameters,")
append("privacyBudgetType=$privacyBudgetType,")
append("updateTime=$updateTime")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = arn.hashCode()
result = 31 * result + (autoRefresh.hashCode())
result = 31 * result + (collaborationArn.hashCode())
result = 31 * result + (collaborationId.hashCode())
result = 31 * result + (createTime.hashCode())
result = 31 * result + (id.hashCode())
result = 31 * result + (membershipArn.hashCode())
result = 31 * result + (membershipId.hashCode())
result = 31 * result + (parameters?.hashCode() ?: 0)
result = 31 * result + (privacyBudgetType.hashCode())
result = 31 * result + (updateTime.hashCode())
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 PrivacyBudgetTemplate
if (arn != other.arn) return false
if (autoRefresh != other.autoRefresh) return false
if (collaborationArn != other.collaborationArn) return false
if (collaborationId != other.collaborationId) return false
if (createTime != other.createTime) return false
if (id != other.id) return false
if (membershipArn != other.membershipArn) return false
if (membershipId != other.membershipId) return false
if (parameters != other.parameters) return false
if (privacyBudgetType != other.privacyBudgetType) return false
if (updateTime != other.updateTime) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplate = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ARN of the privacy budget template.
*/
public var arn: kotlin.String? = null
/**
* 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.
*/
public var autoRefresh: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateAutoRefresh? = null
/**
* The ARN of the collaboration that contains this privacy budget template.
*/
public var collaborationArn: kotlin.String? = null
/**
* The unique ID of the collaboration that contains this privacy budget template.
*/
public var collaborationId: kotlin.String? = null
/**
* The time at which the privacy budget template was created.
*/
public var createTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The unique identifier of the privacy budget template.
*/
public var id: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of the member who created the privacy budget template.
*/
public var membershipArn: kotlin.String? = null
/**
* The identifier for a membership resource.
*/
public var membershipId: kotlin.String? = null
/**
* Specifies the epsilon and noise parameters for the privacy budget template.
*/
public var parameters: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplateParametersOutput? = null
/**
* Specifies the type of the privacy budget template.
*/
public var privacyBudgetType: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetType? = null
/**
* The most recent time at which the privacy budget template was updated.
*/
public var updateTime: aws.smithy.kotlin.runtime.time.Instant? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplate) : this() {
this.arn = x.arn
this.autoRefresh = x.autoRefresh
this.collaborationArn = x.collaborationArn
this.collaborationId = x.collaborationId
this.createTime = x.createTime
this.id = x.id
this.membershipArn = x.membershipArn
this.membershipId = x.membershipId
this.parameters = x.parameters
this.privacyBudgetType = x.privacyBudgetType
this.updateTime = x.updateTime
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.cleanrooms.model.PrivacyBudgetTemplate = PrivacyBudgetTemplate(this)
internal fun correctErrors(): Builder {
if (arn == null) arn = ""
if (autoRefresh == null) autoRefresh = PrivacyBudgetTemplateAutoRefresh.SdkUnknown("no value provided")
if (collaborationArn == null) collaborationArn = ""
if (collaborationId == null) collaborationId = ""
if (createTime == null) createTime = Instant.fromEpochSeconds(0)
if (id == null) id = ""
if (membershipArn == null) membershipArn = ""
if (membershipId == null) membershipId = ""
if (privacyBudgetType == null) privacyBudgetType = PrivacyBudgetType.SdkUnknown("no value provided")
if (updateTime == null) updateTime = Instant.fromEpochSeconds(0)
return this
}
}
}