commonMain.aws.sdk.kotlin.services.nimble.model.LaunchProfileInitialization.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nimble-jvm Show documentation
Show all versions of nimble-jvm Show documentation
The AWS SDK for Kotlin client for nimble
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.nimble.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* A launch profile initialization contains information required for a workstation or server to connect to a launch profile.
*
* This includes scripts, endpoints, security groups, subnets, and other configuration.
*/
public class LaunchProfileInitialization private constructor(builder: Builder) {
/**
* A `LaunchProfileInitializationActiveDirectory` resource.
*/
public val activeDirectory: aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory? = builder.activeDirectory
/**
* The EC2 security groups that control access to the studio component.
*/
public val ec2SecurityGroupIds: List? = builder.ec2SecurityGroupIds
/**
* The ID of the launch profile used to control access from the streaming session.
*/
public val launchProfileId: kotlin.String? = builder.launchProfileId
/**
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*/
public val launchProfileProtocolVersion: kotlin.String? = builder.launchProfileProtocolVersion
/**
* The launch purpose.
*/
public val launchPurpose: kotlin.String? = builder.launchPurpose
/**
* The name for the launch profile.
*/
public val name: kotlin.String? = builder.name
/**
* The platform of the launch platform, either Windows or Linux.
*/
public val platform: aws.sdk.kotlin.services.nimble.model.LaunchProfilePlatform? = builder.platform
/**
* The system initializtion scripts.
*/
public val systemInitializationScripts: List? = builder.systemInitializationScripts
/**
* The user initializtion scripts.
*/
public val userInitializationScripts: List? = builder.userInitializationScripts
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.nimble.model.LaunchProfileInitialization = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("LaunchProfileInitialization(")
append("activeDirectory=$activeDirectory,")
append("ec2SecurityGroupIds=$ec2SecurityGroupIds,")
append("launchProfileId=$launchProfileId,")
append("launchProfileProtocolVersion=$launchProfileProtocolVersion,")
append("launchPurpose=$launchPurpose,")
append("name=*** Sensitive Data Redacted ***,")
append("platform=$platform,")
append("systemInitializationScripts=$systemInitializationScripts,")
append("userInitializationScripts=$userInitializationScripts")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = activeDirectory?.hashCode() ?: 0
result = 31 * result + (ec2SecurityGroupIds?.hashCode() ?: 0)
result = 31 * result + (launchProfileId?.hashCode() ?: 0)
result = 31 * result + (launchProfileProtocolVersion?.hashCode() ?: 0)
result = 31 * result + (launchPurpose?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (platform?.hashCode() ?: 0)
result = 31 * result + (systemInitializationScripts?.hashCode() ?: 0)
result = 31 * result + (userInitializationScripts?.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 LaunchProfileInitialization
if (activeDirectory != other.activeDirectory) return false
if (ec2SecurityGroupIds != other.ec2SecurityGroupIds) return false
if (launchProfileId != other.launchProfileId) return false
if (launchProfileProtocolVersion != other.launchProfileProtocolVersion) return false
if (launchPurpose != other.launchPurpose) return false
if (name != other.name) return false
if (platform != other.platform) return false
if (systemInitializationScripts != other.systemInitializationScripts) return false
if (userInitializationScripts != other.userInitializationScripts) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.nimble.model.LaunchProfileInitialization = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* A `LaunchProfileInitializationActiveDirectory` resource.
*/
public var activeDirectory: aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory? = null
/**
* The EC2 security groups that control access to the studio component.
*/
public var ec2SecurityGroupIds: List? = null
/**
* The ID of the launch profile used to control access from the streaming session.
*/
public var launchProfileId: kotlin.String? = null
/**
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*/
public var launchProfileProtocolVersion: kotlin.String? = null
/**
* The launch purpose.
*/
public var launchPurpose: kotlin.String? = null
/**
* The name for the launch profile.
*/
public var name: kotlin.String? = null
/**
* The platform of the launch platform, either Windows or Linux.
*/
public var platform: aws.sdk.kotlin.services.nimble.model.LaunchProfilePlatform? = null
/**
* The system initializtion scripts.
*/
public var systemInitializationScripts: List? = null
/**
* The user initializtion scripts.
*/
public var userInitializationScripts: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.nimble.model.LaunchProfileInitialization) : this() {
this.activeDirectory = x.activeDirectory
this.ec2SecurityGroupIds = x.ec2SecurityGroupIds
this.launchProfileId = x.launchProfileId
this.launchProfileProtocolVersion = x.launchProfileProtocolVersion
this.launchPurpose = x.launchPurpose
this.name = x.name
this.platform = x.platform
this.systemInitializationScripts = x.systemInitializationScripts
this.userInitializationScripts = x.userInitializationScripts
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.nimble.model.LaunchProfileInitialization = LaunchProfileInitialization(this)
/**
* construct an [aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory] inside the given [block]
*/
public fun activeDirectory(block: aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory.Builder.() -> kotlin.Unit) {
this.activeDirectory = aws.sdk.kotlin.services.nimble.model.LaunchProfileInitializationActiveDirectory.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}