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

com.pulumi.azurenative.synapse.kotlin.WorkspaceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.synapse.kotlin

import com.pulumi.azurenative.synapse.WorkspaceArgs.builder
import com.pulumi.azurenative.synapse.kotlin.enums.WorkspacePublicNetworkAccess
import com.pulumi.azurenative.synapse.kotlin.inputs.CspWorkspaceAdminPropertiesArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.CspWorkspaceAdminPropertiesArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.DataLakeStorageAccountDetailsArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.DataLakeStorageAccountDetailsArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.EncryptionDetailsArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.EncryptionDetailsArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.ManagedIdentityArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.ManagedIdentityArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.ManagedVirtualNetworkSettingsArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.ManagedVirtualNetworkSettingsArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.PrivateEndpointConnectionArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.PrivateEndpointConnectionArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.PurviewConfigurationArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.PurviewConfigurationArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.VirtualNetworkProfileArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.VirtualNetworkProfileArgsBuilder
import com.pulumi.azurenative.synapse.kotlin.inputs.WorkspaceRepositoryConfigurationArgs
import com.pulumi.azurenative.synapse.kotlin.inputs.WorkspaceRepositoryConfigurationArgsBuilder
import com.pulumi.core.Either
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.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

/**
 * A workspace
 * Azure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2021-03-01.
 * Other available API versions: 2021-05-01, 2021-06-01-preview.
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:synapse:Workspace workspace1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}
 * ```
 * @property azureADOnlyAuthentication Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
 * @property cspWorkspaceAdminProperties Initial workspace AAD admin properties for a CSP subscription
 * @property defaultDataLakeStorage Workspace default data lake storage account details
 * @property encryption The encryption details of the workspace
 * @property identity Identity of the workspace
 * @property location The geo-location where the resource lives
 * @property managedResourceGroupName Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
 * @property managedVirtualNetwork Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
 * @property managedVirtualNetworkSettings Managed Virtual Network Settings
 * @property privateEndpointConnections Private endpoint connections to the workspace
 * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
 * @property publicNetworkAccess Enable or Disable public network access to workspace
 * @property purviewConfiguration Purview Configuration
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @property sqlAdministratorLogin Login for workspace SQL active directory administrator
 * @property sqlAdministratorLoginPassword SQL administrator login password
 * @property tags Resource tags.
 * @property trustedServiceBypassEnabled Is trustedServiceBypassEnabled for the workspace
 * @property virtualNetworkProfile Virtual Network profile
 * @property workspaceName The name of the workspace.
 * @property workspaceRepositoryConfiguration Git integration settings
 */
public data class WorkspaceArgs(
    public val azureADOnlyAuthentication: Output? = null,
    public val cspWorkspaceAdminProperties: Output? = null,
    public val defaultDataLakeStorage: Output? = null,
    public val encryption: Output? = null,
    public val identity: Output? = null,
    public val location: Output? = null,
    public val managedResourceGroupName: Output? = null,
    public val managedVirtualNetwork: Output? = null,
    public val managedVirtualNetworkSettings: Output? = null,
    public val privateEndpointConnections: Output>? = null,
    public val publicNetworkAccess: Output>? = null,
    public val purviewConfiguration: Output? = null,
    public val resourceGroupName: Output? = null,
    public val sqlAdministratorLogin: Output? = null,
    public val sqlAdministratorLoginPassword: Output? = null,
    public val tags: Output>? = null,
    public val trustedServiceBypassEnabled: Output? = null,
    public val virtualNetworkProfile: Output? = null,
    public val workspaceName: Output? = null,
    public val workspaceRepositoryConfiguration: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.synapse.WorkspaceArgs =
        com.pulumi.azurenative.synapse.WorkspaceArgs.builder()
            .azureADOnlyAuthentication(azureADOnlyAuthentication?.applyValue({ args0 -> args0 }))
            .cspWorkspaceAdminProperties(
                cspWorkspaceAdminProperties?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .defaultDataLakeStorage(
                defaultDataLakeStorage?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .encryption(encryption?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .identity(identity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .location(location?.applyValue({ args0 -> args0 }))
            .managedResourceGroupName(managedResourceGroupName?.applyValue({ args0 -> args0 }))
            .managedVirtualNetwork(managedVirtualNetwork?.applyValue({ args0 -> args0 }))
            .managedVirtualNetworkSettings(
                managedVirtualNetworkSettings?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .privateEndpointConnections(
                privateEndpointConnections?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .publicNetworkAccess(
                publicNetworkAccess?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .purviewConfiguration(
                purviewConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .sqlAdministratorLogin(sqlAdministratorLogin?.applyValue({ args0 -> args0 }))
            .sqlAdministratorLoginPassword(sqlAdministratorLoginPassword?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .trustedServiceBypassEnabled(trustedServiceBypassEnabled?.applyValue({ args0 -> args0 }))
            .virtualNetworkProfile(
                virtualNetworkProfile?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .workspaceName(workspaceName?.applyValue({ args0 -> args0 }))
            .workspaceRepositoryConfiguration(
                workspaceRepositoryConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            ).build()
}

/**
 * Builder for [WorkspaceArgs].
 */
@PulumiTagMarker
public class WorkspaceArgsBuilder internal constructor() {
    private var azureADOnlyAuthentication: Output? = null

    private var cspWorkspaceAdminProperties: Output? = null

    private var defaultDataLakeStorage: Output? = null

    private var encryption: Output? = null

    private var identity: Output? = null

    private var location: Output? = null

    private var managedResourceGroupName: Output? = null

    private var managedVirtualNetwork: Output? = null

    private var managedVirtualNetworkSettings: Output? = null

    private var privateEndpointConnections: Output>? = null

    private var publicNetworkAccess: Output>? = null

    private var purviewConfiguration: Output? = null

    private var resourceGroupName: Output? = null

    private var sqlAdministratorLogin: Output? = null

    private var sqlAdministratorLoginPassword: Output? = null

    private var tags: Output>? = null

    private var trustedServiceBypassEnabled: Output? = null

    private var virtualNetworkProfile: Output? = null

    private var workspaceName: Output? = null

    private var workspaceRepositoryConfiguration: Output? = null

    /**
     * @param value Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
     */
    @JvmName("uvucrujjdcduiyew")
    public suspend fun azureADOnlyAuthentication(`value`: Output) {
        this.azureADOnlyAuthentication = value
    }

    /**
     * @param value Initial workspace AAD admin properties for a CSP subscription
     */
    @JvmName("dduhnujpvtgprixn")
    public suspend fun cspWorkspaceAdminProperties(`value`: Output) {
        this.cspWorkspaceAdminProperties = value
    }

    /**
     * @param value Workspace default data lake storage account details
     */
    @JvmName("exdkwvibgcipbsib")
    public suspend fun defaultDataLakeStorage(`value`: Output) {
        this.defaultDataLakeStorage = value
    }

    /**
     * @param value The encryption details of the workspace
     */
    @JvmName("bqalmybsalwtcxed")
    public suspend fun encryption(`value`: Output) {
        this.encryption = value
    }

    /**
     * @param value Identity of the workspace
     */
    @JvmName("hkijbygumxaepyat")
    public suspend fun identity(`value`: Output) {
        this.identity = value
    }

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("irbiokkxacvqnend")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
     */
    @JvmName("baxhqghmlgibsgtu")
    public suspend fun managedResourceGroupName(`value`: Output) {
        this.managedResourceGroupName = value
    }

    /**
     * @param value Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
     */
    @JvmName("ikbgvrosykhkhovr")
    public suspend fun managedVirtualNetwork(`value`: Output) {
        this.managedVirtualNetwork = value
    }

    /**
     * @param value Managed Virtual Network Settings
     */
    @JvmName("xlqngcongglqrpjd")
    public suspend fun managedVirtualNetworkSettings(`value`: Output) {
        this.managedVirtualNetworkSettings = value
    }

    /**
     * @param value Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("exeatfhxlqcqsulf")
    public suspend fun privateEndpointConnections(`value`: Output>) {
        this.privateEndpointConnections = value
    }

    @JvmName("bybhqsqwdoeytymq")
    public suspend fun privateEndpointConnections(vararg values: Output) {
        this.privateEndpointConnections = Output.all(values.asList())
    }

    /**
     * @param values Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("mrbbjhdpdbyxjudi")
    public suspend fun privateEndpointConnections(values: List>) {
        this.privateEndpointConnections = Output.all(values)
    }

    /**
     * @param value Enable or Disable public network access to workspace
     */
    @JvmName("aawqjllnawqlnyvp")
    public suspend fun publicNetworkAccess(`value`: Output>) {
        this.publicNetworkAccess = value
    }

    /**
     * @param value Purview Configuration
     */
    @JvmName("fiavwkwekafkqihr")
    public suspend fun purviewConfiguration(`value`: Output) {
        this.purviewConfiguration = value
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("dcrnxswwtgbvyocy")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value Login for workspace SQL active directory administrator
     */
    @JvmName("pdfraqghmgumfmty")
    public suspend fun sqlAdministratorLogin(`value`: Output) {
        this.sqlAdministratorLogin = value
    }

    /**
     * @param value SQL administrator login password
     */
    @JvmName("euqmvtgqmbwrddpk")
    public suspend fun sqlAdministratorLoginPassword(`value`: Output) {
        this.sqlAdministratorLoginPassword = value
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("ggyttucajwkexuhc")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value Is trustedServiceBypassEnabled for the workspace
     */
    @JvmName("frhtvxllvwgdxwjt")
    public suspend fun trustedServiceBypassEnabled(`value`: Output) {
        this.trustedServiceBypassEnabled = value
    }

    /**
     * @param value Virtual Network profile
     */
    @JvmName("chaoruikvwlucagr")
    public suspend fun virtualNetworkProfile(`value`: Output) {
        this.virtualNetworkProfile = value
    }

    /**
     * @param value The name of the workspace.
     */
    @JvmName("btlbvcguatacwwkj")
    public suspend fun workspaceName(`value`: Output) {
        this.workspaceName = value
    }

    /**
     * @param value Git integration settings
     */
    @JvmName("hhmrjkchbsulakob")
    public suspend fun workspaceRepositoryConfiguration(`value`: Output) {
        this.workspaceRepositoryConfiguration = value
    }

    /**
     * @param value Enable or Disable AzureADOnlyAuthentication on All Workspace subresource
     */
    @JvmName("yjnftjcscjohebwy")
    public suspend fun azureADOnlyAuthentication(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureADOnlyAuthentication = mapped
    }

    /**
     * @param value Initial workspace AAD admin properties for a CSP subscription
     */
    @JvmName("tlyqjkcinflumxbb")
    public suspend fun cspWorkspaceAdminProperties(`value`: CspWorkspaceAdminPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cspWorkspaceAdminProperties = mapped
    }

    /**
     * @param argument Initial workspace AAD admin properties for a CSP subscription
     */
    @JvmName("ylufcjblgdcxfoua")
    public suspend fun cspWorkspaceAdminProperties(argument: suspend CspWorkspaceAdminPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = CspWorkspaceAdminPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.cspWorkspaceAdminProperties = mapped
    }

    /**
     * @param value Workspace default data lake storage account details
     */
    @JvmName("ldeivlmoexfjqnbg")
    public suspend fun defaultDataLakeStorage(`value`: DataLakeStorageAccountDetailsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultDataLakeStorage = mapped
    }

    /**
     * @param argument Workspace default data lake storage account details
     */
    @JvmName("ajkmndglskakgsnk")
    public suspend fun defaultDataLakeStorage(argument: suspend DataLakeStorageAccountDetailsArgsBuilder.() -> Unit) {
        val toBeMapped = DataLakeStorageAccountDetailsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.defaultDataLakeStorage = mapped
    }

    /**
     * @param value The encryption details of the workspace
     */
    @JvmName("phntdphoehqirmco")
    public suspend fun encryption(`value`: EncryptionDetailsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryption = mapped
    }

    /**
     * @param argument The encryption details of the workspace
     */
    @JvmName("fkvxdivxvjiwbptw")
    public suspend fun encryption(argument: suspend EncryptionDetailsArgsBuilder.() -> Unit) {
        val toBeMapped = EncryptionDetailsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.encryption = mapped
    }

    /**
     * @param value Identity of the workspace
     */
    @JvmName("wsndbrpjaqlymcih")
    public suspend fun identity(`value`: ManagedIdentityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.identity = mapped
    }

    /**
     * @param argument Identity of the workspace
     */
    @JvmName("cjcyetgspdvfpxeb")
    public suspend fun identity(argument: suspend ManagedIdentityArgsBuilder.() -> Unit) {
        val toBeMapped = ManagedIdentityArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.identity = mapped
    }

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("tmdodutigfsjuvxf")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
     */
    @JvmName("plsewrykoiphtbmx")
    public suspend fun managedResourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.managedResourceGroupName = mapped
    }

    /**
     * @param value Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
     */
    @JvmName("xnfjidrmuxxwtoue")
    public suspend fun managedVirtualNetwork(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.managedVirtualNetwork = mapped
    }

    /**
     * @param value Managed Virtual Network Settings
     */
    @JvmName("jtdpfmqlwcavjqhs")
    public suspend fun managedVirtualNetworkSettings(`value`: ManagedVirtualNetworkSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.managedVirtualNetworkSettings = mapped
    }

    /**
     * @param argument Managed Virtual Network Settings
     */
    @JvmName("qvyodsiaijeeueoh")
    public suspend fun managedVirtualNetworkSettings(argument: suspend ManagedVirtualNetworkSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = ManagedVirtualNetworkSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.managedVirtualNetworkSettings = mapped
    }

    /**
     * @param value Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("axdeiuaixcvqsfbj")
    public suspend fun privateEndpointConnections(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateEndpointConnections = mapped
    }

    /**
     * @param argument Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("lygchbgifberaiyn")
    public suspend fun privateEndpointConnections(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PrivateEndpointConnectionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.privateEndpointConnections = mapped
    }

    /**
     * @param argument Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("eryopnyyqdywqlel")
    public suspend fun privateEndpointConnections(vararg argument: suspend PrivateEndpointConnectionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PrivateEndpointConnectionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.privateEndpointConnections = mapped
    }

    /**
     * @param argument Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("cvfnhbdpnjotqvwf")
    public suspend fun privateEndpointConnections(argument: suspend PrivateEndpointConnectionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PrivateEndpointConnectionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.privateEndpointConnections = mapped
    }

    /**
     * @param values Private endpoint connections to the workspace
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     */
    @JvmName("woukewdnyoahtjcm")
    public suspend fun privateEndpointConnections(vararg values: PrivateEndpointConnectionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.privateEndpointConnections = mapped
    }

    /**
     * @param value Enable or Disable public network access to workspace
     */
    @JvmName("nwaflyqlexpjujav")
    public suspend fun publicNetworkAccess(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Enable or Disable public network access to workspace
     */
    @JvmName("vqmpnnpnyoujasxv")
    public fun publicNetworkAccess(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Enable or Disable public network access to workspace
     */
    @JvmName("ijlxsksxrxspysuj")
    public fun publicNetworkAccess(`value`: WorkspacePublicNetworkAccess) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Purview Configuration
     */
    @JvmName("datvfoyxxuwxljwt")
    public suspend fun purviewConfiguration(`value`: PurviewConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.purviewConfiguration = mapped
    }

    /**
     * @param argument Purview Configuration
     */
    @JvmName("nugoglgbgbmvkofg")
    public suspend fun purviewConfiguration(argument: suspend PurviewConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = PurviewConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.purviewConfiguration = mapped
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("ydrnslyltxtqjxrq")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value Login for workspace SQL active directory administrator
     */
    @JvmName("pcppilotuhotgyaw")
    public suspend fun sqlAdministratorLogin(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sqlAdministratorLogin = mapped
    }

    /**
     * @param value SQL administrator login password
     */
    @JvmName("vtndfsokioogcohl")
    public suspend fun sqlAdministratorLoginPassword(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sqlAdministratorLoginPassword = mapped
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("twywenoqewvcfjip")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values Resource tags.
     */
    @JvmName("blxqevgokpsouaph")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value Is trustedServiceBypassEnabled for the workspace
     */
    @JvmName("yckbikuehgodfldj")
    public suspend fun trustedServiceBypassEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.trustedServiceBypassEnabled = mapped
    }

    /**
     * @param value Virtual Network profile
     */
    @JvmName("stebjdxxfyuedpaw")
    public suspend fun virtualNetworkProfile(`value`: VirtualNetworkProfileArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.virtualNetworkProfile = mapped
    }

    /**
     * @param argument Virtual Network profile
     */
    @JvmName("glrulytdukvucofk")
    public suspend fun virtualNetworkProfile(argument: suspend VirtualNetworkProfileArgsBuilder.() -> Unit) {
        val toBeMapped = VirtualNetworkProfileArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.virtualNetworkProfile = mapped
    }

    /**
     * @param value The name of the workspace.
     */
    @JvmName("wejapchmgoawlbdm")
    public suspend fun workspaceName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workspaceName = mapped
    }

    /**
     * @param value Git integration settings
     */
    @JvmName("wuxueqlnbdhgefmy")
    public suspend fun workspaceRepositoryConfiguration(`value`: WorkspaceRepositoryConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workspaceRepositoryConfiguration = mapped
    }

    /**
     * @param argument Git integration settings
     */
    @JvmName("fupuybleacmnlgkn")
    public suspend fun workspaceRepositoryConfiguration(argument: suspend WorkspaceRepositoryConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = WorkspaceRepositoryConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.workspaceRepositoryConfiguration = mapped
    }

    internal fun build(): WorkspaceArgs = WorkspaceArgs(
        azureADOnlyAuthentication = azureADOnlyAuthentication,
        cspWorkspaceAdminProperties = cspWorkspaceAdminProperties,
        defaultDataLakeStorage = defaultDataLakeStorage,
        encryption = encryption,
        identity = identity,
        location = location,
        managedResourceGroupName = managedResourceGroupName,
        managedVirtualNetwork = managedVirtualNetwork,
        managedVirtualNetworkSettings = managedVirtualNetworkSettings,
        privateEndpointConnections = privateEndpointConnections,
        publicNetworkAccess = publicNetworkAccess,
        purviewConfiguration = purviewConfiguration,
        resourceGroupName = resourceGroupName,
        sqlAdministratorLogin = sqlAdministratorLogin,
        sqlAdministratorLoginPassword = sqlAdministratorLoginPassword,
        tags = tags,
        trustedServiceBypassEnabled = trustedServiceBypassEnabled,
        virtualNetworkProfile = virtualNetworkProfile,
        workspaceName = workspaceName,
        workspaceRepositoryConfiguration = workspaceRepositoryConfiguration,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy