commonMain.aws.sdk.kotlin.services.datasync.model.CreateLocationFsxLustreRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of datasync-jvm Show documentation
Show all versions of datasync-jvm Show documentation
The AWS SDK for Kotlin client for DataSync
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.datasync.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateLocationFsxLustreRequest private constructor(builder: Builder) {
/**
* The Amazon Resource Name (ARN) for the FSx for Lustre file system.
*/
public val fsxFilesystemArn: kotlin.String? = builder.fsxFilesystemArn
/**
* The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Lustre file system.
*/
public val securityGroupArns: List? = builder.securityGroupArns
/**
* A subdirectory in the location's path. This subdirectory in the FSx for Lustre file system is used to read data from the FSx for Lustre source location or write data to the FSx for Lustre destination.
*/
public val subdirectory: kotlin.String? = builder.subdirectory
/**
* The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.
*/
public val tags: List? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.datasync.model.CreateLocationFsxLustreRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateLocationFsxLustreRequest(")
append("fsxFilesystemArn=$fsxFilesystemArn,")
append("securityGroupArns=$securityGroupArns,")
append("subdirectory=$subdirectory,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = fsxFilesystemArn?.hashCode() ?: 0
result = 31 * result + (securityGroupArns?.hashCode() ?: 0)
result = 31 * result + (subdirectory?.hashCode() ?: 0)
result = 31 * result + (tags?.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 CreateLocationFsxLustreRequest
if (fsxFilesystemArn != other.fsxFilesystemArn) return false
if (securityGroupArns != other.securityGroupArns) return false
if (subdirectory != other.subdirectory) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.datasync.model.CreateLocationFsxLustreRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The Amazon Resource Name (ARN) for the FSx for Lustre file system.
*/
public var fsxFilesystemArn: kotlin.String? = null
/**
* The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Lustre file system.
*/
public var securityGroupArns: List? = null
/**
* A subdirectory in the location's path. This subdirectory in the FSx for Lustre file system is used to read data from the FSx for Lustre source location or write data to the FSx for Lustre destination.
*/
public var subdirectory: kotlin.String? = null
/**
* The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.
*/
public var tags: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.datasync.model.CreateLocationFsxLustreRequest) : this() {
this.fsxFilesystemArn = x.fsxFilesystemArn
this.securityGroupArns = x.securityGroupArns
this.subdirectory = x.subdirectory
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.datasync.model.CreateLocationFsxLustreRequest = CreateLocationFsxLustreRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy