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

commonMain.aws.sdk.kotlin.services.ssm.model.InstanceProperty.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
import aws.smithy.kotlin.runtime.time.Instant

/**
 * An object containing various properties of a managed node.
 */
public class InstanceProperty private constructor(builder: Builder) {
    /**
     * The activation ID created by Systems Manager when the server or virtual machine (VM) was registered
     */
    public val activationId: kotlin.String? = builder.activationId
    /**
     * The version of SSM Agent running on your managed node.
     */
    public val agentVersion: kotlin.String? = builder.agentVersion
    /**
     * The CPU architecture of the node. For example, `x86_64`.
     */
    public val architecture: kotlin.String? = builder.architecture
    /**
     * Status information about the aggregated associations.
     */
    public val associationOverview: aws.sdk.kotlin.services.ssm.model.InstanceAggregatedAssociationOverview? = builder.associationOverview
    /**
     * The status of the State Manager association applied to the managed node.
     */
    public val associationStatus: kotlin.String? = builder.associationStatus
    /**
     * The fully qualified host name of the managed node.
     */
    public val computerName: kotlin.String? = builder.computerName
    /**
     * The IAM role used in the hybrid activation to register the node with Systems Manager.
     */
    public val iamRole: kotlin.String? = builder.iamRole
    /**
     * The ID of the managed node.
     */
    public val instanceId: kotlin.String? = builder.instanceId
    /**
     * The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.
     */
    public val instanceRole: kotlin.String? = builder.instanceRole
    /**
     * The current state of the node.
     */
    public val instanceState: kotlin.String? = builder.instanceState
    /**
     * The instance type of the managed node. For example, t3.large.
     */
    public val instanceType: kotlin.String? = builder.instanceType
    /**
     * The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.
     */
    public val ipAddress: kotlin.String? = builder.ipAddress
    /**
     * The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.
     */
    public val keyName: kotlin.String? = builder.keyName
    /**
     * The date the association was last run.
     */
    public val lastAssociationExecutionDate: aws.smithy.kotlin.runtime.time.Instant? = builder.lastAssociationExecutionDate
    /**
     * The date and time when the SSM Agent last pinged the Systems Manager service.
     */
    public val lastPingDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastPingDateTime
    /**
     * The last date the association was successfully run.
     */
    public val lastSuccessfulAssociationExecutionDate: aws.smithy.kotlin.runtime.time.Instant? = builder.lastSuccessfulAssociationExecutionDate
    /**
     * The timestamp for when the node was launched.
     */
    public val launchTime: aws.smithy.kotlin.runtime.time.Instant? = builder.launchTime
    /**
     * The value of the EC2 `Name` tag associated with the node. If a `Name` tag hasn't been applied to the node, this value is blank.
     */
    public val name: kotlin.String? = builder.name
    /**
     * Connection status of the SSM Agent on the managed node.
     */
    public val pingStatus: aws.sdk.kotlin.services.ssm.model.PingStatus? = builder.pingStatus
    /**
     * 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. For example, Windows Server or Amazon Linux 2.
     */
    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 date the node was registered with Systems Manager.
     */
    public val registrationDate: aws.smithy.kotlin.runtime.time.Instant? = builder.registrationDate
    /**
     * The type of managed node.
     */
    public val resourceType: kotlin.String? = builder.resourceType
    /**
     * The ID of the source resource.
     */
    public val sourceId: kotlin.String? = builder.sourceId
    /**
     * The type of the source resource.
     */
    public val sourceType: aws.sdk.kotlin.services.ssm.model.SourceType? = builder.sourceType

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

    override fun toString(): kotlin.String = buildString {
        append("InstanceProperty(")
        append("activationId=$activationId,")
        append("agentVersion=$agentVersion,")
        append("architecture=$architecture,")
        append("associationOverview=$associationOverview,")
        append("associationStatus=$associationStatus,")
        append("computerName=$computerName,")
        append("iamRole=$iamRole,")
        append("instanceId=$instanceId,")
        append("instanceRole=$instanceRole,")
        append("instanceState=$instanceState,")
        append("instanceType=$instanceType,")
        append("ipAddress=*** Sensitive Data Redacted ***,")
        append("keyName=$keyName,")
        append("lastAssociationExecutionDate=$lastAssociationExecutionDate,")
        append("lastPingDateTime=$lastPingDateTime,")
        append("lastSuccessfulAssociationExecutionDate=$lastSuccessfulAssociationExecutionDate,")
        append("launchTime=$launchTime,")
        append("name=$name,")
        append("pingStatus=$pingStatus,")
        append("platformName=$platformName,")
        append("platformType=$platformType,")
        append("platformVersion=$platformVersion,")
        append("registrationDate=$registrationDate,")
        append("resourceType=$resourceType,")
        append("sourceId=$sourceId,")
        append("sourceType=$sourceType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = activationId?.hashCode() ?: 0
        result = 31 * result + (agentVersion?.hashCode() ?: 0)
        result = 31 * result + (architecture?.hashCode() ?: 0)
        result = 31 * result + (associationOverview?.hashCode() ?: 0)
        result = 31 * result + (associationStatus?.hashCode() ?: 0)
        result = 31 * result + (computerName?.hashCode() ?: 0)
        result = 31 * result + (iamRole?.hashCode() ?: 0)
        result = 31 * result + (instanceId?.hashCode() ?: 0)
        result = 31 * result + (instanceRole?.hashCode() ?: 0)
        result = 31 * result + (instanceState?.hashCode() ?: 0)
        result = 31 * result + (instanceType?.hashCode() ?: 0)
        result = 31 * result + (ipAddress?.hashCode() ?: 0)
        result = 31 * result + (keyName?.hashCode() ?: 0)
        result = 31 * result + (lastAssociationExecutionDate?.hashCode() ?: 0)
        result = 31 * result + (lastPingDateTime?.hashCode() ?: 0)
        result = 31 * result + (lastSuccessfulAssociationExecutionDate?.hashCode() ?: 0)
        result = 31 * result + (launchTime?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (pingStatus?.hashCode() ?: 0)
        result = 31 * result + (platformName?.hashCode() ?: 0)
        result = 31 * result + (platformType?.hashCode() ?: 0)
        result = 31 * result + (platformVersion?.hashCode() ?: 0)
        result = 31 * result + (registrationDate?.hashCode() ?: 0)
        result = 31 * result + (resourceType?.hashCode() ?: 0)
        result = 31 * result + (sourceId?.hashCode() ?: 0)
        result = 31 * result + (sourceType?.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 InstanceProperty

        if (activationId != other.activationId) return false
        if (agentVersion != other.agentVersion) return false
        if (architecture != other.architecture) return false
        if (associationOverview != other.associationOverview) return false
        if (associationStatus != other.associationStatus) return false
        if (computerName != other.computerName) return false
        if (iamRole != other.iamRole) return false
        if (instanceId != other.instanceId) return false
        if (instanceRole != other.instanceRole) return false
        if (instanceState != other.instanceState) return false
        if (instanceType != other.instanceType) return false
        if (ipAddress != other.ipAddress) return false
        if (keyName != other.keyName) return false
        if (lastAssociationExecutionDate != other.lastAssociationExecutionDate) return false
        if (lastPingDateTime != other.lastPingDateTime) return false
        if (lastSuccessfulAssociationExecutionDate != other.lastSuccessfulAssociationExecutionDate) return false
        if (launchTime != other.launchTime) return false
        if (name != other.name) return false
        if (pingStatus != other.pingStatus) return false
        if (platformName != other.platformName) return false
        if (platformType != other.platformType) return false
        if (platformVersion != other.platformVersion) return false
        if (registrationDate != other.registrationDate) return false
        if (resourceType != other.resourceType) return false
        if (sourceId != other.sourceId) return false
        if (sourceType != other.sourceType) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The activation ID created by Systems Manager when the server or virtual machine (VM) was registered
         */
        public var activationId: kotlin.String? = null
        /**
         * The version of SSM Agent running on your managed node.
         */
        public var agentVersion: kotlin.String? = null
        /**
         * The CPU architecture of the node. For example, `x86_64`.
         */
        public var architecture: kotlin.String? = null
        /**
         * Status information about the aggregated associations.
         */
        public var associationOverview: aws.sdk.kotlin.services.ssm.model.InstanceAggregatedAssociationOverview? = null
        /**
         * The status of the State Manager association applied to the managed node.
         */
        public var associationStatus: kotlin.String? = null
        /**
         * The fully qualified host name of the managed node.
         */
        public var computerName: kotlin.String? = null
        /**
         * The IAM role used in the hybrid activation to register the node with Systems Manager.
         */
        public var iamRole: kotlin.String? = null
        /**
         * The ID of the managed node.
         */
        public var instanceId: kotlin.String? = null
        /**
         * The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.
         */
        public var instanceRole: kotlin.String? = null
        /**
         * The current state of the node.
         */
        public var instanceState: kotlin.String? = null
        /**
         * The instance type of the managed node. For example, t3.large.
         */
        public var instanceType: kotlin.String? = null
        /**
         * The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.
         */
        public var ipAddress: kotlin.String? = null
        /**
         * The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.
         */
        public var keyName: kotlin.String? = null
        /**
         * The date the association was last run.
         */
        public var lastAssociationExecutionDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The date and time when the SSM Agent last pinged the Systems Manager service.
         */
        public var lastPingDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The last date the association was successfully run.
         */
        public var lastSuccessfulAssociationExecutionDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The timestamp for when the node was launched.
         */
        public var launchTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The value of the EC2 `Name` tag associated with the node. If a `Name` tag hasn't been applied to the node, this value is blank.
         */
        public var name: kotlin.String? = null
        /**
         * Connection status of the SSM Agent on the managed node.
         */
        public var pingStatus: aws.sdk.kotlin.services.ssm.model.PingStatus? = 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. For example, Windows Server or Amazon Linux 2.
         */
        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 date the node was registered with Systems Manager.
         */
        public var registrationDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The type of managed node.
         */
        public var resourceType: kotlin.String? = null
        /**
         * The ID of the source resource.
         */
        public var sourceId: kotlin.String? = null
        /**
         * The type of the source resource.
         */
        public var sourceType: aws.sdk.kotlin.services.ssm.model.SourceType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.ssm.model.InstanceProperty) : this() {
            this.activationId = x.activationId
            this.agentVersion = x.agentVersion
            this.architecture = x.architecture
            this.associationOverview = x.associationOverview
            this.associationStatus = x.associationStatus
            this.computerName = x.computerName
            this.iamRole = x.iamRole
            this.instanceId = x.instanceId
            this.instanceRole = x.instanceRole
            this.instanceState = x.instanceState
            this.instanceType = x.instanceType
            this.ipAddress = x.ipAddress
            this.keyName = x.keyName
            this.lastAssociationExecutionDate = x.lastAssociationExecutionDate
            this.lastPingDateTime = x.lastPingDateTime
            this.lastSuccessfulAssociationExecutionDate = x.lastSuccessfulAssociationExecutionDate
            this.launchTime = x.launchTime
            this.name = x.name
            this.pingStatus = x.pingStatus
            this.platformName = x.platformName
            this.platformType = x.platformType
            this.platformVersion = x.platformVersion
            this.registrationDate = x.registrationDate
            this.resourceType = x.resourceType
            this.sourceId = x.sourceId
            this.sourceType = x.sourceType
        }

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy