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

com.pulumi.gcp.appengine.kotlin.inputs.FlexibleAppVersionNetworkArgs.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.10.0.0
Show newest version
@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.FlexibleAppVersionNetworkArgs.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.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property forwardedPorts List of ports, or port pairs, to forward from the virtual machine to the application container.
 * @property instanceTag Tag to apply to the instance during creation.
 * @property name Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.
 * @property sessionAffinity Enable session affinity.
 * @property subnetwork Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.
 * If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.
 * If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.
 * If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork.
 * If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.
 */
public data class FlexibleAppVersionNetworkArgs(
    public val forwardedPorts: Output>? = null,
    public val instanceTag: Output? = null,
    public val name: Output,
    public val sessionAffinity: Output? = null,
    public val subnetwork: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.appengine.inputs.FlexibleAppVersionNetworkArgs =
        com.pulumi.gcp.appengine.inputs.FlexibleAppVersionNetworkArgs.builder()
            .forwardedPorts(forwardedPorts?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .instanceTag(instanceTag?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .sessionAffinity(sessionAffinity?.applyValue({ args0 -> args0 }))
            .subnetwork(subnetwork?.applyValue({ args0 -> args0 })).build()
}

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

    private var instanceTag: Output? = null

    private var name: Output? = null

    private var sessionAffinity: Output? = null

    private var subnetwork: Output? = null

    /**
     * @param value List of ports, or port pairs, to forward from the virtual machine to the application container.
     */
    @JvmName("vfqijktvgpmtewtl")
    public suspend fun forwardedPorts(`value`: Output>) {
        this.forwardedPorts = value
    }

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

    /**
     * @param values List of ports, or port pairs, to forward from the virtual machine to the application container.
     */
    @JvmName("vqbacouqiwsesmla")
    public suspend fun forwardedPorts(values: List>) {
        this.forwardedPorts = Output.all(values)
    }

    /**
     * @param value Tag to apply to the instance during creation.
     */
    @JvmName("clssysrvwdtcihiu")
    public suspend fun instanceTag(`value`: Output) {
        this.instanceTag = value
    }

    /**
     * @param value Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.
     */
    @JvmName("osxiufyddrwxdefy")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Enable session affinity.
     */
    @JvmName("wnrfiwdomflsulsl")
    public suspend fun sessionAffinity(`value`: Output) {
        this.sessionAffinity = value
    }

    /**
     * @param value Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.
     * If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.
     * If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.
     * If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork.
     * If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.
     */
    @JvmName("orevqxgbalsoxpyq")
    public suspend fun subnetwork(`value`: Output) {
        this.subnetwork = value
    }

    /**
     * @param value List of ports, or port pairs, to forward from the virtual machine to the application container.
     */
    @JvmName("cgekujokdfpughdm")
    public suspend fun forwardedPorts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forwardedPorts = mapped
    }

    /**
     * @param values List of ports, or port pairs, to forward from the virtual machine to the application container.
     */
    @JvmName("tkoesqibybfytymq")
    public suspend fun forwardedPorts(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.forwardedPorts = mapped
    }

    /**
     * @param value Tag to apply to the instance during creation.
     */
    @JvmName("ktgutuhjfxofbxvc")
    public suspend fun instanceTag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceTag = mapped
    }

    /**
     * @param value Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.
     */
    @JvmName("vxeidtdsanfeaxdj")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Enable session affinity.
     */
    @JvmName("iyvrucqaxqbiyvit")
    public suspend fun sessionAffinity(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sessionAffinity = mapped
    }

    /**
     * @param value Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.
     * If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.
     * If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.
     * If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork.
     * If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.
     */
    @JvmName("dkssgbjykmgxofwi")
    public suspend fun subnetwork(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subnetwork = mapped
    }

    internal fun build(): FlexibleAppVersionNetworkArgs = FlexibleAppVersionNetworkArgs(
        forwardedPorts = forwardedPorts,
        instanceTag = instanceTag,
        name = name ?: throw PulumiNullFieldException("name"),
        sessionAffinity = sessionAffinity,
        subnetwork = subnetwork,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy