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

com.pulumi.aws.codedeploy.kotlin.inputs.DeploymentGroupLoadBalancerInfoArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.codedeploy.kotlin.inputs

import com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs.builder
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.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property elbInfos The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
 * @property targetGroupInfos The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
 * @property targetGroupPairInfo The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with `elb_info` and `target_group_info`.
 */
public data class DeploymentGroupLoadBalancerInfoArgs(
    public val elbInfos: Output>? = null,
    public val targetGroupInfos: Output>? =
        null,
    public val targetGroupPairInfo: Output? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs =
        com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs.builder()
            .elbInfos(
                elbInfos?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .targetGroupInfos(
                targetGroupInfos?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .targetGroupPairInfo(
                targetGroupPairInfo?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

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

    private var targetGroupInfos: Output>? =
        null

    private var targetGroupPairInfo: Output? =
        null

    /**
     * @param value The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("ttvvwseedablahwl")
    public suspend fun elbInfos(`value`: Output>) {
        this.elbInfos = value
    }

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

    /**
     * @param values The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("aupkdgfebfttdjig")
    public suspend fun elbInfos(values: List>) {
        this.elbInfos = Output.all(values)
    }

    /**
     * @param value The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("qvmonpxkxduoosuo")
    public suspend fun targetGroupInfos(`value`: Output>) {
        this.targetGroupInfos = value
    }

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

    /**
     * @param values The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("bswquljbuieivsth")
    public suspend fun targetGroupInfos(values: List>) {
        this.targetGroupInfos = Output.all(values)
    }

    /**
     * @param value The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with `elb_info` and `target_group_info`.
     */
    @JvmName("tnhvchcyedoirdgm")
    public suspend fun targetGroupPairInfo(`value`: Output) {
        this.targetGroupPairInfo = value
    }

    /**
     * @param value The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("wpkhhwpcvorrjlog")
    public suspend fun elbInfos(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.elbInfos = mapped
    }

    /**
     * @param argument The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("lrmmshowpscfgwvp")
    public suspend fun elbInfos(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DeploymentGroupLoadBalancerInfoElbInfoArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.elbInfos = mapped
    }

    /**
     * @param argument The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("igvxpqfaiowokilk")
    public suspend fun elbInfos(vararg argument: suspend DeploymentGroupLoadBalancerInfoElbInfoArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DeploymentGroupLoadBalancerInfoElbInfoArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.elbInfos = mapped
    }

    /**
     * @param argument The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("iyhlrgbtwtkttqag")
    public suspend fun elbInfos(argument: suspend DeploymentGroupLoadBalancerInfoElbInfoArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            DeploymentGroupLoadBalancerInfoElbInfoArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.elbInfos = mapped
    }

    /**
     * @param values The Classic Elastic Load Balancer to use in a deployment. Conflicts with `target_group_info` and `target_group_pair_info`.
     */
    @JvmName("qpkxmbhfsduspqvh")
    public suspend fun elbInfos(vararg values: DeploymentGroupLoadBalancerInfoElbInfoArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.elbInfos = mapped
    }

    /**
     * @param value The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("loysvudovmavilqw")
    public suspend fun targetGroupInfos(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetGroupInfos = mapped
    }

    /**
     * @param argument The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("ksxtkagdrtveqtos")
    public suspend fun targetGroupInfos(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DeploymentGroupLoadBalancerInfoTargetGroupInfoArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.targetGroupInfos = mapped
    }

    /**
     * @param argument The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("nmqmnxyxwkgvwvkt")
    public suspend fun targetGroupInfos(vararg argument: suspend DeploymentGroupLoadBalancerInfoTargetGroupInfoArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DeploymentGroupLoadBalancerInfoTargetGroupInfoArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.targetGroupInfos = mapped
    }

    /**
     * @param argument The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("daqttqlpafgaquyy")
    public suspend fun targetGroupInfos(argument: suspend DeploymentGroupLoadBalancerInfoTargetGroupInfoArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            DeploymentGroupLoadBalancerInfoTargetGroupInfoArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.targetGroupInfos = mapped
    }

    /**
     * @param values The (Application/Network Load Balancer) target group to use in a deployment. Conflicts with `elb_info` and `target_group_pair_info`.
     */
    @JvmName("pmrddlpjmjayeilx")
    public suspend fun targetGroupInfos(vararg values: DeploymentGroupLoadBalancerInfoTargetGroupInfoArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.targetGroupInfos = mapped
    }

    /**
     * @param value The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with `elb_info` and `target_group_info`.
     */
    @JvmName("jsrauurkppibaunr")
    public suspend fun targetGroupPairInfo(`value`: DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetGroupPairInfo = mapped
    }

    /**
     * @param argument The (Application/Network Load Balancer) target group pair to use in a deployment. Conflicts with `elb_info` and `target_group_info`.
     */
    @JvmName("mlmoijwhqttalomn")
    public suspend fun targetGroupPairInfo(argument: suspend DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgsBuilder.() -> Unit) {
        val toBeMapped = DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.targetGroupPairInfo = mapped
    }

    internal fun build(): DeploymentGroupLoadBalancerInfoArgs = DeploymentGroupLoadBalancerInfoArgs(
        elbInfos = elbInfos,
        targetGroupInfos = targetGroupInfos,
        targetGroupPairInfo = targetGroupPairInfo,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy