com.pulumi.awsnative.lightsail.kotlin.LoadBalancerArgs.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.lightsail.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.lightsail.LoadBalancerArgs.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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::Lightsail::LoadBalancer
* @property attachedInstances The names of the instances attached to the load balancer.
* @property healthCheckPath The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., "/").
* @property instancePort The instance port where you're creating your load balancer.
* @property ipAddressType The IP address type for the load balancer. The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. The default value is dualstack.
* @property loadBalancerName The name of your load balancer.
* @property sessionStickinessEnabled Configuration option to enable session stickiness.
* @property sessionStickinessLbCookieDurationSeconds Configuration option to adjust session stickiness cookie duration parameter.
* @property tags An array of key-value pairs to apply to this resource.
* @property tlsPolicyName The name of the TLS policy to apply to the load balancer.
*/
public data class LoadBalancerArgs(
public val attachedInstances: Output>? = null,
public val healthCheckPath: Output? = null,
public val instancePort: Output? = null,
public val ipAddressType: Output? = null,
public val loadBalancerName: Output? = null,
public val sessionStickinessEnabled: Output? = null,
public val sessionStickinessLbCookieDurationSeconds: Output? = null,
public val tags: Output>? = null,
public val tlsPolicyName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.lightsail.LoadBalancerArgs =
com.pulumi.awsnative.lightsail.LoadBalancerArgs.builder()
.attachedInstances(attachedInstances?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.healthCheckPath(healthCheckPath?.applyValue({ args0 -> args0 }))
.instancePort(instancePort?.applyValue({ args0 -> args0 }))
.ipAddressType(ipAddressType?.applyValue({ args0 -> args0 }))
.loadBalancerName(loadBalancerName?.applyValue({ args0 -> args0 }))
.sessionStickinessEnabled(sessionStickinessEnabled?.applyValue({ args0 -> args0 }))
.sessionStickinessLbCookieDurationSeconds(
sessionStickinessLbCookieDurationSeconds?.applyValue({ args0 ->
args0
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.tlsPolicyName(tlsPolicyName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LoadBalancerArgs].
*/
@PulumiTagMarker
public class LoadBalancerArgsBuilder internal constructor() {
private var attachedInstances: Output>? = null
private var healthCheckPath: Output? = null
private var instancePort: Output? = null
private var ipAddressType: Output? = null
private var loadBalancerName: Output? = null
private var sessionStickinessEnabled: Output? = null
private var sessionStickinessLbCookieDurationSeconds: Output? = null
private var tags: Output>? = null
private var tlsPolicyName: Output? = null
/**
* @param value The names of the instances attached to the load balancer.
*/
@JvmName("sbmncpcobklsjhvp")
public suspend fun attachedInstances(`value`: Output>) {
this.attachedInstances = value
}
@JvmName("vljargwlewbiwimf")
public suspend fun attachedInstances(vararg values: Output) {
this.attachedInstances = Output.all(values.asList())
}
/**
* @param values The names of the instances attached to the load balancer.
*/
@JvmName("jvhvkctkkjtoqnkm")
public suspend fun attachedInstances(values: List