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

commonMain.aws.sdk.kotlin.services.codecatalyst.model.GetSubscriptionResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.codecatalyst.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

public class GetSubscriptionResponse private constructor(builder: Builder) {
    /**
     * The display name of the Amazon Web Services account used for billing for the space.
     */
    public val awsAccountName: kotlin.String? = builder.awsAccountName
    /**
     * The day and time the pending change will be applied to the space, in coordinated universal time (UTC) timestamp format as specified in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
     */
    public val pendingSubscriptionStartTime: aws.smithy.kotlin.runtime.time.Instant? = builder.pendingSubscriptionStartTime
    /**
     * The type of the billing plan that the space will be changed to at the start of the next billing cycle. This applies only to changes that reduce the functionality available for the space. Billing plan changes that increase functionality are applied immediately. For more information, see [Pricing](https://codecatalyst.aws/explore/pricing).
     */
    public val pendingSubscriptionType: kotlin.String? = builder.pendingSubscriptionType
    /**
     * The type of the billing plan for the space.
     */
    public val subscriptionType: kotlin.String? = builder.subscriptionType

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

    override fun toString(): kotlin.String = buildString {
        append("GetSubscriptionResponse(")
        append("awsAccountName=$awsAccountName,")
        append("pendingSubscriptionStartTime=$pendingSubscriptionStartTime,")
        append("pendingSubscriptionType=$pendingSubscriptionType,")
        append("subscriptionType=$subscriptionType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = awsAccountName?.hashCode() ?: 0
        result = 31 * result + (pendingSubscriptionStartTime?.hashCode() ?: 0)
        result = 31 * result + (pendingSubscriptionType?.hashCode() ?: 0)
        result = 31 * result + (subscriptionType?.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 GetSubscriptionResponse

        if (awsAccountName != other.awsAccountName) return false
        if (pendingSubscriptionStartTime != other.pendingSubscriptionStartTime) return false
        if (pendingSubscriptionType != other.pendingSubscriptionType) return false
        if (subscriptionType != other.subscriptionType) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The display name of the Amazon Web Services account used for billing for the space.
         */
        public var awsAccountName: kotlin.String? = null
        /**
         * The day and time the pending change will be applied to the space, in coordinated universal time (UTC) timestamp format as specified in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
         */
        public var pendingSubscriptionStartTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The type of the billing plan that the space will be changed to at the start of the next billing cycle. This applies only to changes that reduce the functionality available for the space. Billing plan changes that increase functionality are applied immediately. For more information, see [Pricing](https://codecatalyst.aws/explore/pricing).
         */
        public var pendingSubscriptionType: kotlin.String? = null
        /**
         * The type of the billing plan for the space.
         */
        public var subscriptionType: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.codecatalyst.model.GetSubscriptionResponse) : this() {
            this.awsAccountName = x.awsAccountName
            this.pendingSubscriptionStartTime = x.pendingSubscriptionStartTime
            this.pendingSubscriptionType = x.pendingSubscriptionType
            this.subscriptionType = x.subscriptionType
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.codecatalyst.model.GetSubscriptionResponse = GetSubscriptionResponse(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy