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

com.pulumi.gcp.cloudquota.kotlin.inputs.SQuotaPreferenceQuotaConfigArgs.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.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.cloudquota.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudquota.inputs.SQuotaPreferenceQuotaConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 *
 * @property annotations The annotations map for clients to store small amounts of arbitrary data. Do not put PII or other sensitive information here. See https://google.aip.dev/128#annotations.
 * An object containing a list of "key: value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
 * @property grantedValue (Output)
 * Granted quota value.
 * @property preferredValue The preferred value. Must be greater than or equal to -1. If set to -1, it means the value is "unlimited".
 * @property requestOrigin (Output)
 * The origin of the quota preference request.
 * - - -
 * @property stateDetail (Output)
 * Optional details about the state of this quota preference.
 * @property traceId (Output)
 * The trace id that the Google Cloud uses to provision the requested quota. This trace id may be used by the client to contact Cloud support to track the state of a quota preference request. The trace id is only produced for increase requests and is unique for each request. The quota decrease requests do not have a trace id.
 */
public data class SQuotaPreferenceQuotaConfigArgs(
    public val annotations: Output>? = null,
    public val grantedValue: Output? = null,
    public val preferredValue: Output,
    public val requestOrigin: Output? = null,
    public val stateDetail: Output? = null,
    public val traceId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudquota.inputs.SQuotaPreferenceQuotaConfigArgs =
        com.pulumi.gcp.cloudquota.inputs.SQuotaPreferenceQuotaConfigArgs.builder()
            .annotations(
                annotations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .grantedValue(grantedValue?.applyValue({ args0 -> args0 }))
            .preferredValue(preferredValue.applyValue({ args0 -> args0 }))
            .requestOrigin(requestOrigin?.applyValue({ args0 -> args0 }))
            .stateDetail(stateDetail?.applyValue({ args0 -> args0 }))
            .traceId(traceId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [SQuotaPreferenceQuotaConfigArgs].
 */
@PulumiTagMarker
public class SQuotaPreferenceQuotaConfigArgsBuilder internal constructor() {
    private var annotations: Output>? = null

    private var grantedValue: Output? = null

    private var preferredValue: Output? = null

    private var requestOrigin: Output? = null

    private var stateDetail: Output? = null

    private var traceId: Output? = null

    /**
     * @param value The annotations map for clients to store small amounts of arbitrary data. Do not put PII or other sensitive information here. See https://google.aip.dev/128#annotations.
     * An object containing a list of "key: value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
     */
    @JvmName("skstjcqchdoenxnb")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

    /**
     * @param value (Output)
     * Granted quota value.
     */
    @JvmName("rlggauimjcmpjnmh")
    public suspend fun grantedValue(`value`: Output) {
        this.grantedValue = value
    }

    /**
     * @param value The preferred value. Must be greater than or equal to -1. If set to -1, it means the value is "unlimited".
     */
    @JvmName("onaocjoqichytnpg")
    public suspend fun preferredValue(`value`: Output) {
        this.preferredValue = value
    }

    /**
     * @param value (Output)
     * The origin of the quota preference request.
     * - - -
     */
    @JvmName("rgjbhfuuonlpniey")
    public suspend fun requestOrigin(`value`: Output) {
        this.requestOrigin = value
    }

    /**
     * @param value (Output)
     * Optional details about the state of this quota preference.
     */
    @JvmName("otgbxrreoddecflr")
    public suspend fun stateDetail(`value`: Output) {
        this.stateDetail = value
    }

    /**
     * @param value (Output)
     * The trace id that the Google Cloud uses to provision the requested quota. This trace id may be used by the client to contact Cloud support to track the state of a quota preference request. The trace id is only produced for increase requests and is unique for each request. The quota decrease requests do not have a trace id.
     */
    @JvmName("pomaiafscoohsmuw")
    public suspend fun traceId(`value`: Output) {
        this.traceId = value
    }

    /**
     * @param value The annotations map for clients to store small amounts of arbitrary data. Do not put PII or other sensitive information here. See https://google.aip.dev/128#annotations.
     * An object containing a list of "key: value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
     */
    @JvmName("aldaqcyfantsjirp")
    public suspend fun annotations(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param values The annotations map for clients to store small amounts of arbitrary data. Do not put PII or other sensitive information here. See https://google.aip.dev/128#annotations.
     * An object containing a list of "key: value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
     */
    @JvmName("kxhufxjmojdurojv")
    public fun annotations(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value (Output)
     * Granted quota value.
     */
    @JvmName("kbnqlfknqkmxqfno")
    public suspend fun grantedValue(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.grantedValue = mapped
    }

    /**
     * @param value The preferred value. Must be greater than or equal to -1. If set to -1, it means the value is "unlimited".
     */
    @JvmName("ppelnmwbgedcicgn")
    public suspend fun preferredValue(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.preferredValue = mapped
    }

    /**
     * @param value (Output)
     * The origin of the quota preference request.
     * - - -
     */
    @JvmName("muflkbynlkttqwva")
    public suspend fun requestOrigin(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestOrigin = mapped
    }

    /**
     * @param value (Output)
     * Optional details about the state of this quota preference.
     */
    @JvmName("oebhudtjtygrkgrw")
    public suspend fun stateDetail(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.stateDetail = mapped
    }

    /**
     * @param value (Output)
     * The trace id that the Google Cloud uses to provision the requested quota. This trace id may be used by the client to contact Cloud support to track the state of a quota preference request. The trace id is only produced for increase requests and is unique for each request. The quota decrease requests do not have a trace id.
     */
    @JvmName("hknduwxlrxaqyyuh")
    public suspend fun traceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.traceId = mapped
    }

    internal fun build(): SQuotaPreferenceQuotaConfigArgs = SQuotaPreferenceQuotaConfigArgs(
        annotations = annotations,
        grantedValue = grantedValue,
        preferredValue = preferredValue ?: throw PulumiNullFieldException("preferredValue"),
        requestOrigin = requestOrigin,
        stateDetail = stateDetail,
        traceId = traceId,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy