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

com.pulumi.gcp.datafusion.kotlin.inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.datafusion.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property effectiveUnreachableCidrBlock (Output)
 * Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
 * The size of this block is /25. The format of this field is governed by RFC 4632.
 * @property networkAttachment Optional. The reference to the network attachment used to establish private connectivity.
 * It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}.
 * This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
 * @property unreachableCidrBlock Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
 * The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment.
 * This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses.
 * If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
 */
public data class InstanceNetworkConfigPrivateServiceConnectConfigArgs(
    public val effectiveUnreachableCidrBlock: Output? = null,
    public val networkAttachment: Output? = null,
    public val unreachableCidrBlock: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs =
        com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs.builder()
            .effectiveUnreachableCidrBlock(effectiveUnreachableCidrBlock?.applyValue({ args0 -> args0 }))
            .networkAttachment(networkAttachment?.applyValue({ args0 -> args0 }))
            .unreachableCidrBlock(unreachableCidrBlock?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [InstanceNetworkConfigPrivateServiceConnectConfigArgs].
 */
@PulumiTagMarker
public class InstanceNetworkConfigPrivateServiceConnectConfigArgsBuilder internal constructor() {
    private var effectiveUnreachableCidrBlock: Output? = null

    private var networkAttachment: Output? = null

    private var unreachableCidrBlock: Output? = null

    /**
     * @param value (Output)
     * Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
     * The size of this block is /25. The format of this field is governed by RFC 4632.
     */
    @JvmName("bgscwbnsxgnspjtq")
    public suspend fun effectiveUnreachableCidrBlock(`value`: Output) {
        this.effectiveUnreachableCidrBlock = value
    }

    /**
     * @param value Optional. The reference to the network attachment used to establish private connectivity.
     * It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}.
     * This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
     */
    @JvmName("hkefaapiyblxjtov")
    public suspend fun networkAttachment(`value`: Output) {
        this.networkAttachment = value
    }

    /**
     * @param value Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
     * The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment.
     * This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses.
     * If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
     */
    @JvmName("pjypglwepvxrwnhc")
    public suspend fun unreachableCidrBlock(`value`: Output) {
        this.unreachableCidrBlock = value
    }

    /**
     * @param value (Output)
     * Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
     * The size of this block is /25. The format of this field is governed by RFC 4632.
     */
    @JvmName("paustxkvahdtqawr")
    public suspend fun effectiveUnreachableCidrBlock(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.effectiveUnreachableCidrBlock = mapped
    }

    /**
     * @param value Optional. The reference to the network attachment used to establish private connectivity.
     * It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}.
     * This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
     */
    @JvmName("tycuqvaerkqmyynj")
    public suspend fun networkAttachment(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.networkAttachment = mapped
    }

    /**
     * @param value Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC.
     * The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment.
     * This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses.
     * If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
     */
    @JvmName("wlllgiaqigxgfayx")
    public suspend fun unreachableCidrBlock(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.unreachableCidrBlock = mapped
    }

    internal fun build(): InstanceNetworkConfigPrivateServiceConnectConfigArgs =
        InstanceNetworkConfigPrivateServiceConnectConfigArgs(
            effectiveUnreachableCidrBlock = effectiveUnreachableCidrBlock,
            networkAttachment = networkAttachment,
            unreachableCidrBlock = unreachableCidrBlock,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy