Please wait. This can take some minutes ...
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.
com.pulumi.gcp.workbench.kotlin.inputs.InstanceGceSetupArgs.kt Maven / Gradle / Ivy
Go to download
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.workbench.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property acceleratorConfigs The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
* @property bootDisk The definition of a boot disk.
* Structure is documented below.
* @property containerImage Use a container image to start the workbench instance.
* Structure is documented below.
* @property dataDisks Data disks attached to the VM instance. Currently supports only one data disk.
* Structure is documented below.
* @property disablePublicIp Optional. If true, no external IP will be assigned to this VM instance.
* @property enableIpForwarding Optional. Flag to enable ip forwarding or not, default false/off.
* https://cloud.google.com/vpc/docs/using-routes#canipforward
* @property machineType Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
* @property metadata Optional. Custom metadata to apply to this instance.
* @property networkInterfaces The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
* @property serviceAccounts The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
* @property shieldedInstanceConfig A set of Shielded Instance options. See [Images using supported Shielded
* VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
* Not all combinations are valid.
* Structure is documented below.
* @property tags Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
* @property vmImage Definition of a custom Compute Engine virtual machine image for starting
* a workbench instance with the environment installed directly on the VM.
* Structure is documented below.
*/
public data class InstanceGceSetupArgs(
public val acceleratorConfigs: Output>? = null,
public val bootDisk: Output? = null,
public val containerImage: Output? = null,
public val dataDisks: Output? = null,
public val disablePublicIp: Output? = null,
public val enableIpForwarding: Output? = null,
public val machineType: Output? = null,
public val metadata: Output>? = null,
public val networkInterfaces: Output>? = null,
public val serviceAccounts: Output>? = null,
public val shieldedInstanceConfig: Output? = null,
public val tags: Output>? = null,
public val vmImage: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs =
com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs.builder()
.acceleratorConfigs(
acceleratorConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.bootDisk(bootDisk?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.containerImage(containerImage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dataDisks(dataDisks?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.disablePublicIp(disablePublicIp?.applyValue({ args0 -> args0 }))
.enableIpForwarding(enableIpForwarding?.applyValue({ args0 -> args0 }))
.machineType(machineType?.applyValue({ args0 -> args0 }))
.metadata(
metadata?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.networkInterfaces(
networkInterfaces?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.serviceAccounts(
serviceAccounts?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.shieldedInstanceConfig(
shieldedInstanceConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.vmImage(vmImage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [InstanceGceSetupArgs].
*/
@PulumiTagMarker
public class InstanceGceSetupArgsBuilder internal constructor() {
private var acceleratorConfigs: Output>? = null
private var bootDisk: Output? = null
private var containerImage: Output? = null
private var dataDisks: Output? = null
private var disablePublicIp: Output? = null
private var enableIpForwarding: Output? = null
private var machineType: Output? = null
private var metadata: Output>? = null
private var networkInterfaces: Output>? = null
private var serviceAccounts: Output>? = null
private var shieldedInstanceConfig: Output? = null
private var tags: Output>? = null
private var vmImage: Output? = null
/**
* @param value The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("rkqqpjiqyddbpfme")
public suspend fun acceleratorConfigs(`value`: Output>) {
this.acceleratorConfigs = value
}
@JvmName("qdgwaynhwmtqugjc")
public suspend fun acceleratorConfigs(vararg values: Output) {
this.acceleratorConfigs = Output.all(values.asList())
}
/**
* @param values The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("ohpgophiognulidr")
public suspend fun acceleratorConfigs(values: List>) {
this.acceleratorConfigs = Output.all(values)
}
/**
* @param value The definition of a boot disk.
* Structure is documented below.
*/
@JvmName("uawwyqjrwmdwumiq")
public suspend fun bootDisk(`value`: Output) {
this.bootDisk = value
}
/**
* @param value Use a container image to start the workbench instance.
* Structure is documented below.
*/
@JvmName("ewsiglblcnuoohcv")
public suspend fun containerImage(`value`: Output) {
this.containerImage = value
}
/**
* @param value Data disks attached to the VM instance. Currently supports only one data disk.
* Structure is documented below.
*/
@JvmName("nckaulefjhelowje")
public suspend fun dataDisks(`value`: Output) {
this.dataDisks = value
}
/**
* @param value Optional. If true, no external IP will be assigned to this VM instance.
*/
@JvmName("pfgpaqbvvxrmpbwu")
public suspend fun disablePublicIp(`value`: Output) {
this.disablePublicIp = value
}
/**
* @param value Optional. Flag to enable ip forwarding or not, default false/off.
* https://cloud.google.com/vpc/docs/using-routes#canipforward
*/
@JvmName("dtnqulecoueyrovm")
public suspend fun enableIpForwarding(`value`: Output) {
this.enableIpForwarding = value
}
/**
* @param value Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
*/
@JvmName("hkjrlmunlrtxudry")
public suspend fun machineType(`value`: Output) {
this.machineType = value
}
/**
* @param value Optional. Custom metadata to apply to this instance.
*/
@JvmName("ifewrxgomwocdyyc")
public suspend fun metadata(`value`: Output>) {
this.metadata = value
}
/**
* @param value The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("jjstccqdsgbvepwd")
public suspend fun networkInterfaces(`value`: Output>) {
this.networkInterfaces = value
}
@JvmName("lxlkslnypbywcxhc")
public suspend fun networkInterfaces(vararg values: Output) {
this.networkInterfaces = Output.all(values.asList())
}
/**
* @param values The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("yjjfjoqyvrlmwqhv")
public suspend fun networkInterfaces(values: List>) {
this.networkInterfaces = Output.all(values)
}
/**
* @param value The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("doftsobsrgpngknk")
public suspend fun serviceAccounts(`value`: Output>) {
this.serviceAccounts = value
}
@JvmName("rktrrajffrbxuxgr")
public suspend fun serviceAccounts(vararg values: Output) {
this.serviceAccounts = Output.all(values.asList())
}
/**
* @param values The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("yftjmdslkalxqjjk")
public suspend fun serviceAccounts(values: List>) {
this.serviceAccounts = Output.all(values)
}
/**
* @param value A set of Shielded Instance options. See [Images using supported Shielded
* VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
* Not all combinations are valid.
* Structure is documented below.
*/
@JvmName("pmtoiyhthhstdyii")
public suspend fun shieldedInstanceConfig(`value`: Output) {
this.shieldedInstanceConfig = value
}
/**
* @param value Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
*/
@JvmName("ejmwrfbjjaiiicva")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("ndvcwdmpqrguvbsv")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
*/
@JvmName("ppcubwjxyqpscdbc")
public suspend fun tags(values: List>) {
this.tags = Output.all(values)
}
/**
* @param value Definition of a custom Compute Engine virtual machine image for starting
* a workbench instance with the environment installed directly on the VM.
* Structure is documented below.
*/
@JvmName("tpohhosmdtkwqcdn")
public suspend fun vmImage(`value`: Output) {
this.vmImage = value
}
/**
* @param value The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("rkwjyuyeqjadosxe")
public suspend fun acceleratorConfigs(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acceleratorConfigs = mapped
}
/**
* @param argument The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("mhovrnfngremgina")
public suspend fun acceleratorConfigs(argument: List Unit>) {
val toBeMapped = argument.toList().map {
InstanceGceSetupAcceleratorConfigArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.acceleratorConfigs = mapped
}
/**
* @param argument The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("eipivtacldkabifp")
public suspend fun acceleratorConfigs(vararg argument: suspend InstanceGceSetupAcceleratorConfigArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
InstanceGceSetupAcceleratorConfigArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.acceleratorConfigs = mapped
}
/**
* @param argument The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("uikmgpldaubojsta")
public suspend fun acceleratorConfigs(argument: suspend InstanceGceSetupAcceleratorConfigArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
InstanceGceSetupAcceleratorConfigArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.acceleratorConfigs = mapped
}
/**
* @param values The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has
* [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
* Currently supports only one accelerator configuration.
* Structure is documented below.
*/
@JvmName("cqxijhdpxmplnbny")
public suspend fun acceleratorConfigs(vararg values: InstanceGceSetupAcceleratorConfigArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.acceleratorConfigs = mapped
}
/**
* @param value The definition of a boot disk.
* Structure is documented below.
*/
@JvmName("ofdqilqkfliabqag")
public suspend fun bootDisk(`value`: InstanceGceSetupBootDiskArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bootDisk = mapped
}
/**
* @param argument The definition of a boot disk.
* Structure is documented below.
*/
@JvmName("bxohxmolqflkqjkt")
public suspend fun bootDisk(argument: suspend InstanceGceSetupBootDiskArgsBuilder.() -> Unit) {
val toBeMapped = InstanceGceSetupBootDiskArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.bootDisk = mapped
}
/**
* @param value Use a container image to start the workbench instance.
* Structure is documented below.
*/
@JvmName("xpbmqxppkilgxenl")
public suspend fun containerImage(`value`: InstanceGceSetupContainerImageArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.containerImage = mapped
}
/**
* @param argument Use a container image to start the workbench instance.
* Structure is documented below.
*/
@JvmName("opkmcasnmktgaimu")
public suspend fun containerImage(argument: suspend InstanceGceSetupContainerImageArgsBuilder.() -> Unit) {
val toBeMapped = InstanceGceSetupContainerImageArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.containerImage = mapped
}
/**
* @param value Data disks attached to the VM instance. Currently supports only one data disk.
* Structure is documented below.
*/
@JvmName("wkcldyvuyqluhpap")
public suspend fun dataDisks(`value`: InstanceGceSetupDataDisksArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataDisks = mapped
}
/**
* @param argument Data disks attached to the VM instance. Currently supports only one data disk.
* Structure is documented below.
*/
@JvmName("rviijvnmykevdjjk")
public suspend fun dataDisks(argument: suspend InstanceGceSetupDataDisksArgsBuilder.() -> Unit) {
val toBeMapped = InstanceGceSetupDataDisksArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.dataDisks = mapped
}
/**
* @param value Optional. If true, no external IP will be assigned to this VM instance.
*/
@JvmName("iundvjcinjugjcpp")
public suspend fun disablePublicIp(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.disablePublicIp = mapped
}
/**
* @param value Optional. Flag to enable ip forwarding or not, default false/off.
* https://cloud.google.com/vpc/docs/using-routes#canipforward
*/
@JvmName("lxudvrrlktksrfik")
public suspend fun enableIpForwarding(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableIpForwarding = mapped
}
/**
* @param value Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
*/
@JvmName("tnqdtialhbvrpvmw")
public suspend fun machineType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.machineType = mapped
}
/**
* @param value Optional. Custom metadata to apply to this instance.
*/
@JvmName("dyayfrvpglpqamgk")
public suspend fun metadata(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.metadata = mapped
}
/**
* @param values Optional. Custom metadata to apply to this instance.
*/
@JvmName("vakhaqvmvqgxsaxo")
public fun metadata(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metadata = mapped
}
/**
* @param value The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("vtfkuxopnhourtff")
public suspend fun networkInterfaces(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.networkInterfaces = mapped
}
/**
* @param argument The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("dbauurvhjalhtpov")
public suspend fun networkInterfaces(argument: List Unit>) {
val toBeMapped = argument.toList().map {
InstanceGceSetupNetworkInterfaceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.networkInterfaces = mapped
}
/**
* @param argument The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("wknaykkfuairtuyn")
public suspend fun networkInterfaces(vararg argument: suspend InstanceGceSetupNetworkInterfaceArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
InstanceGceSetupNetworkInterfaceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.networkInterfaces = mapped
}
/**
* @param argument The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("jjipyfirdehhaknr")
public suspend fun networkInterfaces(argument: suspend InstanceGceSetupNetworkInterfaceArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
InstanceGceSetupNetworkInterfaceArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.networkInterfaces = mapped
}
/**
* @param values The network interfaces for the VM. Supports only one interface.
* Structure is documented below.
*/
@JvmName("vrqffcfgtfbcsshm")
public suspend fun networkInterfaces(vararg values: InstanceGceSetupNetworkInterfaceArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.networkInterfaces = mapped
}
/**
* @param value The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("banbmthpciomhhlx")
public suspend fun serviceAccounts(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceAccounts = mapped
}
/**
* @param argument The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("ycqllwpgowisljxb")
public suspend fun serviceAccounts(argument: List Unit>) {
val toBeMapped = argument.toList().map {
InstanceGceSetupServiceAccountArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.serviceAccounts = mapped
}
/**
* @param argument The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("wrkvdahwitwqlffr")
public suspend fun serviceAccounts(vararg argument: suspend InstanceGceSetupServiceAccountArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
InstanceGceSetupServiceAccountArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.serviceAccounts = mapped
}
/**
* @param argument The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("sskksxnvtpppbfoa")
public suspend fun serviceAccounts(argument: suspend InstanceGceSetupServiceAccountArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
InstanceGceSetupServiceAccountArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.serviceAccounts = mapped
}
/**
* @param values The service account that serves as an identity for the VM instance. Currently supports only one service account.
* Structure is documented below.
*/
@JvmName("ksaeaohxabatcord")
public suspend fun serviceAccounts(vararg values: InstanceGceSetupServiceAccountArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.serviceAccounts = mapped
}
/**
* @param value A set of Shielded Instance options. See [Images using supported Shielded
* VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
* Not all combinations are valid.
* Structure is documented below.
*/
@JvmName("sdlpkwtdxnacoyag")
public suspend fun shieldedInstanceConfig(`value`: InstanceGceSetupShieldedInstanceConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.shieldedInstanceConfig = mapped
}
/**
* @param argument A set of Shielded Instance options. See [Images using supported Shielded
* VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
* Not all combinations are valid.
* Structure is documented below.
*/
@JvmName("gkvoxqtixlfygubc")
public suspend fun shieldedInstanceConfig(argument: suspend InstanceGceSetupShieldedInstanceConfigArgsBuilder.() -> Unit) {
val toBeMapped = InstanceGceSetupShieldedInstanceConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.shieldedInstanceConfig = mapped
}
/**
* @param value Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
*/
@JvmName("vavdxrnowyjbwidc")
public suspend fun tags(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
*/
@JvmName("ohlbgkauolermegk")
public suspend fun tags(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Definition of a custom Compute Engine virtual machine image for starting
* a workbench instance with the environment installed directly on the VM.
* Structure is documented below.
*/
@JvmName("algitnlsixmtyqrb")
public suspend fun vmImage(`value`: InstanceGceSetupVmImageArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmImage = mapped
}
/**
* @param argument Definition of a custom Compute Engine virtual machine image for starting
* a workbench instance with the environment installed directly on the VM.
* Structure is documented below.
*/
@JvmName("fdvsjgeugbbfpsub")
public suspend fun vmImage(argument: suspend InstanceGceSetupVmImageArgsBuilder.() -> Unit) {
val toBeMapped = InstanceGceSetupVmImageArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.vmImage = mapped
}
internal fun build(): InstanceGceSetupArgs = InstanceGceSetupArgs(
acceleratorConfigs = acceleratorConfigs,
bootDisk = bootDisk,
containerImage = containerImage,
dataDisks = dataDisks,
disablePublicIp = disablePublicIp,
enableIpForwarding = enableIpForwarding,
machineType = machineType,
metadata = metadata,
networkInterfaces = networkInterfaces,
serviceAccounts = serviceAccounts,
shieldedInstanceConfig = shieldedInstanceConfig,
tags = tags,
vmImage = vmImage,
)
}