com.pulumi.gcp.container.kotlin.inputs.AwsNodePoolConfigRootVolumeArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.container.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.container.inputs.AwsNodePoolConfigRootVolumeArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property iops Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.
* @property kmsKeyArn Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.
* @property sizeGib Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
* @property throughput Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3. If volume type is gp3 and throughput is not specified, the throughput will defaults to 125.
* @property volumeType Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3
*/
public data class AwsNodePoolConfigRootVolumeArgs(
public val iops: Output? = null,
public val kmsKeyArn: Output? = null,
public val sizeGib: Output? = null,
public val throughput: Output? = null,
public val volumeType: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.container.inputs.AwsNodePoolConfigRootVolumeArgs =
com.pulumi.gcp.container.inputs.AwsNodePoolConfigRootVolumeArgs.builder()
.iops(iops?.applyValue({ args0 -> args0 }))
.kmsKeyArn(kmsKeyArn?.applyValue({ args0 -> args0 }))
.sizeGib(sizeGib?.applyValue({ args0 -> args0 }))
.throughput(throughput?.applyValue({ args0 -> args0 }))
.volumeType(volumeType?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AwsNodePoolConfigRootVolumeArgs].
*/
@PulumiTagMarker
public class AwsNodePoolConfigRootVolumeArgsBuilder internal constructor() {
private var iops: Output? = null
private var kmsKeyArn: Output? = null
private var sizeGib: Output? = null
private var throughput: Output? = null
private var volumeType: Output? = null
/**
* @param value Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.
*/
@JvmName("tkdebgtttkkrrbur")
public suspend fun iops(`value`: Output) {
this.iops = value
}
/**
* @param value Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.
*/
@JvmName("hqbglsocssnhteib")
public suspend fun kmsKeyArn(`value`: Output) {
this.kmsKeyArn = value
}
/**
* @param value Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
*/
@JvmName("txnbciphdisviccr")
public suspend fun sizeGib(`value`: Output) {
this.sizeGib = value
}
/**
* @param value Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3. If volume type is gp3 and throughput is not specified, the throughput will defaults to 125.
*/
@JvmName("lbudlkhmdevorlru")
public suspend fun throughput(`value`: Output) {
this.throughput = value
}
/**
* @param value Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3
*/
@JvmName("ebgvrvmpgsmwmguo")
public suspend fun volumeType(`value`: Output) {
this.volumeType = value
}
/**
* @param value Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.
*/
@JvmName("qyoysirkcofswaou")
public suspend fun iops(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iops = mapped
}
/**
* @param value Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.
*/
@JvmName("mpvuhclldghrobar")
public suspend fun kmsKeyArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeyArn = mapped
}
/**
* @param value Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
*/
@JvmName("dlngxyodnlsumycw")
public suspend fun sizeGib(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sizeGib = mapped
}
/**
* @param value Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3. If volume type is gp3 and throughput is not specified, the throughput will defaults to 125.
*/
@JvmName("mcbqwuiuiyuajchg")
public suspend fun throughput(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.throughput = mapped
}
/**
* @param value Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3
*/
@JvmName("pfiyfeajsvwudnwp")
public suspend fun volumeType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.volumeType = mapped
}
internal fun build(): AwsNodePoolConfigRootVolumeArgs = AwsNodePoolConfigRootVolumeArgs(
iops = iops,
kmsKeyArn = kmsKeyArn,
sizeGib = sizeGib,
throughput = throughput,
volumeType = volumeType,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy