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

com.pulumi.azure.datashare.kotlin.DatasetBlobStorageArgs.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.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.datashare.kotlin

import com.pulumi.azure.datashare.DatasetBlobStorageArgs.builder
import com.pulumi.azure.datashare.kotlin.inputs.DatasetBlobStorageStorageAccountArgs
import com.pulumi.azure.datashare.kotlin.inputs.DatasetBlobStorageStorageAccountArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Manages a Data Share Blob Storage Dataset.
 * ## Example Usage
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 * import * as azuread from "@pulumi/azuread";
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example-resources",
 *     location: "West Europe",
 * });
 * const exampleAccount = new azure.datashare.Account("example", {
 *     name: "example-dsa",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     identity: {
 *         type: "SystemAssigned",
 *     },
 * });
 * const exampleShare = new azure.datashare.Share("example", {
 *     name: "example_ds",
 *     accountId: exampleAccount.id,
 *     kind: "CopyBased",
 * });
 * const exampleAccount2 = new azure.storage.Account("example", {
 *     name: "examplestr",
 *     resourceGroupName: exampleResourceGroup.name,
 *     location: exampleResourceGroup.location,
 *     accountTier: "Standard",
 *     accountReplicationType: "RAGRS",
 * });
 * const exampleContainer = new azure.storage.Container("example", {
 *     name: "example-sc",
 *     storageAccountName: exampleAccount2.name,
 *     containerAccessType: "container",
 * });
 * const example = azuread.getServicePrincipalOutput({
 *     displayName: exampleAccount.name,
 * });
 * const exampleAssignment = new azure.authorization.Assignment("example", {
 *     scope: exampleAccount2.id,
 *     roleDefinitionName: "Storage Blob Data Reader",
 *     principalId: example.apply(example => example.objectId),
 * });
 * const exampleDatasetBlobStorage = new azure.datashare.DatasetBlobStorage("example", {
 *     name: "example-dsbsds-file",
 *     dataShareId: exampleShare.id,
 *     containerName: exampleContainer.name,
 *     storageAccount: {
 *         name: exampleAccount2.name,
 *         resourceGroupName: exampleAccount2.resourceGroupName,
 *         subscriptionId: "00000000-0000-0000-0000-000000000000",
 *     },
 *     filePath: "myfile.txt",
 * }, {
 *     dependsOn: [exampleAssignment],
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_azure as azure
 * import pulumi_azuread as azuread
 * example_resource_group = azure.core.ResourceGroup("example",
 *     name="example-resources",
 *     location="West Europe")
 * example_account = azure.datashare.Account("example",
 *     name="example-dsa",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     identity={
 *         "type": "SystemAssigned",
 *     })
 * example_share = azure.datashare.Share("example",
 *     name="example_ds",
 *     account_id=example_account.id,
 *     kind="CopyBased")
 * example_account2 = azure.storage.Account("example",
 *     name="examplestr",
 *     resource_group_name=example_resource_group.name,
 *     location=example_resource_group.location,
 *     account_tier="Standard",
 *     account_replication_type="RAGRS")
 * example_container = azure.storage.Container("example",
 *     name="example-sc",
 *     storage_account_name=example_account2.name,
 *     container_access_type="container")
 * example = azuread.get_service_principal_output(display_name=example_account.name)
 * example_assignment = azure.authorization.Assignment("example",
 *     scope=example_account2.id,
 *     role_definition_name="Storage Blob Data Reader",
 *     principal_id=example.object_id)
 * example_dataset_blob_storage = azure.datashare.DatasetBlobStorage("example",
 *     name="example-dsbsds-file",
 *     data_share_id=example_share.id,
 *     container_name=example_container.name,
 *     storage_account={
 *         "name": example_account2.name,
 *         "resource_group_name": example_account2.resource_group_name,
 *         "subscription_id": "00000000-0000-0000-0000-000000000000",
 *     },
 *     file_path="myfile.txt",
 *     opts = pulumi.ResourceOptions(depends_on=[example_assignment]))
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Azure = Pulumi.Azure;
 * using AzureAD = Pulumi.AzureAD;
 * return await Deployment.RunAsync(() =>
 * {
 *     var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
 *     {
 *         Name = "example-resources",
 *         Location = "West Europe",
 *     });
 *     var exampleAccount = new Azure.DataShare.Account("example", new()
 *     {
 *         Name = "example-dsa",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         Identity = new Azure.DataShare.Inputs.AccountIdentityArgs
 *         {
 *             Type = "SystemAssigned",
 *         },
 *     });
 *     var exampleShare = new Azure.DataShare.Share("example", new()
 *     {
 *         Name = "example_ds",
 *         AccountId = exampleAccount.Id,
 *         Kind = "CopyBased",
 *     });
 *     var exampleAccount2 = new Azure.Storage.Account("example", new()
 *     {
 *         Name = "examplestr",
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         Location = exampleResourceGroup.Location,
 *         AccountTier = "Standard",
 *         AccountReplicationType = "RAGRS",
 *     });
 *     var exampleContainer = new Azure.Storage.Container("example", new()
 *     {
 *         Name = "example-sc",
 *         StorageAccountName = exampleAccount2.Name,
 *         ContainerAccessType = "container",
 *     });
 *     var example = AzureAD.GetServicePrincipal.Invoke(new()
 *     {
 *         DisplayName = exampleAccount.Name,
 *     });
 *     var exampleAssignment = new Azure.Authorization.Assignment("example", new()
 *     {
 *         Scope = exampleAccount2.Id,
 *         RoleDefinitionName = "Storage Blob Data Reader",
 *         PrincipalId = example.Apply(getServicePrincipalResult => getServicePrincipalResult.ObjectId),
 *     });
 *     var exampleDatasetBlobStorage = new Azure.DataShare.DatasetBlobStorage("example", new()
 *     {
 *         Name = "example-dsbsds-file",
 *         DataShareId = exampleShare.Id,
 *         ContainerName = exampleContainer.Name,
 *         StorageAccount = new Azure.DataShare.Inputs.DatasetBlobStorageStorageAccountArgs
 *         {
 *             Name = exampleAccount2.Name,
 *             ResourceGroupName = exampleAccount2.ResourceGroupName,
 *             SubscriptionId = "00000000-0000-0000-0000-000000000000",
 *         },
 *         FilePath = "myfile.txt",
 *     }, new CustomResourceOptions
 *     {
 *         DependsOn =
 *         {
 *             exampleAssignment,
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/datashare"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
 * 	"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
 * 			Name:     pulumi.String("example-resources"),
 * 			Location: pulumi.String("West Europe"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleAccount, err := datashare.NewAccount(ctx, "example", &datashare.AccountArgs{
 * 			Name:              pulumi.String("example-dsa"),
 * 			Location:          exampleResourceGroup.Location,
 * 			ResourceGroupName: exampleResourceGroup.Name,
 * 			Identity: &datashare.AccountIdentityArgs{
 * 				Type: pulumi.String("SystemAssigned"),
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleShare, err := datashare.NewShare(ctx, "example", &datashare.ShareArgs{
 * 			Name:      pulumi.String("example_ds"),
 * 			AccountId: exampleAccount.ID(),
 * 			Kind:      pulumi.String("CopyBased"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleAccount2, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
 * 			Name:                   pulumi.String("examplestr"),
 * 			ResourceGroupName:      exampleResourceGroup.Name,
 * 			Location:               exampleResourceGroup.Location,
 * 			AccountTier:            pulumi.String("Standard"),
 * 			AccountReplicationType: pulumi.String("RAGRS"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
 * 			Name:                pulumi.String("example-sc"),
 * 			StorageAccountName:  exampleAccount2.Name,
 * 			ContainerAccessType: pulumi.String("container"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		example := azuread.LookupServicePrincipalOutput(ctx, azuread.GetServicePrincipalOutputArgs{
 * 			DisplayName: exampleAccount.Name,
 * 		}, nil)
 * 		exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
 * 			Scope:              exampleAccount2.ID(),
 * 			RoleDefinitionName: pulumi.String("Storage Blob Data Reader"),
 * 			PrincipalId: pulumi.String(example.ApplyT(func(example azuread.GetServicePrincipalResult) (*string, error) {
 * 				return &example.ObjectId, nil
 * 			}).(pulumi.StringPtrOutput)),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		_, err = datashare.NewDatasetBlobStorage(ctx, "example", &datashare.DatasetBlobStorageArgs{
 * 			Name:          pulumi.String("example-dsbsds-file"),
 * 			DataShareId:   exampleShare.ID(),
 * 			ContainerName: exampleContainer.Name,
 * 			StorageAccount: &datashare.DatasetBlobStorageStorageAccountArgs{
 * 				Name:              exampleAccount2.Name,
 * 				ResourceGroupName: exampleAccount2.ResourceGroupName,
 * 				SubscriptionId:    pulumi.String("00000000-0000-0000-0000-000000000000"),
 * 			},
 * 			FilePath: pulumi.String("myfile.txt"),
 * 		}, pulumi.DependsOn([]pulumi.Resource{
 * 			exampleAssignment,
 * 		}))
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azure.core.ResourceGroup;
 * import com.pulumi.azure.core.ResourceGroupArgs;
 * import com.pulumi.azure.datashare.Account;
 * import com.pulumi.azure.datashare.AccountArgs;
 * import com.pulumi.azure.datashare.inputs.AccountIdentityArgs;
 * import com.pulumi.azure.datashare.Share;
 * import com.pulumi.azure.datashare.ShareArgs;
 * import com.pulumi.azure.storage.Account;
 * import com.pulumi.azure.storage.AccountArgs;
 * import com.pulumi.azure.storage.Container;
 * import com.pulumi.azure.storage.ContainerArgs;
 * import com.pulumi.azuread.AzureadFunctions;
 * import com.pulumi.azuread.inputs.GetServicePrincipalArgs;
 * import com.pulumi.azure.authorization.Assignment;
 * import com.pulumi.azure.authorization.AssignmentArgs;
 * import com.pulumi.azure.datashare.DatasetBlobStorage;
 * import com.pulumi.azure.datashare.DatasetBlobStorageArgs;
 * import com.pulumi.azure.datashare.inputs.DatasetBlobStorageStorageAccountArgs;
 * import com.pulumi.resources.CustomResourceOptions;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
 *             .name("example-resources")
 *             .location("West Europe")
 *             .build());
 *         var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
 *             .name("example-dsa")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .identity(AccountIdentityArgs.builder()
 *                 .type("SystemAssigned")
 *                 .build())
 *             .build());
 *         var exampleShare = new Share("exampleShare", ShareArgs.builder()
 *             .name("example_ds")
 *             .accountId(exampleAccount.id())
 *             .kind("CopyBased")
 *             .build());
 *         var exampleAccount2 = new Account("exampleAccount2", AccountArgs.builder()
 *             .name("examplestr")
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .location(exampleResourceGroup.location())
 *             .accountTier("Standard")
 *             .accountReplicationType("RAGRS")
 *             .build());
 *         var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()
 *             .name("example-sc")
 *             .storageAccountName(exampleAccount2.name())
 *             .containerAccessType("container")
 *             .build());
 *         final var example = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
 *             .displayName(exampleAccount.name())
 *             .build());
 *         var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
 *             .scope(exampleAccount2.id())
 *             .roleDefinitionName("Storage Blob Data Reader")
 *             .principalId(example.applyValue(getServicePrincipalResult -> getServicePrincipalResult).applyValue(example -> example.applyValue(getServicePrincipalResult -> getServicePrincipalResult.objectId())))
 *             .build());
 *         var exampleDatasetBlobStorage = new DatasetBlobStorage("exampleDatasetBlobStorage", DatasetBlobStorageArgs.builder()
 *             .name("example-dsbsds-file")
 *             .dataShareId(exampleShare.id())
 *             .containerName(exampleContainer.name())
 *             .storageAccount(DatasetBlobStorageStorageAccountArgs.builder()
 *                 .name(exampleAccount2.name())
 *                 .resourceGroupName(exampleAccount2.resourceGroupName())
 *                 .subscriptionId("00000000-0000-0000-0000-000000000000")
 *                 .build())
 *             .filePath("myfile.txt")
 *             .build(), CustomResourceOptions.builder()
 *                 .dependsOn(exampleAssignment)
 *                 .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   exampleResourceGroup:
 *     type: azure:core:ResourceGroup
 *     name: example
 *     properties:
 *       name: example-resources
 *       location: West Europe
 *   exampleAccount:
 *     type: azure:datashare:Account
 *     name: example
 *     properties:
 *       name: example-dsa
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       identity:
 *         type: SystemAssigned
 *   exampleShare:
 *     type: azure:datashare:Share
 *     name: example
 *     properties:
 *       name: example_ds
 *       accountId: ${exampleAccount.id}
 *       kind: CopyBased
 *   exampleAccount2:
 *     type: azure:storage:Account
 *     name: example
 *     properties:
 *       name: examplestr
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       location: ${exampleResourceGroup.location}
 *       accountTier: Standard
 *       accountReplicationType: RAGRS
 *   exampleContainer:
 *     type: azure:storage:Container
 *     name: example
 *     properties:
 *       name: example-sc
 *       storageAccountName: ${exampleAccount2.name}
 *       containerAccessType: container
 *   exampleAssignment:
 *     type: azure:authorization:Assignment
 *     name: example
 *     properties:
 *       scope: ${exampleAccount2.id}
 *       roleDefinitionName: Storage Blob Data Reader
 *       principalId: ${example.objectId}
 *   exampleDatasetBlobStorage:
 *     type: azure:datashare:DatasetBlobStorage
 *     name: example
 *     properties:
 *       name: example-dsbsds-file
 *       dataShareId: ${exampleShare.id}
 *       containerName: ${exampleContainer.name}
 *       storageAccount:
 *         name: ${exampleAccount2.name}
 *         resourceGroupName: ${exampleAccount2.resourceGroupName}
 *         subscriptionId: 00000000-0000-0000-0000-000000000000
 *       filePath: myfile.txt
 *     options:
 *       dependson:
 *         - ${exampleAssignment}
 * variables:
 *   example:
 *     fn::invoke:
 *       Function: azuread:getServicePrincipal
 *       Arguments:
 *         displayName: ${exampleAccount.name}
 * ```
 * 
 * ## Import
 * Data Share Blob Storage Datasets can be imported using the `resource id`, e.g.
 * ```sh
 * $ pulumi import azure:datashare/datasetBlobStorage:DatasetBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataShare/accounts/account1/shares/share1/dataSets/dataSet1
 * ```
 * @property containerName The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
 * @property dataShareId The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.
 * @property filePath The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
 * @property folderPath The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
 * @property name The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.
 * @property storageAccount A `storage_account` block as defined below. Changing this forces a new resource to be created.
 */
public data class DatasetBlobStorageArgs(
    public val containerName: Output? = null,
    public val dataShareId: Output? = null,
    public val filePath: Output? = null,
    public val folderPath: Output? = null,
    public val name: Output? = null,
    public val storageAccount: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.datashare.DatasetBlobStorageArgs =
        com.pulumi.azure.datashare.DatasetBlobStorageArgs.builder()
            .containerName(containerName?.applyValue({ args0 -> args0 }))
            .dataShareId(dataShareId?.applyValue({ args0 -> args0 }))
            .filePath(filePath?.applyValue({ args0 -> args0 }))
            .folderPath(folderPath?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .storageAccount(
                storageAccount?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [DatasetBlobStorageArgs].
 */
@PulumiTagMarker
public class DatasetBlobStorageArgsBuilder internal constructor() {
    private var containerName: Output? = null

    private var dataShareId: Output? = null

    private var filePath: Output? = null

    private var folderPath: Output? = null

    private var name: Output? = null

    private var storageAccount: Output? = null

    /**
     * @param value The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("vmhygykhiljcahlj")
    public suspend fun containerName(`value`: Output) {
        this.containerName = value
    }

    /**
     * @param value The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("ndydqxbdkfudjjoy")
    public suspend fun dataShareId(`value`: Output) {
        this.dataShareId = value
    }

    /**
     * @param value The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("hjwivpqnqkdrxxgo")
    public suspend fun filePath(`value`: Output) {
        this.filePath = value
    }

    /**
     * @param value The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("roqdherudvdvtaos")
    public suspend fun folderPath(`value`: Output) {
        this.folderPath = value
    }

    /**
     * @param value The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("vlvhyvopdanqxcbd")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value A `storage_account` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("igkfyfksumyqurqe")
    public suspend fun storageAccount(`value`: Output) {
        this.storageAccount = value
    }

    /**
     * @param value The name of the storage account container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("xtpsrunoxvtxrqhy")
    public suspend fun containerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerName = mapped
    }

    /**
     * @param value The ID of the Data Share in which this Data Share Blob Storage Dataset should be created. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("qikcohjgweuiumjs")
    public suspend fun dataShareId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataShareId = mapped
    }

    /**
     * @param value The path of the file in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("wjfhortvpatqnhkl")
    public suspend fun filePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.filePath = mapped
    }

    /**
     * @param value The path of the folder in the storage container to be shared with the receiver. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("uupodquybivtbxju")
    public suspend fun folderPath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.folderPath = mapped
    }

    /**
     * @param value The name which should be used for this Data Share Blob Storage Dataset. Changing this forces a new Data Share Blob Storage Dataset to be created.
     */
    @JvmName("ulgmaxlykudromah")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value A `storage_account` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("uwcuifhgmrkcugyi")
    public suspend fun storageAccount(`value`: DatasetBlobStorageStorageAccountArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageAccount = mapped
    }

    /**
     * @param argument A `storage_account` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("oxeufvnkpssfwyef")
    public suspend fun storageAccount(argument: suspend DatasetBlobStorageStorageAccountArgsBuilder.() -> Unit) {
        val toBeMapped = DatasetBlobStorageStorageAccountArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.storageAccount = mapped
    }

    internal fun build(): DatasetBlobStorageArgs = DatasetBlobStorageArgs(
        containerName = containerName,
        dataShareId = dataShareId,
        filePath = filePath,
        folderPath = folderPath,
        name = name,
        storageAccount = storageAccount,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy