All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.container.kotlin.inputs.AwsNodePoolConfigRootVolumeArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.12.0.0
Show newest version
@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