commonMain.aws.sdk.kotlin.services.redshift.model.DataShare.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jvm Show documentation
Show all versions of redshift-jvm Show documentation
The AWS SDK for Kotlin client for Redshift
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.redshift.model
import aws.smithy.kotlin.runtime.SdkDsl
public class DataShare private constructor(builder: Builder) {
/**
* A value that specifies whether the datashare can be shared to a publicly accessible cluster.
*/
public val allowPubliclyAccessibleConsumers: kotlin.Boolean? = builder.allowPubliclyAccessibleConsumers
/**
* The Amazon Resource Name (ARN) of the datashare that the consumer is to use.
*/
public val dataShareArn: kotlin.String? = builder.dataShareArn
/**
* A value that specifies when the datashare has an association between producer and data consumers.
*/
public val dataShareAssociations: List? = builder.dataShareAssociations
/**
* The identifier of a datashare to show its managing entity.
*/
public val managedBy: kotlin.String? = builder.managedBy
/**
* The Amazon Resource Name (ARN) of the producer namespace.
*/
public val producerArn: kotlin.String? = builder.producerArn
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.redshift.model.DataShare = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("DataShare(")
append("allowPubliclyAccessibleConsumers=$allowPubliclyAccessibleConsumers,")
append("dataShareArn=$dataShareArn,")
append("dataShareAssociations=$dataShareAssociations,")
append("managedBy=$managedBy,")
append("producerArn=$producerArn")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = allowPubliclyAccessibleConsumers?.hashCode() ?: 0
result = 31 * result + (dataShareArn?.hashCode() ?: 0)
result = 31 * result + (dataShareAssociations?.hashCode() ?: 0)
result = 31 * result + (managedBy?.hashCode() ?: 0)
result = 31 * result + (producerArn?.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 DataShare
if (allowPubliclyAccessibleConsumers != other.allowPubliclyAccessibleConsumers) return false
if (dataShareArn != other.dataShareArn) return false
if (dataShareAssociations != other.dataShareAssociations) return false
if (managedBy != other.managedBy) return false
if (producerArn != other.producerArn) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.redshift.model.DataShare = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* A value that specifies whether the datashare can be shared to a publicly accessible cluster.
*/
public var allowPubliclyAccessibleConsumers: kotlin.Boolean? = null
/**
* The Amazon Resource Name (ARN) of the datashare that the consumer is to use.
*/
public var dataShareArn: kotlin.String? = null
/**
* A value that specifies when the datashare has an association between producer and data consumers.
*/
public var dataShareAssociations: List? = null
/**
* The identifier of a datashare to show its managing entity.
*/
public var managedBy: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of the producer namespace.
*/
public var producerArn: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.redshift.model.DataShare) : this() {
this.allowPubliclyAccessibleConsumers = x.allowPubliclyAccessibleConsumers
this.dataShareArn = x.dataShareArn
this.dataShareAssociations = x.dataShareAssociations
this.managedBy = x.managedBy
this.producerArn = x.producerArn
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.redshift.model.DataShare = DataShare(this)
internal fun correctErrors(): Builder {
return this
}
}
}