![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.gcp.datafusion.kotlin.inputs.InstanceNetworkConfigArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.datafusion.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property connectionType Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and
* the corresponding tenant project from a predefined list of available connection modes.
* If this field is unspecified for a private instance, VPC peering is used.
* Possible values are: `VPC_PEERING`, `PRIVATE_SERVICE_CONNECT_INTERFACES`.
* @property ipAllocation The IP range in CIDR notation to use for the managed Data Fusion instance
* nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
* @property network Name of the network in the project with which the tenant project
* will be peered for executing pipelines. In case of shared VPC where the network resides in another host
* project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
* @property privateServiceConnectConfig Optional. Configuration for Private Service Connect.
* This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
* Structure is documented below.
*/
public data class InstanceNetworkConfigArgs(
public val connectionType: Output? = null,
public val ipAllocation: Output? = null,
public val network: Output? = null,
public val privateServiceConnectConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigArgs =
com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigArgs.builder()
.connectionType(connectionType?.applyValue({ args0 -> args0 }))
.ipAllocation(ipAllocation?.applyValue({ args0 -> args0 }))
.network(network?.applyValue({ args0 -> args0 }))
.privateServiceConnectConfig(
privateServiceConnectConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [InstanceNetworkConfigArgs].
*/
@PulumiTagMarker
public class InstanceNetworkConfigArgsBuilder internal constructor() {
private var connectionType: Output? = null
private var ipAllocation: Output? = null
private var network: Output? = null
private var privateServiceConnectConfig:
Output? = null
/**
* @param value Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and
* the corresponding tenant project from a predefined list of available connection modes.
* If this field is unspecified for a private instance, VPC peering is used.
* Possible values are: `VPC_PEERING`, `PRIVATE_SERVICE_CONNECT_INTERFACES`.
*/
@JvmName("cqnuugshvtgptlbk")
public suspend fun connectionType(`value`: Output) {
this.connectionType = value
}
/**
* @param value The IP range in CIDR notation to use for the managed Data Fusion instance
* nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
*/
@JvmName("shaobsvlofulrljb")
public suspend fun ipAllocation(`value`: Output) {
this.ipAllocation = value
}
/**
* @param value Name of the network in the project with which the tenant project
* will be peered for executing pipelines. In case of shared VPC where the network resides in another host
* project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
*/
@JvmName("nhjxtxkvqdhneqjd")
public suspend fun network(`value`: Output) {
this.network = value
}
/**
* @param value Optional. Configuration for Private Service Connect.
* This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
* Structure is documented below.
*/
@JvmName("ueruoowxauknoscg")
public suspend fun privateServiceConnectConfig(`value`: Output) {
this.privateServiceConnectConfig = value
}
/**
* @param value Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and
* the corresponding tenant project from a predefined list of available connection modes.
* If this field is unspecified for a private instance, VPC peering is used.
* Possible values are: `VPC_PEERING`, `PRIVATE_SERVICE_CONNECT_INTERFACES`.
*/
@JvmName("rnotwdrisugopgep")
public suspend fun connectionType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectionType = mapped
}
/**
* @param value The IP range in CIDR notation to use for the managed Data Fusion instance
* nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
*/
@JvmName("osuehdkurmddaxou")
public suspend fun ipAllocation(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipAllocation = mapped
}
/**
* @param value Name of the network in the project with which the tenant project
* will be peered for executing pipelines. In case of shared VPC where the network resides in another host
* project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
*/
@JvmName("oyldknyfqkacdhpy")
public suspend fun network(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.network = mapped
}
/**
* @param value Optional. Configuration for Private Service Connect.
* This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
* Structure is documented below.
*/
@JvmName("ephujpfuqbsgputr")
public suspend fun privateServiceConnectConfig(`value`: InstanceNetworkConfigPrivateServiceConnectConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.privateServiceConnectConfig = mapped
}
/**
* @param argument Optional. Configuration for Private Service Connect.
* This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
* Structure is documented below.
*/
@JvmName("qsiwkueointukvpb")
public suspend fun privateServiceConnectConfig(argument: suspend InstanceNetworkConfigPrivateServiceConnectConfigArgsBuilder.() -> Unit) {
val toBeMapped = InstanceNetworkConfigPrivateServiceConnectConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.privateServiceConnectConfig = mapped
}
internal fun build(): InstanceNetworkConfigArgs = InstanceNetworkConfigArgs(
connectionType = connectionType,
ipAllocation = ipAllocation,
network = network,
privateServiceConnectConfig = privateServiceConnectConfig,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy