commonMain.aws.sdk.kotlin.services.snowball.model.UpdateClusterRequest.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
public class UpdateClusterRequest private constructor(builder: Builder) {
/**
* The ID of the updated Address object.
*/
public val addressId: kotlin.String? = builder.addressId
/**
* The cluster ID of the cluster that you want to update, for example `CID123e4567-e89b-12d3-a456-426655440000`.
*/
public val clusterId: kotlin.String? = builder.clusterId
/**
* The updated description of this cluster.
*/
public val description: kotlin.String? = builder.description
/**
* The updated ID for the forwarding address for a cluster. This field is not supported in most regions.
*/
public val forwardingAddressId: kotlin.String? = builder.forwardingAddressId
/**
* The new or updated Notification object.
*/
public val notification: aws.sdk.kotlin.services.snowball.model.Notification? = builder.notification
/**
* Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS (Network File System).
*/
public val onDeviceServiceConfiguration: aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration? = builder.onDeviceServiceConfiguration
/**
* The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.
*/
public val resources: aws.sdk.kotlin.services.snowball.model.JobResource? = builder.resources
/**
* The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) API action in Identity and Access Management (IAM).
*/
public val roleArn: kotlin.String? = builder.roleArn
/**
* The updated shipping option value of this cluster's ShippingDetails object.
*/
public val shippingOption: aws.sdk.kotlin.services.snowball.model.ShippingOption? = builder.shippingOption
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.snowball.model.UpdateClusterRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("UpdateClusterRequest(")
append("addressId=$addressId,")
append("clusterId=$clusterId,")
append("description=$description,")
append("forwardingAddressId=$forwardingAddressId,")
append("notification=$notification,")
append("onDeviceServiceConfiguration=$onDeviceServiceConfiguration,")
append("resources=$resources,")
append("roleArn=$roleArn,")
append("shippingOption=$shippingOption")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = addressId?.hashCode() ?: 0
result = 31 * result + (clusterId?.hashCode() ?: 0)
result = 31 * result + (description?.hashCode() ?: 0)
result = 31 * result + (forwardingAddressId?.hashCode() ?: 0)
result = 31 * result + (notification?.hashCode() ?: 0)
result = 31 * result + (onDeviceServiceConfiguration?.hashCode() ?: 0)
result = 31 * result + (resources?.hashCode() ?: 0)
result = 31 * result + (roleArn?.hashCode() ?: 0)
result = 31 * result + (shippingOption?.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 UpdateClusterRequest
if (addressId != other.addressId) return false
if (clusterId != other.clusterId) return false
if (description != other.description) return false
if (forwardingAddressId != other.forwardingAddressId) return false
if (notification != other.notification) return false
if (onDeviceServiceConfiguration != other.onDeviceServiceConfiguration) return false
if (resources != other.resources) return false
if (roleArn != other.roleArn) return false
if (shippingOption != other.shippingOption) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.snowball.model.UpdateClusterRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ID of the updated Address object.
*/
public var addressId: kotlin.String? = null
/**
* The cluster ID of the cluster that you want to update, for example `CID123e4567-e89b-12d3-a456-426655440000`.
*/
public var clusterId: kotlin.String? = null
/**
* The updated description of this cluster.
*/
public var description: kotlin.String? = null
/**
* The updated ID for the forwarding address for a cluster. This field is not supported in most regions.
*/
public var forwardingAddressId: kotlin.String? = null
/**
* The new or updated Notification object.
*/
public var notification: aws.sdk.kotlin.services.snowball.model.Notification? = null
/**
* Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS (Network File System).
*/
public var onDeviceServiceConfiguration: aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration? = null
/**
* The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.
*/
public var resources: aws.sdk.kotlin.services.snowball.model.JobResource? = null
/**
* The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) API action in Identity and Access Management (IAM).
*/
public var roleArn: kotlin.String? = null
/**
* The updated shipping option value of this cluster's ShippingDetails object.
*/
public var shippingOption: aws.sdk.kotlin.services.snowball.model.ShippingOption? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.snowball.model.UpdateClusterRequest) : this() {
this.addressId = x.addressId
this.clusterId = x.clusterId
this.description = x.description
this.forwardingAddressId = x.forwardingAddressId
this.notification = x.notification
this.onDeviceServiceConfiguration = x.onDeviceServiceConfiguration
this.resources = x.resources
this.roleArn = x.roleArn
this.shippingOption = x.shippingOption
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.snowball.model.UpdateClusterRequest = UpdateClusterRequest(this)
/**
* construct an [aws.sdk.kotlin.services.snowball.model.Notification] inside the given [block]
*/
public fun notification(block: aws.sdk.kotlin.services.snowball.model.Notification.Builder.() -> kotlin.Unit) {
this.notification = aws.sdk.kotlin.services.snowball.model.Notification.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration] inside the given [block]
*/
public fun onDeviceServiceConfiguration(block: aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration.Builder.() -> kotlin.Unit) {
this.onDeviceServiceConfiguration = aws.sdk.kotlin.services.snowball.model.OnDeviceServiceConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.snowball.model.JobResource] inside the given [block]
*/
public fun resources(block: aws.sdk.kotlin.services.snowball.model.JobResource.Builder.() -> kotlin.Unit) {
this.resources = aws.sdk.kotlin.services.snowball.model.JobResource.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}