Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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.compute.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.RegionInstanceTemplateNetworkInterfaceArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property accessConfigs
* @property aliasIpRanges An
* array of alias IP ranges for this network interface. Can only be specified for network
* interfaces on subnet-mode networks. Structure documented below.
* @property internalIpv6PrefixLength The prefix length of the primary internal IPv6 range.
* @property ipv6AccessConfigs An array of IPv6 access configurations for this interface.
* Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
* specified, then this instance will have no external IPv6 Internet access. Structure documented below.
* @property ipv6AccessType One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
* @property ipv6Address An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
* @property name The name of the network_interface.
* @property network The name or self_link of the network to attach this interface to.
* Use `network` attribute for Legacy or Auto subnetted networks and
* `subnetwork` for custom subnetted networks.
* @property networkIp The private IP address to assign to the instance. If
* empty, the address will be automatically assigned.
* @property nicType The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
* @property queueCount The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
* @property stackType The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
* @property subnetwork the name of the subnetwork to attach this interface
* to. The subnetwork must exist in the same `region` this instance will be
* created in. Either `network` or `subnetwork` must be provided.
* @property subnetworkProject The ID of the project in which the subnetwork belongs.
* If it is not provided, the provider project is used.
*/
public data class RegionInstanceTemplateNetworkInterfaceArgs(
public val accessConfigs: Output>? =
null,
public val aliasIpRanges: Output>? =
null,
public val internalIpv6PrefixLength: Output? = null,
public val ipv6AccessConfigs: Output>? = null,
public val ipv6AccessType: Output? = null,
public val ipv6Address: Output? = null,
public val name: Output? = null,
public val network: Output? = null,
public val networkIp: Output? = null,
public val nicType: Output? = null,
public val queueCount: Output? = null,
public val stackType: Output? = null,
public val subnetwork: Output? = null,
public val subnetworkProject: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.RegionInstanceTemplateNetworkInterfaceArgs =
com.pulumi.gcp.compute.inputs.RegionInstanceTemplateNetworkInterfaceArgs.builder()
.accessConfigs(
accessConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.aliasIpRanges(
aliasIpRanges?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.internalIpv6PrefixLength(internalIpv6PrefixLength?.applyValue({ args0 -> args0 }))
.ipv6AccessConfigs(
ipv6AccessConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.ipv6AccessType(ipv6AccessType?.applyValue({ args0 -> args0 }))
.ipv6Address(ipv6Address?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.network(network?.applyValue({ args0 -> args0 }))
.networkIp(networkIp?.applyValue({ args0 -> args0 }))
.nicType(nicType?.applyValue({ args0 -> args0 }))
.queueCount(queueCount?.applyValue({ args0 -> args0 }))
.stackType(stackType?.applyValue({ args0 -> args0 }))
.subnetwork(subnetwork?.applyValue({ args0 -> args0 }))
.subnetworkProject(subnetworkProject?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RegionInstanceTemplateNetworkInterfaceArgs].
*/
@PulumiTagMarker
public class RegionInstanceTemplateNetworkInterfaceArgsBuilder internal constructor() {
private var accessConfigs: Output>? =
null
private var aliasIpRanges: Output>? =
null
private var internalIpv6PrefixLength: Output? = null
private var ipv6AccessConfigs:
Output>? = null
private var ipv6AccessType: Output? = null
private var ipv6Address: Output? = null
private var name: Output? = null
private var network: Output? = null
private var networkIp: Output? = null
private var nicType: Output? = null
private var queueCount: Output? = null
private var stackType: Output? = null
private var subnetwork: Output? = null
private var subnetworkProject: Output? = null
/**
* @param value
*/
@JvmName("lmakpbihtjwidsls")
public suspend fun accessConfigs(`value`: Output>) {
this.accessConfigs = value
}
@JvmName("tfvocrxwqwqmuauk")
public suspend fun accessConfigs(vararg values: Output) {
this.accessConfigs = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("rxxuhkimvdpcnbhb")
public suspend fun accessConfigs(values: List