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

commonMain.aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.nimble.model



/**
 * The launch profile initialization Active Directory contains information required for the launch profile to connect to the Active Directory.
 */
public class LaunchProfileInitializationActiveDirectory private constructor(builder: Builder) {
    /**
     * A collection of custom attributes for an Active Directory computer.
     */
    public val computerAttributes: List? = builder.computerAttributes
    /**
     * The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.
     */
    public val directoryId: kotlin.String? = builder.directoryId
    /**
     * The directory name.
     */
    public val directoryName: kotlin.String? = builder.directoryName
    /**
     * The DNS IP address.
     */
    public val dnsIpAddresses: List? = builder.dnsIpAddresses
    /**
     * The name for the organizational unit distinguished name.
     */
    public val organizationalUnitDistinguishedName: kotlin.String? = builder.organizationalUnitDistinguishedName
    /**
     * The unique identifier for a studio component resource.
     */
    public val studioComponentId: kotlin.String? = builder.studioComponentId
    /**
     * The name for the studio component.
     */
    public val studioComponentName: kotlin.String? = builder.studioComponentName

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

    override fun toString(): kotlin.String = buildString {
        append("LaunchProfileInitializationActiveDirectory(")
        append("computerAttributes=*** Sensitive Data Redacted ***,")
        append("directoryId=$directoryId,")
        append("directoryName=$directoryName,")
        append("dnsIpAddresses=$dnsIpAddresses,")
        append("organizationalUnitDistinguishedName=$organizationalUnitDistinguishedName,")
        append("studioComponentId=$studioComponentId,")
        append("studioComponentName=*** Sensitive Data Redacted ***")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = computerAttributes?.hashCode() ?: 0
        result = 31 * result + (directoryId?.hashCode() ?: 0)
        result = 31 * result + (directoryName?.hashCode() ?: 0)
        result = 31 * result + (dnsIpAddresses?.hashCode() ?: 0)
        result = 31 * result + (organizationalUnitDistinguishedName?.hashCode() ?: 0)
        result = 31 * result + (studioComponentId?.hashCode() ?: 0)
        result = 31 * result + (studioComponentName?.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 LaunchProfileInitializationActiveDirectory

        if (computerAttributes != other.computerAttributes) return false
        if (directoryId != other.directoryId) return false
        if (directoryName != other.directoryName) return false
        if (dnsIpAddresses != other.dnsIpAddresses) return false
        if (organizationalUnitDistinguishedName != other.organizationalUnitDistinguishedName) return false
        if (studioComponentId != other.studioComponentId) return false
        if (studioComponentName != other.studioComponentName) return false

        return true
    }

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

    public class Builder {
        /**
         * A collection of custom attributes for an Active Directory computer.
         */
        public var computerAttributes: List? = null
        /**
         * The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.
         */
        public var directoryId: kotlin.String? = null
        /**
         * The directory name.
         */
        public var directoryName: kotlin.String? = null
        /**
         * The DNS IP address.
         */
        public var dnsIpAddresses: List? = null
        /**
         * The name for the organizational unit distinguished name.
         */
        public var organizationalUnitDistinguishedName: kotlin.String? = null
        /**
         * The unique identifier for a studio component resource.
         */
        public var studioComponentId: kotlin.String? = null
        /**
         * The name for the studio component.
         */
        public var studioComponentName: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory) : this() {
            this.computerAttributes = x.computerAttributes
            this.directoryId = x.directoryId
            this.directoryName = x.directoryName
            this.dnsIpAddresses = x.dnsIpAddresses
            this.organizationalUnitDistinguishedName = x.organizationalUnitDistinguishedName
            this.studioComponentId = x.studioComponentId
            this.studioComponentName = x.studioComponentName
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy