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

com.pulumi.googlenative.networkservices.v1beta1.kotlin.MeshArgs.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.networkservices.v1beta1.kotlin

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.networkservices.v1beta1.MeshArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
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

/**
 * Creates a new Mesh in a given project and location.
 * @property description Optional. A free-text description of the resource. Max length 1024 characters.
 * @property interceptionPort Optional. If set to a valid TCP port (1-65535), instructs the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) address. The SIDECAR proxy will expect all traffic to be redirected to this port regardless of its actual ip:port destination. If unset, a port '15001' is used as the interception port. This will is applicable only for sidecar proxy deployments.
 * @property labels Optional. Set of label tags associated with the Mesh resource.
 * @property location
 * @property meshId Required. Short name of the Mesh resource to be created.
 * @property name Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.
 * @property project
 * */
 */
public data class MeshArgs(
    public val description: Output? = null,
    public val interceptionPort: Output? = null,
    public val labels: Output>? = null,
    public val location: Output? = null,
    public val meshId: Output? = null,
    public val name: Output? = null,
    public val project: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.networkservices.v1beta1.MeshArgs =
        com.pulumi.googlenative.networkservices.v1beta1.MeshArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .interceptionPort(interceptionPort?.applyValue({ args0 -> args0 }))
            .labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .location(location?.applyValue({ args0 -> args0 }))
            .meshId(meshId?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .project(project?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [MeshArgs].
 */
@PulumiTagMarker
public class MeshArgsBuilder internal constructor() {
    private var description: Output? = null

    private var interceptionPort: Output? = null

    private var labels: Output>? = null

    private var location: Output? = null

    private var meshId: Output? = null

    private var name: Output? = null

    private var project: Output? = null

    /**
     * @param value Optional. A free-text description of the resource. Max length 1024 characters.
     */
    @JvmName("hyadwnbsgaejryoc")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Optional. If set to a valid TCP port (1-65535), instructs the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) address. The SIDECAR proxy will expect all traffic to be redirected to this port regardless of its actual ip:port destination. If unset, a port '15001' is used as the interception port. This will is applicable only for sidecar proxy deployments.
     */
    @JvmName("uuwmdbbtdospdpbs")
    public suspend fun interceptionPort(`value`: Output) {
        this.interceptionPort = value
    }

    /**
     * @param value Optional. Set of label tags associated with the Mesh resource.
     */
    @JvmName("nbcbcbhqkqdjrbma")
    public suspend fun labels(`value`: Output>) {
        this.labels = value
    }

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

    /**
     * @param value Required. Short name of the Mesh resource to be created.
     */
    @JvmName("ykrytvpxyplushmn")
    public suspend fun meshId(`value`: Output) {
        this.meshId = value
    }

    /**
     * @param value Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.
     * */
     */
    @JvmName("ocvfegjkojwyfwsr")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

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

    /**
     * @param value Optional. A free-text description of the resource. Max length 1024 characters.
     */
    @JvmName("usqautigufoyipkp")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Optional. If set to a valid TCP port (1-65535), instructs the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) address. The SIDECAR proxy will expect all traffic to be redirected to this port regardless of its actual ip:port destination. If unset, a port '15001' is used as the interception port. This will is applicable only for sidecar proxy deployments.
     */
    @JvmName("imafeqqtfmfyrqke")
    public suspend fun interceptionPort(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.interceptionPort = mapped
    }

    /**
     * @param value Optional. Set of label tags associated with the Mesh resource.
     */
    @JvmName("ggdynxiyaiqxyeau")
    public suspend fun labels(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.labels = mapped
    }

    /**
     * @param values Optional. Set of label tags associated with the Mesh resource.
     */
    @JvmName("tkwpleosydoosssi")
    public fun labels(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.labels = mapped
    }

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

    /**
     * @param value Required. Short name of the Mesh resource to be created.
     */
    @JvmName("sourctvqcsnbydjq")
    public suspend fun meshId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.meshId = mapped
    }

    /**
     * @param value Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.
     * */
     */
    @JvmName("jfjqxmlciwipfdni")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

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

    internal fun build(): MeshArgs = MeshArgs(
        description = description,
        interceptionPort = interceptionPort,
        labels = labels,
        location = location,
        meshId = meshId,
        name = name,
        project = project,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy