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

com.pulumi.awsnative.apprunner.kotlin.VpcConnectorArgs.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.apprunner.kotlin

import com.pulumi.awsnative.apprunner.VpcConnectorArgs.builder
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgs
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector.
 * @property securityGroups A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
 * @property subnets A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
 * @property tags A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
 * @property vpcConnectorName A name for the VPC connector. If you don't specify a name, AWS CloudFormation generates a name for your VPC connector.
 */
public data class VpcConnectorArgs(
    public val securityGroups: Output>? = null,
    public val subnets: Output>? = null,
    public val tags: Output>? = null,
    public val vpcConnectorName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.apprunner.VpcConnectorArgs =
        com.pulumi.awsnative.apprunner.VpcConnectorArgs.builder()
            .securityGroups(securityGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .subnets(subnets?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .vpcConnectorName(vpcConnectorName?.applyValue({ args0 -> args0 })).build()
}

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

    private var subnets: Output>? = null

    private var tags: Output>? = null

    private var vpcConnectorName: Output? = null

    /**
     * @param value A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
     */
    @JvmName("pckdbmuoikqynbvj")
    public suspend fun securityGroups(`value`: Output>) {
        this.securityGroups = value
    }

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

    /**
     * @param values A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
     */
    @JvmName("dubmpeyidumkpyge")
    public suspend fun securityGroups(values: List>) {
        this.securityGroups = Output.all(values)
    }

    /**
     * @param value A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
     */
    @JvmName("kulkvmmdfgkpkceo")
    public suspend fun subnets(`value`: Output>) {
        this.subnets = value
    }

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

    /**
     * @param values A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
     */
    @JvmName("ixsjijrugrsaiofn")
    public suspend fun subnets(values: List>) {
        this.subnets = Output.all(values)
    }

    /**
     * @param value A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("ptnkmfiikyhqabtg")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

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

    /**
     * @param values A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("sreqlksoviicwkba")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value A name for the VPC connector. If you don't specify a name, AWS CloudFormation generates a name for your VPC connector.
     */
    @JvmName("xfyqqkscamggugdr")
    public suspend fun vpcConnectorName(`value`: Output) {
        this.vpcConnectorName = value
    }

    /**
     * @param value A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
     */
    @JvmName("tqivxgllbognmimx")
    public suspend fun securityGroups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.securityGroups = mapped
    }

    /**
     * @param values A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets. If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
     */
    @JvmName("betgmdpdxmoedbrd")
    public suspend fun securityGroups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.securityGroups = mapped
    }

    /**
     * @param value A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
     */
    @JvmName("vrcrijhxdwwyljpt")
    public suspend fun subnets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subnets = mapped
    }

    /**
     * @param values A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
     */
    @JvmName("tdafygjtpossgunq")
    public suspend fun subnets(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.subnets = mapped
    }

    /**
     * @param value A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("lbeamvhqbfvxhqkk")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("ilklicxfxobhutlh")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            CreateOnlyTagArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("jgsstrygvebhpyme")
    public suspend fun tags(vararg argument: suspend CreateOnlyTagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            CreateOnlyTagArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("cldbedkogggitkta")
    public suspend fun tags(argument: suspend CreateOnlyTagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(CreateOnlyTagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.
     */
    @JvmName("ebnkvevtmexrmhlt")
    public suspend fun tags(vararg values: CreateOnlyTagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value A name for the VPC connector. If you don't specify a name, AWS CloudFormation generates a name for your VPC connector.
     */
    @JvmName("ypvgniqemprpqlxb")
    public suspend fun vpcConnectorName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpcConnectorName = mapped
    }

    internal fun build(): VpcConnectorArgs = VpcConnectorArgs(
        securityGroups = securityGroups,
        subnets = subnets,
        tags = tags,
        vpcConnectorName = vpcConnectorName,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy