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

com.pulumi.googlenative.dns.v1.kotlin.ChangeArgs.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.dns.v1.kotlin

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.dns.v1.ChangeArgs.builder
import com.pulumi.googlenative.dns.v1.kotlin.inputs.ResourceRecordSetArgs
import com.pulumi.googlenative.dns.v1.kotlin.inputs.ResourceRecordSetArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Atomically updates the ResourceRecordSet collection.
 * Auto-naming is currently not supported for this resource.
 * Note - this resource's API doesn't support deletion. When deleted, the resource will persist
 * on Google Cloud even though it will be deleted from Pulumi state.
 * @property additions Which ResourceRecordSets to add?
 * @property clientOperationId For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.
 * @property deletions Which ResourceRecordSets to remove? Must match existing data exactly.
 * @property isServing If the DNS queries for the zone will be served.
 * @property kind
 * @property managedZone
 * @property project
 */
public data class ChangeArgs(
    public val additions: Output>? = null,
    public val clientOperationId: Output? = null,
    public val deletions: Output>? = null,
    public val isServing: Output? = null,
    public val kind: Output? = null,
    public val managedZone: Output? = null,
    public val project: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.dns.v1.ChangeArgs =
        com.pulumi.googlenative.dns.v1.ChangeArgs.builder()
            .additions(
                additions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .clientOperationId(clientOperationId?.applyValue({ args0 -> args0 }))
            .deletions(
                deletions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .isServing(isServing?.applyValue({ args0 -> args0 }))
            .kind(kind?.applyValue({ args0 -> args0 }))
            .managedZone(managedZone?.applyValue({ args0 -> args0 }))
            .project(project?.applyValue({ args0 -> args0 })).build()
}

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

    private var clientOperationId: Output? = null

    private var deletions: Output>? = null

    private var isServing: Output? = null

    private var kind: Output? = null

    private var managedZone: Output? = null

    private var project: Output? = null

    /**
     * @param value Which ResourceRecordSets to add?
     */
    @JvmName("khrbufgyuofpuwar")
    public suspend fun additions(`value`: Output>) {
        this.additions = value
    }

    @JvmName("yoywkpxqplrnoqdt")
    public suspend fun additions(vararg values: Output) {
        this.additions = Output.all(values.asList())
    }

    /**
     * @param values Which ResourceRecordSets to add?
     */
    @JvmName("mgennbarvujeaakk")
    public suspend fun additions(values: List>) {
        this.additions = Output.all(values)
    }

    /**
     * @param value For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.
     */
    @JvmName("tkvjswlwdslntdrn")
    public suspend fun clientOperationId(`value`: Output) {
        this.clientOperationId = value
    }

    /**
     * @param value Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("kccbfhnpfkijkofk")
    public suspend fun deletions(`value`: Output>) {
        this.deletions = value
    }

    @JvmName("fhhsxfvpicdujvih")
    public suspend fun deletions(vararg values: Output) {
        this.deletions = Output.all(values.asList())
    }

    /**
     * @param values Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("keylcrxnlkcctjij")
    public suspend fun deletions(values: List>) {
        this.deletions = Output.all(values)
    }

    /**
     * @param value If the DNS queries for the zone will be served.
     */
    @JvmName("scpjgqptuqumsogg")
    public suspend fun isServing(`value`: Output) {
        this.isServing = value
    }

    /**
     * @param value
     */
    @JvmName("spnnwjfwebeduocv")
    public suspend fun kind(`value`: Output) {
        this.kind = value
    }

    /**
     * @param value
     */
    @JvmName("dbbftussslrjriej")
    public suspend fun managedZone(`value`: Output) {
        this.managedZone = value
    }

    /**
     * @param value
     */
    @JvmName("bdwurwhlhwiocvhr")
    public suspend fun project(`value`: Output) {
        this.project = value
    }

    /**
     * @param value Which ResourceRecordSets to add?
     */
    @JvmName("acxrvjpthpwijuov")
    public suspend fun additions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.additions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to add?
     */
    @JvmName("yafndaacyqgurbnh")
    public suspend fun additions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ResourceRecordSetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.additions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to add?
     */
    @JvmName("dwynxbsumchhhfev")
    public suspend fun additions(vararg argument: suspend ResourceRecordSetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ResourceRecordSetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.additions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to add?
     */
    @JvmName("xvwxhvtbssjyvvls")
    public suspend fun additions(argument: suspend ResourceRecordSetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ResourceRecordSetArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.additions = mapped
    }

    /**
     * @param values Which ResourceRecordSets to add?
     */
    @JvmName("ldabwxqilvwasqnj")
    public suspend fun additions(vararg values: ResourceRecordSetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.additions = mapped
    }

    /**
     * @param value For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.
     */
    @JvmName("ntmebiivtydhldin")
    public suspend fun clientOperationId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientOperationId = mapped
    }

    /**
     * @param value Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("yxovkmjbuovhbtwb")
    public suspend fun deletions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deletions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("iqbodkuosnwbbbsg")
    public suspend fun deletions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ResourceRecordSetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.deletions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("taxlkkandfqfhmtr")
    public suspend fun deletions(vararg argument: suspend ResourceRecordSetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ResourceRecordSetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.deletions = mapped
    }

    /**
     * @param argument Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("eohoglvoegtbwlle")
    public suspend fun deletions(argument: suspend ResourceRecordSetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ResourceRecordSetArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.deletions = mapped
    }

    /**
     * @param values Which ResourceRecordSets to remove? Must match existing data exactly.
     */
    @JvmName("ykbrpujjlrckpjxv")
    public suspend fun deletions(vararg values: ResourceRecordSetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.deletions = mapped
    }

    /**
     * @param value If the DNS queries for the zone will be served.
     */
    @JvmName("rulgtcsgfgpburne")
    public suspend fun isServing(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isServing = mapped
    }

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

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

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

    internal fun build(): ChangeArgs = ChangeArgs(
        additions = additions,
        clientOperationId = clientOperationId,
        deletions = deletions,
        isServing = isServing,
        kind = kind,
        managedZone = managedZone,
        project = project,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy