com.pulumi.awsnative.elasticloadbalancingv2.kotlin.inputs.TargetGroupTargetDescriptionArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@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,
)
}