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

com.pulumi.gcp.appengine.kotlin.inputs.FlexibleAppVersionEndpointsApiServiceArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.appengine.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.appengine.inputs.FlexibleAppVersionEndpointsApiServiceArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property configId Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".
 * By default, the rollout strategy for Endpoints is "FIXED". This means that Endpoints starts up with a particular configuration ID.
 * When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID
 * and is required in this case.
 * Endpoints also has a rollout strategy called "MANAGED". When using this, Endpoints fetches the latest configuration and does not need
 * the configuration ID. In this case, configId must be omitted.
 * @property disableTraceSampling Enable or disable trace sampling. By default, this is set to false for enabled.
 * @property name Endpoints service name which is the name of the "service" resource in the Service Management API.
 * For example "myapi.endpoints.myproject.cloud.goog"
 * @property rolloutStrategy Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.
 * Default value is `FIXED`.
 * Possible values are: `FIXED`, `MANAGED`.
 */
public data class FlexibleAppVersionEndpointsApiServiceArgs(
    public val configId: Output? = null,
    public val disableTraceSampling: Output? = null,
    public val name: Output,
    public val rolloutStrategy: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.appengine.inputs.FlexibleAppVersionEndpointsApiServiceArgs =
        com.pulumi.gcp.appengine.inputs.FlexibleAppVersionEndpointsApiServiceArgs.builder()
            .configId(configId?.applyValue({ args0 -> args0 }))
            .disableTraceSampling(disableTraceSampling?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .rolloutStrategy(rolloutStrategy?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FlexibleAppVersionEndpointsApiServiceArgs].
 */
@PulumiTagMarker
public class FlexibleAppVersionEndpointsApiServiceArgsBuilder internal constructor() {
    private var configId: Output? = null

    private var disableTraceSampling: Output? = null

    private var name: Output? = null

    private var rolloutStrategy: Output? = null

    /**
     * @param value Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".
     * By default, the rollout strategy for Endpoints is "FIXED". This means that Endpoints starts up with a particular configuration ID.
     * When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID
     * and is required in this case.
     * Endpoints also has a rollout strategy called "MANAGED". When using this, Endpoints fetches the latest configuration and does not need
     * the configuration ID. In this case, configId must be omitted.
     */
    @JvmName("ibmvpveobkacpwja")
    public suspend fun configId(`value`: Output) {
        this.configId = value
    }

    /**
     * @param value Enable or disable trace sampling. By default, this is set to false for enabled.
     */
    @JvmName("dllnrumbrvphghxd")
    public suspend fun disableTraceSampling(`value`: Output) {
        this.disableTraceSampling = value
    }

    /**
     * @param value Endpoints service name which is the name of the "service" resource in the Service Management API.
     * For example "myapi.endpoints.myproject.cloud.goog"
     */
    @JvmName("nrqavkesjstkbnts")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.
     * Default value is `FIXED`.
     * Possible values are: `FIXED`, `MANAGED`.
     */
    @JvmName("kcrsxhymhqgfpcyd")
    public suspend fun rolloutStrategy(`value`: Output) {
        this.rolloutStrategy = value
    }

    /**
     * @param value Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".
     * By default, the rollout strategy for Endpoints is "FIXED". This means that Endpoints starts up with a particular configuration ID.
     * When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID
     * and is required in this case.
     * Endpoints also has a rollout strategy called "MANAGED". When using this, Endpoints fetches the latest configuration and does not need
     * the configuration ID. In this case, configId must be omitted.
     */
    @JvmName("hllcvhpvswxkwvcs")
    public suspend fun configId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.configId = mapped
    }

    /**
     * @param value Enable or disable trace sampling. By default, this is set to false for enabled.
     */
    @JvmName("vgjlwvgfplxlgrlc")
    public suspend fun disableTraceSampling(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableTraceSampling = mapped
    }

    /**
     * @param value Endpoints service name which is the name of the "service" resource in the Service Management API.
     * For example "myapi.endpoints.myproject.cloud.goog"
     */
    @JvmName("xdiqamatatjhsbxr")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.
     * Default value is `FIXED`.
     * Possible values are: `FIXED`, `MANAGED`.
     */
    @JvmName("uepjtdkxejmpnpgp")
    public suspend fun rolloutStrategy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rolloutStrategy = mapped
    }

    internal fun build(): FlexibleAppVersionEndpointsApiServiceArgs =
        FlexibleAppVersionEndpointsApiServiceArgs(
            configId = configId,
            disableTraceSampling = disableTraceSampling,
            name = name ?: throw PulumiNullFieldException("name"),
            rolloutStrategy = rolloutStrategy,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy