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

commonMain.aws.sdk.kotlin.services.customerprofiles.model.DomainStats.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.customerprofiles.model



/**
 * Usage-specific statistics about the domain.
 */
public class DomainStats private constructor(builder: Builder) {
    /**
     * The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.
     */
    public val meteringProfileCount: kotlin.Long = builder.meteringProfileCount
    /**
     * The total number of objects in domain.
     */
    public val objectCount: kotlin.Long = builder.objectCount
    /**
     * The total number of profiles currently in the domain.
     */
    public val profileCount: kotlin.Long = builder.profileCount
    /**
     * The total size, in bytes, of all objects in the domain.
     */
    public val totalSize: kotlin.Long = builder.totalSize

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.customerprofiles.model.DomainStats = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("DomainStats(")
        append("meteringProfileCount=$meteringProfileCount,")
        append("objectCount=$objectCount,")
        append("profileCount=$profileCount,")
        append("totalSize=$totalSize")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = meteringProfileCount.hashCode()
        result = 31 * result + (objectCount.hashCode())
        result = 31 * result + (profileCount.hashCode())
        result = 31 * result + (totalSize.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 DomainStats

        if (meteringProfileCount != other.meteringProfileCount) return false
        if (objectCount != other.objectCount) return false
        if (profileCount != other.profileCount) return false
        if (totalSize != other.totalSize) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.customerprofiles.model.DomainStats = Builder(this).apply(block).build()

    public class Builder {
        /**
         * The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.
         */
        public var meteringProfileCount: kotlin.Long = 0L
        /**
         * The total number of objects in domain.
         */
        public var objectCount: kotlin.Long = 0L
        /**
         * The total number of profiles currently in the domain.
         */
        public var profileCount: kotlin.Long = 0L
        /**
         * The total size, in bytes, of all objects in the domain.
         */
        public var totalSize: kotlin.Long = 0L

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.customerprofiles.model.DomainStats) : this() {
            this.meteringProfileCount = x.meteringProfileCount
            this.objectCount = x.objectCount
            this.profileCount = x.profileCount
            this.totalSize = x.totalSize
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.customerprofiles.model.DomainStats = DomainStats(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy