
commonMain.aws.sdk.kotlin.services.repostspace.model.GetSpaceResponse.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.repostspace.model
import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant
public class GetSpaceResponse private constructor(builder: Builder) {
/**
* The ARN of the private re:Post.
*/
public val arn: kotlin.String = requireNotNull(builder.arn) { "A non-null value must be provided for arn" }
/**
* The Identity Center identifier for the Application Instance.
*/
public val clientId: kotlin.String = requireNotNull(builder.clientId) { "A non-null value must be provided for clientId" }
/**
* The configuration status of the private re:Post.
*/
public val configurationStatus: aws.sdk.kotlin.services.repostspace.model.ConfigurationStatus = requireNotNull(builder.configurationStatus) { "A non-null value must be provided for configurationStatus" }
/**
* The content size of the private re:Post.
*/
public val contentSize: kotlin.Long? = builder.contentSize
/**
* The date when the private re:Post was created.
*/
public val createDateTime: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.createDateTime) { "A non-null value must be provided for createDateTime" }
/**
* The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.
*/
public val customerRoleArn: kotlin.String? = builder.customerRoleArn
/**
* The date when the private re:Post was deleted.
*/
public val deleteDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.deleteDateTime
/**
* The description of the private re:Post.
*/
public val description: kotlin.String? = builder.description
/**
* The list of groups that are administrators of the private re:Post.
*/
public val groupAdmins: List? = builder.groupAdmins
/**
* The name of the private re:Post.
*/
public val name: kotlin.String = requireNotNull(builder.name) { "A non-null value must be provided for name" }
/**
* The AWS generated subdomain of the private re:Post
*/
public val randomDomain: kotlin.String = requireNotNull(builder.randomDomain) { "A non-null value must be provided for randomDomain" }
/**
* The unique ID of the private re:Post.
*/
public val spaceId: kotlin.String = requireNotNull(builder.spaceId) { "A non-null value must be provided for spaceId" }
/**
* The creation or deletion status of the private re:Post.
*/
public val status: kotlin.String = requireNotNull(builder.status) { "A non-null value must be provided for status" }
/**
* The storage limit of the private re:Post.
*/
public val storageLimit: kotlin.Long = requireNotNull(builder.storageLimit) { "A non-null value must be provided for storageLimit" }
/**
* The pricing tier of the private re:Post.
*/
public val tier: aws.sdk.kotlin.services.repostspace.model.TierLevel = requireNotNull(builder.tier) { "A non-null value must be provided for tier" }
/**
* The list of users that are administrators of the private re:Post.
*/
public val userAdmins: List? = builder.userAdmins
/**
* The number of users that have onboarded to the private re:Post.
*/
public val userCount: kotlin.Int? = builder.userCount
/**
* The custom AWS KMS key ARN that’s used for the AWS KMS encryption.
*/
public val userKmsKey: kotlin.String? = builder.userKmsKey
/**
* The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.
*/
public val vanityDomain: kotlin.String = requireNotNull(builder.vanityDomain) { "A non-null value must be provided for vanityDomain" }
/**
* The approval status of the custom subdomain.
*/
public val vanityDomainStatus: aws.sdk.kotlin.services.repostspace.model.VanityDomainStatus = requireNotNull(builder.vanityDomainStatus) { "A non-null value must be provided for vanityDomainStatus" }
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.repostspace.model.GetSpaceResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("GetSpaceResponse(")
append("arn=$arn,")
append("clientId=$clientId,")
append("configurationStatus=$configurationStatus,")
append("contentSize=$contentSize,")
append("createDateTime=$createDateTime,")
append("customerRoleArn=$customerRoleArn,")
append("deleteDateTime=$deleteDateTime,")
append("description=*** Sensitive Data Redacted ***,")
append("groupAdmins=$groupAdmins,")
append("name=*** Sensitive Data Redacted ***,")
append("randomDomain=$randomDomain,")
append("spaceId=$spaceId,")
append("status=$status,")
append("storageLimit=$storageLimit,")
append("tier=$tier,")
append("userAdmins=$userAdmins,")
append("userCount=$userCount,")
append("userKmsKey=$userKmsKey,")
append("vanityDomain=$vanityDomain,")
append("vanityDomainStatus=$vanityDomainStatus")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = arn.hashCode()
result = 31 * result + (clientId.hashCode())
result = 31 * result + (configurationStatus.hashCode())
result = 31 * result + (contentSize?.hashCode() ?: 0)
result = 31 * result + (createDateTime.hashCode())
result = 31 * result + (customerRoleArn?.hashCode() ?: 0)
result = 31 * result + (deleteDateTime?.hashCode() ?: 0)
result = 31 * result + (description?.hashCode() ?: 0)
result = 31 * result + (groupAdmins?.hashCode() ?: 0)
result = 31 * result + (name.hashCode())
result = 31 * result + (randomDomain.hashCode())
result = 31 * result + (spaceId.hashCode())
result = 31 * result + (status.hashCode())
result = 31 * result + (storageLimit.hashCode())
result = 31 * result + (tier.hashCode())
result = 31 * result + (userAdmins?.hashCode() ?: 0)
result = 31 * result + (userCount ?: 0)
result = 31 * result + (userKmsKey?.hashCode() ?: 0)
result = 31 * result + (vanityDomain.hashCode())
result = 31 * result + (vanityDomainStatus.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 GetSpaceResponse
if (arn != other.arn) return false
if (clientId != other.clientId) return false
if (configurationStatus != other.configurationStatus) return false
if (contentSize != other.contentSize) return false
if (createDateTime != other.createDateTime) return false
if (customerRoleArn != other.customerRoleArn) return false
if (deleteDateTime != other.deleteDateTime) return false
if (description != other.description) return false
if (groupAdmins != other.groupAdmins) return false
if (name != other.name) return false
if (randomDomain != other.randomDomain) return false
if (spaceId != other.spaceId) return false
if (status != other.status) return false
if (storageLimit != other.storageLimit) return false
if (tier != other.tier) return false
if (userAdmins != other.userAdmins) return false
if (userCount != other.userCount) return false
if (userKmsKey != other.userKmsKey) return false
if (vanityDomain != other.vanityDomain) return false
if (vanityDomainStatus != other.vanityDomainStatus) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.repostspace.model.GetSpaceResponse = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ARN of the private re:Post.
*/
public var arn: kotlin.String? = null
/**
* The Identity Center identifier for the Application Instance.
*/
public var clientId: kotlin.String? = null
/**
* The configuration status of the private re:Post.
*/
public var configurationStatus: aws.sdk.kotlin.services.repostspace.model.ConfigurationStatus? = null
/**
* The content size of the private re:Post.
*/
public var contentSize: kotlin.Long? = null
/**
* The date when the private re:Post was created.
*/
public var createDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.
*/
public var customerRoleArn: kotlin.String? = null
/**
* The date when the private re:Post was deleted.
*/
public var deleteDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The description of the private re:Post.
*/
public var description: kotlin.String? = null
/**
* The list of groups that are administrators of the private re:Post.
*/
public var groupAdmins: List? = null
/**
* The name of the private re:Post.
*/
public var name: kotlin.String? = null
/**
* The AWS generated subdomain of the private re:Post
*/
public var randomDomain: kotlin.String? = null
/**
* The unique ID of the private re:Post.
*/
public var spaceId: kotlin.String? = null
/**
* The creation or deletion status of the private re:Post.
*/
public var status: kotlin.String? = null
/**
* The storage limit of the private re:Post.
*/
public var storageLimit: kotlin.Long? = null
/**
* The pricing tier of the private re:Post.
*/
public var tier: aws.sdk.kotlin.services.repostspace.model.TierLevel? = null
/**
* The list of users that are administrators of the private re:Post.
*/
public var userAdmins: List? = null
/**
* The number of users that have onboarded to the private re:Post.
*/
public var userCount: kotlin.Int? = null
/**
* The custom AWS KMS key ARN that’s used for the AWS KMS encryption.
*/
public var userKmsKey: kotlin.String? = null
/**
* The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.
*/
public var vanityDomain: kotlin.String? = null
/**
* The approval status of the custom subdomain.
*/
public var vanityDomainStatus: aws.sdk.kotlin.services.repostspace.model.VanityDomainStatus? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.repostspace.model.GetSpaceResponse) : this() {
this.arn = x.arn
this.clientId = x.clientId
this.configurationStatus = x.configurationStatus
this.contentSize = x.contentSize
this.createDateTime = x.createDateTime
this.customerRoleArn = x.customerRoleArn
this.deleteDateTime = x.deleteDateTime
this.description = x.description
this.groupAdmins = x.groupAdmins
this.name = x.name
this.randomDomain = x.randomDomain
this.spaceId = x.spaceId
this.status = x.status
this.storageLimit = x.storageLimit
this.tier = x.tier
this.userAdmins = x.userAdmins
this.userCount = x.userCount
this.userKmsKey = x.userKmsKey
this.vanityDomain = x.vanityDomain
this.vanityDomainStatus = x.vanityDomainStatus
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.repostspace.model.GetSpaceResponse = GetSpaceResponse(this)
internal fun correctErrors(): Builder {
if (arn == null) arn = ""
if (clientId == null) clientId = ""
if (configurationStatus == null) configurationStatus = ConfigurationStatus.SdkUnknown("no value provided")
if (createDateTime == null) createDateTime = Instant.fromEpochSeconds(0)
if (name == null) name = ""
if (randomDomain == null) randomDomain = ""
if (spaceId == null) spaceId = ""
if (status == null) status = ""
if (storageLimit == null) storageLimit = 0L
if (tier == null) tier = TierLevel.SdkUnknown("no value provided")
if (vanityDomain == null) vanityDomain = ""
if (vanityDomainStatus == null) vanityDomainStatus = VanityDomainStatus.SdkUnknown("no value provided")
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy