
com.pulumi.awsnative.globalaccelerator.kotlin.inputs.EndpointGroupEndpointConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.globalaccelerator.kotlin.inputs
import com.pulumi.awsnative.globalaccelerator.inputs.EndpointGroupEndpointConfigurationArgs.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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* The configuration for a given endpoint
* @property attachmentArn Attachment ARN that provides access control to the cross account endpoint. Not required for resources hosted in the same account as the endpoint group.
* @property clientIpPreservationEnabled true if client ip should be preserved
* @property endpointId Id of the endpoint. For Network/Application Load Balancer this value is the ARN. For EIP, this value is the allocation ID. For EC2 instances, this is the EC2 instance ID
* @property weight The weight for the endpoint.
*/
public data class EndpointGroupEndpointConfigurationArgs(
public val attachmentArn: Output? = null,
public val clientIpPreservationEnabled: Output? = null,
public val endpointId: Output,
public val weight: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.globalaccelerator.inputs.EndpointGroupEndpointConfigurationArgs =
com.pulumi.awsnative.globalaccelerator.inputs.EndpointGroupEndpointConfigurationArgs.builder()
.attachmentArn(attachmentArn?.applyValue({ args0 -> args0 }))
.clientIpPreservationEnabled(clientIpPreservationEnabled?.applyValue({ args0 -> args0 }))
.endpointId(endpointId.applyValue({ args0 -> args0 }))
.weight(weight?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [EndpointGroupEndpointConfigurationArgs].
*/
@PulumiTagMarker
public class EndpointGroupEndpointConfigurationArgsBuilder internal constructor() {
private var attachmentArn: Output? = null
private var clientIpPreservationEnabled: Output? = null
private var endpointId: Output? = null
private var weight: Output? = null
/**
* @param value Attachment ARN that provides access control to the cross account endpoint. Not required for resources hosted in the same account as the endpoint group.
*/
@JvmName("nntdccdvwpgfgcub")
public suspend fun attachmentArn(`value`: Output) {
this.attachmentArn = value
}
/**
* @param value true if client ip should be preserved
*/
@JvmName("ondobilkjqvkuxjf")
public suspend fun clientIpPreservationEnabled(`value`: Output) {
this.clientIpPreservationEnabled = value
}
/**
* @param value Id of the endpoint. For Network/Application Load Balancer this value is the ARN. For EIP, this value is the allocation ID. For EC2 instances, this is the EC2 instance ID
*/
@JvmName("kbettvqxmxesneag")
public suspend fun endpointId(`value`: Output) {
this.endpointId = value
}
/**
* @param value The weight for the endpoint.
*/
@JvmName("cbdngxjvalrhckjy")
public suspend fun weight(`value`: Output) {
this.weight = value
}
/**
* @param value Attachment ARN that provides access control to the cross account endpoint. Not required for resources hosted in the same account as the endpoint group.
*/
@JvmName("bcqhehgmakapwivk")
public suspend fun attachmentArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.attachmentArn = mapped
}
/**
* @param value true if client ip should be preserved
*/
@JvmName("vukjlglypwylyknx")
public suspend fun clientIpPreservationEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientIpPreservationEnabled = mapped
}
/**
* @param value Id of the endpoint. For Network/Application Load Balancer this value is the ARN. For EIP, this value is the allocation ID. For EC2 instances, this is the EC2 instance ID
*/
@JvmName("bysbftdajqlrwtau")
public suspend fun endpointId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.endpointId = mapped
}
/**
* @param value The weight for the endpoint.
*/
@JvmName("foxxnvegfxbrdllb")
public suspend fun weight(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.weight = mapped
}
internal fun build(): EndpointGroupEndpointConfigurationArgs =
EndpointGroupEndpointConfigurationArgs(
attachmentArn = attachmentArn,
clientIpPreservationEnabled = clientIpPreservationEnabled,
endpointId = endpointId ?: throw PulumiNullFieldException("endpointId"),
weight = weight,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy