com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetup.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.workbench.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
*
* @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 InstanceGceSetup(
public val acceleratorConfigs: List? = null,
public val bootDisk: InstanceGceSetupBootDisk? = null,
public val containerImage: InstanceGceSetupContainerImage? = null,
public val dataDisks: InstanceGceSetupDataDisks? = null,
public val disablePublicIp: Boolean? = null,
public val enableIpForwarding: Boolean? = null,
public val machineType: String? = null,
public val metadata: Map? = null,
public val networkInterfaces: List? = null,
public val serviceAccounts: List? = null,
public val shieldedInstanceConfig: InstanceGceSetupShieldedInstanceConfig? = null,
public val tags: List? = null,
public val vmImage: InstanceGceSetupVmImage? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.workbench.outputs.InstanceGceSetup): InstanceGceSetup = InstanceGceSetup(
acceleratorConfigs = javaType.acceleratorConfigs().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupAcceleratorConfig.Companion.toKotlin(args0)
})
}),
bootDisk = javaType.bootDisk().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupBootDisk.Companion.toKotlin(args0)
})
}).orElse(null),
containerImage = javaType.containerImage().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupContainerImage.Companion.toKotlin(args0)
})
}).orElse(null),
dataDisks = javaType.dataDisks().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupDataDisks.Companion.toKotlin(args0)
})
}).orElse(null),
disablePublicIp = javaType.disablePublicIp().map({ args0 -> args0 }).orElse(null),
enableIpForwarding = javaType.enableIpForwarding().map({ args0 -> args0 }).orElse(null),
machineType = javaType.machineType().map({ args0 -> args0 }).orElse(null),
metadata = javaType.metadata().map({ args0 -> args0.key.to(args0.value) }).toMap(),
networkInterfaces = javaType.networkInterfaces().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupNetworkInterface.Companion.toKotlin(args0)
})
}),
serviceAccounts = javaType.serviceAccounts().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupServiceAccount.Companion.toKotlin(args0)
})
}),
shieldedInstanceConfig = javaType.shieldedInstanceConfig().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupShieldedInstanceConfig.Companion.toKotlin(args0)
})
}).orElse(null),
tags = javaType.tags().map({ args0 -> args0 }),
vmImage = javaType.vmImage().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.workbench.kotlin.outputs.InstanceGceSetupVmImage.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy