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

com.pulumi.googlenative.domains.v1beta1.kotlin.inputs.MoneyArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.domains.v1beta1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.domains.v1beta1.inputs.MoneyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Represents an amount of money with its currency type.
 * @property currencyCode The three-letter currency code defined in ISO 4217.
 * @property nanos Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
 * @property units The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
 */
public data class MoneyArgs(
    public val currencyCode: Output? = null,
    public val nanos: Output? = null,
    public val units: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.domains.v1beta1.inputs.MoneyArgs =
        com.pulumi.googlenative.domains.v1beta1.inputs.MoneyArgs.builder()
            .currencyCode(currencyCode?.applyValue({ args0 -> args0 }))
            .nanos(nanos?.applyValue({ args0 -> args0 }))
            .units(units?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [MoneyArgs].
 */
@PulumiTagMarker
public class MoneyArgsBuilder internal constructor() {
    private var currencyCode: Output? = null

    private var nanos: Output? = null

    private var units: Output? = null

    /**
     * @param value The three-letter currency code defined in ISO 4217.
     */
    @JvmName("rjrhhamdgdkbrmkq")
    public suspend fun currencyCode(`value`: Output) {
        this.currencyCode = value
    }

    /**
     * @param value Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
     */
    @JvmName("lchbnpewpccuosib")
    public suspend fun nanos(`value`: Output) {
        this.nanos = value
    }

    /**
     * @param value The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
     */
    @JvmName("vwyncpnrabiyfwsb")
    public suspend fun units(`value`: Output) {
        this.units = value
    }

    /**
     * @param value The three-letter currency code defined in ISO 4217.
     */
    @JvmName("vjdqcghkdbtvgddl")
    public suspend fun currencyCode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.currencyCode = mapped
    }

    /**
     * @param value Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
     */
    @JvmName("ciytouhqwcnnunpu")
    public suspend fun nanos(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nanos = mapped
    }

    /**
     * @param value The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
     */
    @JvmName("vhiisskanvxguqor")
    public suspend fun units(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.units = mapped
    }

    internal fun build(): MoneyArgs = MoneyArgs(
        currencyCode = currencyCode,
        nanos = nanos,
        units = units,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy