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

com.pulumi.azure.mysql.kotlin.inputs.FlexibleServerStorageArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.mysql.kotlin.inputs

import com.pulumi.azure.mysql.inputs.FlexibleServerStorageArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property autoGrowEnabled Should Storage Auto Grow be enabled? Defaults to `true`.
 * @property ioScalingEnabled Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.
 * @property iops The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.
 * @property sizeGb The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.
 * > **Note:** Decreasing `size_gb` forces a new resource to be created.
 */
public data class FlexibleServerStorageArgs(
    public val autoGrowEnabled: Output? = null,
    public val ioScalingEnabled: Output? = null,
    public val iops: Output? = null,
    public val sizeGb: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.mysql.inputs.FlexibleServerStorageArgs =
        com.pulumi.azure.mysql.inputs.FlexibleServerStorageArgs.builder()
            .autoGrowEnabled(autoGrowEnabled?.applyValue({ args0 -> args0 }))
            .ioScalingEnabled(ioScalingEnabled?.applyValue({ args0 -> args0 }))
            .iops(iops?.applyValue({ args0 -> args0 }))
            .sizeGb(sizeGb?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FlexibleServerStorageArgs].
 */
@PulumiTagMarker
public class FlexibleServerStorageArgsBuilder internal constructor() {
    private var autoGrowEnabled: Output? = null

    private var ioScalingEnabled: Output? = null

    private var iops: Output? = null

    private var sizeGb: Output? = null

    /**
     * @param value Should Storage Auto Grow be enabled? Defaults to `true`.
     */
    @JvmName("exptvqgkuurtrmia")
    public suspend fun autoGrowEnabled(`value`: Output) {
        this.autoGrowEnabled = value
    }

    /**
     * @param value Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.
     */
    @JvmName("twbcbnpquhiwucmg")
    public suspend fun ioScalingEnabled(`value`: Output) {
        this.ioScalingEnabled = value
    }

    /**
     * @param value The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.
     */
    @JvmName("sglnkyenmwnrhaab")
    public suspend fun iops(`value`: Output) {
        this.iops = value
    }

    /**
     * @param value The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.
     * > **Note:** Decreasing `size_gb` forces a new resource to be created.
     */
    @JvmName("juobpqlakgmicesi")
    public suspend fun sizeGb(`value`: Output) {
        this.sizeGb = value
    }

    /**
     * @param value Should Storage Auto Grow be enabled? Defaults to `true`.
     */
    @JvmName("ddxyrplkeminhyxp")
    public suspend fun autoGrowEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.autoGrowEnabled = mapped
    }

    /**
     * @param value Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.
     */
    @JvmName("foaxoxbwyqjoghrj")
    public suspend fun ioScalingEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ioScalingEnabled = mapped
    }

    /**
     * @param value The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.
     */
    @JvmName("rhigbmuvjkyulbyj")
    public suspend fun iops(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.iops = mapped
    }

    /**
     * @param value The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.
     * > **Note:** Decreasing `size_gb` forces a new resource to be created.
     */
    @JvmName("xenmjdwaitxjgyvr")
    public suspend fun sizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sizeGb = mapped
    }

    internal fun build(): FlexibleServerStorageArgs = FlexibleServerStorageArgs(
        autoGrowEnabled = autoGrowEnabled,
        ioScalingEnabled = ioScalingEnabled,
        iops = iops,
        sizeGb = sizeGb,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy