All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.databricks.kotlin.inputs.WorkspaceCustomParametersArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.databricks.kotlin.inputs

import com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Custom Parameters used for Cluster Creation.
 * @property amlWorkspaceId The ID of a Azure Machine Learning workspace to link with Databricks workspace
 * @property customPrivateSubnetName The name of the Private Subnet within the Virtual Network
 * @property customPublicSubnetName The name of a Public Subnet within the Virtual Network
 * @property customVirtualNetworkId The ID of a Virtual Network where this Databricks Cluster should be created
 * @property enableNoPublicIp Should the Public IP be Disabled?
 * @property encryption Contains the encryption details for Customer-Managed Key (CMK) enabled workspace.
 * @property loadBalancerBackendPoolName Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP).
 * @property loadBalancerId Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace.
 * @property natGatewayName Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets.
 * @property prepareEncryption Prepare the workspace for encryption. Enables the Managed Identity for managed storage account.
 * @property publicIpName Name of the Public IP for No Public IP workspace with managed vNet.
 * @property requireInfrastructureEncryption A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest.
 * @property storageAccountName Default DBFS storage account name.
 * @property storageAccountSkuName Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs.
 * @property vnetAddressPrefix Address prefix for Managed virtual network. Default value for this input is 10.139.
 */
public data class WorkspaceCustomParametersArgs(
    public val amlWorkspaceId: Output? = null,
    public val customPrivateSubnetName: Output? = null,
    public val customPublicSubnetName: Output? = null,
    public val customVirtualNetworkId: Output? = null,
    public val enableNoPublicIp: Output? = null,
    public val encryption: Output? = null,
    public val loadBalancerBackendPoolName: Output? = null,
    public val loadBalancerId: Output? = null,
    public val natGatewayName: Output? = null,
    public val prepareEncryption: Output? = null,
    public val publicIpName: Output? = null,
    public val requireInfrastructureEncryption: Output? = null,
    public val storageAccountName: Output? = null,
    public val storageAccountSkuName: Output? = null,
    public val vnetAddressPrefix: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs =
        com.pulumi.azurenative.databricks.inputs.WorkspaceCustomParametersArgs.builder()
            .amlWorkspaceId(amlWorkspaceId?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .customPrivateSubnetName(
                customPrivateSubnetName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .customPublicSubnetName(
                customPublicSubnetName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .customVirtualNetworkId(
                customVirtualNetworkId?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .enableNoPublicIp(enableNoPublicIp?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .encryption(encryption?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .loadBalancerBackendPoolName(
                loadBalancerBackendPoolName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .loadBalancerId(loadBalancerId?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .natGatewayName(natGatewayName?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .prepareEncryption(prepareEncryption?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .publicIpName(publicIpName?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .requireInfrastructureEncryption(
                requireInfrastructureEncryption?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .storageAccountName(
                storageAccountName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .storageAccountSkuName(
                storageAccountSkuName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .vnetAddressPrefix(
                vnetAddressPrefix?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [WorkspaceCustomParametersArgs].
 */
@PulumiTagMarker
public class WorkspaceCustomParametersArgsBuilder internal constructor() {
    private var amlWorkspaceId: Output? = null

    private var customPrivateSubnetName: Output? = null

    private var customPublicSubnetName: Output? = null

    private var customVirtualNetworkId: Output? = null

    private var enableNoPublicIp: Output? = null

    private var encryption: Output? = null

    private var loadBalancerBackendPoolName: Output? = null

    private var loadBalancerId: Output? = null

    private var natGatewayName: Output? = null

    private var prepareEncryption: Output? = null

    private var publicIpName: Output? = null

    private var requireInfrastructureEncryption: Output? = null

    private var storageAccountName: Output? = null

    private var storageAccountSkuName: Output? = null

    private var vnetAddressPrefix: Output? = null

    /**
     * @param value The ID of a Azure Machine Learning workspace to link with Databricks workspace
     */
    @JvmName("shsuljjkcqdxtwdp")
    public suspend fun amlWorkspaceId(`value`: Output) {
        this.amlWorkspaceId = value
    }

    /**
     * @param value The name of the Private Subnet within the Virtual Network
     */
    @JvmName("xxngdgmepvuhgxtr")
    public suspend fun customPrivateSubnetName(`value`: Output) {
        this.customPrivateSubnetName = value
    }

    /**
     * @param value The name of a Public Subnet within the Virtual Network
     */
    @JvmName("rbqdjuujbdnbbrrd")
    public suspend fun customPublicSubnetName(`value`: Output) {
        this.customPublicSubnetName = value
    }

    /**
     * @param value The ID of a Virtual Network where this Databricks Cluster should be created
     */
    @JvmName("scbjgyuhcmimoplj")
    public suspend fun customVirtualNetworkId(`value`: Output) {
        this.customVirtualNetworkId = value
    }

    /**
     * @param value Should the Public IP be Disabled?
     */
    @JvmName("bpbucjwdwkgyidlm")
    public suspend fun enableNoPublicIp(`value`: Output) {
        this.enableNoPublicIp = value
    }

    /**
     * @param value Contains the encryption details for Customer-Managed Key (CMK) enabled workspace.
     */
    @JvmName("nvclunfmwteiidql")
    public suspend fun encryption(`value`: Output) {
        this.encryption = value
    }

    /**
     * @param value Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP).
     */
    @JvmName("kkpjxeihbgaxllii")
    public suspend fun loadBalancerBackendPoolName(`value`: Output) {
        this.loadBalancerBackendPoolName = value
    }

    /**
     * @param value Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace.
     */
    @JvmName("jwdbedyunvmsunul")
    public suspend fun loadBalancerId(`value`: Output) {
        this.loadBalancerId = value
    }

    /**
     * @param value Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets.
     */
    @JvmName("yvungglnswuiagkm")
    public suspend fun natGatewayName(`value`: Output) {
        this.natGatewayName = value
    }

    /**
     * @param value Prepare the workspace for encryption. Enables the Managed Identity for managed storage account.
     */
    @JvmName("smlugbglayxflbfx")
    public suspend fun prepareEncryption(`value`: Output) {
        this.prepareEncryption = value
    }

    /**
     * @param value Name of the Public IP for No Public IP workspace with managed vNet.
     */
    @JvmName("bflgekrksxwqorcm")
    public suspend fun publicIpName(`value`: Output) {
        this.publicIpName = value
    }

    /**
     * @param value A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest.
     */
    @JvmName("hlokongctmbukwfv")
    public suspend fun requireInfrastructureEncryption(`value`: Output) {
        this.requireInfrastructureEncryption = value
    }

    /**
     * @param value Default DBFS storage account name.
     */
    @JvmName("ryviqlcxxfaqiajq")
    public suspend fun storageAccountName(`value`: Output) {
        this.storageAccountName = value
    }

    /**
     * @param value Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs.
     */
    @JvmName("eshubhpjlntukxmj")
    public suspend fun storageAccountSkuName(`value`: Output) {
        this.storageAccountSkuName = value
    }

    /**
     * @param value Address prefix for Managed virtual network. Default value for this input is 10.139.
     */
    @JvmName("pwgdbfptrvufegsl")
    public suspend fun vnetAddressPrefix(`value`: Output) {
        this.vnetAddressPrefix = value
    }

    /**
     * @param value The ID of a Azure Machine Learning workspace to link with Databricks workspace
     */
    @JvmName("hroqphpxwriysskh")
    public suspend fun amlWorkspaceId(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.amlWorkspaceId = mapped
    }

    /**
     * @param argument The ID of a Azure Machine Learning workspace to link with Databricks workspace
     */
    @JvmName("mqldoapjadxrcskf")
    public suspend fun amlWorkspaceId(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.amlWorkspaceId = mapped
    }

    /**
     * @param value The name of the Private Subnet within the Virtual Network
     */
    @JvmName("gvrifjtegijgfipd")
    public suspend fun customPrivateSubnetName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customPrivateSubnetName = mapped
    }

    /**
     * @param argument The name of the Private Subnet within the Virtual Network
     */
    @JvmName("erkbmwfkathuyuvh")
    public suspend fun customPrivateSubnetName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.customPrivateSubnetName = mapped
    }

    /**
     * @param value The name of a Public Subnet within the Virtual Network
     */
    @JvmName("hnvkvixraqayoawi")
    public suspend fun customPublicSubnetName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customPublicSubnetName = mapped
    }

    /**
     * @param argument The name of a Public Subnet within the Virtual Network
     */
    @JvmName("quypthoioqdvjcke")
    public suspend fun customPublicSubnetName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.customPublicSubnetName = mapped
    }

    /**
     * @param value The ID of a Virtual Network where this Databricks Cluster should be created
     */
    @JvmName("idrkdxroawwyllsc")
    public suspend fun customVirtualNetworkId(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customVirtualNetworkId = mapped
    }

    /**
     * @param argument The ID of a Virtual Network where this Databricks Cluster should be created
     */
    @JvmName("ppjwhbgehkrynfqb")
    public suspend fun customVirtualNetworkId(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.customVirtualNetworkId = mapped
    }

    /**
     * @param value Should the Public IP be Disabled?
     */
    @JvmName("ohbitydotypnsbfv")
    public suspend fun enableNoPublicIp(`value`: WorkspaceCustomBooleanParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableNoPublicIp = mapped
    }

    /**
     * @param argument Should the Public IP be Disabled?
     */
    @JvmName("ifrfbdmcsdvdvubm")
    public suspend fun enableNoPublicIp(argument: suspend WorkspaceCustomBooleanParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomBooleanParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.enableNoPublicIp = mapped
    }

    /**
     * @param value Contains the encryption details for Customer-Managed Key (CMK) enabled workspace.
     */
    @JvmName("ljuyjmufpnqhtiln")
    public suspend fun encryption(`value`: WorkspaceEncryptionParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryption = mapped
    }

    /**
     * @param argument Contains the encryption details for Customer-Managed Key (CMK) enabled workspace.
     */
    @JvmName("jmtimsofbcvrwxxo")
    public suspend fun encryption(argument: suspend WorkspaceEncryptionParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceEncryptionParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.encryption = mapped
    }

    /**
     * @param value Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP).
     */
    @JvmName("myqlygceseoorgjw")
    public suspend fun loadBalancerBackendPoolName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loadBalancerBackendPoolName = mapped
    }

    /**
     * @param argument Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP).
     */
    @JvmName("ehnosnpsfnbgemhp")
    public suspend fun loadBalancerBackendPoolName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.loadBalancerBackendPoolName = mapped
    }

    /**
     * @param value Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace.
     */
    @JvmName("djuwyniemhkthxny")
    public suspend fun loadBalancerId(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loadBalancerId = mapped
    }

    /**
     * @param argument Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace.
     */
    @JvmName("cqwxufovhtimtpmv")
    public suspend fun loadBalancerId(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.loadBalancerId = mapped
    }

    /**
     * @param value Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets.
     */
    @JvmName("jusdrdyvfgvehtlr")
    public suspend fun natGatewayName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.natGatewayName = mapped
    }

    /**
     * @param argument Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets.
     */
    @JvmName("yipkeqwsvpgwvvsr")
    public suspend fun natGatewayName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.natGatewayName = mapped
    }

    /**
     * @param value Prepare the workspace for encryption. Enables the Managed Identity for managed storage account.
     */
    @JvmName("csmglqvqkcbfqcjy")
    public suspend fun prepareEncryption(`value`: WorkspaceCustomBooleanParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.prepareEncryption = mapped
    }

    /**
     * @param argument Prepare the workspace for encryption. Enables the Managed Identity for managed storage account.
     */
    @JvmName("fstdguqbrnokigyp")
    public suspend fun prepareEncryption(argument: suspend WorkspaceCustomBooleanParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomBooleanParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.prepareEncryption = mapped
    }

    /**
     * @param value Name of the Public IP for No Public IP workspace with managed vNet.
     */
    @JvmName("lxktyhigeiywdxun")
    public suspend fun publicIpName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.publicIpName = mapped
    }

    /**
     * @param argument Name of the Public IP for No Public IP workspace with managed vNet.
     */
    @JvmName("tdsvtvwdgvklvaga")
    public suspend fun publicIpName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.publicIpName = mapped
    }

    /**
     * @param value A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest.
     */
    @JvmName("poewltnqnuxbsdix")
    public suspend fun requireInfrastructureEncryption(`value`: WorkspaceCustomBooleanParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requireInfrastructureEncryption = mapped
    }

    /**
     * @param argument A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest.
     */
    @JvmName("sixlubsrbdgedxst")
    public suspend fun requireInfrastructureEncryption(argument: suspend WorkspaceCustomBooleanParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomBooleanParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.requireInfrastructureEncryption = mapped
    }

    /**
     * @param value Default DBFS storage account name.
     */
    @JvmName("haqbiidrqynmbnln")
    public suspend fun storageAccountName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageAccountName = mapped
    }

    /**
     * @param argument Default DBFS storage account name.
     */
    @JvmName("dkptvrkluksxvytv")
    public suspend fun storageAccountName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.storageAccountName = mapped
    }

    /**
     * @param value Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs.
     */
    @JvmName("dlqnsyjygbhhwjyp")
    public suspend fun storageAccountSkuName(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageAccountSkuName = mapped
    }

    /**
     * @param argument Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs.
     */
    @JvmName("nuyyvsvqgtwhujai")
    public suspend fun storageAccountSkuName(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.storageAccountSkuName = mapped
    }

    /**
     * @param value Address prefix for Managed virtual network. Default value for this input is 10.139.
     */
    @JvmName("tiftxkvuhinxjhgq")
    public suspend fun vnetAddressPrefix(`value`: WorkspaceCustomStringParameterArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vnetAddressPrefix = mapped
    }

    /**
     * @param argument Address prefix for Managed virtual network. Default value for this input is 10.139.
     */
    @JvmName("cwnjqxgwityajgyw")
    public suspend fun vnetAddressPrefix(argument: suspend WorkspaceCustomStringParameterArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceCustomStringParameterArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vnetAddressPrefix = mapped
    }

    internal fun build(): WorkspaceCustomParametersArgs = WorkspaceCustomParametersArgs(
        amlWorkspaceId = amlWorkspaceId,
        customPrivateSubnetName = customPrivateSubnetName,
        customPublicSubnetName = customPublicSubnetName,
        customVirtualNetworkId = customVirtualNetworkId,
        enableNoPublicIp = enableNoPublicIp,
        encryption = encryption,
        loadBalancerBackendPoolName = loadBalancerBackendPoolName,
        loadBalancerId = loadBalancerId,
        natGatewayName = natGatewayName,
        prepareEncryption = prepareEncryption,
        publicIpName = publicIpName,
        requireInfrastructureEncryption = requireInfrastructureEncryption,
        storageAccountName = storageAccountName,
        storageAccountSkuName = storageAccountSkuName,
        vnetAddressPrefix = vnetAddressPrefix,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy