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

commonMain.aws.sdk.kotlin.services.ssm.model.InstanceInfo.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.ssm.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Details about a specific managed node.
 */
public class InstanceInfo private constructor(builder: Builder) {
    /**
     * The type of agent installed on the node.
     */
    public val agentType: kotlin.String? = builder.agentType
    /**
     * The version number of the agent installed on the node.
     */
    public val agentVersion: kotlin.String? = builder.agentVersion
    /**
     * The fully qualified host name of the managed node.
     */
    public val computerName: kotlin.String? = builder.computerName
    /**
     * The current status of the managed node.
     */
    public val instanceStatus: kotlin.String? = builder.instanceStatus
    /**
     * The IP address of the managed node.
     */
    public val ipAddress: kotlin.String? = builder.ipAddress
    /**
     * Indicates whether the node is managed by Systems Manager.
     */
    public val managedStatus: aws.sdk.kotlin.services.ssm.model.ManagedStatus? = builder.managedStatus
    /**
     * The name of the operating system platform running on your managed node.
     */
    public val platformName: kotlin.String? = builder.platformName
    /**
     * The operating system platform type of the managed node.
     */
    public val platformType: aws.sdk.kotlin.services.ssm.model.PlatformType? = builder.platformType
    /**
     * The version of the OS platform running on your managed node.
     */
    public val platformVersion: kotlin.String? = builder.platformVersion
    /**
     * The type of instance, either an EC2 instance or another supported machine type in a hybrid fleet.
     */
    public val resourceType: aws.sdk.kotlin.services.ssm.model.ResourceType? = builder.resourceType

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

    override fun toString(): kotlin.String = buildString {
        append("InstanceInfo(")
        append("agentType=$agentType,")
        append("agentVersion=$agentVersion,")
        append("computerName=$computerName,")
        append("instanceStatus=$instanceStatus,")
        append("ipAddress=*** Sensitive Data Redacted ***,")
        append("managedStatus=$managedStatus,")
        append("platformName=$platformName,")
        append("platformType=$platformType,")
        append("platformVersion=$platformVersion,")
        append("resourceType=$resourceType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = agentType?.hashCode() ?: 0
        result = 31 * result + (agentVersion?.hashCode() ?: 0)
        result = 31 * result + (computerName?.hashCode() ?: 0)
        result = 31 * result + (instanceStatus?.hashCode() ?: 0)
        result = 31 * result + (ipAddress?.hashCode() ?: 0)
        result = 31 * result + (managedStatus?.hashCode() ?: 0)
        result = 31 * result + (platformName?.hashCode() ?: 0)
        result = 31 * result + (platformType?.hashCode() ?: 0)
        result = 31 * result + (platformVersion?.hashCode() ?: 0)
        result = 31 * result + (resourceType?.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 InstanceInfo

        if (agentType != other.agentType) return false
        if (agentVersion != other.agentVersion) return false
        if (computerName != other.computerName) return false
        if (instanceStatus != other.instanceStatus) return false
        if (ipAddress != other.ipAddress) return false
        if (managedStatus != other.managedStatus) return false
        if (platformName != other.platformName) return false
        if (platformType != other.platformType) return false
        if (platformVersion != other.platformVersion) return false
        if (resourceType != other.resourceType) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The type of agent installed on the node.
         */
        public var agentType: kotlin.String? = null
        /**
         * The version number of the agent installed on the node.
         */
        public var agentVersion: kotlin.String? = null
        /**
         * The fully qualified host name of the managed node.
         */
        public var computerName: kotlin.String? = null
        /**
         * The current status of the managed node.
         */
        public var instanceStatus: kotlin.String? = null
        /**
         * The IP address of the managed node.
         */
        public var ipAddress: kotlin.String? = null
        /**
         * Indicates whether the node is managed by Systems Manager.
         */
        public var managedStatus: aws.sdk.kotlin.services.ssm.model.ManagedStatus? = null
        /**
         * The name of the operating system platform running on your managed node.
         */
        public var platformName: kotlin.String? = null
        /**
         * The operating system platform type of the managed node.
         */
        public var platformType: aws.sdk.kotlin.services.ssm.model.PlatformType? = null
        /**
         * The version of the OS platform running on your managed node.
         */
        public var platformVersion: kotlin.String? = null
        /**
         * The type of instance, either an EC2 instance or another supported machine type in a hybrid fleet.
         */
        public var resourceType: aws.sdk.kotlin.services.ssm.model.ResourceType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.ssm.model.InstanceInfo) : this() {
            this.agentType = x.agentType
            this.agentVersion = x.agentVersion
            this.computerName = x.computerName
            this.instanceStatus = x.instanceStatus
            this.ipAddress = x.ipAddress
            this.managedStatus = x.managedStatus
            this.platformName = x.platformName
            this.platformType = x.platformType
            this.platformVersion = x.platformVersion
            this.resourceType = x.resourceType
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy