commonMain.aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snowball-jvm Show documentation
Show all versions of snowball-jvm Show documentation
The AWS SDK for Kotlin client for Snowball
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.snowball.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* An object that represents the metadata and configuration settings for services on an Amazon Web Services Snow Family device.
*/
public class OnDeviceServiceConfiguration private constructor(builder: Builder) {
/**
* The configuration of EKS Anywhere on the Snow Family device.
*/
public val eksOnDeviceService: aws.sdk.kotlin.services.snowball.model.EksOnDeviceServiceConfiguration? = builder.eksOnDeviceService
/**
* Represents the NFS (Network File System) service on a Snow Family device.
*/
public val nfsOnDeviceService: aws.sdk.kotlin.services.snowball.model.NfsOnDeviceServiceConfiguration? = builder.nfsOnDeviceService
/**
* Configuration for Amazon S3 compatible storage on Snow family devices.
*/
public val s3OnDeviceService: aws.sdk.kotlin.services.snowball.model.S3OnDeviceServiceConfiguration? = builder.s3OnDeviceService
/**
* Represents the Storage Gateway service Tape Gateway type on a Snow Family device.
*/
public val tgwOnDeviceService: aws.sdk.kotlin.services.snowball.model.TgwOnDeviceServiceConfiguration? = builder.tgwOnDeviceService
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("OnDeviceServiceConfiguration(")
append("eksOnDeviceService=$eksOnDeviceService,")
append("nfsOnDeviceService=$nfsOnDeviceService,")
append("s3OnDeviceService=$s3OnDeviceService,")
append("tgwOnDeviceService=$tgwOnDeviceService")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = eksOnDeviceService?.hashCode() ?: 0
result = 31 * result + (nfsOnDeviceService?.hashCode() ?: 0)
result = 31 * result + (s3OnDeviceService?.hashCode() ?: 0)
result = 31 * result + (tgwOnDeviceService?.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 OnDeviceServiceConfiguration
if (eksOnDeviceService != other.eksOnDeviceService) return false
if (nfsOnDeviceService != other.nfsOnDeviceService) return false
if (s3OnDeviceService != other.s3OnDeviceService) return false
if (tgwOnDeviceService != other.tgwOnDeviceService) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The configuration of EKS Anywhere on the Snow Family device.
*/
public var eksOnDeviceService: aws.sdk.kotlin.services.snowball.model.EksOnDeviceServiceConfiguration? = null
/**
* Represents the NFS (Network File System) service on a Snow Family device.
*/
public var nfsOnDeviceService: aws.sdk.kotlin.services.snowball.model.NfsOnDeviceServiceConfiguration? = null
/**
* Configuration for Amazon S3 compatible storage on Snow family devices.
*/
public var s3OnDeviceService: aws.sdk.kotlin.services.snowball.model.S3OnDeviceServiceConfiguration? = null
/**
* Represents the Storage Gateway service Tape Gateway type on a Snow Family device.
*/
public var tgwOnDeviceService: aws.sdk.kotlin.services.snowball.model.TgwOnDeviceServiceConfiguration? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration) : this() {
this.eksOnDeviceService = x.eksOnDeviceService
this.nfsOnDeviceService = x.nfsOnDeviceService
this.s3OnDeviceService = x.s3OnDeviceService
this.tgwOnDeviceService = x.tgwOnDeviceService
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration = OnDeviceServiceConfiguration(this)
/**
* construct an [aws.sdk.kotlin.services.snowball.model.EksOnDeviceServiceConfiguration] inside the given [block]
*/
public fun eksOnDeviceService(block: aws.sdk.kotlin.services.snowball.model.EksOnDeviceServiceConfiguration.Builder.() -> kotlin.Unit) {
this.eksOnDeviceService = aws.sdk.kotlin.services.snowball.model.EksOnDeviceServiceConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.snowball.model.NfsOnDeviceServiceConfiguration] inside the given [block]
*/
public fun nfsOnDeviceService(block: aws.sdk.kotlin.services.snowball.model.NfsOnDeviceServiceConfiguration.Builder.() -> kotlin.Unit) {
this.nfsOnDeviceService = aws.sdk.kotlin.services.snowball.model.NfsOnDeviceServiceConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.snowball.model.S3OnDeviceServiceConfiguration] inside the given [block]
*/
public fun s3OnDeviceService(block: aws.sdk.kotlin.services.snowball.model.S3OnDeviceServiceConfiguration.Builder.() -> kotlin.Unit) {
this.s3OnDeviceService = aws.sdk.kotlin.services.snowball.model.S3OnDeviceServiceConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.snowball.model.TgwOnDeviceServiceConfiguration] inside the given [block]
*/
public fun tgwOnDeviceService(block: aws.sdk.kotlin.services.snowball.model.TgwOnDeviceServiceConfiguration.Builder.() -> kotlin.Unit) {
this.tgwOnDeviceService = aws.sdk.kotlin.services.snowball.model.TgwOnDeviceServiceConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}