ShareArgs

data class ShareArgs(val accessProtocol: Output<Either<String, ShareAccessProtocol>>? = null, val azureContainerInfo: Output<AzureContainerInfoArgs>? = null, val clientAccessRights: Output<List<ClientAccessRightArgs>>? = null, val dataPolicy: Output<Either<String, DataPolicy>>? = null, val description: Output<String>? = null, val deviceName: Output<String>? = null, val monitoringStatus: Output<Either<String, MonitoringStatus>>? = null, val name: Output<String>? = null, val refreshDetails: Output<RefreshDetailsArgs>? = null, val resourceGroupName: Output<String>? = null, val shareStatus: Output<Either<String, ShareStatus>>? = null, val userAccessRights: Output<List<UserAccessRightArgs>>? = null) : ConvertibleToJava<ShareArgs>

Represents a share on the Data Box Edge/Gateway device. Uses Azure REST API version 2023-07-01. In version 2.x of the Azure Native provider, it used API version 2022-03-01. Other available API versions: 2022-03-01, 2022-04-01-preview, 2022-12-01-preview, 2023-01-01-preview, 2023-12-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native databoxedge [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

SharePut

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var share = new AzureNative.DataBoxEdge.Share("share", new()
{
AccessProtocol = AzureNative.DataBoxEdge.ShareAccessProtocol.SMB,
AzureContainerInfo = new AzureNative.DataBoxEdge.Inputs.AzureContainerInfoArgs
{
ContainerName = "testContainerSMB",
DataFormat = AzureNative.DataBoxEdge.AzureContainerDataFormat.BlockBlob,
StorageAccountCredentialId = "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
},
DataPolicy = AzureNative.DataBoxEdge.DataPolicy.Cloud,
Description = "",
DeviceName = "testedgedevice",
MonitoringStatus = AzureNative.DataBoxEdge.MonitoringStatus.Enabled,
Name = "smbshare",
ResourceGroupName = "GroupForEdgeAutomation",
ShareStatus = "Online",
UserAccessRights = new[]
{
new AzureNative.DataBoxEdge.Inputs.UserAccessRightArgs
{
AccessType = AzureNative.DataBoxEdge.ShareAccessType.Change,
UserId = "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
},
},
});
});
package main
import (
databoxedge "github.com/pulumi/pulumi-azure-native-sdk/databoxedge/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databoxedge.NewShare(ctx, "share", &databoxedge.ShareArgs{
AccessProtocol: pulumi.String(databoxedge.ShareAccessProtocolSMB),
AzureContainerInfo: &databoxedge.AzureContainerInfoArgs{
ContainerName: pulumi.String("testContainerSMB"),
DataFormat: pulumi.String(databoxedge.AzureContainerDataFormatBlockBlob),
StorageAccountCredentialId: pulumi.String("/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1"),
},
DataPolicy: pulumi.String(databoxedge.DataPolicyCloud),
Description: pulumi.String(""),
DeviceName: pulumi.String("testedgedevice"),
MonitoringStatus: pulumi.String(databoxedge.MonitoringStatusEnabled),
Name: pulumi.String("smbshare"),
ResourceGroupName: pulumi.String("GroupForEdgeAutomation"),
ShareStatus: pulumi.String("Online"),
UserAccessRights: databoxedge.UserAccessRightArray{
&databoxedge.UserAccessRightArgs{
AccessType: pulumi.String(databoxedge.ShareAccessTypeChange),
UserId: pulumi.String("/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.databoxedge.Share;
import com.pulumi.azurenative.databoxedge.ShareArgs;
import com.pulumi.azurenative.databoxedge.inputs.AzureContainerInfoArgs;
import com.pulumi.azurenative.databoxedge.inputs.UserAccessRightArgs;
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 share = new Share("share", ShareArgs.builder()
.accessProtocol("SMB")
.azureContainerInfo(AzureContainerInfoArgs.builder()
.containerName("testContainerSMB")
.dataFormat("BlockBlob")
.storageAccountCredentialId("/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1")
.build())
.dataPolicy("Cloud")
.description("")
.deviceName("testedgedevice")
.monitoringStatus("Enabled")
.name("smbshare")
.resourceGroupName("GroupForEdgeAutomation")
.shareStatus("Online")
.userAccessRights(UserAccessRightArgs.builder()
.accessType("Change")
.userId("/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:databoxedge:Share smbshare /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}

Constructors

Link copied to clipboard
constructor(accessProtocol: Output<Either<String, ShareAccessProtocol>>? = null, azureContainerInfo: Output<AzureContainerInfoArgs>? = null, clientAccessRights: Output<List<ClientAccessRightArgs>>? = null, dataPolicy: Output<Either<String, DataPolicy>>? = null, description: Output<String>? = null, deviceName: Output<String>? = null, monitoringStatus: Output<Either<String, MonitoringStatus>>? = null, name: Output<String>? = null, refreshDetails: Output<RefreshDetailsArgs>? = null, resourceGroupName: Output<String>? = null, shareStatus: Output<Either<String, ShareStatus>>? = null, userAccessRights: Output<List<UserAccessRightArgs>>? = null)

Properties

Link copied to clipboard
val accessProtocol: Output<Either<String, ShareAccessProtocol>>? = null

Access protocol to be used by the share.

Link copied to clipboard

Azure container mapping for the share.

Link copied to clipboard

List of IP addresses and corresponding access rights on the share(required for NFS protocol).

Link copied to clipboard
val dataPolicy: Output<Either<String, DataPolicy>>? = null

Data policy of the share.

Link copied to clipboard
val description: Output<String>? = null

Description for the share.

Link copied to clipboard
val deviceName: Output<String>? = null

The device name.

Link copied to clipboard
val monitoringStatus: Output<Either<String, MonitoringStatus>>? = null

Current monitoring status of the share.

Link copied to clipboard
val name: Output<String>? = null

The share name.

Link copied to clipboard
val refreshDetails: Output<RefreshDetailsArgs>? = null

Details of the refresh job on this share.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The resource group name.

Link copied to clipboard
val shareStatus: Output<Either<String, ShareStatus>>? = null

Current status of the share.

Link copied to clipboard

Mapping of users and corresponding access rights on the share (required for SMB protocol).

Functions

Link copied to clipboard
open override fun toJava(): ShareArgs