commonMain.aws.sdk.kotlin.services.fsx.model.CreateBackupRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fsx-jvm Show documentation
Show all versions of fsx-jvm Show documentation
The AWS SDK for Kotlin client for FSx
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.fsx.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The request object for the `CreateBackup` operation.
*/
public class CreateBackupRequest private constructor(builder: Builder) {
/**
* (Optional) A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
*/
public val clientRequestToken: kotlin.String? = builder.clientRequestToken
/**
* The ID of the file system to back up.
*/
public val fileSystemId: kotlin.String? = builder.fileSystemId
/**
* (Optional) The tags to apply to the backup at backup creation. The key value of the `Name` tag appears in the console as the backup name. If you have set `CopyTagsToBackups` to `true`, and you specify one or more tags using the `CreateBackup` operation, no existing file system tags are copied from the file system to the backup.
*/
public val tags: List? = builder.tags
/**
* (Optional) The ID of the FSx for ONTAP volume to back up.
*/
public val volumeId: kotlin.String? = builder.volumeId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.fsx.model.CreateBackupRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateBackupRequest(")
append("clientRequestToken=$clientRequestToken,")
append("fileSystemId=$fileSystemId,")
append("tags=$tags,")
append("volumeId=$volumeId")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = clientRequestToken?.hashCode() ?: 0
result = 31 * result + (fileSystemId?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (volumeId?.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 CreateBackupRequest
if (clientRequestToken != other.clientRequestToken) return false
if (fileSystemId != other.fileSystemId) return false
if (tags != other.tags) return false
if (volumeId != other.volumeId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.fsx.model.CreateBackupRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* (Optional) A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
*/
public var clientRequestToken: kotlin.String? = null
/**
* The ID of the file system to back up.
*/
public var fileSystemId: kotlin.String? = null
/**
* (Optional) The tags to apply to the backup at backup creation. The key value of the `Name` tag appears in the console as the backup name. If you have set `CopyTagsToBackups` to `true`, and you specify one or more tags using the `CreateBackup` operation, no existing file system tags are copied from the file system to the backup.
*/
public var tags: List? = null
/**
* (Optional) The ID of the FSx for ONTAP volume to back up.
*/
public var volumeId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.fsx.model.CreateBackupRequest) : this() {
this.clientRequestToken = x.clientRequestToken
this.fileSystemId = x.fileSystemId
this.tags = x.tags
this.volumeId = x.volumeId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.fsx.model.CreateBackupRequest = CreateBackupRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}