All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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