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

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

package com.pulumi.gcp.compute.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.RegionNetworkEndpointGroupCloudRunArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property service Cloud Run service is the main resource of Cloud Run.
 * The service must be 1-63 characters long, and comply with RFC1035.
 * Example value: "run-service".
 * @property tag Cloud Run tag represents the "named-revision" to provide
 * additional fine-grained traffic routing information.
 * The tag must be 1-63 characters long, and comply with RFC1035.
 * Example value: "revision-0010".
 * @property urlMask A template to parse service and tag fields from a request URL.
 * URL mask allows for routing to multiple Run services without having
 * to create multiple network endpoint groups and backend services.
 * For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
 * an be backed by the same Serverless Network Endpoint Group (NEG) with
 * URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
 * and { service="bar2", tag="foo2" } respectively.
 */
public data class RegionNetworkEndpointGroupCloudRunArgs(
    public val service: Output? = null,
    public val tag: Output? = null,
    public val urlMask: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.compute.inputs.RegionNetworkEndpointGroupCloudRunArgs =
        com.pulumi.gcp.compute.inputs.RegionNetworkEndpointGroupCloudRunArgs.builder()
            .service(service?.applyValue({ args0 -> args0 }))
            .tag(tag?.applyValue({ args0 -> args0 }))
            .urlMask(urlMask?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [RegionNetworkEndpointGroupCloudRunArgs].
 */
@PulumiTagMarker
public class RegionNetworkEndpointGroupCloudRunArgsBuilder internal constructor() {
    private var service: Output? = null

    private var tag: Output? = null

    private var urlMask: Output? = null

    /**
     * @param value Cloud Run service is the main resource of Cloud Run.
     * The service must be 1-63 characters long, and comply with RFC1035.
     * Example value: "run-service".
     */
    @JvmName("piutkcuayaeosotf")
    public suspend fun service(`value`: Output) {
        this.service = value
    }

    /**
     * @param value Cloud Run tag represents the "named-revision" to provide
     * additional fine-grained traffic routing information.
     * The tag must be 1-63 characters long, and comply with RFC1035.
     * Example value: "revision-0010".
     */
    @JvmName("qdmprvahiepdnyde")
    public suspend fun tag(`value`: Output) {
        this.tag = value
    }

    /**
     * @param value A template to parse service and tag fields from a request URL.
     * URL mask allows for routing to multiple Run services without having
     * to create multiple network endpoint groups and backend services.
     * For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
     * an be backed by the same Serverless Network Endpoint Group (NEG) with
     * URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
     * and { service="bar2", tag="foo2" } respectively.
     */
    @JvmName("iwphttmilbhyglep")
    public suspend fun urlMask(`value`: Output) {
        this.urlMask = value
    }

    /**
     * @param value Cloud Run service is the main resource of Cloud Run.
     * The service must be 1-63 characters long, and comply with RFC1035.
     * Example value: "run-service".
     */
    @JvmName("fwtothpmnauualiw")
    public suspend fun service(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.service = mapped
    }

    /**
     * @param value Cloud Run tag represents the "named-revision" to provide
     * additional fine-grained traffic routing information.
     * The tag must be 1-63 characters long, and comply with RFC1035.
     * Example value: "revision-0010".
     */
    @JvmName("wqnqlerbkkymyyew")
    public suspend fun tag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tag = mapped
    }

    /**
     * @param value A template to parse service and tag fields from a request URL.
     * URL mask allows for routing to multiple Run services without having
     * to create multiple network endpoint groups and backend services.
     * For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
     * an be backed by the same Serverless Network Endpoint Group (NEG) with
     * URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
     * and { service="bar2", tag="foo2" } respectively.
     */
    @JvmName("ykdgxhsqocwtlggq")
    public suspend fun urlMask(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlMask = mapped
    }

    internal fun build(): RegionNetworkEndpointGroupCloudRunArgs =
        RegionNetworkEndpointGroupCloudRunArgs(
            service = service,
            tag = tag,
            urlMask = urlMask,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy