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

com.pulumi.awsnative.ec2.kotlin.VpcEndpointServiceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.ec2.kotlin

import com.pulumi.awsnative.ec2.VpcEndpointServiceArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::EC2::VPCEndpointService
 * @property acceptanceRequired Indicates whether requests from service consumers to create an endpoint to your service must be accepted.
 * @property contributorInsightsEnabled Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .
 * @property gatewayLoadBalancerArns The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
 * @property networkLoadBalancerArns The Amazon Resource Names (ARNs) of the Network Load Balancers.
 * @property payerResponsibility The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
 */
public data class VpcEndpointServiceArgs(
    public val acceptanceRequired: Output? = null,
    public val contributorInsightsEnabled: Output? = null,
    public val gatewayLoadBalancerArns: Output>? = null,
    public val networkLoadBalancerArns: Output>? = null,
    public val payerResponsibility: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ec2.VpcEndpointServiceArgs =
        com.pulumi.awsnative.ec2.VpcEndpointServiceArgs.builder()
            .acceptanceRequired(acceptanceRequired?.applyValue({ args0 -> args0 }))
            .contributorInsightsEnabled(contributorInsightsEnabled?.applyValue({ args0 -> args0 }))
            .gatewayLoadBalancerArns(
                gatewayLoadBalancerArns?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .networkLoadBalancerArns(
                networkLoadBalancerArns?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .payerResponsibility(payerResponsibility?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [VpcEndpointServiceArgs].
 */
@PulumiTagMarker
public class VpcEndpointServiceArgsBuilder internal constructor() {
    private var acceptanceRequired: Output? = null

    private var contributorInsightsEnabled: Output? = null

    private var gatewayLoadBalancerArns: Output>? = null

    private var networkLoadBalancerArns: Output>? = null

    private var payerResponsibility: Output? = null

    /**
     * @param value Indicates whether requests from service consumers to create an endpoint to your service must be accepted.
     */
    @JvmName("txworppurpnbfcec")
    public suspend fun acceptanceRequired(`value`: Output) {
        this.acceptanceRequired = value
    }

    /**
     * @param value Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .
     */
    @JvmName("amipkxehofxmtdiu")
    public suspend fun contributorInsightsEnabled(`value`: Output) {
        this.contributorInsightsEnabled = value
    }

    /**
     * @param value The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
     */
    @JvmName("wltuaccetaydojgl")
    public suspend fun gatewayLoadBalancerArns(`value`: Output>) {
        this.gatewayLoadBalancerArns = value
    }

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

    /**
     * @param values The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
     */
    @JvmName("tuudoofriafcsqgs")
    public suspend fun gatewayLoadBalancerArns(values: List>) {
        this.gatewayLoadBalancerArns = Output.all(values)
    }

    /**
     * @param value The Amazon Resource Names (ARNs) of the Network Load Balancers.
     */
    @JvmName("esjdytydnclljdki")
    public suspend fun networkLoadBalancerArns(`value`: Output>) {
        this.networkLoadBalancerArns = value
    }

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

    /**
     * @param values The Amazon Resource Names (ARNs) of the Network Load Balancers.
     */
    @JvmName("jvdvbutnvvrxhpeo")
    public suspend fun networkLoadBalancerArns(values: List>) {
        this.networkLoadBalancerArns = Output.all(values)
    }

    /**
     * @param value The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
     */
    @JvmName("aacgwrqdsnlcixpu")
    public suspend fun payerResponsibility(`value`: Output) {
        this.payerResponsibility = value
    }

    /**
     * @param value Indicates whether requests from service consumers to create an endpoint to your service must be accepted.
     */
    @JvmName("ssyljiwhlliijncx")
    public suspend fun acceptanceRequired(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.acceptanceRequired = mapped
    }

    /**
     * @param value Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .
     */
    @JvmName("lagvexqsljokpign")
    public suspend fun contributorInsightsEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contributorInsightsEnabled = mapped
    }

    /**
     * @param value The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
     */
    @JvmName("ysawegvnyseyuxoa")
    public suspend fun gatewayLoadBalancerArns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.gatewayLoadBalancerArns = mapped
    }

    /**
     * @param values The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
     */
    @JvmName("qsnbmwsdbftowapl")
    public suspend fun gatewayLoadBalancerArns(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.gatewayLoadBalancerArns = mapped
    }

    /**
     * @param value The Amazon Resource Names (ARNs) of the Network Load Balancers.
     */
    @JvmName("ivumbuyvijidacuf")
    public suspend fun networkLoadBalancerArns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.networkLoadBalancerArns = mapped
    }

    /**
     * @param values The Amazon Resource Names (ARNs) of the Network Load Balancers.
     */
    @JvmName("oslgkxoyqapkvesv")
    public suspend fun networkLoadBalancerArns(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.networkLoadBalancerArns = mapped
    }

    /**
     * @param value The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
     */
    @JvmName("lbkfsywnllobdknc")
    public suspend fun payerResponsibility(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.payerResponsibility = mapped
    }

    internal fun build(): VpcEndpointServiceArgs = VpcEndpointServiceArgs(
        acceptanceRequired = acceptanceRequired,
        contributorInsightsEnabled = contributorInsightsEnabled,
        gatewayLoadBalancerArns = gatewayLoadBalancerArns,
        networkLoadBalancerArns = networkLoadBalancerArns,
        payerResponsibility = payerResponsibility,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy