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

com.pulumi.awsnative.elasticloadbalancingv2.kotlin.inputs.TargetGroupTargetDescriptionArgs.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: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.elasticloadbalancingv2.kotlin.inputs

import com.pulumi.awsnative.elasticloadbalancingv2.inputs.TargetGroupTargetDescriptionArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property availabilityZone An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
 * @property id The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
 * @property port The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
 */
public data class TargetGroupTargetDescriptionArgs(
    public val availabilityZone: Output? = null,
    public val id: Output,
    public val port: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.elasticloadbalancingv2.inputs.TargetGroupTargetDescriptionArgs =
        com.pulumi.awsnative.elasticloadbalancingv2.inputs.TargetGroupTargetDescriptionArgs.builder()
            .availabilityZone(availabilityZone?.applyValue({ args0 -> args0 }))
            .id(id.applyValue({ args0 -> args0 }))
            .port(port?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [TargetGroupTargetDescriptionArgs].
 */
@PulumiTagMarker
public class TargetGroupTargetDescriptionArgsBuilder internal constructor() {
    private var availabilityZone: Output? = null

    private var id: Output? = null

    private var port: Output? = null

    /**
     * @param value An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
     */
    @JvmName("rtrqsirsrhsrgvhd")
    public suspend fun availabilityZone(`value`: Output) {
        this.availabilityZone = value
    }

    /**
     * @param value The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
     */
    @JvmName("qovceunpetqyyjsj")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
     */
    @JvmName("puuioxhkkekmqbao")
    public suspend fun port(`value`: Output) {
        this.port = value
    }

    /**
     * @param value An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
     */
    @JvmName("lcjfhptggravsufo")
    public suspend fun availabilityZone(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.availabilityZone = mapped
    }

    /**
     * @param value The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function. If the target type is alb, specify the ARN of the Application Load Balancer target.
     */
    @JvmName("ssdeghhmmcmnpmyh")
    public suspend fun id(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.
     */
    @JvmName("osjbjbxnyjpnqtnd")
    public suspend fun port(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.port = mapped
    }

    internal fun build(): TargetGroupTargetDescriptionArgs = TargetGroupTargetDescriptionArgs(
        availabilityZone = availabilityZone,
        id = id ?: throw PulumiNullFieldException("id"),
        port = port,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy