com.pulumi.googlenative.compute.alpha.kotlin.inputs.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.compute.alpha.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.compute.alpha.inputs.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* The configuration for a custom policy implemented by the user and deployed with the client.
* @property data An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.
* @property name Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.
*/
public data class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs(
public val `data`: Output? = null,
public val name: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.compute.alpha.inputs.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs =
com.pulumi.googlenative.compute.alpha.inputs.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs.builder()
.`data`(`data`?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs].
*/
@PulumiTagMarker
public class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgsBuilder internal constructor() {
private var `data`: Output? = null
private var name: Output? = null
/**
* @param value An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.
*/
@JvmName("yxgugyiqkgwrlmue")
public suspend fun `data`(`value`: Output) {
this.`data` = value
}
/**
* @param value Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.
*/
@JvmName("hsrswqeiwwhrmtmy")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.
*/
@JvmName("ugjvbyecobqhaves")
public suspend fun `data`(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.`data` = mapped
}
/**
* @param value Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.
*/
@JvmName("clsvwkevrwhqhtqw")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
internal fun build(): BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs =
BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicyArgs(
`data` = `data`,
name = name,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy