
commonMain.aws.sdk.kotlin.services.mgn.model.GetLaunchConfigurationResponse.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mgn.model
class GetLaunchConfigurationResponse private constructor(builder: Builder) {
/**
* Launch configuration boot mode.
*/
val bootMode: aws.sdk.kotlin.services.mgn.model.BootMode? = builder.bootMode
/**
* Copy Private IP during Launch Configuration.
*/
val copyPrivateIp: kotlin.Boolean? = builder.copyPrivateIp
/**
* Copy Tags during Launch Configuration.
*/
val copyTags: kotlin.Boolean? = builder.copyTags
/**
* Launch configuration EC2 Launch template ID.
*/
val ec2LaunchTemplateId: kotlin.String? = builder.ec2LaunchTemplateId
/**
* Launch disposition for launch configuration.
*/
val launchDisposition: aws.sdk.kotlin.services.mgn.model.LaunchDisposition? = builder.launchDisposition
/**
* Launch configuration OS licensing.
*/
val licensing: aws.sdk.kotlin.services.mgn.model.Licensing? = builder.licensing
/**
* Launch configuration name.
*/
val name: kotlin.String? = builder.name
/**
* Server participating in Job.
*/
val postLaunchActions: aws.sdk.kotlin.services.mgn.model.PostLaunchActions? = builder.postLaunchActions
/**
* Launch configuration Source Server ID.
*/
val sourceServerId: kotlin.String? = builder.sourceServerId
/**
* Launch configuration Target instance type right sizing method.
*/
val targetInstanceTypeRightSizingMethod: aws.sdk.kotlin.services.mgn.model.TargetInstanceTypeRightSizingMethod? = builder.targetInstanceTypeRightSizingMethod
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mgn.model.GetLaunchConfigurationResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("GetLaunchConfigurationResponse(")
append("bootMode=$bootMode,")
append("copyPrivateIp=$copyPrivateIp,")
append("copyTags=$copyTags,")
append("ec2LaunchTemplateId=$ec2LaunchTemplateId,")
append("launchDisposition=$launchDisposition,")
append("licensing=$licensing,")
append("name=$name,")
append("postLaunchActions=$postLaunchActions,")
append("sourceServerId=$sourceServerId,")
append("targetInstanceTypeRightSizingMethod=$targetInstanceTypeRightSizingMethod)")
}
override fun hashCode(): kotlin.Int {
var result = bootMode?.hashCode() ?: 0
result = 31 * result + (copyPrivateIp?.hashCode() ?: 0)
result = 31 * result + (copyTags?.hashCode() ?: 0)
result = 31 * result + (ec2LaunchTemplateId?.hashCode() ?: 0)
result = 31 * result + (launchDisposition?.hashCode() ?: 0)
result = 31 * result + (licensing?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (postLaunchActions?.hashCode() ?: 0)
result = 31 * result + (sourceServerId?.hashCode() ?: 0)
result = 31 * result + (targetInstanceTypeRightSizingMethod?.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 GetLaunchConfigurationResponse
if (bootMode != other.bootMode) return false
if (copyPrivateIp != other.copyPrivateIp) return false
if (copyTags != other.copyTags) return false
if (ec2LaunchTemplateId != other.ec2LaunchTemplateId) return false
if (launchDisposition != other.launchDisposition) return false
if (licensing != other.licensing) return false
if (name != other.name) return false
if (postLaunchActions != other.postLaunchActions) return false
if (sourceServerId != other.sourceServerId) return false
if (targetInstanceTypeRightSizingMethod != other.targetInstanceTypeRightSizingMethod) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mgn.model.GetLaunchConfigurationResponse = Builder(this).apply(block).build()
class Builder {
/**
* Launch configuration boot mode.
*/
var bootMode: aws.sdk.kotlin.services.mgn.model.BootMode? = null
/**
* Copy Private IP during Launch Configuration.
*/
var copyPrivateIp: kotlin.Boolean? = null
/**
* Copy Tags during Launch Configuration.
*/
var copyTags: kotlin.Boolean? = null
/**
* Launch configuration EC2 Launch template ID.
*/
var ec2LaunchTemplateId: kotlin.String? = null
/**
* Launch disposition for launch configuration.
*/
var launchDisposition: aws.sdk.kotlin.services.mgn.model.LaunchDisposition? = null
/**
* Launch configuration OS licensing.
*/
var licensing: aws.sdk.kotlin.services.mgn.model.Licensing? = null
/**
* Launch configuration name.
*/
var name: kotlin.String? = null
/**
* Server participating in Job.
*/
var postLaunchActions: aws.sdk.kotlin.services.mgn.model.PostLaunchActions? = null
/**
* Launch configuration Source Server ID.
*/
var sourceServerId: kotlin.String? = null
/**
* Launch configuration Target instance type right sizing method.
*/
var targetInstanceTypeRightSizingMethod: aws.sdk.kotlin.services.mgn.model.TargetInstanceTypeRightSizingMethod? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.mgn.model.GetLaunchConfigurationResponse) : this() {
this.bootMode = x.bootMode
this.copyPrivateIp = x.copyPrivateIp
this.copyTags = x.copyTags
this.ec2LaunchTemplateId = x.ec2LaunchTemplateId
this.launchDisposition = x.launchDisposition
this.licensing = x.licensing
this.name = x.name
this.postLaunchActions = x.postLaunchActions
this.sourceServerId = x.sourceServerId
this.targetInstanceTypeRightSizingMethod = x.targetInstanceTypeRightSizingMethod
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.mgn.model.GetLaunchConfigurationResponse = GetLaunchConfigurationResponse(this)
/**
* construct an [aws.sdk.kotlin.services.mgn.model.Licensing] inside the given [block]
*/
fun licensing(block: aws.sdk.kotlin.services.mgn.model.Licensing.Builder.() -> kotlin.Unit) {
this.licensing = aws.sdk.kotlin.services.mgn.model.Licensing.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mgn.model.PostLaunchActions] inside the given [block]
*/
fun postLaunchActions(block: aws.sdk.kotlin.services.mgn.model.PostLaunchActions.Builder.() -> kotlin.Unit) {
this.postLaunchActions = aws.sdk.kotlin.services.mgn.model.PostLaunchActions.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy