Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.databoxedge.kotlin.ShareArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.databoxedge.kotlin
import com.pulumi.azurenative.databoxedge.ShareArgs.builder
import com.pulumi.azurenative.databoxedge.kotlin.enums.DataPolicy
import com.pulumi.azurenative.databoxedge.kotlin.enums.MonitoringStatus
import com.pulumi.azurenative.databoxedge.kotlin.enums.ShareAccessProtocol
import com.pulumi.azurenative.databoxedge.kotlin.enums.ShareStatus
import com.pulumi.azurenative.databoxedge.kotlin.inputs.AzureContainerInfoArgs
import com.pulumi.azurenative.databoxedge.kotlin.inputs.AzureContainerInfoArgsBuilder
import com.pulumi.azurenative.databoxedge.kotlin.inputs.ClientAccessRightArgs
import com.pulumi.azurenative.databoxedge.kotlin.inputs.ClientAccessRightArgsBuilder
import com.pulumi.azurenative.databoxedge.kotlin.inputs.RefreshDetailsArgs
import com.pulumi.azurenative.databoxedge.kotlin.inputs.RefreshDetailsArgsBuilder
import com.pulumi.azurenative.databoxedge.kotlin.inputs.UserAccessRightArgs
import com.pulumi.azurenative.databoxedge.kotlin.inputs.UserAccessRightArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Represents a share on the Data Box Edge/Gateway device.
* Azure REST API version: 2022-03-01. Prior API version in Azure Native 1.x: 2020-12-01.
* Other available API versions: 2023-01-01-preview, 2023-07-01, 2023-12-01.
* ## Example Usage
* ### SharePut
* ```csharp
* 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",
* },
* },
* });
* });
* ```
* ```go
* 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
* })
* }
* ```
* ```java
* 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.
* ```sh
* $ pulumi import azure-native:databoxedge:Share smbshare /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}
* ```
* @property accessProtocol Access protocol to be used by the share.
* @property azureContainerInfo Azure container mapping for the share.
* @property clientAccessRights List of IP addresses and corresponding access rights on the share(required for NFS protocol).
* @property dataPolicy Data policy of the share.
* @property description Description for the share.
* @property deviceName The device name.
* @property monitoringStatus Current monitoring status of the share.
* @property name The share name.
* @property refreshDetails Details of the refresh job on this share.
* @property resourceGroupName The resource group name.
* @property shareStatus Current status of the share.
* @property userAccessRights Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
public data class ShareArgs(
public val accessProtocol: Output>? = null,
public val azureContainerInfo: Output? = null,
public val clientAccessRights: Output>? = null,
public val dataPolicy: Output>? = null,
public val description: Output? = null,
public val deviceName: Output? = null,
public val monitoringStatus: Output>? = null,
public val name: Output? = null,
public val refreshDetails: Output? = null,
public val resourceGroupName: Output? = null,
public val shareStatus: Output>? = null,
public val userAccessRights: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.databoxedge.ShareArgs =
com.pulumi.azurenative.databoxedge.ShareArgs.builder()
.accessProtocol(
accessProtocol?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.azureContainerInfo(
azureContainerInfo?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.clientAccessRights(
clientAccessRights?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.dataPolicy(
dataPolicy?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.deviceName(deviceName?.applyValue({ args0 -> args0 }))
.monitoringStatus(
monitoringStatus?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.refreshDetails(refreshDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.shareStatus(
shareStatus?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.userAccessRights(
userAccessRights?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ShareArgs].
*/
@PulumiTagMarker
public class ShareArgsBuilder internal constructor() {
private var accessProtocol: Output>? = null
private var azureContainerInfo: Output? = null
private var clientAccessRights: Output>? = null
private var dataPolicy: Output>? = null
private var description: Output? = null
private var deviceName: Output? = null
private var monitoringStatus: Output>? = null
private var name: Output? = null
private var refreshDetails: Output? = null
private var resourceGroupName: Output? = null
private var shareStatus: Output>? = null
private var userAccessRights: Output>? = null
/**
* @param value Access protocol to be used by the share.
*/
@JvmName("jojwtwoxdmigphos")
public suspend fun accessProtocol(`value`: Output>) {
this.accessProtocol = value
}
/**
* @param value Azure container mapping for the share.
*/
@JvmName("mhyauimjswxdemvr")
public suspend fun azureContainerInfo(`value`: Output) {
this.azureContainerInfo = value
}
/**
* @param value List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("nnxbigbixufrfutm")
public suspend fun clientAccessRights(`value`: Output>) {
this.clientAccessRights = value
}
@JvmName("tduisyvmuutyaexg")
public suspend fun clientAccessRights(vararg values: Output) {
this.clientAccessRights = Output.all(values.asList())
}
/**
* @param values List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("itxkscknovwnerog")
public suspend fun clientAccessRights(values: List>) {
this.clientAccessRights = Output.all(values)
}
/**
* @param value Data policy of the share.
*/
@JvmName("vqdxyrvxmenspuja")
public suspend fun dataPolicy(`value`: Output>) {
this.dataPolicy = value
}
/**
* @param value Description for the share.
*/
@JvmName("dpgoyfcprccexjhf")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The device name.
*/
@JvmName("jdfhsototpoinfjd")
public suspend fun deviceName(`value`: Output) {
this.deviceName = value
}
/**
* @param value Current monitoring status of the share.
*/
@JvmName("mqxnhlqanloqhpib")
public suspend fun monitoringStatus(`value`: Output>) {
this.monitoringStatus = value
}
/**
* @param value The share name.
*/
@JvmName("sckejmufiqedilxl")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Details of the refresh job on this share.
*/
@JvmName("wlxnavwqdgbprqvk")
public suspend fun refreshDetails(`value`: Output) {
this.refreshDetails = value
}
/**
* @param value The resource group name.
*/
@JvmName("vsbpmukvbhrrahlt")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value Current status of the share.
*/
@JvmName("xyvvuuovldwillsd")
public suspend fun shareStatus(`value`: Output>) {
this.shareStatus = value
}
/**
* @param value Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("htlmqpwjuklyokec")
public suspend fun userAccessRights(`value`: Output>) {
this.userAccessRights = value
}
@JvmName("faetvjfogwbeewen")
public suspend fun userAccessRights(vararg values: Output) {
this.userAccessRights = Output.all(values.asList())
}
/**
* @param values Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("abhvtperomwwdkiu")
public suspend fun userAccessRights(values: List>) {
this.userAccessRights = Output.all(values)
}
/**
* @param value Access protocol to be used by the share.
*/
@JvmName("ggvbpfgjhqkomqqk")
public suspend fun accessProtocol(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.accessProtocol = mapped
}
/**
* @param value Access protocol to be used by the share.
*/
@JvmName("bouucqrhieqraayv")
public fun accessProtocol(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.accessProtocol = mapped
}
/**
* @param value Access protocol to be used by the share.
*/
@JvmName("soigaoigrkmqgoiw")
public fun accessProtocol(`value`: ShareAccessProtocol) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.accessProtocol = mapped
}
/**
* @param value Azure container mapping for the share.
*/
@JvmName("riwiyjydooqgrwpj")
public suspend fun azureContainerInfo(`value`: AzureContainerInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureContainerInfo = mapped
}
/**
* @param argument Azure container mapping for the share.
*/
@JvmName("jjpknmcbdfhkynxv")
public suspend fun azureContainerInfo(argument: suspend AzureContainerInfoArgsBuilder.() -> Unit) {
val toBeMapped = AzureContainerInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.azureContainerInfo = mapped
}
/**
* @param value List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("kjokbhissmitplbc")
public suspend fun clientAccessRights(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientAccessRights = mapped
}
/**
* @param argument List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("ocqhrqubktnmpmpx")
public suspend fun clientAccessRights(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ClientAccessRightArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.clientAccessRights = mapped
}
/**
* @param argument List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("avumlsnmkkuiiylf")
public suspend fun clientAccessRights(vararg argument: suspend ClientAccessRightArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
ClientAccessRightArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.clientAccessRights = mapped
}
/**
* @param argument List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("gmiueymsedpbcogc")
public suspend fun clientAccessRights(argument: suspend ClientAccessRightArgsBuilder.() -> Unit) {
val toBeMapped = listOf(ClientAccessRightArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.clientAccessRights = mapped
}
/**
* @param values List of IP addresses and corresponding access rights on the share(required for NFS protocol).
*/
@JvmName("drgpjpilqomsiuem")
public suspend fun clientAccessRights(vararg values: ClientAccessRightArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.clientAccessRights = mapped
}
/**
* @param value Data policy of the share.
*/
@JvmName("okswbeduhlladybe")
public suspend fun dataPolicy(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataPolicy = mapped
}
/**
* @param value Data policy of the share.
*/
@JvmName("tnsbkbgmxlmuomnd")
public fun dataPolicy(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataPolicy = mapped
}
/**
* @param value Data policy of the share.
*/
@JvmName("baumgtavalkhebtf")
public fun dataPolicy(`value`: DataPolicy) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataPolicy = mapped
}
/**
* @param value Description for the share.
*/
@JvmName("bmhaodhlyjkfxuyj")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value The device name.
*/
@JvmName("agjxacsxbupwrmth")
public suspend fun deviceName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deviceName = mapped
}
/**
* @param value Current monitoring status of the share.
*/
@JvmName("rpksfamuwomkovpf")
public suspend fun monitoringStatus(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.monitoringStatus = mapped
}
/**
* @param value Current monitoring status of the share.
*/
@JvmName("ikcqfdvxyqryepyg")
public fun monitoringStatus(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.monitoringStatus = mapped
}
/**
* @param value Current monitoring status of the share.
*/
@JvmName("hillqhqhdnwkrewo")
public fun monitoringStatus(`value`: MonitoringStatus) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.monitoringStatus = mapped
}
/**
* @param value The share name.
*/
@JvmName("virbhwudxhlbmfpg")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Details of the refresh job on this share.
*/
@JvmName("vhewseufbatxakol")
public suspend fun refreshDetails(`value`: RefreshDetailsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.refreshDetails = mapped
}
/**
* @param argument Details of the refresh job on this share.
*/
@JvmName("jiaftgyiwvfjednx")
public suspend fun refreshDetails(argument: suspend RefreshDetailsArgsBuilder.() -> Unit) {
val toBeMapped = RefreshDetailsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.refreshDetails = mapped
}
/**
* @param value The resource group name.
*/
@JvmName("pefqpxaspggaflxw")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
/**
* @param value Current status of the share.
*/
@JvmName("rojsyiktuqckynes")
public suspend fun shareStatus(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.shareStatus = mapped
}
/**
* @param value Current status of the share.
*/
@JvmName("keeqtuhanxbdvoqx")
public fun shareStatus(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.shareStatus = mapped
}
/**
* @param value Current status of the share.
*/
@JvmName("cojpjcqippfqdtlm")
public fun shareStatus(`value`: ShareStatus) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.shareStatus = mapped
}
/**
* @param value Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("xxgdnvnynmvebtbr")
public suspend fun userAccessRights(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.userAccessRights = mapped
}
/**
* @param argument Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("rwhawbquqonuxchd")
public suspend fun userAccessRights(argument: List Unit>) {
val toBeMapped = argument.toList().map {
UserAccessRightArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.userAccessRights = mapped
}
/**
* @param argument Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("clcuhqsvlqvearnw")
public suspend fun userAccessRights(vararg argument: suspend UserAccessRightArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
UserAccessRightArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.userAccessRights = mapped
}
/**
* @param argument Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("xpwtwuxscgsracdg")
public suspend fun userAccessRights(argument: suspend UserAccessRightArgsBuilder.() -> Unit) {
val toBeMapped = listOf(UserAccessRightArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.userAccessRights = mapped
}
/**
* @param values Mapping of users and corresponding access rights on the share (required for SMB protocol).
*/
@JvmName("qxxwmmdyqlxswkkp")
public suspend fun userAccessRights(vararg values: UserAccessRightArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.userAccessRights = mapped
}
internal fun build(): ShareArgs = ShareArgs(
accessProtocol = accessProtocol,
azureContainerInfo = azureContainerInfo,
clientAccessRights = clientAccessRights,
dataPolicy = dataPolicy,
description = description,
deviceName = deviceName,
monitoringStatus = monitoringStatus,
name = name,
refreshDetails = refreshDetails,
resourceGroupName = resourceGroupName,
shareStatus = shareStatus,
userAccessRights = userAccessRights,
)
}