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

commonMain.aws.sdk.kotlin.services.appstream.model.CreateUsageReportSubscriptionResponse.kt Maven / Gradle / Ivy

There is a newer version: 1.3.99
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.appstream.model



class CreateUsageReportSubscriptionResponse private constructor(builder: Builder) {
    /**
     * The Amazon S3 bucket where generated reports are stored.
     *
     * If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
     */
    val s3BucketName: kotlin.String? = builder.s3BucketName
    /**
     * The schedule for generating usage reports.
     */
    val schedule: aws.sdk.kotlin.services.appstream.model.UsageReportSchedule? = builder.schedule

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

    override fun toString(): kotlin.String = buildString {
        append("CreateUsageReportSubscriptionResponse(")
        append("s3BucketName=$s3BucketName,")
        append("schedule=$schedule)")
    }

    override fun hashCode(): kotlin.Int {
        var result = s3BucketName?.hashCode() ?: 0
        result = 31 * result + (schedule?.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 CreateUsageReportSubscriptionResponse

        if (s3BucketName != other.s3BucketName) return false
        if (schedule != other.schedule) return false

        return true
    }

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

    class Builder {
        /**
         * The Amazon S3 bucket where generated reports are stored.
         *
         * If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
         */
        var s3BucketName: kotlin.String? = null
        /**
         * The schedule for generating usage reports.
         */
        var schedule: aws.sdk.kotlin.services.appstream.model.UsageReportSchedule? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.appstream.model.CreateUsageReportSubscriptionResponse) : this() {
            this.s3BucketName = x.s3BucketName
            this.schedule = x.schedule
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy