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.notebooks.kotlin.inputs.RuntimeVirtualMachineVirtualMachineConfigArgs.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.notebooks.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
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 acceleratorConfig The Compute Engine accelerator configuration for this runtime.
* Structure is documented below.
* @property containerImages Use a list of container images to start the notebook instance.
* Structure is documented below.
* @property dataDisk Data disk option configuration settings.
* Structure is documented below.
* @property encryptionConfig Encryption settings for virtual machine data disk.
* Structure is documented below.
* @property guestAttributes (Output)
* The Compute Engine guest attributes. (see [Project and instance
* guest attributes](https://cloud.google.com/compute/docs/
* storing-retrieving-metadata#guest_attributes)).
* @property internalIpOnly If true, runtime will only have internal IP addresses. By default,
* runtimes are not restricted to internal IP addresses, and will
* have ephemeral external IP addresses assigned to each vm. This
* `internal_ip_only` restriction can only be enabled for subnetwork
* enabled networks, and all dependencies must be configured to be
* accessible without external IP addresses.
* @property labels The labels to associate with this runtime. Label **keys** must
* contain 1 to 63 characters, and must conform to [RFC 1035]
* (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
* empty, but, if present, must contain 1 to 63 characters, and must
* conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No
* more than 32 labels can be associated with a cluster.
* @property machineType The Compute Engine machine type used for runtimes.
* @property metadata The Compute Engine metadata entries to add to virtual machine.
* (see [Project and instance metadata](https://cloud.google.com
* /compute/docs/storing-retrieving-metadata#project_and_instance
* _metadata)).
* @property network The Compute Engine network to be used for machine communications.
* Cannot be specified with subnetwork. If neither `network` nor
* `subnet` is specified, the "default" network of the project is
* used, if it exists. A full URL or partial URI. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/global/default`
* * `projects/[project_id]/regions/global/default`
* Runtimes are managed resources inside Google Infrastructure.
* Runtimes support the following network configurations:
* * Google Managed Network (Network & subnet are empty)
* * Consumer Project VPC (network & subnet are required). Requires
* configuring Private Service Access.
* * Shared VPC (network & subnet are required). Requires
* configuring Private Service Access.
* @property nicType The type of vNIC to be used on this interface. This may be gVNIC
* or VirtioNet.
* Possible values are: `UNSPECIFIED_NIC_TYPE`, `VIRTIO_NET`, `GVNIC`.
* @property reservedIpRange Reserved IP Range name is used for VPC Peering. The
* subnetwork allocation will use the range *name* if it's assigned.
* @property shieldedInstanceConfig Shielded VM Instance configuration settings.
* Structure is documented below.
* @property subnet The Compute Engine subnetwork to be used for machine
* communications. Cannot be specified with network. A full URL or
* partial URI are valid. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/us-east1/subnetworks/sub0`
* * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
* @property tags The Compute Engine tags to add to runtime (see [Tagging instances]
* (https://cloud.google.com/compute/docs/
* label-or-tag-resources#tags)).
* @property zone (Output)
* The zone where the virtual machine is located.
*/
public data class RuntimeVirtualMachineVirtualMachineConfigArgs(
public val acceleratorConfig: Output? = null,
public val containerImages: Output>? = null,
public val dataDisk: Output,
public val encryptionConfig: Output? = null,
public val guestAttributes: Output>? = null,
public val internalIpOnly: Output? = null,
public val labels: Output>? = null,
public val machineType: Output,
public val metadata: Output>? = null,
public val network: Output? = null,
public val nicType: Output? = null,
public val reservedIpRange: Output? = null,
public val shieldedInstanceConfig: Output? = null,
public val subnet: Output? = null,
public val tags: Output>? = null,
public val zone: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigArgs =
com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigArgs.builder()
.acceleratorConfig(acceleratorConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.containerImages(
containerImages?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.dataDisk(dataDisk.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.encryptionConfig(encryptionConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.guestAttributes(
guestAttributes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.internalIpOnly(internalIpOnly?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.machineType(machineType.applyValue({ args0 -> args0 }))
.metadata(
metadata?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.network(network?.applyValue({ args0 -> args0 }))
.nicType(nicType?.applyValue({ args0 -> args0 }))
.reservedIpRange(reservedIpRange?.applyValue({ args0 -> args0 }))
.shieldedInstanceConfig(
shieldedInstanceConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.subnet(subnet?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.zone(zone?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RuntimeVirtualMachineVirtualMachineConfigArgs].
*/
@PulumiTagMarker
public class RuntimeVirtualMachineVirtualMachineConfigArgsBuilder internal constructor() {
private var acceleratorConfig:
Output? = null
private var containerImages:
Output>? = null
private var dataDisk: Output? = null
private var encryptionConfig:
Output? = null
private var guestAttributes: Output>? = null
private var internalIpOnly: Output? = null
private var labels: Output>? = null
private var machineType: Output? = null
private var metadata: Output>? = null
private var network: Output? = null
private var nicType: Output? = null
private var reservedIpRange: Output? = null
private var shieldedInstanceConfig:
Output? = null
private var subnet: Output? = null
private var tags: Output>? = null
private var zone: Output? = null
/**
* @param value The Compute Engine accelerator configuration for this runtime.
* Structure is documented below.
*/
@JvmName("wwavwodrihrrljuv")
public suspend fun acceleratorConfig(`value`: Output) {
this.acceleratorConfig = value
}
/**
* @param value Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("viunonrenaxfovst")
public suspend fun containerImages(`value`: Output>) {
this.containerImages = value
}
@JvmName("yfukkeurrkxrncqw")
public suspend fun containerImages(vararg values: Output) {
this.containerImages = Output.all(values.asList())
}
/**
* @param values Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("cgoluvhccmyqmtbi")
public suspend fun containerImages(values: List>) {
this.containerImages = Output.all(values)
}
/**
* @param value Data disk option configuration settings.
* Structure is documented below.
*/
@JvmName("fbwhowwimrcorrno")
public suspend fun dataDisk(`value`: Output) {
this.dataDisk = value
}
/**
* @param value Encryption settings for virtual machine data disk.
* Structure is documented below.
*/
@JvmName("aguwrigickwsyidg")
public suspend fun encryptionConfig(`value`: Output) {
this.encryptionConfig = value
}
/**
* @param value (Output)
* The Compute Engine guest attributes. (see [Project and instance
* guest attributes](https://cloud.google.com/compute/docs/
* storing-retrieving-metadata#guest_attributes)).
*/
@JvmName("rjjdjkqhrevyqylb")
public suspend fun guestAttributes(`value`: Output>) {
this.guestAttributes = value
}
/**
* @param value If true, runtime will only have internal IP addresses. By default,
* runtimes are not restricted to internal IP addresses, and will
* have ephemeral external IP addresses assigned to each vm. This
* `internal_ip_only` restriction can only be enabled for subnetwork
* enabled networks, and all dependencies must be configured to be
* accessible without external IP addresses.
*/
@JvmName("jipxrijrdicispom")
public suspend fun internalIpOnly(`value`: Output) {
this.internalIpOnly = value
}
/**
* @param value The labels to associate with this runtime. Label **keys** must
* contain 1 to 63 characters, and must conform to [RFC 1035]
* (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
* empty, but, if present, must contain 1 to 63 characters, and must
* conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No
* more than 32 labels can be associated with a cluster.
*/
@JvmName("kqymfwawlvddlhgs")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value The Compute Engine machine type used for runtimes.
*/
@JvmName("wpuaihyvqhjyanuo")
public suspend fun machineType(`value`: Output) {
this.machineType = value
}
/**
* @param value The Compute Engine metadata entries to add to virtual machine.
* (see [Project and instance metadata](https://cloud.google.com
* /compute/docs/storing-retrieving-metadata#project_and_instance
* _metadata)).
*/
@JvmName("nmdkgeqsbhpvkqgm")
public suspend fun metadata(`value`: Output>) {
this.metadata = value
}
/**
* @param value The Compute Engine network to be used for machine communications.
* Cannot be specified with subnetwork. If neither `network` nor
* `subnet` is specified, the "default" network of the project is
* used, if it exists. A full URL or partial URI. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/global/default`
* * `projects/[project_id]/regions/global/default`
* Runtimes are managed resources inside Google Infrastructure.
* Runtimes support the following network configurations:
* * Google Managed Network (Network & subnet are empty)
* * Consumer Project VPC (network & subnet are required). Requires
* configuring Private Service Access.
* * Shared VPC (network & subnet are required). Requires
* configuring Private Service Access.
*/
@JvmName("qkifgxnylrahlncj")
public suspend fun network(`value`: Output) {
this.network = value
}
/**
* @param value The type of vNIC to be used on this interface. This may be gVNIC
* or VirtioNet.
* Possible values are: `UNSPECIFIED_NIC_TYPE`, `VIRTIO_NET`, `GVNIC`.
*/
@JvmName("kjniawdcarwpvqeg")
public suspend fun nicType(`value`: Output) {
this.nicType = value
}
/**
* @param value Reserved IP Range name is used for VPC Peering. The
* subnetwork allocation will use the range *name* if it's assigned.
*/
@JvmName("tdfeptcfrlemeqjp")
public suspend fun reservedIpRange(`value`: Output) {
this.reservedIpRange = value
}
/**
* @param value Shielded VM Instance configuration settings.
* Structure is documented below.
*/
@JvmName("idosaynveyodctne")
public suspend fun shieldedInstanceConfig(`value`: Output) {
this.shieldedInstanceConfig = value
}
/**
* @param value The Compute Engine subnetwork to be used for machine
* communications. Cannot be specified with network. A full URL or
* partial URI are valid. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/us-east1/subnetworks/sub0`
* * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
*/
@JvmName("htygardhiivalhqb")
public suspend fun subnet(`value`: Output) {
this.subnet = value
}
/**
* @param value The Compute Engine tags to add to runtime (see [Tagging instances]
* (https://cloud.google.com/compute/docs/
* label-or-tag-resources#tags)).
*/
@JvmName("aauatuunyqpxajnw")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("jekivshgnyoagsoo")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values The Compute Engine tags to add to runtime (see [Tagging instances]
* (https://cloud.google.com/compute/docs/
* label-or-tag-resources#tags)).
*/
@JvmName("gnsonnslspoydgfb")
public suspend fun tags(values: List>) {
this.tags = Output.all(values)
}
/**
* @param value (Output)
* The zone where the virtual machine is located.
*/
@JvmName("bdurmggwptrsprkc")
public suspend fun zone(`value`: Output) {
this.zone = value
}
/**
* @param value The Compute Engine accelerator configuration for this runtime.
* Structure is documented below.
*/
@JvmName("lqqjxejyiwnpisue")
public suspend fun acceleratorConfig(`value`: RuntimeVirtualMachineVirtualMachineConfigAcceleratorConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acceleratorConfig = mapped
}
/**
* @param argument The Compute Engine accelerator configuration for this runtime.
* Structure is documented below.
*/
@JvmName("vybaayyqytnxfriy")
public suspend fun acceleratorConfig(argument: suspend RuntimeVirtualMachineVirtualMachineConfigAcceleratorConfigArgsBuilder.() -> Unit) {
val toBeMapped =
RuntimeVirtualMachineVirtualMachineConfigAcceleratorConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.acceleratorConfig = mapped
}
/**
* @param value Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("lnocdagjaojmrrsm")
public suspend fun containerImages(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.containerImages = mapped
}
/**
* @param argument Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("ysmcoqcxnrssajhk")
public suspend fun containerImages(argument: List Unit>) {
val toBeMapped = argument.toList().map {
RuntimeVirtualMachineVirtualMachineConfigContainerImageArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.containerImages = mapped
}
/**
* @param argument Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("klbdsixixuwaclff")
public suspend fun containerImages(vararg argument: suspend RuntimeVirtualMachineVirtualMachineConfigContainerImageArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
RuntimeVirtualMachineVirtualMachineConfigContainerImageArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.containerImages = mapped
}
/**
* @param argument Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("nqcfwysulrdrinir")
public suspend fun containerImages(argument: suspend RuntimeVirtualMachineVirtualMachineConfigContainerImageArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
RuntimeVirtualMachineVirtualMachineConfigContainerImageArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.containerImages = mapped
}
/**
* @param values Use a list of container images to start the notebook instance.
* Structure is documented below.
*/
@JvmName("gvnsxfpusyeabsbc")
public suspend fun containerImages(vararg values: RuntimeVirtualMachineVirtualMachineConfigContainerImageArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.containerImages = mapped
}
/**
* @param value Data disk option configuration settings.
* Structure is documented below.
*/
@JvmName("apsqrrbcgidkrhhi")
public suspend fun dataDisk(`value`: RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataDisk = mapped
}
/**
* @param argument Data disk option configuration settings.
* Structure is documented below.
*/
@JvmName("bmyjfhnkfjwessue")
public suspend fun dataDisk(argument: suspend RuntimeVirtualMachineVirtualMachineConfigDataDiskArgsBuilder.() -> Unit) {
val toBeMapped = RuntimeVirtualMachineVirtualMachineConfigDataDiskArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.dataDisk = mapped
}
/**
* @param value Encryption settings for virtual machine data disk.
* Structure is documented below.
*/
@JvmName("ipbobnvaeutkptaf")
public suspend fun encryptionConfig(`value`: RuntimeVirtualMachineVirtualMachineConfigEncryptionConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptionConfig = mapped
}
/**
* @param argument Encryption settings for virtual machine data disk.
* Structure is documented below.
*/
@JvmName("qovibeunycdymhvp")
public suspend fun encryptionConfig(argument: suspend RuntimeVirtualMachineVirtualMachineConfigEncryptionConfigArgsBuilder.() -> Unit) {
val toBeMapped =
RuntimeVirtualMachineVirtualMachineConfigEncryptionConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.encryptionConfig = mapped
}
/**
* @param value (Output)
* The Compute Engine guest attributes. (see [Project and instance
* guest attributes](https://cloud.google.com/compute/docs/
* storing-retrieving-metadata#guest_attributes)).
*/
@JvmName("bmyurdlknnoqdoxb")
public suspend fun guestAttributes(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.guestAttributes = mapped
}
/**
* @param values (Output)
* The Compute Engine guest attributes. (see [Project and instance
* guest attributes](https://cloud.google.com/compute/docs/
* storing-retrieving-metadata#guest_attributes)).
*/
@JvmName("eeokqycmhpyggppe")
public fun guestAttributes(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.guestAttributes = mapped
}
/**
* @param value If true, runtime will only have internal IP addresses. By default,
* runtimes are not restricted to internal IP addresses, and will
* have ephemeral external IP addresses assigned to each vm. This
* `internal_ip_only` restriction can only be enabled for subnetwork
* enabled networks, and all dependencies must be configured to be
* accessible without external IP addresses.
*/
@JvmName("fgnapsooxmavmpmt")
public suspend fun internalIpOnly(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.internalIpOnly = mapped
}
/**
* @param value The labels to associate with this runtime. Label **keys** must
* contain 1 to 63 characters, and must conform to [RFC 1035]
* (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
* empty, but, if present, must contain 1 to 63 characters, and must
* conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No
* more than 32 labels can be associated with a cluster.
*/
@JvmName("dagkvyjfgvmuikfg")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values The labels to associate with this runtime. Label **keys** must
* contain 1 to 63 characters, and must conform to [RFC 1035]
* (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
* empty, but, if present, must contain 1 to 63 characters, and must
* conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No
* more than 32 labels can be associated with a cluster.
*/
@JvmName("vjxpkwmxergiqxmr")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value The Compute Engine machine type used for runtimes.
*/
@JvmName("gvalsedfrkifjenb")
public suspend fun machineType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.machineType = mapped
}
/**
* @param value The Compute Engine metadata entries to add to virtual machine.
* (see [Project and instance metadata](https://cloud.google.com
* /compute/docs/storing-retrieving-metadata#project_and_instance
* _metadata)).
*/
@JvmName("xiprkjmymatunfvc")
public suspend fun metadata(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.metadata = mapped
}
/**
* @param values The Compute Engine metadata entries to add to virtual machine.
* (see [Project and instance metadata](https://cloud.google.com
* /compute/docs/storing-retrieving-metadata#project_and_instance
* _metadata)).
*/
@JvmName("niirpfdbujnpucgy")
public fun metadata(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metadata = mapped
}
/**
* @param value The Compute Engine network to be used for machine communications.
* Cannot be specified with subnetwork. If neither `network` nor
* `subnet` is specified, the "default" network of the project is
* used, if it exists. A full URL or partial URI. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/global/default`
* * `projects/[project_id]/regions/global/default`
* Runtimes are managed resources inside Google Infrastructure.
* Runtimes support the following network configurations:
* * Google Managed Network (Network & subnet are empty)
* * Consumer Project VPC (network & subnet are required). Requires
* configuring Private Service Access.
* * Shared VPC (network & subnet are required). Requires
* configuring Private Service Access.
*/
@JvmName("xffgqlaqrvfneydq")
public suspend fun network(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.network = mapped
}
/**
* @param value The type of vNIC to be used on this interface. This may be gVNIC
* or VirtioNet.
* Possible values are: `UNSPECIFIED_NIC_TYPE`, `VIRTIO_NET`, `GVNIC`.
*/
@JvmName("ljonwcoyyeboocds")
public suspend fun nicType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nicType = mapped
}
/**
* @param value Reserved IP Range name is used for VPC Peering. The
* subnetwork allocation will use the range *name* if it's assigned.
*/
@JvmName("dgpvgvcjvkoygwyl")
public suspend fun reservedIpRange(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.reservedIpRange = mapped
}
/**
* @param value Shielded VM Instance configuration settings.
* Structure is documented below.
*/
@JvmName("hheykqyalxmmsndb")
public suspend fun shieldedInstanceConfig(`value`: RuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.shieldedInstanceConfig = mapped
}
/**
* @param argument Shielded VM Instance configuration settings.
* Structure is documented below.
*/
@JvmName("lywrruggjwxddoln")
public suspend fun shieldedInstanceConfig(argument: suspend RuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfigArgsBuilder.() -> Unit) {
val toBeMapped =
RuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.shieldedInstanceConfig = mapped
}
/**
* @param value The Compute Engine subnetwork to be used for machine
* communications. Cannot be specified with network. A full URL or
* partial URI are valid. Examples:
* * `https://www.googleapis.com/compute/v1/projects/[project_id]/
* regions/us-east1/subnetworks/sub0`
* * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
*/
@JvmName("bmeleyvsfryrxibs")
public suspend fun subnet(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subnet = mapped
}
/**
* @param value The Compute Engine tags to add to runtime (see [Tagging instances]
* (https://cloud.google.com/compute/docs/
* label-or-tag-resources#tags)).
*/
@JvmName("uaeryakairclbhwd")
public suspend fun tags(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values The Compute Engine tags to add to runtime (see [Tagging instances]
* (https://cloud.google.com/compute/docs/
* label-or-tag-resources#tags)).
*/
@JvmName("pqyjrbghiivdikkq")
public suspend fun tags(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value (Output)
* The zone where the virtual machine is located.
*/
@JvmName("bphfyijuxcbmqxtb")
public suspend fun zone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.zone = mapped
}
internal fun build(): RuntimeVirtualMachineVirtualMachineConfigArgs =
RuntimeVirtualMachineVirtualMachineConfigArgs(
acceleratorConfig = acceleratorConfig,
containerImages = containerImages,
dataDisk = dataDisk ?: throw PulumiNullFieldException("dataDisk"),
encryptionConfig = encryptionConfig,
guestAttributes = guestAttributes,
internalIpOnly = internalIpOnly,
labels = labels,
machineType = machineType ?: throw PulumiNullFieldException("machineType"),
metadata = metadata,
network = network,
nicType = nicType,
reservedIpRange = reservedIpRange,
shieldedInstanceConfig = shieldedInstanceConfig,
subnet = subnet,
tags = tags,
zone = zone,
)
}