commonMain.aws.sdk.kotlin.services.redshift.model.ClusterSubnetGroup.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jvm Show documentation
Show all versions of redshift-jvm Show documentation
The AWS SDK for Kotlin client for Redshift
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.redshift.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Describes a subnet group.
*/
public class ClusterSubnetGroup private constructor(builder: Builder) {
/**
* The name of the cluster subnet group.
*/
public val clusterSubnetGroupName: kotlin.String? = builder.clusterSubnetGroupName
/**
* The description of the cluster subnet group.
*/
public val description: kotlin.String? = builder.description
/**
* The status of the cluster subnet group. Possible values are `Complete`, `Incomplete` and `Invalid`.
*/
public val subnetGroupStatus: kotlin.String? = builder.subnetGroupStatus
/**
* A list of the VPC Subnet elements.
*/
public val subnets: List? = builder.subnets
/**
* The IP address types supported by this cluster subnet group. Possible values are `ipv4` and `dualstack`.
*/
public val supportedClusterIpAddressTypes: List? = builder.supportedClusterIpAddressTypes
/**
* The list of tags for the cluster subnet group.
*/
public val tags: List? = builder.tags
/**
* The VPC ID of the cluster subnet group.
*/
public val vpcId: kotlin.String? = builder.vpcId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.redshift.model.ClusterSubnetGroup = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ClusterSubnetGroup(")
append("clusterSubnetGroupName=$clusterSubnetGroupName,")
append("description=$description,")
append("subnetGroupStatus=$subnetGroupStatus,")
append("subnets=$subnets,")
append("supportedClusterIpAddressTypes=$supportedClusterIpAddressTypes,")
append("tags=$tags,")
append("vpcId=$vpcId")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = clusterSubnetGroupName?.hashCode() ?: 0
result = 31 * result + (description?.hashCode() ?: 0)
result = 31 * result + (subnetGroupStatus?.hashCode() ?: 0)
result = 31 * result + (subnets?.hashCode() ?: 0)
result = 31 * result + (supportedClusterIpAddressTypes?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (vpcId?.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 ClusterSubnetGroup
if (clusterSubnetGroupName != other.clusterSubnetGroupName) return false
if (description != other.description) return false
if (subnetGroupStatus != other.subnetGroupStatus) return false
if (subnets != other.subnets) return false
if (supportedClusterIpAddressTypes != other.supportedClusterIpAddressTypes) return false
if (tags != other.tags) return false
if (vpcId != other.vpcId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.redshift.model.ClusterSubnetGroup = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The name of the cluster subnet group.
*/
public var clusterSubnetGroupName: kotlin.String? = null
/**
* The description of the cluster subnet group.
*/
public var description: kotlin.String? = null
/**
* The status of the cluster subnet group. Possible values are `Complete`, `Incomplete` and `Invalid`.
*/
public var subnetGroupStatus: kotlin.String? = null
/**
* A list of the VPC Subnet elements.
*/
public var subnets: List? = null
/**
* The IP address types supported by this cluster subnet group. Possible values are `ipv4` and `dualstack`.
*/
public var supportedClusterIpAddressTypes: List? = null
/**
* The list of tags for the cluster subnet group.
*/
public var tags: List? = null
/**
* The VPC ID of the cluster subnet group.
*/
public var vpcId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.redshift.model.ClusterSubnetGroup) : this() {
this.clusterSubnetGroupName = x.clusterSubnetGroupName
this.description = x.description
this.subnetGroupStatus = x.subnetGroupStatus
this.subnets = x.subnets
this.supportedClusterIpAddressTypes = x.supportedClusterIpAddressTypes
this.tags = x.tags
this.vpcId = x.vpcId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.redshift.model.ClusterSubnetGroup = ClusterSubnetGroup(this)
internal fun correctErrors(): Builder {
return this
}
}
}