com.pulumi.aws.vpclattice.kotlin.inputs.TargetGroupConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.vpclattice.kotlin.inputs
import com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property healthCheck The health check configuration.
* @property ipAddressType The type of IP address used for the target group. Valid values: `IPV4` | `IPV6`.
* @property lambdaEventStructureVersion The version of the event structure that the Lambda function receives. Supported only if `type` is `LAMBDA`. Valid Values are `V1` | `V2`.
* @property port The port on which the targets are listening.
* @property protocol The protocol to use for routing traffic to the targets. Valid Values are `HTTP` | `HTTPS`.
* @property protocolVersion The protocol version. Valid Values are `HTTP1` | `HTTP2` | `GRPC`. Default value is `HTTP1`.
* @property vpcIdentifier The ID of the VPC.
*/
public data class TargetGroupConfigArgs(
public val healthCheck: Output? = null,
public val ipAddressType: Output? = null,
public val lambdaEventStructureVersion: Output? = null,
public val port: Output? = null,
public val protocol: Output? = null,
public val protocolVersion: Output? = null,
public val vpcIdentifier: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs =
com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs.builder()
.healthCheck(healthCheck?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.ipAddressType(ipAddressType?.applyValue({ args0 -> args0 }))
.lambdaEventStructureVersion(lambdaEventStructureVersion?.applyValue({ args0 -> args0 }))
.port(port?.applyValue({ args0 -> args0 }))
.protocol(protocol?.applyValue({ args0 -> args0 }))
.protocolVersion(protocolVersion?.applyValue({ args0 -> args0 }))
.vpcIdentifier(vpcIdentifier?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TargetGroupConfigArgs].
*/
@PulumiTagMarker
public class TargetGroupConfigArgsBuilder internal constructor() {
private var healthCheck: Output? = null
private var ipAddressType: Output? = null
private var lambdaEventStructureVersion: Output? = null
private var port: Output? = null
private var protocol: Output? = null
private var protocolVersion: Output? = null
private var vpcIdentifier: Output? = null
/**
* @param value The health check configuration.
*/
@JvmName("voexkccpudmishkm")
public suspend fun healthCheck(`value`: Output) {
this.healthCheck = value
}
/**
* @param value The type of IP address used for the target group. Valid values: `IPV4` | `IPV6`.
*/
@JvmName("lnakuqgqukambroa")
public suspend fun ipAddressType(`value`: Output) {
this.ipAddressType = value
}
/**
* @param value The version of the event structure that the Lambda function receives. Supported only if `type` is `LAMBDA`. Valid Values are `V1` | `V2`.
*/
@JvmName("nohexkqytdekuxff")
public suspend fun lambdaEventStructureVersion(`value`: Output) {
this.lambdaEventStructureVersion = value
}
/**
* @param value The port on which the targets are listening.
*/
@JvmName("xdoguerkryteamll")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value The protocol to use for routing traffic to the targets. Valid Values are `HTTP` | `HTTPS`.
*/
@JvmName("tesacidilkqynoah")
public suspend fun protocol(`value`: Output) {
this.protocol = value
}
/**
* @param value The protocol version. Valid Values are `HTTP1` | `HTTP2` | `GRPC`. Default value is `HTTP1`.
*/
@JvmName("ehbghcogwivjeqtb")
public suspend fun protocolVersion(`value`: Output) {
this.protocolVersion = value
}
/**
* @param value The ID of the VPC.
*/
@JvmName("alfetoajhyseoarw")
public suspend fun vpcIdentifier(`value`: Output) {
this.vpcIdentifier = value
}
/**
* @param value The health check configuration.
*/
@JvmName("hpcieukexpvegtxu")
public suspend fun healthCheck(`value`: TargetGroupConfigHealthCheckArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.healthCheck = mapped
}
/**
* @param argument The health check configuration.
*/
@JvmName("sppvwuixgeuehtds")
public suspend fun healthCheck(argument: suspend TargetGroupConfigHealthCheckArgsBuilder.() -> Unit) {
val toBeMapped = TargetGroupConfigHealthCheckArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.healthCheck = mapped
}
/**
* @param value The type of IP address used for the target group. Valid values: `IPV4` | `IPV6`.
*/
@JvmName("randtniolxjjjucj")
public suspend fun ipAddressType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipAddressType = mapped
}
/**
* @param value The version of the event structure that the Lambda function receives. Supported only if `type` is `LAMBDA`. Valid Values are `V1` | `V2`.
*/
@JvmName("equbyafmvsieojon")
public suspend fun lambdaEventStructureVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.lambdaEventStructureVersion = mapped
}
/**
* @param value The port on which the targets are listening.
*/
@JvmName("kickokhsqbdnhkyk")
public suspend fun port(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
/**
* @param value The protocol to use for routing traffic to the targets. Valid Values are `HTTP` | `HTTPS`.
*/
@JvmName("skdfvidnjparjlts")
public suspend fun protocol(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protocol = mapped
}
/**
* @param value The protocol version. Valid Values are `HTTP1` | `HTTP2` | `GRPC`. Default value is `HTTP1`.
*/
@JvmName("pybyebupdpjgyvgn")
public suspend fun protocolVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protocolVersion = mapped
}
/**
* @param value The ID of the VPC.
*/
@JvmName("acmktqjwvvmumyfj")
public suspend fun vpcIdentifier(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcIdentifier = mapped
}
internal fun build(): TargetGroupConfigArgs = TargetGroupConfigArgs(
healthCheck = healthCheck,
ipAddressType = ipAddressType,
lambdaEventStructureVersion = lambdaEventStructureVersion,
port = port,
protocol = protocol,
protocolVersion = protocolVersion,
vpcIdentifier = vpcIdentifier,
)
}