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

com.pulumi.gcp.cloudrun.kotlin.inputs.DomainMappingMetadataArgs.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.cloudrun.kotlin.inputs

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

/**
 *
 * @property annotations Annotations is a key value map stored with a resource that
 * may be set by external tools to store and retrieve arbitrary metadata. More
 * info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
 * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
 * If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
 * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
 * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
 * Please refer to the field `effective_annotations` for all of the annotations present on the resource.
 * @property effectiveAnnotations
 * @property effectiveLabels (Output)
 * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
 * @property generation (Output)
 * A sequence number representing a specific generation of the desired state.
 * @property labels Map of string keys and values that can be used to organize and categorize
 * (scope and select) objects. May match selectors of replication controllers
 * and routes.
 * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
 * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
 * Please refer to the field `effective_labels` for all of the labels present on the resource.
 * @property namespace In Cloud Run the namespace must be equal to either the
 * project ID or project number.
 * @property pulumiLabels (Output)
 * The combination of labels configured directly on the resource
 * and default labels configured on the provider.
 * @property resourceVersion (Output)
 * An opaque value that represents the internal version of this object that
 * can be used by clients to determine when objects have changed. May be used
 * for optimistic concurrency, change detection, and the watch operation on a
 * resource or set of resources. They may only be valid for a
 * particular resource or set of resources.
 * More info:
 * https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
 * @property selfLink (Output)
 * SelfLink is a URL representing this object.
 * @property uid (Output)
 * UID is a unique id generated by the server on successful creation of a resource and is not
 * allowed to change on PUT operations.
 * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
 */
public data class DomainMappingMetadataArgs(
    public val annotations: Output>? = null,
    public val effectiveAnnotations: Output>? = null,
    public val effectiveLabels: Output>? = null,
    public val generation: Output? = null,
    public val labels: Output>? = null,
    public val namespace: Output,
    public val pulumiLabels: Output>? = null,
    public val resourceVersion: Output? = null,
    public val selfLink: Output? = null,
    public val uid: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudrun.inputs.DomainMappingMetadataArgs =
        com.pulumi.gcp.cloudrun.inputs.DomainMappingMetadataArgs.builder()
            .annotations(
                annotations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .effectiveAnnotations(
                effectiveAnnotations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .effectiveLabels(
                effectiveLabels?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .generation(generation?.applyValue({ args0 -> args0 }))
            .labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .namespace(namespace.applyValue({ args0 -> args0 }))
            .pulumiLabels(
                pulumiLabels?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .resourceVersion(resourceVersion?.applyValue({ args0 -> args0 }))
            .selfLink(selfLink?.applyValue({ args0 -> args0 }))
            .uid(uid?.applyValue({ args0 -> args0 })).build()
}

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

    private var effectiveAnnotations: Output>? = null

    private var effectiveLabels: Output>? = null

    private var generation: Output? = null

    private var labels: Output>? = null

    private var namespace: Output? = null

    private var pulumiLabels: Output>? = null

    private var resourceVersion: Output? = null

    private var selfLink: Output? = null

    private var uid: Output? = null

    /**
     * @param value Annotations is a key value map stored with a resource that
     * may be set by external tools to store and retrieve arbitrary metadata. More
     * info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
     * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
     * If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
     * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
     * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
     * Please refer to the field `effective_annotations` for all of the annotations present on the resource.
     */
    @JvmName("pxqowjwiykimgpad")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

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

    /**
     * @param value (Output)
     * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
     */
    @JvmName("lmitlwypinpgkwmu")
    public suspend fun effectiveLabels(`value`: Output>) {
        this.effectiveLabels = value
    }

    /**
     * @param value (Output)
     * A sequence number representing a specific generation of the desired state.
     */
    @JvmName("oljnnogwciloqelo")
    public suspend fun generation(`value`: Output) {
        this.generation = value
    }

    /**
     * @param value Map of string keys and values that can be used to organize and categorize
     * (scope and select) objects. May match selectors of replication controllers
     * and routes.
     * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
     * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
     * Please refer to the field `effective_labels` for all of the labels present on the resource.
     */
    @JvmName("fsjffjfmjxxrvruh")
    public suspend fun labels(`value`: Output>) {
        this.labels = value
    }

    /**
     * @param value In Cloud Run the namespace must be equal to either the
     * project ID or project number.
     */
    @JvmName("yubprwyqlrdwdgxk")
    public suspend fun namespace(`value`: Output) {
        this.namespace = value
    }

    /**
     * @param value (Output)
     * The combination of labels configured directly on the resource
     * and default labels configured on the provider.
     */
    @JvmName("eygnsdpjgnoungch")
    public suspend fun pulumiLabels(`value`: Output>) {
        this.pulumiLabels = value
    }

    /**
     * @param value (Output)
     * An opaque value that represents the internal version of this object that
     * can be used by clients to determine when objects have changed. May be used
     * for optimistic concurrency, change detection, and the watch operation on a
     * resource or set of resources. They may only be valid for a
     * particular resource or set of resources.
     * More info:
     * https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
     */
    @JvmName("sdpydpyddgkwkvhe")
    public suspend fun resourceVersion(`value`: Output) {
        this.resourceVersion = value
    }

    /**
     * @param value (Output)
     * SelfLink is a URL representing this object.
     */
    @JvmName("rqiohkohjlqhaokd")
    public suspend fun selfLink(`value`: Output) {
        this.selfLink = value
    }

    /**
     * @param value (Output)
     * UID is a unique id generated by the server on successful creation of a resource and is not
     * allowed to change on PUT operations.
     * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
     */
    @JvmName("erykpegqoycprfwd")
    public suspend fun uid(`value`: Output) {
        this.uid = value
    }

    /**
     * @param value Annotations is a key value map stored with a resource that
     * may be set by external tools to store and retrieve arbitrary metadata. More
     * info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
     * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
     * If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
     * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
     * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
     * Please refer to the field `effective_annotations` for all of the annotations present on the resource.
     */
    @JvmName("axjvpvbcxfyflnmm")
    public suspend fun annotations(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param values Annotations is a key value map stored with a resource that
     * may be set by external tools to store and retrieve arbitrary metadata. More
     * info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
     * **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
     * If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
     * or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
     * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
     * Please refer to the field `effective_annotations` for all of the annotations present on the resource.
     */
    @JvmName("xpodwlchawtloanq")
    public fun annotations(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

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

    /**
     * @param values
     */
    @JvmName("tqdctwmfsegtfugn")
    public fun effectiveAnnotations(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.effectiveAnnotations = mapped
    }

    /**
     * @param value (Output)
     * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
     */
    @JvmName("sgvadrtlqamcgmjt")
    public suspend fun effectiveLabels(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.effectiveLabels = mapped
    }

    /**
     * @param values (Output)
     * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
     */
    @JvmName("rkpysrtyoefnhvky")
    public fun effectiveLabels(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.effectiveLabels = mapped
    }

    /**
     * @param value (Output)
     * A sequence number representing a specific generation of the desired state.
     */
    @JvmName("ljvbilxwdwyihtnl")
    public suspend fun generation(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.generation = mapped
    }

    /**
     * @param value Map of string keys and values that can be used to organize and categorize
     * (scope and select) objects. May match selectors of replication controllers
     * and routes.
     * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
     * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
     * Please refer to the field `effective_labels` for all of the labels present on the resource.
     */
    @JvmName("pbpjjwyuowyigvjx")
    public suspend fun labels(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.labels = mapped
    }

    /**
     * @param values Map of string keys and values that can be used to organize and categorize
     * (scope and select) objects. May match selectors of replication controllers
     * and routes.
     * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
     * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
     * Please refer to the field `effective_labels` for all of the labels present on the resource.
     */
    @JvmName("emoijvbwupgqwxsd")
    public fun labels(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.labels = mapped
    }

    /**
     * @param value In Cloud Run the namespace must be equal to either the
     * project ID or project number.
     */
    @JvmName("bvlfmklpcbovjykk")
    public suspend fun namespace(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.namespace = mapped
    }

    /**
     * @param value (Output)
     * The combination of labels configured directly on the resource
     * and default labels configured on the provider.
     */
    @JvmName("ceqtyfwyeofcoxbv")
    public suspend fun pulumiLabels(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pulumiLabels = mapped
    }

    /**
     * @param values (Output)
     * The combination of labels configured directly on the resource
     * and default labels configured on the provider.
     */
    @JvmName("kwuupiwmphfvypmq")
    public fun pulumiLabels(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pulumiLabels = mapped
    }

    /**
     * @param value (Output)
     * An opaque value that represents the internal version of this object that
     * can be used by clients to determine when objects have changed. May be used
     * for optimistic concurrency, change detection, and the watch operation on a
     * resource or set of resources. They may only be valid for a
     * particular resource or set of resources.
     * More info:
     * https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
     */
    @JvmName("hinlclioycglsety")
    public suspend fun resourceVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceVersion = mapped
    }

    /**
     * @param value (Output)
     * SelfLink is a URL representing this object.
     */
    @JvmName("bbedaaggakyvllec")
    public suspend fun selfLink(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.selfLink = mapped
    }

    /**
     * @param value (Output)
     * UID is a unique id generated by the server on successful creation of a resource and is not
     * allowed to change on PUT operations.
     * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
     */
    @JvmName("mgtfxlggrimoslus")
    public suspend fun uid(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.uid = mapped
    }

    internal fun build(): DomainMappingMetadataArgs = DomainMappingMetadataArgs(
        annotations = annotations,
        effectiveAnnotations = effectiveAnnotations,
        effectiveLabels = effectiveLabels,
        generation = generation,
        labels = labels,
        namespace = namespace ?: throw PulumiNullFieldException("namespace"),
        pulumiLabels = pulumiLabels,
        resourceVersion = resourceVersion,
        selfLink = selfLink,
        uid = uid,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy