
commonMain.aws.sdk.kotlin.services.lightsail.model.AddOnRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.lightsail.model
/**
* Describes a request to enable, modify, or disable an add-on for an Amazon Lightsail resource.
*
* An additional cost may be associated with enabling add-ons. For more information, see the [Lightsail pricing page](https://aws.amazon.com/lightsail/pricing/).
*/
public class AddOnRequest private constructor(builder: Builder) {
/**
* The add-on type.
*/
public val addOnType: aws.sdk.kotlin.services.lightsail.model.AddOnType? = builder.addOnType
/**
* An object that represents additional parameters when enabling or modifying the automatic snapshot add-on.
*/
public val autoSnapshotAddOnRequest: aws.sdk.kotlin.services.lightsail.model.AutoSnapshotAddOnRequest? = builder.autoSnapshotAddOnRequest
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.lightsail.model.AddOnRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AddOnRequest(")
append("addOnType=$addOnType,")
append("autoSnapshotAddOnRequest=$autoSnapshotAddOnRequest)")
}
override fun hashCode(): kotlin.Int {
var result = addOnType?.hashCode() ?: 0
result = 31 * result + (autoSnapshotAddOnRequest?.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 AddOnRequest
if (addOnType != other.addOnType) return false
if (autoSnapshotAddOnRequest != other.autoSnapshotAddOnRequest) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.lightsail.model.AddOnRequest = Builder(this).apply(block).build()
public class Builder {
/**
* The add-on type.
*/
public var addOnType: aws.sdk.kotlin.services.lightsail.model.AddOnType? = null
/**
* An object that represents additional parameters when enabling or modifying the automatic snapshot add-on.
*/
public var autoSnapshotAddOnRequest: aws.sdk.kotlin.services.lightsail.model.AutoSnapshotAddOnRequest? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.lightsail.model.AddOnRequest) : this() {
this.addOnType = x.addOnType
this.autoSnapshotAddOnRequest = x.autoSnapshotAddOnRequest
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.lightsail.model.AddOnRequest = AddOnRequest(this)
/**
* construct an [aws.sdk.kotlin.services.lightsail.model.AutoSnapshotAddOnRequest] inside the given [block]
*/
public fun autoSnapshotAddOnRequest(block: aws.sdk.kotlin.services.lightsail.model.AutoSnapshotAddOnRequest.Builder.() -> kotlin.Unit) {
this.autoSnapshotAddOnRequest = aws.sdk.kotlin.services.lightsail.model.AutoSnapshotAddOnRequest.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy