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

com.pulumi.awsnative.vpclattice.kotlin.outputs.TargetGroupConfig.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.vpclattice.kotlin.outputs

import com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigIpAddressType
import com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigLambdaEventStructureVersion
import com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigProtocol
import com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigProtocolVersion
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property healthCheck The health check configuration. Not supported if the target group type is `LAMBDA` or `ALB` .
 * @property ipAddressType The type of IP address used for the target group. Supported only if the target group type is `IP` . The default is `IPV4` .
 * @property lambdaEventStructureVersion The version of the event structure that your Lambda function receives. Supported only if the target group type is `LAMBDA` . The default is `V1` .
 * @property port The port on which the targets are listening. For HTTP, the default is 80. For HTTPS, the default is 443. Not supported if the target group type is `LAMBDA` .
 * @property protocol The protocol to use for routing traffic to the targets. The default is the protocol of the target group. Not supported if the target group type is `LAMBDA` .
 * @property protocolVersion The protocol version. The default is `HTTP1` . Not supported if the target group type is `LAMBDA` .
 * @property vpcIdentifier The ID of the VPC. Not supported if the target group type is `LAMBDA` .
 */
public data class TargetGroupConfig(
    public val healthCheck: TargetGroupHealthCheckConfig? = null,
    public val ipAddressType: TargetGroupConfigIpAddressType? = null,
    public val lambdaEventStructureVersion: TargetGroupConfigLambdaEventStructureVersion? = null,
    public val port: Int? = null,
    public val protocol: TargetGroupConfigProtocol? = null,
    public val protocolVersion: TargetGroupConfigProtocolVersion? = null,
    public val vpcIdentifier: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.vpclattice.outputs.TargetGroupConfig): TargetGroupConfig = TargetGroupConfig(
            healthCheck = javaType.healthCheck().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.vpclattice.kotlin.outputs.TargetGroupHealthCheckConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            ipAddressType = javaType.ipAddressType().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigIpAddressType.Companion.toKotlin(args0)
                })
            }).orElse(null),
            lambdaEventStructureVersion = javaType.lambdaEventStructureVersion().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigLambdaEventStructureVersion.Companion.toKotlin(args0)
                })
            }).orElse(null),
            port = javaType.port().map({ args0 -> args0 }).orElse(null),
            protocol = javaType.protocol().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigProtocol.Companion.toKotlin(args0)
                })
            }).orElse(null),
            protocolVersion = javaType.protocolVersion().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.vpclattice.kotlin.enums.TargetGroupConfigProtocolVersion.Companion.toKotlin(args0)
                })
            }).orElse(null),
            vpcIdentifier = javaType.vpcIdentifier().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy