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

commonMain.aws.sdk.kotlin.services.sms.model.AppSummary.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.sms.model

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

/**
 * Information about the application.
 */
public class AppSummary private constructor(builder: Builder) {
    /**
     * The unique ID of the application.
     */
    public val appId: kotlin.String? = builder.appId
    /**
     * The creation time of the application.
     */
    public val creationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.creationTime
    /**
     * The description of the application.
     */
    public val description: kotlin.String? = builder.description
    /**
     * The ID of the application.
     */
    public val importedAppId: kotlin.String? = builder.importedAppId
    /**
     * The last modified time of the application.
     */
    public val lastModified: aws.smithy.kotlin.runtime.time.Instant? = builder.lastModified
    /**
     * The timestamp of the application's most recent successful replication.
     */
    public val latestReplicationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.latestReplicationTime
    /**
     * Status of the launch configuration.
     */
    public val launchConfigurationStatus: aws.sdk.kotlin.services.sms.model.AppLaunchConfigurationStatus? = builder.launchConfigurationStatus
    /**
     * Details about the latest launch of the application.
     */
    public val launchDetails: aws.sdk.kotlin.services.sms.model.LaunchDetails? = builder.launchDetails
    /**
     * The launch status of the application.
     */
    public val launchStatus: aws.sdk.kotlin.services.sms.model.AppLaunchStatus? = builder.launchStatus
    /**
     * A message related to the launch status of the application.
     */
    public val launchStatusMessage: kotlin.String? = builder.launchStatusMessage
    /**
     * The name of the application.
     */
    public val name: kotlin.String? = builder.name
    /**
     * Status of the replication configuration.
     */
    public val replicationConfigurationStatus: aws.sdk.kotlin.services.sms.model.AppReplicationConfigurationStatus? = builder.replicationConfigurationStatus
    /**
     * The replication status of the application.
     */
    public val replicationStatus: aws.sdk.kotlin.services.sms.model.AppReplicationStatus? = builder.replicationStatus
    /**
     * A message related to the replication status of the application.
     */
    public val replicationStatusMessage: kotlin.String? = builder.replicationStatusMessage
    /**
     * The name of the service role in the customer's account used by Server Migration Service.
     */
    public val roleName: kotlin.String? = builder.roleName
    /**
     * Status of the application.
     */
    public val status: aws.sdk.kotlin.services.sms.model.AppStatus? = builder.status
    /**
     * A message related to the status of the application
     */
    public val statusMessage: kotlin.String? = builder.statusMessage
    /**
     * The number of server groups present in the application.
     */
    public val totalServerGroups: kotlin.Int? = builder.totalServerGroups
    /**
     * The number of servers present in the application.
     */
    public val totalServers: kotlin.Int? = builder.totalServers

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

    override fun toString(): kotlin.String = buildString {
        append("AppSummary(")
        append("appId=$appId,")
        append("creationTime=$creationTime,")
        append("description=$description,")
        append("importedAppId=$importedAppId,")
        append("lastModified=$lastModified,")
        append("latestReplicationTime=$latestReplicationTime,")
        append("launchConfigurationStatus=$launchConfigurationStatus,")
        append("launchDetails=$launchDetails,")
        append("launchStatus=$launchStatus,")
        append("launchStatusMessage=$launchStatusMessage,")
        append("name=$name,")
        append("replicationConfigurationStatus=$replicationConfigurationStatus,")
        append("replicationStatus=$replicationStatus,")
        append("replicationStatusMessage=$replicationStatusMessage,")
        append("roleName=$roleName,")
        append("status=$status,")
        append("statusMessage=$statusMessage,")
        append("totalServerGroups=$totalServerGroups,")
        append("totalServers=$totalServers")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = appId?.hashCode() ?: 0
        result = 31 * result + (creationTime?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (importedAppId?.hashCode() ?: 0)
        result = 31 * result + (lastModified?.hashCode() ?: 0)
        result = 31 * result + (latestReplicationTime?.hashCode() ?: 0)
        result = 31 * result + (launchConfigurationStatus?.hashCode() ?: 0)
        result = 31 * result + (launchDetails?.hashCode() ?: 0)
        result = 31 * result + (launchStatus?.hashCode() ?: 0)
        result = 31 * result + (launchStatusMessage?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (replicationConfigurationStatus?.hashCode() ?: 0)
        result = 31 * result + (replicationStatus?.hashCode() ?: 0)
        result = 31 * result + (replicationStatusMessage?.hashCode() ?: 0)
        result = 31 * result + (roleName?.hashCode() ?: 0)
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (statusMessage?.hashCode() ?: 0)
        result = 31 * result + (totalServerGroups ?: 0)
        result = 31 * result + (totalServers ?: 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 AppSummary

        if (appId != other.appId) return false
        if (creationTime != other.creationTime) return false
        if (description != other.description) return false
        if (importedAppId != other.importedAppId) return false
        if (lastModified != other.lastModified) return false
        if (latestReplicationTime != other.latestReplicationTime) return false
        if (launchConfigurationStatus != other.launchConfigurationStatus) return false
        if (launchDetails != other.launchDetails) return false
        if (launchStatus != other.launchStatus) return false
        if (launchStatusMessage != other.launchStatusMessage) return false
        if (name != other.name) return false
        if (replicationConfigurationStatus != other.replicationConfigurationStatus) return false
        if (replicationStatus != other.replicationStatus) return false
        if (replicationStatusMessage != other.replicationStatusMessage) return false
        if (roleName != other.roleName) return false
        if (status != other.status) return false
        if (statusMessage != other.statusMessage) return false
        if (totalServerGroups != other.totalServerGroups) return false
        if (totalServers != other.totalServers) return false

        return true
    }

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

    public class Builder {
        /**
         * The unique ID of the application.
         */
        public var appId: kotlin.String? = null
        /**
         * The creation time of the application.
         */
        public var creationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The description of the application.
         */
        public var description: kotlin.String? = null
        /**
         * The ID of the application.
         */
        public var importedAppId: kotlin.String? = null
        /**
         * The last modified time of the application.
         */
        public var lastModified: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The timestamp of the application's most recent successful replication.
         */
        public var latestReplicationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Status of the launch configuration.
         */
        public var launchConfigurationStatus: aws.sdk.kotlin.services.sms.model.AppLaunchConfigurationStatus? = null
        /**
         * Details about the latest launch of the application.
         */
        public var launchDetails: aws.sdk.kotlin.services.sms.model.LaunchDetails? = null
        /**
         * The launch status of the application.
         */
        public var launchStatus: aws.sdk.kotlin.services.sms.model.AppLaunchStatus? = null
        /**
         * A message related to the launch status of the application.
         */
        public var launchStatusMessage: kotlin.String? = null
        /**
         * The name of the application.
         */
        public var name: kotlin.String? = null
        /**
         * Status of the replication configuration.
         */
        public var replicationConfigurationStatus: aws.sdk.kotlin.services.sms.model.AppReplicationConfigurationStatus? = null
        /**
         * The replication status of the application.
         */
        public var replicationStatus: aws.sdk.kotlin.services.sms.model.AppReplicationStatus? = null
        /**
         * A message related to the replication status of the application.
         */
        public var replicationStatusMessage: kotlin.String? = null
        /**
         * The name of the service role in the customer's account used by Server Migration Service.
         */
        public var roleName: kotlin.String? = null
        /**
         * Status of the application.
         */
        public var status: aws.sdk.kotlin.services.sms.model.AppStatus? = null
        /**
         * A message related to the status of the application
         */
        public var statusMessage: kotlin.String? = null
        /**
         * The number of server groups present in the application.
         */
        public var totalServerGroups: kotlin.Int? = null
        /**
         * The number of servers present in the application.
         */
        public var totalServers: kotlin.Int? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.sms.model.AppSummary) : this() {
            this.appId = x.appId
            this.creationTime = x.creationTime
            this.description = x.description
            this.importedAppId = x.importedAppId
            this.lastModified = x.lastModified
            this.latestReplicationTime = x.latestReplicationTime
            this.launchConfigurationStatus = x.launchConfigurationStatus
            this.launchDetails = x.launchDetails
            this.launchStatus = x.launchStatus
            this.launchStatusMessage = x.launchStatusMessage
            this.name = x.name
            this.replicationConfigurationStatus = x.replicationConfigurationStatus
            this.replicationStatus = x.replicationStatus
            this.replicationStatusMessage = x.replicationStatusMessage
            this.roleName = x.roleName
            this.status = x.status
            this.statusMessage = x.statusMessage
            this.totalServerGroups = x.totalServerGroups
            this.totalServers = x.totalServers
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.sms.model.LaunchDetails] inside the given [block]
         */
        public fun launchDetails(block: aws.sdk.kotlin.services.sms.model.LaunchDetails.Builder.() -> kotlin.Unit) {
            this.launchDetails = aws.sdk.kotlin.services.sms.model.LaunchDetails.invoke(block)
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy